Fix nav active state & populate services menu

Task #9: Two header fixes on artifacts/ehsan-poc.

1. Nav active state no longer stuck on "فرص التبرع". Active page now gets
   a moving green outline box (Home) matching the real ehsan.sa nav.
   "فرص التبرع" stays a solid green CTA but only shows an active green ring
   when on /opportunities. Applied consistent active styling across desktop
   and mobile nav (Home, Opportunities, Request).

2. "خدماتنا" dropdown now lists the eight official services from the
   reference image, each with a lucide icon: غراس (Sprout), الزكاة
   (HandCoins), هدية (Gift), الأضاحي (Beef), الحملات (Megaphone), التبرع
   الدوري (Repeat), التبرع بالرسائل (MessageSquare), تطهير الأسهم
   (TrendingUp). Each routes to /opportunities (POC has no per-service
   pages). Kept "طلب دعم" below a separator so desktop users retain access
   to /request. Mobile menu mirrors the services list.

Added serviceItems i18n group (AR + EN) in translations.ts.

Files: src/components/layout/Header.tsx, src/lib/i18n/translations.ts.
Verified: tsc --noEmit clean; e2e UI test passed (active state moves,
dropdown shows all 8 items + request, routing works); console clean after
HMR-restart of the web workflow. No emojis.
This commit is contained in:
Replit Agent
2026-06-05 18:33:23 +00:00
parent 100dbfe342
commit 61e66824b9
2 changed files with 92 additions and 9 deletions
@@ -43,6 +43,16 @@ export const en = {
whatsappLog: "WhatsApp Log",
quickDonate: "Quick Donate",
},
serviceItems: {
ghiras: "Ghiras",
zakat: "Zakat",
gift: "Gift",
adahi: "Adahi (Sacrifices)",
campaigns: "Campaigns",
recurring: "Recurring Donation",
sms: "Donate by SMS",
stocks: "Stock Purification",
},
auth: {
title: "Admin Login",
subtitle: "Sign in to access the management dashboard",
@@ -255,6 +265,16 @@ export const ar = {
whatsappLog: "سجل واتساب",
quickDonate: "تبرع سريع",
},
serviceItems: {
ghiras: "غراس",
zakat: "الزكاة",
gift: "هدية",
adahi: "الأضاحي",
campaigns: "الحملات",
recurring: "التبرع الدوري",
sms: "التبرع بالرسائل",
stocks: "تطهير الأسهم",
},
auth: {
title: "دخول الإدارة",
subtitle: "سجّل الدخول للوصول إلى لوحة الإدارة",