Initial commit: Fixes for linting and compilation
This commit is contained in:
235
lib/models/scripture.dart
Normal file
235
lib/models/scripture.dart
Normal file
@@ -0,0 +1,235 @@
|
||||
/// Scripture model for daily verses and devotionals
|
||||
class Scripture {
|
||||
final String verse;
|
||||
final String reference;
|
||||
final String? reflection;
|
||||
final List<String> applicablePhases;
|
||||
final List<String> 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<Scripture> 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<Scripture> 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<Scripture> 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<Scripture> 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<Scripture> 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<Scripture> 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<Scripture> 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<Scripture> getAllScriptures() {
|
||||
return [
|
||||
...menstrualScriptures,
|
||||
...follicularScriptures,
|
||||
...ovulationScriptures,
|
||||
...lutealScriptures,
|
||||
...womanhoodScriptures,
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user