feat: Implement husband features and fix iOS Safari web startup

Implement initial features for husband's companion app, including mock data
service and husband notes screen. Refactor scripture and cycle services
for improved stability and testability. Address iOS Safari web app
startup issue by removing deprecated initialization.

- Implemented MockDataService and HusbandNotesScreen.
- Converted _DashboardTab and DevotionalScreen to StatefulWidgets for robust
  scripture provider initialization.
- Refactored CycleService to use immutable CycleInfo class, reducing UI rebuilds.
- Removed deprecated window.flutterConfiguration from index.html, resolving
  Flutter web app startup failure on iOS Safari.
- Updated and fixed related tests.
This commit is contained in:
2025-12-26 22:40:52 -06:00
parent 464692ce56
commit b4b2bfe749
47 changed files with 240110 additions and 2578 deletions

208
assets/scriptures.json Normal file
View File

@@ -0,0 +1,208 @@
{
"menstrual": [
{
"verses": {
"esv": "Come to me, all who labor and are heavy laden, and I will give you rest.",
"niv": "Come to me, all you who are weary and burdened, and I will give you rest.",
"nkjv": "Come to me, all you who labor and are heavy laden, and I will give you rest.",
"nlt": "Come to me, all of you who are weary and carry heavy burdens, and I will give you rest.",
"nasb": "Come to Me, all who are weary and burdened, and I will give you rest.",
"kjv": "Come unto me, all ye that labour and are heavy laden, 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"]
},
{
"verses": {
"esv": "He gives power to the faint, and to him who has no might he increases strength.",
"niv": "He gives strength to the weary and increases the power of the weak.",
"nkjv": "He gives power to the weak, and to those who have no might He increases strength.",
"nasb": "He gives strength to the weary, and to the one who lacks might He increases power."
},
"reference": "Isaiah 40:29",
"applicablePhases": ["menstrual"]
},
{
"verses": {
"esv": "The LORD is my shepherd; I shall not want. He makes me lie down in green pastures.",
"niv": "The LORD is my shepherd, I lack nothing. He makes me lie down in green pastures.",
"nkjv": "The LORD is my shepherd; I shall not want. He makes me to lie down in green pastures."
},
"reference": "Psalm 23:1-2",
"applicablePhases": ["menstrual"]
}
],
"follicular": [
{
"verses": {
"esv": "Strength and dignity are her clothing, and she laughs at the time to come.",
"niv": "She is clothed with strength and dignity; she can laugh at the days to come.",
"nkjv": "Strength and honor are her clothing; she shall rejoice in time to come.",
"nlt": "She is clothed with strength and dignity, and she laughs without fear of the future."
},
"reference": "Proverbs 31:25",
"reflection": "You're entering a season of renewed energy. Use it for His glory.",
"applicablePhases": ["follicular"]
},
{
"verses": {
"esv": "I can do all things through him who strengthens me.",
"niv": "I can do all this through him who gives me strength.",
"nkjv": "I can do all things through Christ who strengthens me."
},
"reference": "Philippians 4:13",
"applicablePhases": ["follicular"]
},
{
"verses": {
"esv": "but they who wait for the LORD shall renew their strength; they shall mount up with wings like eagles.",
"niv": "but those who hope in the LORD will renew their strength. They will soar on wings like eagles."
},
"reference": "Isaiah 40:31",
"applicablePhases": ["follicular"]
}
],
"ovulation": [
{
"verses": {
"esv": "For you formed my inmost parts; you knitted me together in my mother's womb. I praise you, for I am fearfully and wonderfully made.",
"niv": "For you created my inmost being; you knit me together in my mothers womb. I praise you because I am fearfully and wonderfully made.",
"nkjv": "For You formed my inward parts; You covered me in my mothers womb. I will praise You, for I am fearfully and wonderfully made."
},
"reference": "Psalm 139:13-14",
"reflection": "Your body reflects the incredible creativity of God.",
"applicablePhases": ["ovulation"]
},
{
"verses": {
"esv": "Behold, children are a heritage from the LORD, the fruit of the womb a reward.",
"niv": "Children are a heritage from the LORD, offspring a reward from him.",
"nkjv": "Behold, children are a heritage from the LORD, the fruit of the womb is a reward."
},
"reference": "Psalm 127:3",
"applicablePhases": ["ovulation"]
}
],
"luteal": [
{
"verses": {
"esv": "For I know the plans I have for you, declares the LORD, plans for welfare and not for evil, to give you a future and a hope.",
"niv": "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.",
"nkjv": "For I know the thoughts that I think toward you, says the LORD, thoughts of peace and not of evil, to give you a future and a hope."
},
"reference": "Jeremiah 29:11",
"reflection": "Whatever this season holds, God's plans for you are good.",
"applicablePhases": ["luteal"]
},
{
"verses": {
"esv": "do not be anxious about anything, but in everything by prayer and supplication with thanksgiving let your requests be made known to God.",
"niv": "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"]
},
{
"verses": {
"esv": "Trust in the LORD with all your heart, and do not lean on your own understanding.",
"niv": "Trust in the LORD with all your heart and lean not on your own understanding."
},
"reference": "Proverbs 3:5",
"applicablePhases": ["luteal"]
}
],
"husband": [
{
"verses": {
"esv": "Husbands, love your wives, as Christ loved the church and gave himself up for her.",
"niv": "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."
},
{
"verses": {
"esv": "Likewise, husbands, live with your wives in an understanding way, showing honor to the woman.",
"niv": "Husbands, in the same way be considerate as you live with your wives, and treat them with respect."
},
"reference": "1 Peter 3:7"
}
],
"womanhood": [
{
"verses": {
"esv": "Charm is deceitful, and beauty is vain, but a woman who fears the LORD is to be praised.",
"niv": "Charm is deceptive, and beauty is fleeting; but a woman who fears the LORD is to be praised."
},
"reference": "Proverbs 31:30"
},
{
"verses": {
"esv": "She opens her mouth with wisdom, and the teaching of kindness is on her tongue.",
"niv": "She opens her mouth with wisdom, and the teaching of kindness is on her tongue."
},
"reference": "Proverbs 31:26"
}
],
"contextual": {
"pain": [
{
"verses": {
"esv": "The LORD is near to the brokenhearted and saves the crushed in spirit.",
"niv": "The LORD is close to the brokenhearted and saves those who are crushed in spirit."
},
"reference": "Psalm 34:18",
"reflection": "He sees your pain and draws near to you in your discomfort."
},
{
"verses": {
"esv": "Cast your burden on the LORD, and he will sustain you.",
"niv": "Cast your cares on the LORD and he will sustain you."
},
"reference": "Psalm 55:22"
}
],
"fatigue": [
{
"verses": {
"esv": "He gives power to the faint, and to him who has no might he increases strength.",
"niv": "He gives strength to the weary and increases the power of the weak."
},
"reference": "Isaiah 40:29"
},
{
"verses": {
"esv": "My grace is sufficient for you, for my power is made perfect in weakness.",
"niv": "My grace is sufficient for you, for my power is made perfect in weakness."
},
"reference": "2 Corinthians 12:9"
}
],
"anxiety": [
{
"verses": {
"esv": "When the cares of my heart are many, your consolations cheer my soul.",
"niv": "When anxiety was great within me, your consolation brought me joy."
},
"reference": "Psalm 94:19"
},
{
"verses": {
"esv": "Peace I leave with you; my peace I give to you. Not as the world gives do I give to you. Let not your hearts be troubled, neither let them be afraid.",
"niv": "Peace I leave with you; my peace I give to you. I do not give to you as the world gives. Do not let your hearts be troubled and do not be afraid."
},
"reference": "John 14:27"
}
],
"joy": [
{
"verses": {
"esv": "The LORD is my strength and my shield; in him my heart trusts, and I am helped; my heart exults, and with my song I give thanks to him.",
"niv": "The LORD is my strength and my shield; my heart trusts in him, and he helps me. My heart leaps for joy, and with my song I praise him."
},
"reference": "Psalm 28:7"
}
]
}
}