diff --git a/src/app/api/logout/route.ts b/src/app/api/logout/route.ts new file mode 100644 index 0000000..999f1e7 --- /dev/null +++ b/src/app/api/logout/route.ts @@ -0,0 +1,14 @@ +import { cookies } from 'next/headers'; +import { NextResponse } from 'next/server'; + +export async function POST() { + const cookieStore = await cookies(); + + // Clear admin session + cookieStore.delete('adminSession'); + + // Clear customer session + cookieStore.delete('session'); + + return NextResponse.json({ success: true }); +} diff --git a/src/app/layout.tsx b/src/app/layout.tsx index e8c5141..f8aefd7 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -6,6 +6,7 @@ import Header from '@/components/Header'; import Footer from '@/components/Footer'; import PromotionBanner from '@/components/PromotionBanner'; import MaintenancePage from '@/components/MaintenancePage'; +import LogoutOnUnload from '@/components/LogoutOnUnload'; import { CurrencyProvider } from '@/lib/CurrencyContext'; import { getSiteSettings } from '@/lib/settings'; import { isAdminAuthenticated } from '@/lib/adminAuth'; @@ -60,6 +61,7 @@ export default async function RootLayout({ children }: { children: React.ReactNo />
+