Remove admin view pagination
Build and Push Lunchtime Images (Kaniko) / build-and-push (push) Successful in 2m12s

This commit is contained in:
Simon Gruber
2026-05-06 19:45:55 +02:00
parent b00cde2a6e
commit e489b045fc
2 changed files with 13 additions and 54 deletions
@@ -51,17 +51,13 @@ export default function AdminSubmissionsCard({
onOpenMailto, onOpenMailto,
selectedRowKeys, selectedRowKeys,
onSelectedRowKeysChange, onSelectedRowKeysChange,
pagedSubmissions, submissions,
deletingId, deletingId,
savingStatusKey, savingStatusKey,
onDeleteSubmission, onDeleteSubmission,
onUpdateSubmissionStatus, onUpdateSubmissionStatus,
totalEstimatedText, totalEstimatedText,
selectedCount, selectedCount,
submissionsPage,
pageSize,
totalCount,
onSubmissionsPageChange,
}: { }: {
searchQuery: string; searchQuery: string;
selectedSubmissionState: "all" | "pending" | "unpaid" | "paid"; selectedSubmissionState: "all" | "pending" | "unpaid" | "paid";
@@ -74,17 +70,13 @@ export default function AdminSubmissionsCard({
onOpenMailto: () => void; onOpenMailto: () => void;
selectedRowKeys: Array<string | number>; selectedRowKeys: Array<string | number>;
onSelectedRowKeysChange: (keys: Array<string | number>) => void; onSelectedRowKeysChange: (keys: Array<string | number>) => void;
pagedSubmissions: any[]; submissions: any[];
deletingId: string | number | null; deletingId: string | number | null;
savingStatusKey: string | null; savingStatusKey: string | null;
onDeleteSubmission: (id: string | number) => void; onDeleteSubmission: (id: string | number) => void;
onUpdateSubmissionStatus: (submission: any, changes: { accepted?: boolean; paid?: boolean }) => void; onUpdateSubmissionStatus: (submission: any, changes: { accepted?: boolean; paid?: boolean }) => void;
totalEstimatedText: string | null; totalEstimatedText: string | null;
selectedCount: number; selectedCount: number;
submissionsPage: number;
pageSize: number;
totalCount: number;
onSubmissionsPageChange: (page: number) => void;
}) { }) {
const columns = [ const columns = [
{ {
@@ -224,14 +216,14 @@ export default function AdminSubmissionsCard({
<Table <Table
rowKey="id" rowKey="id"
columns={columns} columns={columns}
dataSource={pagedSubmissions} dataSource={submissions}
rowSelection={{ rowSelection={{
selectedRowKeys, selectedRowKeys,
onChange: (nextSelectedRowKeys) => onChange: (nextSelectedRowKeys) =>
onSelectedRowKeysChange(nextSelectedRowKeys as Array<string | number>), onSelectedRowKeysChange(nextSelectedRowKeys as Array<string | number>),
}} }}
pagination={false} pagination={false}
scroll={{ x: true }} scroll={{ y: 400, x: true }}
/> />
<Flex <Flex
justify="space-between" justify="space-between"
@@ -249,14 +241,6 @@ export default function AdminSubmissionsCard({
) : ( ) : (
<span /> <span />
)} )}
<Pagination
current={submissionsPage}
pageSize={pageSize}
total={totalCount}
showSizeChanger={false}
hideOnSinglePage
onChange={onSubmissionsPageChange}
/>
</Flex> </Flex>
</Card> </Card>
); );
+9 -34
View File
@@ -59,10 +59,8 @@ export default function AdminView({ orderId }: { orderId: string }) {
const [savingStatusKey, setSavingStatusKey] = useState<string | null>(null); const [savingStatusKey, setSavingStatusKey] = useState<string | null>(null);
const [updatingOrderStatus, setUpdatingOrderStatus] = useState(false); const [updatingOrderStatus, setUpdatingOrderStatus] = useState(false);
const [deletingOrder, setDeletingOrder] = useState(false); const [deletingOrder, setDeletingOrder] = useState(false);
const [submissionsPage, setSubmissionsPage] = useState(1);
const [searchQuery, setSearchQuery] = useState(""); const [searchQuery, setSearchQuery] = useState("");
const [selectedSubmissionState, setSelectedSubmissionState] = useState<"all" | "pending" | "unpaid" | "paid">("all"); const [selectedSubmissionState, setSelectedSubmissionState] = useState<"all" | "pending" | "unpaid" | "paid">("all");
const SUBMISSIONS_PAGE_SIZE = 8;
const getSubmissionState = (submission: Submission): SubmissionStatus => { const getSubmissionState = (submission: Submission): SubmissionStatus => {
if (submission?.paid) { if (submission?.paid) {
@@ -263,17 +261,6 @@ export default function AdminView({ orderId }: { orderId: string }) {
}; };
}, [refreshSubmissions]); }, [refreshSubmissions]);
useEffect(() => {
if (!data) {
return;
}
const maxPage = Math.max(1, Math.ceil(data.submissions.length / SUBMISSIONS_PAGE_SIZE));
if (submissionsPage > maxPage) {
setSubmissionsPage(maxPage);
}
}, [data, submissionsPage]);
const filteredSubmissions = useMemo(() => { const filteredSubmissions = useMemo(() => {
if (!data?.submissions) { if (!data?.submissions) {
return []; return [];
@@ -312,10 +299,6 @@ export default function AdminView({ orderId }: { orderId: string }) {
setSelectedRowKeys((previous) => previous.filter((id) => visibleIds.has(id))); setSelectedRowKeys((previous) => previous.filter((id) => visibleIds.has(id)));
}, [filteredSubmissions]); }, [filteredSubmissions]);
useEffect(() => {
setSubmissionsPage(1);
}, [searchQuery, selectedSubmissionState]);
const selected = filteredSubmissions.filter((submission: any) => const selected = filteredSubmissions.filter((submission: any) =>
selectedRowKeys.includes(submission.id), selectedRowKeys.includes(submission.id),
); );
@@ -357,10 +340,6 @@ export default function AdminView({ orderId }: { orderId: string }) {
const totalEstimatedText = hasAnyEstimatedValue const totalEstimatedText = hasAnyEstimatedValue
? formatEstimatedTotal(totalEstimatedValue) ? formatEstimatedTotal(totalEstimatedValue)
: null; : null;
const pagedSubmissions = filteredSubmissions.slice(
(submissionsPage - 1) * SUBMISSIONS_PAGE_SIZE,
submissionsPage * SUBMISSIONS_PAGE_SIZE,
);
if (pageError || loading) { if (pageError || loading) {
return ( return (
@@ -417,6 +396,14 @@ export default function AdminView({ orderId }: { orderId: string }) {
onImportConfig={handleImportConfig} onImportConfig={handleImportConfig}
/> />
<AdminControlCenterCard
isClosed={!!data?.closed}
updatingOrderStatus={updatingOrderStatus}
deletingOrder={deletingOrder}
onToggleClosed={updateOrderClosedStatus}
onDeleteOrder={deleteOrder}
/>
<AdminSubmissionsCard <AdminSubmissionsCard
searchQuery={searchQuery} searchQuery={searchQuery}
selectedSubmissionState={selectedSubmissionState} selectedSubmissionState={selectedSubmissionState}
@@ -429,25 +416,13 @@ export default function AdminView({ orderId }: { orderId: string }) {
onOpenMailto={openSubmissionEmailDraft} onOpenMailto={openSubmissionEmailDraft}
selectedRowKeys={selectedRowKeys} selectedRowKeys={selectedRowKeys}
onSelectedRowKeysChange={setSelectedRowKeys} onSelectedRowKeysChange={setSelectedRowKeys}
pagedSubmissions={pagedSubmissions} submissions={filteredSubmissions}
deletingId={deletingId} deletingId={deletingId}
savingStatusKey={savingStatusKey} savingStatusKey={savingStatusKey}
onDeleteSubmission={deleteAsAdmin} onDeleteSubmission={deleteAsAdmin}
onUpdateSubmissionStatus={updateSubmissionStatus} onUpdateSubmissionStatus={updateSubmissionStatus}
totalEstimatedText={totalEstimatedText} totalEstimatedText={totalEstimatedText}
selectedCount={selected.length} selectedCount={selected.length}
submissionsPage={submissionsPage}
pageSize={SUBMISSIONS_PAGE_SIZE}
totalCount={filteredSubmissions.length}
onSubmissionsPageChange={setSubmissionsPage}
/>
<AdminControlCenterCard
isClosed={!!data?.closed}
updatingOrderStatus={updatingOrderStatus}
deletingOrder={deletingOrder}
onToggleClosed={updateOrderClosedStatus}
onDeleteOrder={deleteOrder}
/> />
</Space> </Space>
); );