/// Scripture model for daily verses and devotionals class Scripture { final String verse; final String reference; final String? reflection; final List applicablePhases; final List applicableContexts; const Scripture({ required this.verse, required this.reference, this.reflection, this.applicablePhases = const [], this.applicableContexts = const [], }); } /// Pre-defined scriptures for the app class ScriptureDatabase { /// Scriptures for menstrual phase (rest, comfort) static const List menstrualScriptures = [ Scripture( verse: "Come to me, all you who are weary and burdened, and I will give you rest.", reference: "Matthew 11:28", reflection: "Your body is doing important work. Rest is not weakness—it's wisdom.", applicablePhases: ['menstrual'], ), Scripture( verse: "He gives strength to the weary and increases the power of the weak.", reference: "Isaiah 40:29", applicablePhases: ['menstrual'], ), Scripture( verse: "The Lord is my shepherd; I shall not want. He makes me lie down in green pastures.", reference: "Psalm 23:1-2", applicablePhases: ['menstrual'], ), Scripture( verse: "Be still, and know that I am God.", reference: "Psalm 46:10", reflection: "Use this time of slowing down to be present with God.", applicablePhases: ['menstrual'], ), Scripture( verse: "My grace is sufficient for you, for my power is made perfect in weakness.", reference: "2 Corinthians 12:9", applicablePhases: ['menstrual'], ), ]; /// Scriptures for follicular phase (renewal, strength) static const List follicularScriptures = [ Scripture( verse: "She is clothed with strength and dignity; she can laugh at the days to come.", reference: "Proverbs 31:25", reflection: "You're entering a season of renewed energy. Use it for His glory.", applicablePhases: ['follicular'], ), Scripture( verse: "I can do all this through him who gives me strength.", reference: "Philippians 4:13", applicablePhases: ['follicular'], ), Scripture( verse: "But those who hope in the Lord will renew their strength. They will soar on wings like eagles.", reference: "Isaiah 40:31", applicablePhases: ['follicular'], ), Scripture( verse: "This is the day the Lord has made; let us rejoice and be glad in it.", reference: "Psalm 118:24", applicablePhases: ['follicular'], ), Scripture( verse: "The Lord your God is with you, the Mighty Warrior who saves.", reference: "Zephaniah 3:17", applicablePhases: ['follicular'], ), ]; /// Scriptures for ovulation phase (creation, beauty) static const List ovulationScriptures = [ Scripture( verse: "For you created my inmost being; you knit me together in my mother's womb. I praise you because I am fearfully and wonderfully made.", reference: "Psalm 139:13-14", reflection: "Your body reflects the incredible creativity of God.", applicablePhases: ['ovulation'], ), Scripture( verse: "Children are a heritage from the Lord, offspring a reward from him.", reference: "Psalm 127:3", applicablePhases: ['ovulation'], ), Scripture( verse: "See, I am doing a new thing! Now it springs up; do you not perceive it?", reference: "Isaiah 43:19", applicablePhases: ['ovulation'], ), Scripture( verse: "Every good and perfect gift is from above.", reference: "James 1:17", applicablePhases: ['ovulation'], ), ]; /// Scriptures for luteal phase / TWW (patience, trust) static const List lutealScriptures = [ Scripture( verse: "For I know the plans I have for you, declares the Lord, plans to prosper you and not to harm you, plans to give you hope and a future.", reference: "Jeremiah 29:11", reflection: "Whatever this season holds, God's plans for you are good.", applicablePhases: ['luteal'], ), Scripture( verse: "Do not be anxious about anything, but in every situation, by prayer and petition, with thanksgiving, present your requests to God.", reference: "Philippians 4:6", applicablePhases: ['luteal'], ), Scripture( verse: "Trust in the Lord with all your heart and lean not on your own understanding.", reference: "Proverbs 3:5", applicablePhases: ['luteal'], ), Scripture( verse: "The Lord is close to the brokenhearted and saves those who are crushed in spirit.", reference: "Psalm 34:18", applicablePhases: ['luteal'], ), Scripture( verse: "And the peace of God, which transcends all understanding, will guard your hearts and your minds in Christ Jesus.", reference: "Philippians 4:7", applicablePhases: ['luteal'], ), Scripture( verse: "Wait for the Lord; be strong and take heart and wait for the Lord.", reference: "Psalm 27:14", applicablePhases: ['luteal'], ), ]; /// Scriptures for husbands static const List husbandScriptures = [ Scripture( verse: "Husbands, love your wives, just as Christ loved the church and gave himself up for her.", reference: "Ephesians 5:25", reflection: "Love sacrificially—putting her needs before your own.", ), Scripture( verse: "Husbands, in the same way be considerate as you live with your wives, and treat them with respect.", reference: "1 Peter 3:7", ), Scripture( verse: "Two are better than one, because they have a good return for their labor.", reference: "Ecclesiastes 4:9", ), Scripture( verse: "Be completely humble and gentle; be patient, bearing with one another in love.", reference: "Ephesians 4:2", ), Scripture( verse: "Above all, love each other deeply, because love covers over a multitude of sins.", reference: "1 Peter 4:8", ), Scripture( verse: "A husband should fulfill his duty to his wife.", reference: "1 Corinthians 7:3", ), Scripture( verse: "He who finds a wife finds what is good and receives favor from the Lord.", reference: "Proverbs 18:22", ), ]; /// General womanhood scriptures static const List womanhoodScriptures = [ Scripture( verse: "Charm is deceptive, and beauty is fleeting; but a woman who fears the Lord is to be praised.", reference: "Proverbs 31:30", ), Scripture( verse: "She opens her mouth with wisdom, and the teaching of kindness is on her tongue.", reference: "Proverbs 31:26", ), Scripture( verse: "Your beauty should not come from outward adornment... Rather, it should be that of your inner self, the unfading beauty of a gentle and quiet spirit.", reference: "1 Peter 3:3-4", ), Scripture( verse: "God is within her, she will not fall; God will help her at break of day.", reference: "Psalm 46:5", ), ]; /// Get scripture for current phase static Scripture getScriptureForPhase(String phase) { final List scriptures; switch (phase.toLowerCase()) { case 'menstrual': scriptures = menstrualScriptures; break; case 'follicular': scriptures = follicularScriptures; break; case 'ovulation': scriptures = ovulationScriptures; break; case 'luteal': scriptures = lutealScriptures; break; default: scriptures = [...menstrualScriptures, ...follicularScriptures, ...ovulationScriptures, ...lutealScriptures]; } // Return a scripture based on the day of year for variety final dayOfYear = DateTime.now().difference(DateTime(DateTime.now().year, 1, 1)).inDays; return scriptures[dayOfYear % scriptures.length]; } /// Get scripture for husband static Scripture getHusbandScripture() { final dayOfYear = DateTime.now().difference(DateTime(DateTime.now().year, 1, 1)).inDays; return husbandScriptures[dayOfYear % husbandScriptures.length]; } /// Get all scriptures static List getAllScriptures() { return [ ...menstrualScriptures, ...follicularScriptures, ...ovulationScriptures, ...lutealScriptures, ...womanhoodScriptures, ]; } }