"use client"; import { Box, Burger, Button, Divider, Drawer, Stack, Text } from '@mantine/core'; import { usePathname } from 'next/navigation'; import Link from 'next/link'; import React, { useEffect, useState } from 'react'; import { useRouter } from "next/navigation"; import Image from "next/image"; import logo from "@/app/image/logo1.jpg"; import { useMediaQuery } from '@mantine/hooks'; export default function Layout({ children }: { children: React.ReactNode }) { const [authorized, SetAuthorized] = useState(null); const router = useRouter(); const pathname = usePathname(); const isMobile = useMediaQuery("(max-width: 768px)"); const [drawerOpened, setDrawerOpened] = useState(false); const links = [ { label: " Quick Pay", href: "/funds_transfer" }, { label: "Add Beneficiary", href: "/funds_transfer/add_beneficiary" }, { label: "View Beneficiary ", href: "/funds_transfer/view_beneficiary" }, { label: "Send to Beneficiary", href: "/funds_transfer/send_beneficiary" }, ]; useEffect(() => { const token = localStorage.getItem("access_token"); if (!token) { SetAuthorized(false); router.push("/login"); } else { SetAuthorized(true); } }, []); if (authorized) { return ( {/* Desktop Sidebar */} {!isMobile && ( Send Money {links.map((link) => { const isActive = pathname === link.href; return ( {link.label} ); })} )} {/* Mobile: Burger & Drawer */} {isMobile && ( <> {/* Top header with burger and title */} setDrawerOpened(!drawerOpened)} size="sm" color="white" /> Send Money setDrawerOpened(false)} padding="md" size="75%" overlayProps={{ color: "black", opacity: 0.55, blur: 3 }} styles={{ root: { backgroundColor: "#e6f5ff", // soft background for drawer // borderLeft: "4px solid #228be6", // borderRadius: "8px", }, }} > {/* Logo and Drawer Header */} <> KCCB Logo Send Money {/* Menu Items */} {links.map((link) => { const isActive = pathname === link.href; return ( ); })} )} {/* Content Area */} {children} ); } }