package app.closer.data.challenges

import app.closer.domain.model.ChallengeDayPrompt
import app.closer.domain.model.ConnectionChallenge

object ChallengesCatalog {

    val all: List<ConnectionChallenge> = listOf(
        ConnectionChallenge(
            id = "gratitude_week",
            title = "Gratitude Week",
            description = "Tell your partner one genuine thing you're grateful for, every day for a week.",
            emoji = "🙏",
            category = "Gratitude",
            isPremium = false,
            days = listOf(
                ChallengeDayPrompt(1, "Tell your partner one thing they did this week that you genuinely appreciated.", "Say it out loud or send a message."),
                ChallengeDayPrompt(2, "Share something your partner does every day that you often take for granted.", "The small, consistent things."),
                ChallengeDayPrompt(3, "Thank your partner for something that made your life easier recently.", "It doesn't have to be big."),
                ChallengeDayPrompt(4, "Tell your partner about a memory from your relationship that still makes you smile.", "A moment, not a milestone."),
                ChallengeDayPrompt(5, "Share one quality in your partner that you genuinely admire.", "Something you'd tell a stranger about them."),
                ChallengeDayPrompt(6, "Thank your partner for one way they've supported your growth.", "How have they made you better?"),
                ChallengeDayPrompt(7, "Tell your partner what your life would look like without them — the honest version.", "Take your time with this one.")
            )
        ),
        ConnectionChallenge(
            id = "appreciation_notes",
            title = "Appreciation Notes",
            description = "Leave one small, genuine note or message of appreciation every day.",
            emoji = "💌",
            category = "Appreciation",
            isPremium = false,
            days = listOf(
                ChallengeDayPrompt(1, "Leave your partner a voice message — just one thing you love about them.", "No pressure. Two sentences is plenty."),
                ChallengeDayPrompt(2, "Send a photo of something that reminded you of your partner today.", "Anything counts."),
                ChallengeDayPrompt(3, "Tell your partner about a small shared moment you secretly treasure.", "Something they might not know you hold onto."),
                ChallengeDayPrompt(4, "Acknowledge one thing your partner is going through right now and say you see it.", "You don't have to fix anything."),
                ChallengeDayPrompt(5, "Write your partner a two-sentence note. No length requirement, no pressure.", "Two sentences. That's it."),
                ChallengeDayPrompt(6, "Name one way your partner has changed you for the better.", "How are you different because of them?"),
                ChallengeDayPrompt(7, "Tell your partner the thing you most want them to know about how you see them.", "The thing you mean but rarely say.")
            )
        ),
        ConnectionChallenge(
            id = "quality_time",
            title = "Quality Time",
            description = "Fifteen minutes of real presence, every day for a week.",
            emoji = "⏳",
            category = "Connection",
            isPremium = false,
            days = listOf(
                ChallengeDayPrompt(1, "Put your phones away for 15 minutes and just exist together — no agenda.", "Silence is fine."),
                ChallengeDayPrompt(2, "Ask your partner one question you don't already know the answer to.", "Stay curious."),
                ChallengeDayPrompt(3, "Share a meal without screens — even if it's just coffee.", "Just the two of you."),
                ChallengeDayPrompt(4, "Do one small thing your partner enjoys, just because they enjoy it.", "Not your thing? Even better."),
                ChallengeDayPrompt(5, "Show your partner something you've been thinking about lately.", "A song, an article, a thought."),
                ChallengeDayPrompt(6, "Take a 10-minute walk together with no destination.", "No phones, no plan."),
                ChallengeDayPrompt(7, "Tell your partner one thing you want more of in your relationship right now.", "Say it kindly. Mean it.")
            )
        ),
        ConnectionChallenge(
            id = "deep_conversations",
            title = "Deep Conversations",
            description = "One real question a day that neither of you has thought to ask before.",
            emoji = "💬",
            category = "Communication",
            isPremium = true,
            days = listOf(
                ChallengeDayPrompt(1, "What's something you've been meaning to tell your partner but haven't found the right moment for?", "This is the moment."),
                ChallengeDayPrompt(2, "What does home mean to you, and does this relationship feel like home?", "Take it seriously."),
                ChallengeDayPrompt(3, "What's one fear you have about your future together that you've never said out loud?", "You don't have to have a solution."),
                ChallengeDayPrompt(4, "What's the kindest thing your partner has ever done for you?", "Tell them why it still matters."),
                ChallengeDayPrompt(5, "What's something you wish your partner understood about you better?", "No blame, just honesty."),
                ChallengeDayPrompt(6, "What's your most treasured shared memory from the last year?", "The one you'd keep if you could only keep one."),
                ChallengeDayPrompt(7, "What do you want your life together to look like in five years?", "Dream a little.")
            )
        )
    )

    fun findById(id: String): ConnectionChallenge? = all.firstOrNull { it.id == id }
}
