diff --git a/app/not-found.tsx b/app/not-found.tsx
index 2ab621b..57c9848 100644
--- a/app/not-found.tsx
+++ b/app/not-found.tsx
@@ -1,4 +1,5 @@
import { NavigateBack } from "@/components/common/NavigateBack";
+import { NavigationLinks } from "@/components/common/NavigationLinks";
import Image from "next/image";
export default function NotFound() {
@@ -11,6 +12,9 @@ export default function NotFound() {
alt="pinkie pie: http error 404 page not found"
/>
+
+
+
);
}
diff --git a/app/panel/layout.tsx b/app/panel/layout.tsx
index 6627935..fa37882 100644
--- a/app/panel/layout.tsx
+++ b/app/panel/layout.tsx
@@ -1,15 +1,6 @@
import Image from "next/image";
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
-import { buttonVariants } from "@/components/ui/button";
-import {
- Globe2,
- Home,
- ScrollText,
- Search,
- Siren,
- Sparkles,
-} from "lucide-react";
-import Link from "next/link";
+import { NavigationLinks } from "@/components/common/NavigationLinks";
export default function PanelLayout({
children,
@@ -36,48 +27,7 @@ export default function PanelLayout({
-
-
-
- {/*
-
- */}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
{children}
diff --git a/app/panel/reports/[id]/page.tsx b/app/panel/reports/[id]/page.tsx
index f7cd304..30a81e3 100644
--- a/app/panel/reports/[id]/page.tsx
+++ b/app/panel/reports/[id]/page.tsx
@@ -1,22 +1,33 @@
+import { JsonCard } from "@/components/cards/JsonCard";
import { MessageContextCard } from "@/components/cards/MessageContextCard";
import { ReportCard } from "@/components/cards/ReportCard";
+import { ServerCard } from "@/components/cards/ServerCard";
import { UserCard } from "@/components/cards/UserCard";
+import { NavigationToolbar } from "@/components/common/NavigationToolbar";
import { Badge } from "@/components/ui/badge";
-import { buttonVariants } from "@/components/ui/button";
+import { Button, buttonVariants } from "@/components/ui/button";
import {
Card,
CardDescription,
CardHeader,
CardTitle,
} from "@/components/ui/card";
+import {
+ DropdownMenu,
+ DropdownMenuContent,
+ DropdownMenuItem,
+ DropdownMenuLabel,
+ DropdownMenuSeparator,
+ DropdownMenuTrigger,
+} from "@/components/ui/dropdown-menu";
import { Separator } from "@/components/ui/separator";
+import { Textarea } from "@/components/ui/textarea";
import {
fetchReportById,
fetchReports,
fetchSnapshotsByReport,
fetchUserById,
} from "@/lib/db";
-import { ArrowLeft } from "lucide-react";
import Link from "next/link";
import { notFound } from "next/navigation";
import { Fragment } from "react";
@@ -44,12 +55,7 @@ export default async function Reports({ params }: { params: { id: string } }) {
return (
-
-
-
+
Viewing Report
@@ -65,7 +71,40 @@ export default async function Reports({ params }: { params: { id: string } }) {
-
+
+
+
+
+
+
+
+
+
+
+ Custom Reason
+
+ Presets
+ Invalid
+ False or Spam
+ Duplicate
+ Not Enough Evidence
+ Request Clarification
+ Acknowledge Only
+ Ignore
+
+
+
+
+
+
+
{snapshots.map((snapshot, index) => (
@@ -78,9 +117,19 @@ export default async function Reports({ params }: { params: { id: string } }) {
{snapshot._type === "Message" && (
)}
+ {snapshot._type === "User" && (
+
+
+
+ )}
+ {snapshot._type === "Server" && (
+
+
+
+ )}
{relatedReports[index].length ? (
-
+
Other Reports
{relatedReports[index].map((relatedReport) => (
@@ -90,6 +139,9 @@ export default async function Reports({ params }: { params: { id: string } }) {
))}
+
+
+
);
}
diff --git a/app/panel/reports/page.tsx b/app/panel/reports/page.tsx
index f0d1f53..2a44b83 100644
--- a/app/panel/reports/page.tsx
+++ b/app/panel/reports/page.tsx
@@ -3,9 +3,9 @@ import { Input } from "@/components/ui/input";
import { fetchReports } from "@/lib/db";
export default async function Reports() {
- const reports = (await fetchReports()).sort((b, _) =>
- b.content.report_reason.includes("Illegal") ? -1 : 0
- );
+ const reports = (await fetchReports())
+ .reverse()
+ .sort((b, _) => (b.content.report_reason.includes("Illegal") ? -1 : 0));
return (