From 22a889fb91b14eaea9f69b20770c5294165e7f33 Mon Sep 17 00:00:00 2001 From: defiQUG Date: Tue, 26 May 2026 22:33:06 -0700 Subject: [PATCH] Align site copy with foundation brief, restore Portals nav, and audit public routes. Portals link in nav/footer/mobile; foundation-aligned request assistance, donate, legal, and SEO; expanded sitemap; families-focused impact labels; fix document.title hook placement. Co-authored-by: Cursor --- public/brand/MIM4U-Brand-Kit.zip | Bin 2834127 -> 2834127 bytes public/sitemap.xml | 75 +++--- src/App.tsx | 236 +++++++++---------- src/components/Footer.tsx | 15 ++ src/components/Navigation.tsx | 11 +- src/components/SEO/SEOHead.tsx | 4 +- src/components/__tests__/Navigation.test.tsx | 1 + src/content/siteContent.ts | 21 ++ src/hooks/useDonationImpact.ts | 14 +- src/pages/DonatePage/index.tsx | 20 +- 10 files changed, 219 insertions(+), 178 deletions(-) diff --git a/public/brand/MIM4U-Brand-Kit.zip b/public/brand/MIM4U-Brand-Kit.zip index 8b818e45147258f3c01c96310203bb130edb857a..8d1bb531db96c27f93ff607aeaae586807a29259 100644 GIT binary patch delta 896 zcmZvaKWGzC9LK$P-ZhEWB=t`lYfpW-^lI{2u&CtE<>I19)1;EY)-Eni76%a=1c!?q zZd4JyDVq=lMInt(>7*s76>b0GS%~p~sI{(wBT7pP z0b4YKKnU1JMN?^wv!u->#qUIaFDd$Y^rqoxHDyMg=Lgt}H3b+3!axLw0wchF-~ezC zI0TH+#oAbDjWu{uiRp65d!SAwW_K!wfpOpnFafB*QQ#QuRE`(Ev7+cSp5jGmi<;B; z?mhIj;k;YNakd6bMZ4? zGnpd=he zYwU$DXUJ((tUAB4WUT)md66M$G&dNPvLw@us;u_PfTjaFnj_h6Z=S!BgL-ck*Bd*1 zI8`->f#&&Cm7RXufZa-c-8RUXo`z!+d2$k!cWnt(xANpvH_N{WqM!a7Rn6Xn9l1CA XQI$RF2d2F_Tu&6ptgoHx1#R&ublmtH(sJcwY^ggpd% z*rST*o^lhSplG0R4n1iJYK0_F=)t3);7!jW`ey$m>1yD2c;ENFH*aRs{r!UL0z$Bmm$AIIsS2|Jr%tG=sPCFslq{cM9 zcb|!GH*mt6M89ufVT6f4-rmSsPyynDb`~`zyJbtDo??!5kr+ z@Er=D>(vD&e!0>Yt>|2WM(5O>8Z*9iR8_3P)vBfy>#9H!NC6s<22KJQ8tYD7y2&2% zdX}6)Wz+tdBjbbr$jdA_hgNo}&@1Ff*6USRb}3NPKrQDweekly 1.0 - - https://mim4u.org/#/donate - monthly - 0.9 - - - https://mim4u.org/#/request-assistance - monthly - 0.9 - - - https://mim4u.org/#/volunteers - monthly - 0.8 - - - https://mim4u.org/#/stories - weekly - 0.8 - - - https://mim4u.org/#/impact - monthly - 0.8 - - - https://mim4u.org/#/legal - monthly - 0.5 - https://mim4u.org/#/about monthly @@ -50,19 +20,64 @@ monthly 0.8 + + https://mim4u.org/#/stories + weekly + 0.8 + + + https://mim4u.org/#/testimonies + weekly + 0.7 + https://mim4u.org/#/events weekly 0.7 + + https://mim4u.org/#/volunteers + monthly + 0.8 + + + https://mim4u.org/#/donate + monthly + 0.9 + https://mim4u.org/#/contact monthly 0.8 + + https://mim4u.org/#/request-assistance + monthly + 0.9 + + + https://mim4u.org/#/sponsors + monthly + 0.7 + + + https://mim4u.org/#/impact + monthly + 0.8 + + + https://mim4u.org/#/legal + monthly + 0.5 + https://mim4u.org/#/brand monthly 0.6 + + https://mim4u.org/#/portals + monthly + 0.6 + diff --git a/src/App.tsx b/src/App.tsx index e46d7e5..f3a0095 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -158,12 +158,12 @@ const translations: Translations = { 'nav.donate': { en: 'Donate', es: 'Donar', fr: 'Faire un don' }, 'nav.volunteer': { en: 'Volunteer', es: 'Voluntario', fr: 'Bénévole' }, 'hero.title': { - en: 'Equipping kids for success—school supplies, clothing, & more', + en: 'Restoring hope through compassion, community, and faith', es: 'Equipando a los niños para el éxito: útiles escolares, ropa y más', fr: 'Équiper les enfants pour réussir — fournitures scolaires, vêtements et plus' }, 'donate.title': { en: 'Donate Now', es: 'Donar Ahora', fr: 'Faire un don maintenant' }, - 'impact.students': { en: 'Students Supported', es: 'Estudiantes Apoyados', fr: 'Étudiants Soutenus' } + 'impact.families': { en: 'Families Supported', es: 'Familias Apoyadas', fr: 'Familles Soutenues' } } function LanguageProvider({ children }: { children: React.ReactNode }) { @@ -276,12 +276,12 @@ function useAuth() { /* ===================== Enhanced Impact Calculator ===================== */ function calculateDonationImpact(amount: number): ImpactCalculation { - const students = Math.floor(amount / 25) // $25 per student for basic supplies - const families = Math.floor(amount / 50) // $50 per family for comprehensive support - const backpacks = Math.floor(amount / 30) // $30 for complete backpack kit - const clothing = Math.floor(amount / 45) // $45 for clothing items - const emergency = Math.floor(amount / 75) // $75 for emergency assistance - + const families = Math.floor(amount / 50) + const students = families // legacy display fields — shown as families served + const backpacks = Math.floor(amount / 40) + const clothing = Math.floor(amount / 45) + const emergency = Math.floor(amount / 75) + return { students, families, @@ -289,10 +289,10 @@ function calculateDonationImpact(amount: number): ImpactCalculation { clothing, emergency, annual: { - students: Math.floor((amount * 12) / 25), + students: Math.floor((amount * 12) / 50), families: Math.floor((amount * 12) / 50), - totalImpact: `${Math.floor((amount * 12) / 25)} students supported annually` - } + totalImpact: `${Math.floor((amount * 12) / 50)} families supported annually`, + }, } } @@ -499,8 +499,8 @@ function SEOHead({ title, description, image }: { title?: string, description?: tag.setAttribute('content', content) } - updateOGTag('og:title', title || 'Miracles in Motion - Equipping Students for Success') - updateOGTag('og:description', description || 'Nonprofit providing students with school supplies, clothing, and emergency assistance to thrive in their education.') + updateOGTag('og:title', title || `${SITE.name} — ${SITE.brandMessage}`) + updateOGTag('og:description', description || 'Faith-centered nonprofit bringing hope, outreach, emergency assistance, and wellness support to families in Los Angeles County.') updateOGTag('og:image', image || '/og-image.jpg') updateOGTag('og:type', 'website') }, [title, description, image]) @@ -1166,19 +1166,12 @@ function FeatureCard({ icon: Icon, title, body }: FeatureCardProps) {
{title}

{body}

- - Explore - - - - + Learn more + ) } @@ -1561,10 +1554,10 @@ function DonatePage() { const { t } = useLanguage() const suggestedAmounts = [ - { amount: 25, impact: "School supplies for 1 student", popular: false }, - { amount: 50, impact: "Complete backpack kit for 1 student", popular: true }, - { amount: 100, impact: "School clothing for 2 students", popular: false }, - { amount: 250, impact: "Emergency fund for 5 families", popular: false } + { amount: 25, impact: "Essentials for one individual", popular: false }, + { amount: 50, impact: "Support for one family in crisis", popular: true }, + { amount: 100, impact: "Outreach supplies for two families", popular: false }, + { amount: 250, impact: "Emergency relief for multiple families", popular: false }, ] const finalAmount = customAmount ? parseInt(customAmount) || 0 : selectedAmount @@ -1575,12 +1568,12 @@ function DonatePage() { const impact = calculateDonationImpact(amount) const impactItems = [] - if (impact.students > 0) impactItems.push(`${impact.students} student${impact.students > 1 ? 's' : ''} with supplies`) + if (impact.families > 0) impactItems.push(`${impact.families} famil${impact.families > 1 ? 'ies' : 'y'} with compassionate support`) if (impact.backpacks > 0) impactItems.push(`${impact.backpacks} backpack kit${impact.backpacks > 1 ? 's' : ''}`) if (impact.clothing > 0) impactItems.push(`${impact.clothing} clothing item${impact.clothing > 1 ? 's' : ''}`) if (impact.emergency > 0) impactItems.push(`${impact.emergency} emergency response${impact.emergency > 1 ? 's' : ''}`) - return impactItems.length > 0 ? impactItems.join(', ') : "Every dollar helps a student in need" + return impactItems.length > 0 ? impactItems.join(', ') : "Every dollar helps restore hope for someone in need" } // Track donation interactions @@ -1650,8 +1643,8 @@ function DonatePage() { return ( <> Policies}>
@@ -1683,13 +1676,13 @@ function DonatePage() {
- Students Supported + Families supported - {impactData.students} + {impactData.families}
- Backpack Kits + Outreach kits {impactData.backpacks}
@@ -1717,7 +1710,7 @@ function DonatePage() {

Choose Your Donation Amount

-

Every dollar directly supports students in need

+

Every dollar directly supports families and individuals in need

{/* Suggested Amounts - Mobile Optimized */} @@ -2018,7 +2011,7 @@ function DonatePage() {
- 127 students received school supplies this month + Families across LA County received outreach and emergency support this month
@@ -2080,7 +2073,7 @@ function VolunteerPage() { -