From 27a2ceb534f0423b05634b992a2a2d606c960f28 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Sun, 1 Feb 2026 18:07:55 -0600 Subject: [PATCH] Signed-off-by: Matt Bruce --- Andromida/App/Models/RitualPresets.swift | 181 +++++++++++++++++++---- 1 file changed, 149 insertions(+), 32 deletions(-) diff --git a/Andromida/App/Models/RitualPresets.swift b/Andromida/App/Models/RitualPresets.swift index 3fab7ff..1ed0f79 100644 --- a/Andromida/App/Models/RitualPresets.swift +++ b/Andromida/App/Models/RitualPresets.swift @@ -89,19 +89,49 @@ enum RitualPresetLibrary { HabitPreset(title: String(localized: "Drink water"), symbolName: "drop.fill") ] ), + RitualPreset( + title: String(localized: "Afternoon Energy"), + theme: String(localized: "Beat the slump"), + notes: String(localized: "Combat the afternoon energy dip with healthy habits."), + durationDays: 28, + timeOfDay: .afternoon, + iconName: "bolt.fill", + category: PresetCategory.health.rawValue, + habits: [ + HabitPreset(title: String(localized: "Drink water or green tea"), symbolName: "cup.and.saucer.fill"), + HabitPreset(title: String(localized: "Eat a healthy snack"), symbolName: "carrot.fill"), + HabitPreset(title: String(localized: "Step outside for fresh air"), symbolName: "sun.max.fill"), + HabitPreset(title: String(localized: "Quick stretching break"), symbolName: "figure.flexibility") + ] + ), + RitualPreset( + title: String(localized: "Evening Nutrition"), + theme: String(localized: "Nourish mindfully"), + notes: String(localized: "Build healthy evening eating habits."), + durationDays: 28, + timeOfDay: .evening, + iconName: "fork.knife", + category: PresetCategory.health.rawValue, + habits: [ + HabitPreset(title: String(localized: "Eat dinner before 7pm"), symbolName: "clock.fill"), + HabitPreset(title: String(localized: "Include vegetables"), symbolName: "leaf.fill"), + HabitPreset(title: String(localized: "Avoid heavy foods"), symbolName: "hand.raised.fill"), + HabitPreset(title: String(localized: "Drink herbal tea"), symbolName: "cup.and.saucer.fill") + ] + ), RitualPreset( title: String(localized: "Sleep Preparation"), theme: String(localized: "Rest better tonight"), notes: String(localized: "Wind down with habits that promote quality sleep."), durationDays: 28, - timeOfDay: .evening, + timeOfDay: .night, iconName: "moon.zzz.fill", category: PresetCategory.health.rawValue, habits: [ - HabitPreset(title: String(localized: "No caffeine after 2pm"), symbolName: "cup.and.saucer.fill"), - HabitPreset(title: String(localized: "Dim lights 1 hour before bed"), symbolName: "lightbulb.fill"), + HabitPreset(title: String(localized: "Dim the lights"), symbolName: "lightbulb.fill"), HabitPreset(title: String(localized: "Set consistent bedtime"), symbolName: "bed.double.fill"), - HabitPreset(title: String(localized: "Keep room cool"), symbolName: "thermometer.snowflake") + HabitPreset(title: String(localized: "Keep room cool"), symbolName: "thermometer.snowflake"), + HabitPreset(title: String(localized: "No screens in bed"), symbolName: "iphone.slash") ] ) ] @@ -124,6 +154,35 @@ enum RitualPresetLibrary { HabitPreset(title: String(localized: "Close unnecessary tabs"), symbolName: "xmark.square.fill") ] ), + RitualPreset( + title: String(localized: "Midday Check-In"), + theme: String(localized: "Stay on track"), + notes: String(localized: "A quick midday review to maintain momentum."), + durationDays: 28, + timeOfDay: .midday, + iconName: "gauge.with.dots.needle.50percent", + category: PresetCategory.productivity.rawValue, + habits: [ + HabitPreset(title: String(localized: "Review morning progress"), symbolName: "checkmark.square.fill"), + HabitPreset(title: String(localized: "Adjust afternoon priorities"), symbolName: "slider.horizontal.3"), + HabitPreset(title: String(localized: "Clear quick tasks"), symbolName: "bolt.fill") + ] + ), + RitualPreset( + title: String(localized: "Afternoon Deep Work"), + theme: String(localized: "Power through"), + notes: String(localized: "Set up for a focused afternoon work session."), + durationDays: 28, + timeOfDay: .afternoon, + iconName: "laptopcomputer", + category: PresetCategory.productivity.rawValue, + habits: [ + HabitPreset(title: String(localized: "Close distracting apps"), symbolName: "xmark.app.fill"), + HabitPreset(title: String(localized: "Set a 90-minute timer"), symbolName: "timer"), + HabitPreset(title: String(localized: "Work on one important task"), symbolName: "target"), + HabitPreset(title: String(localized: "No meetings block"), symbolName: "calendar.badge.minus") + ] + ), RitualPreset( title: String(localized: "End-of-Day Review"), theme: String(localized: "Close loops, plan ahead"), @@ -172,6 +231,35 @@ enum RitualPresetLibrary { HabitPreset(title: String(localized: "Practice gratitude"), symbolName: "heart.fill") ] ), + RitualPreset( + title: String(localized: "Mindful Lunch"), + theme: String(localized: "Pause and nourish"), + notes: String(localized: "Bring awareness to your midday meal."), + durationDays: 28, + timeOfDay: .midday, + iconName: "leaf.fill", + category: PresetCategory.mindfulness.rawValue, + habits: [ + HabitPreset(title: String(localized: "Eat without screens"), symbolName: "iphone.slash"), + HabitPreset(title: String(localized: "Chew slowly and taste"), symbolName: "mouth.fill"), + HabitPreset(title: String(localized: "Notice hunger and fullness"), symbolName: "heart.fill") + ] + ), + RitualPreset( + title: String(localized: "Afternoon Reset"), + theme: String(localized: "Center yourself"), + notes: String(localized: "A brief afternoon pause to recenter."), + durationDays: 28, + timeOfDay: .afternoon, + iconName: "circle.dotted", + category: PresetCategory.mindfulness.rawValue, + habits: [ + HabitPreset(title: String(localized: "2-minute breathing pause"), symbolName: "wind"), + HabitPreset(title: String(localized: "Notice your posture"), symbolName: "figure.stand"), + HabitPreset(title: String(localized: "Release tension"), symbolName: "arrow.down.circle.fill"), + HabitPreset(title: String(localized: "Set afternoon intention"), symbolName: "star.fill") + ] + ), RitualPreset( title: String(localized: "Gratitude Practice"), theme: String(localized: "Find the good"), @@ -186,6 +274,21 @@ enum RitualPresetLibrary { HabitPreset(title: String(localized: "Reflect on a positive moment"), symbolName: "sun.max.fill") ] ), + RitualPreset( + title: String(localized: "Night Reflection"), + theme: String(localized: "Process your day"), + notes: String(localized: "Close the day with awareness and intention."), + durationDays: 28, + timeOfDay: .night, + iconName: "moon.stars.fill", + category: PresetCategory.mindfulness.rawValue, + habits: [ + HabitPreset(title: String(localized: "Journal for 5 minutes"), symbolName: "book.fill"), + HabitPreset(title: String(localized: "What went well today?"), symbolName: "hand.thumbsup.fill"), + HabitPreset(title: String(localized: "What could be better?"), symbolName: "lightbulb.fill"), + HabitPreset(title: String(localized: "Let go of the day"), symbolName: "leaf.fill") + ] + ), RitualPreset( title: String(localized: "Breathwork"), theme: String(localized: "Calm your nervous system"), @@ -199,21 +302,6 @@ enum RitualPresetLibrary { HabitPreset(title: String(localized: "Body scan for tension"), symbolName: "figure.stand"), HabitPreset(title: String(localized: "Release shoulder tension"), symbolName: "arrow.down.circle.fill") ] - ), - RitualPreset( - title: String(localized: "Evening Reflection"), - theme: String(localized: "Process your day"), - notes: String(localized: "Close the day with awareness and intention."), - durationDays: 28, - timeOfDay: .evening, - iconName: "moon.stars.fill", - category: PresetCategory.mindfulness.rawValue, - habits: [ - HabitPreset(title: String(localized: "Journal for 5 minutes"), symbolName: "book.fill"), - HabitPreset(title: String(localized: "What went well today?"), symbolName: "hand.thumbsup.fill"), - HabitPreset(title: String(localized: "What could be better?"), symbolName: "lightbulb.fill"), - HabitPreset(title: String(localized: "Let go of the day"), symbolName: "leaf.fill") - ] ) ] @@ -235,17 +323,32 @@ enum RitualPresetLibrary { ] ), RitualPreset( - title: String(localized: "Digital Detox"), - theme: String(localized: "Disconnect to reconnect"), - notes: String(localized: "Give your mind a break from screens."), + title: String(localized: "Midday Self-Check"), + theme: String(localized: "How are you feeling?"), + notes: String(localized: "A quick check-in with yourself."), durationDays: 28, - timeOfDay: .evening, - iconName: "iphone.slash", + timeOfDay: .midday, + iconName: "heart.circle.fill", category: PresetCategory.selfCare.rawValue, habits: [ - HabitPreset(title: String(localized: "No screens 1 hour before bed"), symbolName: "iphone.slash"), - HabitPreset(title: String(localized: "Read a physical book"), symbolName: "book.closed.fill"), - HabitPreset(title: String(localized: "Have a real conversation"), symbolName: "person.2.fill") + HabitPreset(title: String(localized: "Rate your energy level"), symbolName: "battery.50percent"), + HabitPreset(title: String(localized: "Notice your mood"), symbolName: "face.smiling.fill"), + HabitPreset(title: String(localized: "Adjust if needed"), symbolName: "slider.horizontal.3") + ] + ), + RitualPreset( + title: String(localized: "Afternoon Break"), + theme: String(localized: "Pause and recharge"), + notes: String(localized: "Give yourself permission to rest."), + durationDays: 28, + timeOfDay: .afternoon, + iconName: "cup.and.saucer.fill", + category: PresetCategory.selfCare.rawValue, + habits: [ + HabitPreset(title: String(localized: "Step away from work"), symbolName: "figure.walk"), + HabitPreset(title: String(localized: "Enjoy a beverage mindfully"), symbolName: "cup.and.saucer.fill"), + HabitPreset(title: String(localized: "Listen to calming music"), symbolName: "music.note"), + HabitPreset(title: String(localized: "Look out a window"), symbolName: "window.horizontal") ] ), RitualPreset( @@ -263,20 +366,34 @@ enum RitualPresetLibrary { HabitPreset(title: String(localized: "Herbal tea"), symbolName: "cup.and.saucer.fill") ] ), + RitualPreset( + title: String(localized: "Night Skincare"), + theme: String(localized: "Repair and restore"), + notes: String(localized: "Nighttime skincare for rejuvenation."), + durationDays: 28, + timeOfDay: .night, + iconName: "sparkles", + category: PresetCategory.selfCare.rawValue, + habits: [ + HabitPreset(title: String(localized: "Remove makeup"), symbolName: "drop.fill"), + HabitPreset(title: String(localized: "Cleanse face"), symbolName: "bubbles.and.sparkles.fill"), + HabitPreset(title: String(localized: "Apply night cream"), symbolName: "moon.fill"), + HabitPreset(title: String(localized: "Eye cream"), symbolName: "eye.fill") + ] + ), RitualPreset( title: String(localized: "Weekly Reset"), theme: String(localized: "Prepare for a fresh week"), - notes: String(localized: "Sunday evening ritual to start Monday strong."), + notes: String(localized: "Sunday ritual to start Monday strong."), durationDays: 28, - timeOfDay: .evening, + timeOfDay: .anytime, iconName: "arrow.counterclockwise.circle.fill", category: PresetCategory.selfCare.rawValue, habits: [ HabitPreset(title: String(localized: "Review last week"), symbolName: "calendar"), HabitPreset(title: String(localized: "Plan the week ahead"), symbolName: "calendar.badge.plus"), - HabitPreset(title: String(localized: "Prepare clothes for Monday"), symbolName: "tshirt.fill"), - HabitPreset(title: String(localized: "Tidy your space"), symbolName: "sparkles"), - HabitPreset(title: String(localized: "Early bedtime"), symbolName: "bed.double.fill") + HabitPreset(title: String(localized: "Prepare clothes"), symbolName: "tshirt.fill"), + HabitPreset(title: String(localized: "Tidy your space"), symbolName: "sparkles") ] ) ]