"use client"; import { AppShell } from "../../components/AppShell"; import { RequestAttachmentPreviewModal } from "@/components/requests/RequestAttachmentPreviewModal"; import { RequestComposeModal } from "@/components/requests/RequestComposeModal"; import { RequestDetailModal } from "@/components/requests/RequestDetailModal"; import { RequestListControls } from "@/components/requests/RequestListControls"; import { RequestListSection } from "@/components/requests/RequestListSection"; import { RequestSwipeModePanel } from "@/components/requests/RequestSwipeModePanel"; import { useUser } from "@/contexts/UserContext"; import { Suspense } from "react"; import { useRequestsPage } from "@/hooks/useRequestsPage"; import { useRequestsPageScreen } from "@/hooks/useRequestsPageScreen"; export default function RequestsPage() { return ( }> ); } function RequestsPageFallback() { return (

Загрузка заявлений...

); } function RequestsPageContent() { const { user } = useUser(); const h = useRequestsPage(user?.id); const screen = useRequestsPageScreen({ detailsRequestId: h.detailsRequest?.id, requests: h.requests, setDetailsRequest: h.setDetailsRequest, }); return ( {h.loading ? (

Загрузка заявлений...

) : h.error ? (

{h.error}

) : (
{h.swipeMode && h.pendingDecisionRequests.length > 0 ? ( h.setSwipeMode(false)} onReject={h.handleReject} requests={h.pendingDecisionRequests} /> ) : ( <> h.setSwipeMode(true)} onToggleFilters={() => h.setFiltersOpen((value) => !value)} ordering={h.ordering} pendingDecisionCount={h.pendingDecisionRequests.length} periodFromFilter={h.periodFromFilter} periodToFilter={h.periodToFilter} search={h.search} statusFilter={h.statusFilter} typeFilter={h.typeFilter} view={h.view} /> )}
)} {h.isModalOpen && ( )} h.setAttachmentPreview(null)} /> ); }