From 146d627534e766c53e4f81237d49561c208addeb Mon Sep 17 00:00:00 2001
From: Quaternions <krakow20@gmail.com>
Date: Tue, 1 Apr 2025 14:24:36 -0700
Subject: [PATCH] web: mapfixes: rename all occurrences of submission with
 mapfix

---
 web/src/app/mapfixes/[mapfixId]/_comments.tsx | 10 ++---
 web/src/app/mapfixes/[mapfixId]/_map.tsx      |  6 +--
 .../mapfixes/[mapfixId]/_reviewButtons.tsx    | 30 ++++++-------
 web/src/app/mapfixes/[mapfixId]/page.tsx      | 32 +++++++-------
 web/src/app/mapfixes/_card.tsx                |  2 +-
 web/src/app/mapfixes/page.tsx                 | 42 +++++++++----------
 web/src/app/ts/Mapfix.ts                      |  4 +-
 7 files changed, 63 insertions(+), 63 deletions(-)

diff --git a/web/src/app/mapfixes/[mapfixId]/_comments.tsx b/web/src/app/mapfixes/[mapfixId]/_comments.tsx
index 8e5c84a..7c5286a 100644
--- a/web/src/app/mapfixes/[mapfixId]/_comments.tsx
+++ b/web/src/app/mapfixes/[mapfixId]/_comments.tsx
@@ -1,4 +1,4 @@
-import type { SubmissionInfo } from "@/app/ts/Submission";
+import type { MapfixInfo } from "@/app/ts/Mapfix";
 import { Button } from "@mui/material"
 import Window from "./_window";
 import SendIcon from '@mui/icons-material/Send';
@@ -9,10 +9,10 @@ interface CommentersProps {
 }
 
 interface CreatorAndReviewStatus {
-    asset_id: SubmissionInfo["AssetID"],
-    creator: SubmissionInfo["DisplayName"],
-    review: SubmissionInfo["StatusID"],
-    status_message: SubmissionInfo["StatusMessage"],
+    asset_id: MapfixInfo["AssetID"],
+    creator: MapfixInfo["DisplayName"],
+    review: MapfixInfo["StatusID"],
+    status_message: MapfixInfo["StatusMessage"],
     comments: Comment[],
     name: string
 }
diff --git a/web/src/app/mapfixes/[mapfixId]/_map.tsx b/web/src/app/mapfixes/[mapfixId]/_map.tsx
index e364f70..f515db2 100644
--- a/web/src/app/mapfixes/[mapfixId]/_map.tsx
+++ b/web/src/app/mapfixes/[mapfixId]/_map.tsx
@@ -1,7 +1,7 @@
-import { SubmissionInfo } from "@/app/ts/Submission"
+import { MapfixInfo } from "@/app/ts/Mapfix"
 
 interface AssetID {
-    id: SubmissionInfo["AssetID"]
+    id: MapfixInfo["AssetID"]
 }
 
 function MapImage() {
@@ -11,4 +11,4 @@ function MapImage() {
 export {
 	type AssetID,
 	MapImage
-}
\ No newline at end of file
+}
diff --git a/web/src/app/mapfixes/[mapfixId]/_reviewButtons.tsx b/web/src/app/mapfixes/[mapfixId]/_reviewButtons.tsx
index 822327c..24d75c4 100644
--- a/web/src/app/mapfixes/[mapfixId]/_reviewButtons.tsx
+++ b/web/src/app/mapfixes/[mapfixId]/_reviewButtons.tsx
@@ -7,17 +7,17 @@ type Review     = Actions | "Accept" | "Validate" | "Upload" | "Reset Uploading
 interface ReviewButton {
 	name: Review,
 	action: ApiActions,
-	submissionId: string,
+	mapfixId: string,
 	color: ButtonOwnProps["color"]
 }
 
 interface ReviewId {
-	submissionId: string
+	mapfixId: string
 }
 
-async function ReviewButtonClicked(action: ApiActions, submissionId: string) {
+async function ReviewButtonClicked(action: ApiActions, mapfixId: string) {
 	try {
-		const response = await fetch(`/api/submissions/${submissionId}/status/${action}`, {
+		const response = await fetch(`/api/mapfixes/${mapfixId}/status/${action}`, {
 			method: "POST",
 			headers: {
 				"Content-type": "application/json",
@@ -33,7 +33,7 @@ async function ReviewButtonClicked(action: ApiActions, submissionId: string) {
 
 		window.location.reload();
 	} catch (error) {
-		console.error("Error updating submission status:", error);
+		console.error("Error updating mapfix status:", error);
 	}
 }
 
@@ -41,11 +41,11 @@ function ReviewButton(props: ReviewButton) {
 	return <Button
 		color={props.color}
 		variant="contained"
-		onClick={() => { ReviewButtonClicked(props.action, props.submissionId) }}>{props.name}</Button>
+		onClick={() => { ReviewButtonClicked(props.action, props.mapfixId) }}>{props.name}</Button>
 }
 
 export default function ReviewButtons(props: ReviewId) {
-	const submissionId = props.submissionId
+	const mapfixId = props.mapfixId
 	// When is each button visible?
 	// Multiple buttons can be visible at once.
 	// Action         | Role      | When Current Status is One of:
@@ -61,14 +61,14 @@ export default function ReviewButtons(props: ReviewId) {
 	// ResetUploading | MapAdmin  | Uploading
 	return (
 		<section className="review-set">
-			<ReviewButton color="info"  name="Submit"    action="submit"           submissionId={submissionId}/>
-			<ReviewButton color="info"  name="Revoke"    action="revoke"           submissionId={submissionId}/>
-			<ReviewButton color="info"  name="Accept"    action="trigger-validate" submissionId={submissionId}/>
-			<ReviewButton color="info"  name="Validate"  action="retry-validate"   submissionId={submissionId}/>
-			<ReviewButton color="error" name="Reject"    action="reject"           submissionId={submissionId}/>
-			<ReviewButton color="info"  name="Upload"    action="trigger-upload"   submissionId={submissionId}/>
-			<ReviewButton color="error" name="Reset Uploading (fix softlocked status)"    action="reset-uploading"   submissionId={submissionId}/>
-			<ReviewButton color="error" name="Reset Validating (fix softlocked status)"   action="reset-validating"  submissionId={submissionId}/>
+			<ReviewButton color="info"  name="Submit"    action="submit"           mapfixId={mapfixId}/>
+			<ReviewButton color="info"  name="Revoke"    action="revoke"           mapfixId={mapfixId}/>
+			<ReviewButton color="info"  name="Accept"    action="trigger-validate" mapfixId={mapfixId}/>
+			<ReviewButton color="info"  name="Validate"  action="retry-validate"   mapfixId={mapfixId}/>
+			<ReviewButton color="error" name="Reject"    action="reject"           mapfixId={mapfixId}/>
+			<ReviewButton color="info"  name="Upload"    action="trigger-upload"   mapfixId={mapfixId}/>
+			<ReviewButton color="error" name="Reset Uploading (fix softlocked status)"    action="reset-uploading"   mapfixId={mapfixId}/>
+			<ReviewButton color="error" name="Reset Validating (fix softlocked status)"   action="reset-validating"  mapfixId={mapfixId}/>
 		</section>
 	)
 }
diff --git a/web/src/app/mapfixes/[mapfixId]/page.tsx b/web/src/app/mapfixes/[mapfixId]/page.tsx
index 9dae81f..cc38cb3 100644
--- a/web/src/app/mapfixes/[mapfixId]/page.tsx
+++ b/web/src/app/mapfixes/[mapfixId]/page.tsx
@@ -1,6 +1,6 @@
 "use client"
 
-import { SubmissionInfo, SubmissionStatusToString } from "@/app/ts/Submission";
+import { MapfixInfo, MapfixStatusToString } from "@/app/ts/Mapfix";
 import type { CreatorAndReviewStatus } from "./_comments";
 import { MapImage } from "./_map";
 import { useParams } from "next/navigation";
@@ -15,7 +15,7 @@ import { useState, useEffect } from "react";
 import "./(styles)/page.scss";
 
 interface ReviewId {
-	submissionId: string
+	mapfixId: string
 }
 
 function Ratings() {
@@ -39,20 +39,20 @@ function Ratings() {
 	)
 }
 
-function RatingArea(submission: ReviewId) {
+function RatingArea(mapfix: ReviewId) {
     return (
         <aside className="review-area">
         	<section className="map-image-area">
          		<MapImage/>
          	</section>
             <Ratings/>
-			<ReviewButtons submissionId={submission.submissionId}/>
+			<ReviewButtons mapfixId={mapfix.mapfixId}/>
         </aside>
     )
 }
 
 function TitleAndComments(stats: CreatorAndReviewStatus) {
-    const Review = SubmissionStatusToString(stats.review)
+    const Review = MapfixStatusToString(stats.review)
 
     // TODO: hide status message when status is not "Accepted"
 	return (
@@ -72,22 +72,22 @@ function TitleAndComments(stats: CreatorAndReviewStatus) {
     )
 }
 
-export default function SubmissionInfoPage() {
-    const dynamicId = useParams<{submissionId: string}>()
+export default function MapfixInfoPage() {
+    const dynamicId = useParams<{mapfixId: string}>()
 
-    const [submission, setSubmission] = useState<SubmissionInfo | null>(null)
+    const [mapfix, setMapfix] = useState<MapfixInfo | null>(null)
 
 	useEffect(() => { // needs to be client sided since server doesn't have a session, nextjs got mad at me for exporting an async function: (https://nextjs.org/docs/messages/no-async-client-component)
-		async function getSubmission() {
-			const res = await fetch(`/api/submissions/${dynamicId.submissionId}`)
+		async function getMapfix() {
+			const res = await fetch(`/api/mapfixes/${dynamicId.mapfixId}`)
 			if (res.ok) {
-				setSubmission(await res.json())
+				setMapfix(await res.json())
 			}
 		}
-        getSubmission()
-	}, [dynamicId.submissionId])
+        getMapfix()
+	}, [dynamicId.mapfixId])
 
-	if (!submission) {
+	if (!mapfix) {
 		return <Webpage>
 		        {/* TODO: Add skeleton loading thingy ? Maybe ? (https://mui.com/material-ui/react-skeleton/) */}
 			</Webpage>
@@ -96,8 +96,8 @@ export default function SubmissionInfoPage() {
         <Webpage>
             <main className="map-page-main">
                 <section className="review-section">
-					<RatingArea submissionId={dynamicId.submissionId}/>
-                    <TitleAndComments name={submission.DisplayName} creator={submission.Creator} review={submission.StatusID} status_message={submission.StatusMessage} asset_id={submission.AssetID} comments={[]}/>
+					<RatingArea mapfixId={dynamicId.mapfixId}/>
+                    <TitleAndComments name={mapfix.DisplayName} creator={mapfix.Creator} review={mapfix.StatusID} status_message={mapfix.StatusMessage} asset_id={mapfix.AssetID} comments={[]}/>
                 </section>
             </main>
         </Webpage>
diff --git a/web/src/app/mapfixes/_card.tsx b/web/src/app/mapfixes/_card.tsx
index 29a6793..a1c594a 100644
--- a/web/src/app/mapfixes/_card.tsx
+++ b/web/src/app/mapfixes/_card.tsx
@@ -38,4 +38,4 @@ export default function SubmissionCard(props: SubmissionCardProps) {
 			</div>
 		</Link>
 	);
-}
\ No newline at end of file
+}
diff --git a/web/src/app/mapfixes/page.tsx b/web/src/app/mapfixes/page.tsx
index 2b803a7..cf6eccb 100644
--- a/web/src/app/mapfixes/page.tsx
+++ b/web/src/app/mapfixes/page.tsx
@@ -1,20 +1,20 @@
 'use client'
 
 import React, { useState, useEffect } from "react";
-import { SubmissionInfo } from "../ts/Submission";
-import SubmissionCard from "./_card";
+import { MapfixInfo } from "../ts/Mapfix";
+import MapfixCard from "./_card";
 import Webpage from "@/app/_components/webpage";
 
 import "./(styles)/page.scss";
 
-export default function SubmissionInfoPage() {
-	const [submissions, setSubmissions] = useState<SubmissionInfo[]>([])
+export default function MapfixInfoPage() {
+	const [mapfixes, setMapfixes] = useState<MapfixInfo[]>([])
 	const [currentPage, setCurrentPage] = useState(0);
 	const cardsPerPage = 24; // built to fit on a 1920x1080 monitor
 
-	const totalPages = Math.ceil(submissions.length / cardsPerPage);
+	const totalPages = Math.ceil(mapfixes.length / cardsPerPage);
 
-	const currentCards = submissions.slice(
+	const currentCards = mapfixes.slice(
 		currentPage * cardsPerPage,
 		(currentPage + 1) * cardsPerPage
 	);
@@ -32,19 +32,19 @@ export default function SubmissionInfoPage() {
 	};
 
 	useEffect(() => {
-		async function fetchSubmissions() {
-			const res = await fetch('/api/submissions?Page=1&Limit=100')
+		async function fetchMapfixes() {
+			const res = await fetch('/api/mapfixes?Page=1&Limit=100')
 			if (res.ok) {
-				setSubmissions(await res.json())
+				setMapfixes(await res.json())
 			}
 		}
 
 		setTimeout(() => {
-			fetchSubmissions()
+			fetchMapfixes()
 		}, 50);
 	}, [])
 
-	if (!submissions) {
+	if (!mapfixes) {
 		return <Webpage>
 			<main>
 				Loading...
@@ -52,10 +52,10 @@ export default function SubmissionInfoPage() {
 		</Webpage>
 	}
 
-	if (submissions && submissions.length == 0) {
+	if (mapfixes && mapfixes.length == 0) {
 		return <Webpage>
 			<main>
-				Submissions list is empty.
+				Mapfixes list is empty.
 			</main>
 		</Webpage>
 	}
@@ -93,14 +93,14 @@ export default function SubmissionInfoPage() {
 					<button onClick={nextPage} disabled={currentPage === totalPages - 1}>&gt;</button>
 				</div>
 				<div className="grid">
-					{currentCards.map((submission) => (
-						<SubmissionCard
-							key={submission.ID}
-							id={submission.ID}
-							assetId={submission.AssetID}
-							displayName={submission.DisplayName}
-							author={submission.Creator}
-							rating={submission.StatusID}
+					{currentCards.map((mapfix) => (
+						<MapfixCard
+							key={mapfix.ID}
+							id={mapfix.ID}
+							assetId={mapfix.AssetID}
+							displayName={mapfix.DisplayName}
+							author={mapfix.Creator}
+							rating={mapfix.StatusID}
 						/>
 					))}
 				</div>
diff --git a/web/src/app/ts/Mapfix.ts b/web/src/app/ts/Mapfix.ts
index 7888436..0a5bd25 100644
--- a/web/src/app/ts/Mapfix.ts
+++ b/web/src/app/ts/Mapfix.ts
@@ -27,8 +27,8 @@ interface MapfixInfo {
     readonly StatusMessage: string,
 }
 
-function MapfixStatusToString(submission_status: MapfixStatus): string {
-	switch (submission_status) {
+function MapfixStatusToString(mapfix_status: MapfixStatus): string {
+	switch (mapfix_status) {
    	case MapfixStatus.Rejected:
     		return "REJECTED"
 		case MapfixStatus.Uploading: