diff --git a/app/features/img-upload/queries/countAllUnvalidatedImg.server.ts b/app/features/img-upload/queries/countAllUnvalidatedImg.server.ts new file mode 100644 index 000000000..a39f3ce78 --- /dev/null +++ b/app/features/img-upload/queries/countAllUnvalidatedImg.server.ts @@ -0,0 +1,10 @@ +import { sql } from "~/db/sql"; + +const stm = sql.prepare(/*sql*/ ` + select count(*) as "count" from "UnvalidatedUserSubmittedImage" + where "validatedAt" is null +`); + +export function countAllUnvalidatedImg() { + return stm.get().count as number; +} diff --git a/app/features/img-upload/routes/upload.admin.tsx b/app/features/img-upload/routes/upload.admin.tsx index a4e49b375..24ed5b63b 100644 --- a/app/features/img-upload/routes/upload.admin.tsx +++ b/app/features/img-upload/routes/upload.admin.tsx @@ -6,6 +6,7 @@ import { requireUserId } from "~/modules/auth/user.server"; import { isAdmin } from "~/permissions"; import { notFoundIfFalsy, parseRequestFormData, validate } from "~/utils/remix"; import { userSubmittedImage } from "~/utils/urls"; +import { countAllUnvalidatedImg } from "../queries/countAllUnvalidatedImg.server"; import { oneUnvalidatedImage } from "../queries/oneUnvalidatedImage"; import { validateImage } from "../queries/validateImage"; import { validateImageSchema } from "../upload-schemas.server"; @@ -31,6 +32,7 @@ export const loader = async ({ request }: LoaderArgs) => { return { image: oneUnvalidatedImage(), + unvalidatedImgCount: countAllUnvalidatedImg(), }; }; @@ -51,6 +53,7 @@ function ImageValidator() { return ( <> +
{data.unvalidatedImgCount} left