Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 05e6030626 | |||
| d01881f0af | |||
| 905a975327 | |||
| 5659f053ba | |||
| 52b0e3e86d | |||
| e949e32189 | |||
| e9fadc724e |
@@ -32,6 +32,8 @@ export async function getApplicationByID(appID: number): Promise<ApplicationRow>
|
||||
}
|
||||
|
||||
export async function getApplicationList(page: number = 1, pageSize: number = 25): Promise<ApplicationListRow[]> {
|
||||
const offset = (page - 1) * pageSize;
|
||||
|
||||
const sql = `SELECT
|
||||
member.name AS member_name,
|
||||
app.id,
|
||||
@@ -44,7 +46,7 @@ export async function getApplicationList(page: number = 1, pageSize: number = 25
|
||||
ORDER BY app.submitted_at DESC
|
||||
LIMIT ? OFFSET ?;`
|
||||
|
||||
const rows: ApplicationListRow[] = await pool.query(sql, [pageSize, page]);
|
||||
const rows: ApplicationListRow[] = await pool.query(sql, [pageSize, offset]);
|
||||
return rows;
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ function onSubmit(values: { text: string }, { resetForm }: { resetForm: () => vo
|
||||
<!-- Button below, right-aligned -->
|
||||
<div class="mt-2 flex justify-end gap-2">
|
||||
<Button v-if="adminMode" type="submit" @click="submitMode = 'internal'" variant="outline">Post (Internal)</Button>
|
||||
<Button type="submit" @click="submitMode = 'public'">Post (Public)</Button>
|
||||
<Button type="submit" @click="submitMode = 'public'">{{ adminMode ? 'Post (Public)' : 'Post' }}</Button>
|
||||
</div>
|
||||
</Form>
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ const regexB = /^https?:\/\/steamcommunity\.com\/profiles\/\d+\/?$/;
|
||||
const formSchema = toTypedSchema(z.object({
|
||||
dob: z.string().refine(v => v, { message: "A date of birth is required." }),
|
||||
name: z.string().nonempty(),
|
||||
playtime: z.coerce.number({ invalid_type_error: "Must be a number", }).min(0, "Cannot be less than 0"),
|
||||
playtime: z.preprocess((v) => (v === "" ? undefined : String(v)),z.string({ required_error: "Required" }).regex(/^\d+(\.\d+)?$/, "Must be a number").transform(Number).refine((n) => n >= 0, "Cannot be less than 0")),
|
||||
hobbies: z.string().nonempty(),
|
||||
military: z.boolean(),
|
||||
communities: z.string().nonempty(),
|
||||
|
||||
@@ -125,7 +125,7 @@ async function handleDeny(id) {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div v-if="!loading" class="w-full h-20">
|
||||
<div v-if="!loading" class="w-full">
|
||||
<div v-if="unauthorized" class="flex justify-center w-full my-10">
|
||||
You do not have permission to view this application.
|
||||
</div>
|
||||
@@ -134,7 +134,7 @@ async function handleDeny(id) {
|
||||
<!-- Application header -->
|
||||
<div>
|
||||
<h3 class="scroll-m-20 text-2xl font-semibold tracking-tight">{{ member_name }}</h3>
|
||||
<p class="text-muted-foreground">Submitted: {{ submitDate.toLocaleString("en-US", {
|
||||
<p class="text-muted-foreground">Submitted: {{ submitDate?.toLocaleString("en-US", {
|
||||
year: "numeric",
|
||||
month: "long",
|
||||
day: "numeric",
|
||||
|
||||
Reference in New Issue
Block a user