From 77a93fd148dd66da28da3d9716c70b1cfe64f9e9 Mon Sep 17 00:00:00 2001 From: Sam Date: Thu, 23 Mar 2023 09:30:23 +0100 Subject: [PATCH] a lil frontend work (as a treat) --- backend/routes/mod/routes.go | 1 + frontend/src/lib/api/entities.ts | 13 +++++++++++++ frontend/src/routes/reports/+layout.svelte | 1 + frontend/src/routes/reports/+layout.ts | 1 + frontend/src/routes/reports/+page.svelte | 5 +++++ frontend/src/routes/reports/+page.ts | 15 +++++++++++++++ 6 files changed, 36 insertions(+) create mode 100644 frontend/src/routes/reports/+layout.svelte create mode 100644 frontend/src/routes/reports/+layout.ts create mode 100644 frontend/src/routes/reports/+page.svelte create mode 100644 frontend/src/routes/reports/+page.ts diff --git a/backend/routes/mod/routes.go b/backend/routes/mod/routes.go index ca3db57..8b64139 100644 --- a/backend/routes/mod/routes.go +++ b/backend/routes/mod/routes.go @@ -20,6 +20,7 @@ func Mount(srv *server.Server, r chi.Router) { r.Get("/reports/by-user/{id}", server.WrapHandler(s.getReportsByUser)) r.Get("/reports/by-reporter/{id}", server.WrapHandler(s.getReportsByReporter)) + r.Get("/reports/{id}", nil) r.Patch("/reports/{id}", nil) }) diff --git a/frontend/src/lib/api/entities.ts b/frontend/src/lib/api/entities.ts index 2117de8..b285187 100644 --- a/frontend/src/lib/api/entities.ts +++ b/frontend/src/lib/api/entities.ts @@ -81,6 +81,19 @@ export interface Invite { used: boolean; } +export interface Report { + id: string; + user_id: string; + member_id: string | null; + reason: string; + reporter_id: string; + + created_at: string; + resolved_at: string | null; + admin_id: string | null; + admin_comment: string | null; +} + export interface APIError { code: ErrorCode; message?: string; diff --git a/frontend/src/routes/reports/+layout.svelte b/frontend/src/routes/reports/+layout.svelte new file mode 100644 index 0000000..4fa864c --- /dev/null +++ b/frontend/src/routes/reports/+layout.svelte @@ -0,0 +1 @@ + diff --git a/frontend/src/routes/reports/+layout.ts b/frontend/src/routes/reports/+layout.ts new file mode 100644 index 0000000..a3d1578 --- /dev/null +++ b/frontend/src/routes/reports/+layout.ts @@ -0,0 +1 @@ +export const ssr = false; diff --git a/frontend/src/routes/reports/+page.svelte b/frontend/src/routes/reports/+page.svelte new file mode 100644 index 0000000..7f17dcf --- /dev/null +++ b/frontend/src/routes/reports/+page.svelte @@ -0,0 +1,5 @@ + diff --git a/frontend/src/routes/reports/+page.ts b/frontend/src/routes/reports/+page.ts new file mode 100644 index 0000000..260f0d4 --- /dev/null +++ b/frontend/src/routes/reports/+page.ts @@ -0,0 +1,15 @@ +import type { Report } from "$lib/api/entities"; +import { apiFetchClient } from "$lib/api/fetch"; + +export const load = async () => { + const reports = await apiFetchClient("/admin/reports"); + return { page: 0, isClosed: false, userId: null, reporterId: null, reports } as PageLoadData; +}; + +interface PageLoadData { + page: number; + isClosed: boolean; + userId: string | null; + reporterId: string | null; + reports: Report[]; +}