"use client"; import { Paper, ScrollArea, Table, Text, Title } from "@mantine/core"; import { notifications } from "@mantine/notifications"; import { useRouter } from "next/navigation"; import { useEffect, useState } from "react"; interface accountData { stAccountNo: string; stAccountType: string; stAvailableBalance: string; custname: string; } export default function AccountSummary() { const router = useRouter(); const [authorized, setAuthorized] = useState(null); const [accountData, setAccountData] = useState([]); async function FetchAccountDetails() { try { const token = localStorage.getItem("access_token"); const response = await fetch("/api/customer", { method: "GET", headers: { "Content-Type": "application/json", Authorization: `Bearer ${token}`, }, }); const data = await response.json(); if (response.ok && Array.isArray(data)) { setAccountData(data); sessionStorage.setItem('accountData',JSON.stringify(data)) } } catch { notifications.show({ withBorder: true, color: "red", title: "Please try again later", message: "Unable to Fetch, Please try again later", autoClose: 5000, }); } } useEffect(() => { const token = localStorage.getItem("access_token"); if (!token) { setAuthorized(false); router.push("/login"); } else { setAuthorized(true); } }, []); useEffect(() => { if (authorized) { FetchAccountDetails(); } }, [authorized]); const cellStyle = { border: "1px solid #ccc", padding: "10px", }; const rows = accountData.map((acc, index) => ( {acc.custname} {acc.stAccountType} router.push(`/accounts/account_statement?accNo=${acc.stAccountNo}`)}> {acc.stAccountNo} {parseFloat(acc.stAvailableBalance).toLocaleString("en-IN", { minimumFractionDigits: 2, })} )); if (authorized) { return ( Account Summary (Currency - INR) {rows}
Customer Name Account Type Account No. Book Balance
* Book Balance includes uncleared effects.
); } return null; }