Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>

This commit is contained in:
Matt Bruce 2026-02-01 18:07:55 -06:00
parent 938b2bc033
commit 27a2ceb534

View File

@ -89,19 +89,49 @@ enum RitualPresetLibrary {
HabitPreset(title: String(localized: "Drink water"), symbolName: "drop.fill") 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( RitualPreset(
title: String(localized: "Sleep Preparation"), title: String(localized: "Sleep Preparation"),
theme: String(localized: "Rest better tonight"), theme: String(localized: "Rest better tonight"),
notes: String(localized: "Wind down with habits that promote quality sleep."), notes: String(localized: "Wind down with habits that promote quality sleep."),
durationDays: 28, durationDays: 28,
timeOfDay: .evening, timeOfDay: .night,
iconName: "moon.zzz.fill", iconName: "moon.zzz.fill",
category: PresetCategory.health.rawValue, category: PresetCategory.health.rawValue,
habits: [ habits: [
HabitPreset(title: String(localized: "No caffeine after 2pm"), symbolName: "cup.and.saucer.fill"), HabitPreset(title: String(localized: "Dim the lights"), symbolName: "lightbulb.fill"),
HabitPreset(title: String(localized: "Dim lights 1 hour before bed"), symbolName: "lightbulb.fill"),
HabitPreset(title: String(localized: "Set consistent bedtime"), symbolName: "bed.double.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") 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( RitualPreset(
title: String(localized: "End-of-Day Review"), title: String(localized: "End-of-Day Review"),
theme: String(localized: "Close loops, plan ahead"), theme: String(localized: "Close loops, plan ahead"),
@ -172,6 +231,35 @@ enum RitualPresetLibrary {
HabitPreset(title: String(localized: "Practice gratitude"), symbolName: "heart.fill") 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( RitualPreset(
title: String(localized: "Gratitude Practice"), title: String(localized: "Gratitude Practice"),
theme: String(localized: "Find the good"), 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") 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( RitualPreset(
title: String(localized: "Breathwork"), title: String(localized: "Breathwork"),
theme: String(localized: "Calm your nervous system"), 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: "Body scan for tension"), symbolName: "figure.stand"),
HabitPreset(title: String(localized: "Release shoulder tension"), symbolName: "arrow.down.circle.fill") 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( RitualPreset(
title: String(localized: "Digital Detox"), title: String(localized: "Midday Self-Check"),
theme: String(localized: "Disconnect to reconnect"), theme: String(localized: "How are you feeling?"),
notes: String(localized: "Give your mind a break from screens."), notes: String(localized: "A quick check-in with yourself."),
durationDays: 28, durationDays: 28,
timeOfDay: .evening, timeOfDay: .midday,
iconName: "iphone.slash", iconName: "heart.circle.fill",
category: PresetCategory.selfCare.rawValue, category: PresetCategory.selfCare.rawValue,
habits: [ habits: [
HabitPreset(title: String(localized: "No screens 1 hour before bed"), symbolName: "iphone.slash"), HabitPreset(title: String(localized: "Rate your energy level"), symbolName: "battery.50percent"),
HabitPreset(title: String(localized: "Read a physical book"), symbolName: "book.closed.fill"), HabitPreset(title: String(localized: "Notice your mood"), symbolName: "face.smiling.fill"),
HabitPreset(title: String(localized: "Have a real conversation"), symbolName: "person.2.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( RitualPreset(
@ -263,20 +366,34 @@ enum RitualPresetLibrary {
HabitPreset(title: String(localized: "Herbal tea"), symbolName: "cup.and.saucer.fill") 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( RitualPreset(
title: String(localized: "Weekly Reset"), title: String(localized: "Weekly Reset"),
theme: String(localized: "Prepare for a fresh week"), 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, durationDays: 28,
timeOfDay: .evening, timeOfDay: .anytime,
iconName: "arrow.counterclockwise.circle.fill", iconName: "arrow.counterclockwise.circle.fill",
category: PresetCategory.selfCare.rawValue, category: PresetCategory.selfCare.rawValue,
habits: [ habits: [
HabitPreset(title: String(localized: "Review last week"), symbolName: "calendar"), 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: "Plan the week ahead"), symbolName: "calendar.badge.plus"),
HabitPreset(title: String(localized: "Prepare clothes for Monday"), symbolName: "tshirt.fill"), HabitPreset(title: String(localized: "Prepare clothes"), symbolName: "tshirt.fill"),
HabitPreset(title: String(localized: "Tidy your space"), symbolName: "sparkles"), HabitPreset(title: String(localized: "Tidy your space"), symbolName: "sparkles")
HabitPreset(title: String(localized: "Early bedtime"), symbolName: "bed.double.fill")
] ]
) )
] ]