// pages/admin/storage.js import { useState } from "react"; import Head from "next/head"; import { useRouter } from "next/router"; import CookieBanner from "../../components/cookieBanner"; import Header from "../../components/header"; import Footer from "../../components/footer"; import { connect } from "react-redux"; import { wrapper } from "../../store/store"; import StorageTab from "../../components/admin/tabs/storage"; import AccountsTab from "../../components/admin/tabs/accounts"; import AppealsTab from "../../components/admin/tabs/appeals"; import DocumentsTab from "../../components/admin/tabs/documents"; import AppealsWithStatusTab from "../../components/admin/tabs/appealsWithStatus"; import AppealStatusDashboard from "../../components/admin/tabs/appealsDashboard"; import AppealLpaStatusDashboard from "../../components/admin/tabs/appealsDashboardLPA"; import { fetchAdminStorageData } from "../../components/admin/utils/serverside"; import { getNewAppeals, getStatusByAppeal, getStatusByAppealLPA } from "../../actions/services/adminService"; import { getSearchDetails } from "../../components/utils"; import { setSearchDetails, setSearchResults } from "../../store/searchOutput/action"; import { setCurrentPage } from "../../store/currentView/action"; import { readAdminSessionCookie, validateAdminSession } from "../../lib/admin/adminAuth"; const StoragePage = (props) => { const { data, userData, repCompleteCount, searchResultsObj, docsOffline, showFilteredDocs, statusObj, statusLPAObj } = props; const [whichTab, setWhichTab] = useState("appealDashboard"); const [signingOut, setSigningOut] = useState(false); const router = useRouter(); const handleSignOut = async () => { setSigningOut(true); try { const response = await fetch("/api/admin/auth/logout", { method: "POST", headers: { "Content-Type": "application/json" }, credentials: "same-origin" }); if (response.ok) { await router.replace("/admin/login"); return; } } finally { setSigningOut(false); } }; return (