diff --git a/web/src/app/mapfixes/page.tsx b/web/src/app/mapfixes/page.tsx index 2d821a6..ff54391 100644 --- a/web/src/app/mapfixes/page.tsx +++ b/web/src/app/mapfixes/page.tsx @@ -1,7 +1,7 @@ 'use client' import React, { useState, useEffect } from "react"; -import { MapfixInfo } from "../ts/Mapfix"; +import { MapfixList } from "../ts/Mapfix"; import { MapfixCard } from "../_components/mapCard"; import Webpage from "@/app/_components/webpage"; @@ -11,13 +11,13 @@ import "./(styles)/page.scss"; import { ListSortConstants } from "../ts/Sort"; export default function MapfixInfoPage() { - const [mapfixes, setMapfixes] = useState<MapfixInfo[]>([]) + const [mapfixes, setMapfixes] = useState<MapfixList>({Total:0,Mapfixes:[]}) const [currentPage, setCurrentPage] = useState(1); const cardsPerPage = 24; // built to fit on a 1920x1080 monitor - const totalPages = Math.ceil(mapfixes.length / cardsPerPage); + const totalPages = Math.ceil(mapfixes.Total / cardsPerPage); - const currentCards = mapfixes.slice( + const currentCards = mapfixes.Mapfixes.slice( currentPage * cardsPerPage, (currentPage + 1) * cardsPerPage ); @@ -55,7 +55,7 @@ export default function MapfixInfoPage() { </Webpage> } - if (mapfixes && mapfixes.length == 0) { + if (mapfixes && mapfixes.Total == 0) { return <Webpage> <main> Mapfixes list is empty. diff --git a/web/src/app/submissions/page.tsx b/web/src/app/submissions/page.tsx index bf73e23..0920a58 100644 --- a/web/src/app/submissions/page.tsx +++ b/web/src/app/submissions/page.tsx @@ -1,7 +1,7 @@ 'use client' import React, { useState, useEffect } from "react"; -import { SubmissionInfo } from "../ts/Submission"; +import { SubmissionList } from "../ts/Submission"; import { SubmissionCard } from "../_components/mapCard"; import Webpage from "@/app/_components/webpage"; @@ -9,13 +9,13 @@ import "./(styles)/page.scss"; import { ListSortConstants } from "../ts/Sort"; export default function SubmissionInfoPage() { - const [submissions, setSubmissions] = useState<SubmissionInfo[]>([]) + const [submissions, setSubmissions] = useState<SubmissionList>({Total:0,Submissions:[]}) const [currentPage, setCurrentPage] = useState(1); const cardsPerPage = 24; // built to fit on a 1920x1080 monitor - const totalPages = Math.ceil(submissions.length / cardsPerPage); + const totalPages = Math.ceil(submissions.Total / cardsPerPage); - const currentCards = submissions.slice( + const currentCards = submissions.Submissions.slice( currentPage * cardsPerPage, (currentPage + 1) * cardsPerPage ); @@ -53,7 +53,7 @@ export default function SubmissionInfoPage() { </Webpage> } - if (submissions && submissions.length == 0) { + if (submissions && submissions.Total == 0) { return <Webpage> <main> Submissions list is empty. diff --git a/web/src/app/ts/Mapfix.ts b/web/src/app/ts/Mapfix.ts index b761fb1..e9727d8 100644 --- a/web/src/app/ts/Mapfix.ts +++ b/web/src/app/ts/Mapfix.ts @@ -28,6 +28,11 @@ interface MapfixInfo { readonly StatusMessage: string, } +interface MapfixList { + readonly Total: number, + readonly Mapfixes: MapfixInfo[], +} + function MapfixStatusToString(mapfix_status: MapfixStatus): string { switch (mapfix_status) { case MapfixStatus.Rejected: @@ -56,5 +61,6 @@ function MapfixStatusToString(mapfix_status: MapfixStatus): string { export { MapfixStatus, MapfixStatusToString, - type MapfixInfo + type MapfixInfo, + type MapfixList, } diff --git a/web/src/app/ts/Submission.ts b/web/src/app/ts/Submission.ts index cbae508..a2003f1 100644 --- a/web/src/app/ts/Submission.ts +++ b/web/src/app/ts/Submission.ts @@ -28,6 +28,11 @@ interface SubmissionInfo { readonly StatusMessage: string, } +interface SubmissionList { + readonly Total: number, + readonly Submissions: SubmissionInfo[], +} + function SubmissionStatusToString(submission_status: SubmissionStatus): string { switch (submission_status) { case SubmissionStatus.Released: @@ -58,5 +63,6 @@ function SubmissionStatusToString(submission_status: SubmissionStatus): string { export { SubmissionStatus, SubmissionStatusToString, - type SubmissionInfo + type SubmissionInfo, + type SubmissionList, }