diff --git a/artifacts/ehsan-poc/index.html b/artifacts/ehsan-poc/index.html
index 359e252..88c4873 100644
--- a/artifacts/ehsan-poc/index.html
+++ b/artifacts/ehsan-poc/index.html
@@ -3,16 +3,16 @@
- EHSAN Closed Donation Loop
-
+ منصة إحسان
+
-
-
+
+
-
-
-
+
+
+
diff --git a/artifacts/ehsan-poc/public/favicon.png b/artifacts/ehsan-poc/public/favicon.png
new file mode 100644
index 0000000..7a05564
Binary files /dev/null and b/artifacts/ehsan-poc/public/favicon.png differ
diff --git a/artifacts/ehsan-poc/src/App.tsx b/artifacts/ehsan-poc/src/App.tsx
index 0769406..af10961 100644
--- a/artifacts/ehsan-poc/src/App.tsx
+++ b/artifacts/ehsan-poc/src/App.tsx
@@ -6,6 +6,7 @@ import { LanguageProvider } from "./contexts/LanguageContext";
import { CartProvider } from "./contexts/CartContext";
import { AuthProvider, useAuth } from "./contexts/AuthContext";
import { AppLayout } from "./components/layout/AppLayout";
+import { DocumentTitle } from "./hooks/useDocumentTitle";
import NotFound from "@/pages/not-found";
import { ComponentType } from "react";
@@ -37,6 +38,7 @@ function Protected({ component: Component }: { component: ComponentType })
function Router() {
return (
+
diff --git a/artifacts/ehsan-poc/src/hooks/useDocumentTitle.ts b/artifacts/ehsan-poc/src/hooks/useDocumentTitle.ts
new file mode 100644
index 0000000..df9d9d3
--- /dev/null
+++ b/artifacts/ehsan-poc/src/hooks/useDocumentTitle.ts
@@ -0,0 +1,33 @@
+import { useEffect } from "react";
+import { useLocation } from "wouter";
+import { useLanguage } from "../contexts/LanguageContext";
+
+function pageNameForPath(path: string, meta: Record): string {
+ if (path === "/" || path === "") return meta.home;
+ if (path.startsWith("/opportunities")) return meta.opportunities;
+ if (path.startsWith("/cart")) return meta.cart;
+ if (path.startsWith("/about")) return meta.about;
+ if (path.startsWith("/track")) return meta.track;
+ if (path.startsWith("/donate")) return meta.donate;
+ if (path.startsWith("/request")) return meta.request;
+ if (path.startsWith("/waqf")) return meta.waqf;
+ if (path.startsWith("/baraem")) return meta.baraem;
+ if (path.startsWith("/admin")) return meta.admin;
+ if (path.startsWith("/whatsapp-log")) return meta.whatsappLog;
+ if (path.startsWith("/thank-you")) return meta.thankYou;
+ if (path.startsWith("/login")) return meta.login;
+ return "";
+}
+
+export function DocumentTitle() {
+ const [location] = useLocation();
+ const { t } = useLanguage();
+
+ useEffect(() => {
+ const meta = t.meta as Record;
+ const name = pageNameForPath(location, meta);
+ document.title = name ? `${name} - ${meta.platform}` : meta.platform;
+ }, [location, t]);
+
+ return null;
+}
diff --git a/artifacts/ehsan-poc/src/lib/i18n/translations.ts b/artifacts/ehsan-poc/src/lib/i18n/translations.ts
index 76f633a..9d7fcbf 100644
--- a/artifacts/ehsan-poc/src/lib/i18n/translations.ts
+++ b/artifacts/ehsan-poc/src/lib/i18n/translations.ts
@@ -1,4 +1,20 @@
export const en = {
+ meta: {
+ platform: "EHSAN Platform",
+ home: "Home",
+ opportunities: "Donation Opportunities",
+ cart: "Your Donation Cart",
+ about: "About EHSAN",
+ track: "Track Case",
+ donate: "Complete Donation",
+ request: "Request Support",
+ waqf: "Endowment",
+ baraem: "EHSAN Buds",
+ admin: "Admin Dashboard",
+ whatsappLog: "WhatsApp Log",
+ thankYou: "Submit Thank You",
+ login: "Login",
+ },
common: {
ehsan: "EHSAN",
home: "Home",
@@ -400,6 +416,22 @@ export const en = {
};
export const ar = {
+ meta: {
+ platform: "منصة إحسان",
+ home: "الصفحة الرئيسية",
+ opportunities: "فرص التبرع",
+ cart: "سلة تبرعاتك",
+ about: "عن إحسان",
+ track: "تتبع الحالة",
+ donate: "إتمام التبرع",
+ request: "طلب دعم",
+ waqf: "الوقف",
+ baraem: "براعم إحسان",
+ admin: "لوحة الإدارة",
+ whatsappLog: "سجل واتساب",
+ thankYou: "إرسال شكر",
+ login: "تسجيل الدخول",
+ },
common: {
ehsan: "إحسان",
home: "الرئيسية",