diff --git a/app/(platform)/settings/account/page.tsx b/app/(platform)/settings/account/page.tsx index 25cd979..47aa23b 100644 --- a/app/(platform)/settings/account/page.tsx +++ b/app/(platform)/settings/account/page.tsx @@ -1,10 +1,10 @@ "use client"; +import { useQueryClient } from "@tanstack/react-query"; +import { formatDistanceToNow } from "date-fns"; +import { useRouter } from "next/navigation"; import type { ReactNode } from "react"; import { useState } from "react"; -import { useRouter } from "next/navigation"; -import { formatDistanceToNow } from "date-fns"; -import { useQueryClient } from "@tanstack/react-query"; import { toast } from "sonner"; import { diff --git a/app/(reader)/problems/[slug]/not-found.tsx b/app/(reader)/problems/[slug]/not-found.tsx index 32d3f1c..ea3b5f4 100644 --- a/app/(reader)/problems/[slug]/not-found.tsx +++ b/app/(reader)/problems/[slug]/not-found.tsx @@ -1,5 +1,5 @@ -import { CommandPalette } from "@/components/marketing/command-palette"; import { ArrowRight } from "@/components/icons"; +import { CommandPalette } from "@/components/marketing/command-palette"; import { Button } from "@/components/ui/button"; import { problemsConfig } from "@/config/problems"; import Link from "next/link"; diff --git a/components/problems/problem-library.tsx b/components/problems/problem-library.tsx index 163d9ca..99060ca 100644 --- a/components/problems/problem-library.tsx +++ b/components/problems/problem-library.tsx @@ -6,22 +6,22 @@ import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { - Drawer, - DrawerClose, - DrawerContent, - DrawerFooter, - DrawerHeader, - DrawerTitle, - DrawerTrigger, + Drawer, + DrawerClose, + DrawerContent, + DrawerFooter, + DrawerHeader, + DrawerTitle, + DrawerTrigger, } from "@/components/ui/drawer"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, } from "@/components/ui/select"; import { Separator } from "@/components/ui/separator"; import { Skeleton } from "@/components/ui/skeleton"; @@ -31,33 +31,33 @@ import { trackAnalyticsEvent } from "@/lib/analytics/client"; import { publicContentQueryOptions } from "@/lib/react-query/policies"; import { trpc } from "@/lib/trpc/client"; import type { - ProblemFiltersInput, - ProblemListItem, - ProblemListResponse, + ProblemFiltersInput, + ProblemListItem, + ProblemListResponse, } from "@/lib/trpc/router/problems"; import { cn } from "@/lib/utils"; import { stableHash } from "@/lib/utils/stable-hash"; import { useWindowVirtualizer } from "@tanstack/react-virtual"; import { formatDistanceToNow } from "date-fns"; import { - ArrowRight01Icon, - Cancel01Icon, - Clock01Icon, - FilterIcon, - Search01Icon, - SlidersHorizontalIcon, + ArrowRight01Icon, + Cancel01Icon, + Clock01Icon, + FilterIcon, + Search01Icon, + SlidersHorizontalIcon, } from "hugeicons-react"; import Link from "next/link"; import { useRouter } from "next/navigation"; import type { KeyboardEvent } from "react"; import { - forwardRef, - startTransition, - useCallback, - useEffect, - useMemo, - useRef, - useState, + forwardRef, + startTransition, + useCallback, + useEffect, + useMemo, + useRef, + useState, } from "react"; const SORT_LABELS: Record = { diff --git a/components/problems/problem-workspace.tsx b/components/problems/problem-workspace.tsx index 72b54b4..0ccd8ba 100644 --- a/components/problems/problem-workspace.tsx +++ b/components/problems/problem-workspace.tsx @@ -7,28 +7,28 @@ import { SubmissionStatusBadge } from "@/components/submissions/status-badge"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { - Drawer, - DrawerContent, - DrawerDescription, - DrawerHeader, - DrawerTitle, + Drawer, + DrawerContent, + DrawerDescription, + DrawerHeader, + DrawerTitle, } from "@/components/ui/drawer"; import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuLabel, - DropdownMenuSeparator, - DropdownMenuTrigger, + DropdownMenu, + DropdownMenuContent, + DropdownMenuLabel, + DropdownMenuSeparator, + DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { Input } from "@/components/ui/input"; import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from "@/components/ui/resizable"; import { ScrollArea } from "@/components/ui/scroll-area"; import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, } from "@/components/ui/select"; import { Spinner } from "@/components/ui/spinner"; import { Switch } from "@/components/ui/switch"; @@ -43,15 +43,15 @@ import type { ContestProblemAntiCheatContext } from "@/lib/contests/anti-cheat/t import { getDefaultCodeStub } from "@/lib/problems/editor-presets"; import { invalidateTags } from "@/lib/react-query/invalidation"; import { - sessionQueryOptions, - submissionDraftQueryOptions, - submissionHistoryQueryOptions, + sessionQueryOptions, + submissionDraftQueryOptions, + submissionHistoryQueryOptions, } from "@/lib/react-query/policies"; import { simulateSampleRun } from "@/lib/submissions/simulator"; import type { - SampleRunResult, - SubmissionDetailPayload, - SubmissionHistoryEntry, + SampleRunResult, + SubmissionDetailPayload, + SubmissionHistoryEntry, } from "@/lib/submissions/types"; import { trpc } from "@/lib/trpc/client"; import { ProblemDetailPayload } from "@/lib/trpc/router/problems"; @@ -60,17 +60,17 @@ import { useQueryClient } from "@tanstack/react-query"; import { format } from "date-fns"; import { motion } from "framer-motion"; import { - Alert01Icon, - BookOpen01Icon, - CircleArrowReload01Icon, - Copy01Icon, - Legal01Icon, - PlayIcon, - SaveEnergy01Icon, - SentIcon, - Settings02Icon, - TimeScheduleIcon, - Train01Icon, + Alert01Icon, + BookOpen01Icon, + CircleArrowReload01Icon, + Copy01Icon, + Legal01Icon, + PlayIcon, + SaveEnergy01Icon, + SentIcon, + Settings02Icon, + TimeScheduleIcon, + Train01Icon, } from "hugeicons-react"; import { useTheme } from "next-themes"; import Link from "next/link"; diff --git a/components/staff/problems/problem-editor-shell.tsx b/components/staff/problems/problem-editor-shell.tsx index ed623fb..4e6f2fe 100644 --- a/components/staff/problems/problem-editor-shell.tsx +++ b/components/staff/problems/problem-editor-shell.tsx @@ -3,18 +3,18 @@ import { CodeEditor } from "@/components/code/code-editor"; import { RichTextEditor } from "@/components/editor/rich-text-editor"; import { - Eye, - FileText, - Info, - Loader2, - Plus, - RotateCcw, - Save, - Send, - ShieldAlert, - ShieldCheck, - Trash2, - UserPlus, + Eye, + FileText, + Info, + Loader2, + Plus, + RotateCcw, + Save, + Send, + ShieldAlert, + ShieldCheck, + Trash2, + UserPlus, } from "@/components/icons"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { Badge } from "@/components/ui/badge"; @@ -22,32 +22,32 @@ import { Button } from "@/components/ui/button"; import { Card, CardContent, CardFooter, CardHeader, CardTitle } from "@/components/ui/card"; import { ConfirmDialog } from "@/components/ui/confirm-dialog"; import { - Dialog, - DialogContent, - DialogDescription, - DialogFooter, - DialogHeader, - DialogTitle, + Dialog, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, } from "@/components/ui/dialog"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"; import { ScrollArea } from "@/components/ui/scroll-area"; import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, } from "@/components/ui/select"; import { Switch } from "@/components/ui/switch"; import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, + Table, + TableBody, + TableCell, + TableHead, + TableHeader, + TableRow, } from "@/components/ui/table"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { Textarea } from "@/components/ui/textarea"; diff --git a/config/discussions.ts b/config/discussions.ts index b80cc7d..1ed6f6a 100644 --- a/config/discussions.ts +++ b/config/discussions.ts @@ -73,3 +73,4 @@ export const discussionsConfig = { }; export type DiscussionsConfig = typeof discussionsConfig; + diff --git a/config/leaderboards.ts b/config/leaderboards.ts index 68dab62..f0c6056 100644 --- a/config/leaderboards.ts +++ b/config/leaderboards.ts @@ -78,3 +78,4 @@ export const leaderboardsConfig = { }; export type LeaderboardsConfig = typeof leaderboardsConfig; + diff --git a/package-lock.json b/package-lock.json index cc6b720..d3c6f3e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -78,7 +78,7 @@ "lru-cache": "^11.2.2", "marked": "^17.0.0", "nanoid": "^5.0.0", - "next": "16.0.1", + "next": "^16.0.7", "next-themes": "^0.4.6", "nodemailer": "^6.9.8", "nuqs": "^2.7.2", @@ -2281,9 +2281,9 @@ } }, "node_modules/@next/env": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@next/env/-/env-16.0.1.tgz", - "integrity": "sha512-LFvlK0TG2L3fEOX77OC35KowL8D7DlFF45C0OvKMC4hy8c/md1RC4UMNDlUGJqfCoCS2VWrZ4dSE6OjaX5+8mw==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.0.7.tgz", + "integrity": "sha512-gpaNgUh5nftFKRkRQGnVi5dpcYSKGcZZkQffZ172OrG/XkrnS7UBTQ648YY+8ME92cC4IojpI2LqTC8sTDhAaw==", "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { @@ -2297,9 +2297,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.0.1.tgz", - "integrity": "sha512-R0YxRp6/4W7yG1nKbfu41bp3d96a0EalonQXiMe+1H9GTHfKxGNCGFNWUho18avRBPsO8T3RmdWuzmfurlQPbg==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.0.7.tgz", + "integrity": "sha512-LlDtCYOEj/rfSnEn/Idi+j1QKHxY9BJFmxx7108A6D8K0SB+bNgfYQATPk/4LqOl4C0Wo3LACg2ie6s7xqMpJg==", "cpu": [ "arm64" ], @@ -2313,9 +2313,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.0.1.tgz", - "integrity": "sha512-kETZBocRux3xITiZtOtVoVvXyQLB7VBxN7L6EPqgI5paZiUlnsgYv4q8diTNYeHmF9EiehydOBo20lTttCbHAg==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.0.7.tgz", + "integrity": "sha512-rtZ7BhnVvO1ICf3QzfW9H3aPz7GhBrnSIMZyr4Qy6boXF0b5E3QLs+cvJmg3PsTCG2M1PBoC+DANUi4wCOKXpA==", "cpu": [ "x64" ], @@ -2329,9 +2329,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.0.1.tgz", - "integrity": "sha512-hWg3BtsxQuSKhfe0LunJoqxjO4NEpBmKkE+P2Sroos7yB//OOX3jD5ISP2wv8QdUwtRehMdwYz6VB50mY6hqAg==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.0.7.tgz", + "integrity": "sha512-mloD5WcPIeIeeZqAIP5c2kdaTa6StwP4/2EGy1mUw8HiexSHGK/jcM7lFuS3u3i2zn+xH9+wXJs6njO7VrAqww==", "cpu": [ "arm64" ], @@ -2345,9 +2345,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.0.1.tgz", - "integrity": "sha512-UPnOvYg+fjAhP3b1iQStcYPWeBFRLrugEyK/lDKGk7kLNua8t5/DvDbAEFotfV1YfcOY6bru76qN9qnjLoyHCQ==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.0.7.tgz", + "integrity": "sha512-+ksWNrZrthisXuo9gd1XnjHRowCbMtl/YgMpbRvFeDEqEBd523YHPWpBuDjomod88U8Xliw5DHhekBC3EOOd9g==", "cpu": [ "arm64" ], @@ -2361,9 +2361,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.0.1.tgz", - "integrity": "sha512-Et81SdWkcRqAJziIgFtsFyJizHoWne4fzJkvjd6V4wEkWTB4MX6J0uByUb0peiJQ4WeAt6GGmMszE5KrXK6WKg==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.0.7.tgz", + "integrity": "sha512-4WtJU5cRDxpEE44Ana2Xro1284hnyVpBb62lIpU5k85D8xXxatT+rXxBgPkc7C1XwkZMWpK5rXLXTh9PFipWsA==", "cpu": [ "x64" ], @@ -2377,9 +2377,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.0.1.tgz", - "integrity": "sha512-qBbgYEBRrC1egcG03FZaVfVxrJm8wBl7vr8UFKplnxNRprctdP26xEv9nJ07Ggq4y1adwa0nz2mz83CELY7N6Q==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.0.7.tgz", + "integrity": "sha512-HYlhqIP6kBPXalW2dbMTSuB4+8fe+j9juyxwfMwCe9kQPPeiyFn7NMjNfoFOfJ2eXkeQsoUGXg+O2SE3m4Qg2w==", "cpu": [ "x64" ], @@ -2393,9 +2393,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.0.1.tgz", - "integrity": "sha512-cPuBjYP6I699/RdbHJonb3BiRNEDm5CKEBuJ6SD8k3oLam2fDRMKAvmrli4QMDgT2ixyRJ0+DTkiODbIQhRkeQ==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.0.7.tgz", + "integrity": "sha512-EviG+43iOoBRZg9deGauXExjRphhuYmIOJ12b9sAPy0eQ6iwcPxfED2asb/s2/yiLYOdm37kPaiZu8uXSYPs0Q==", "cpu": [ "arm64" ], @@ -2409,9 +2409,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.0.1.tgz", - "integrity": "sha512-XeEUJsE4JYtfrXe/LaJn3z1pD19fK0Q6Er8Qoufi+HqvdO4LEPyCxLUt4rxA+4RfYo6S9gMlmzCMU2F+AatFqQ==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.0.7.tgz", + "integrity": "sha512-gniPjy55zp5Eg0896qSrf3yB1dw4F/3s8VK1ephdsZZ129j2n6e1WqCbE2YgcKhW9hPB9TVZENugquWJD5x0ug==", "cpu": [ "x64" ], @@ -15360,12 +15360,12 @@ "license": "MIT" }, "node_modules/next": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/next/-/next-16.0.1.tgz", - "integrity": "sha512-e9RLSssZwd35p7/vOa+hoDFggUZIUbZhIUSLZuETCwrCVvxOs87NamoUzT+vbcNAL8Ld9GobBnWOA6SbV/arOw==", + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/next/-/next-16.0.7.tgz", + "integrity": "sha512-3mBRJyPxT4LOxAJI6IsXeFtKfiJUbjCLgvXO02fV8Wy/lIhPvP94Fe7dGhUgHXcQy4sSuYwQNcOLhIfOm0rL0A==", "license": "MIT", "dependencies": { - "@next/env": "16.0.1", + "@next/env": "16.0.7", "@swc/helpers": "0.5.15", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", @@ -15378,14 +15378,14 @@ "node": ">=20.9.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "16.0.1", - "@next/swc-darwin-x64": "16.0.1", - "@next/swc-linux-arm64-gnu": "16.0.1", - "@next/swc-linux-arm64-musl": "16.0.1", - "@next/swc-linux-x64-gnu": "16.0.1", - "@next/swc-linux-x64-musl": "16.0.1", - "@next/swc-win32-arm64-msvc": "16.0.1", - "@next/swc-win32-x64-msvc": "16.0.1", + "@next/swc-darwin-arm64": "16.0.7", + "@next/swc-darwin-x64": "16.0.7", + "@next/swc-linux-arm64-gnu": "16.0.7", + "@next/swc-linux-arm64-musl": "16.0.7", + "@next/swc-linux-x64-gnu": "16.0.7", + "@next/swc-linux-x64-musl": "16.0.7", + "@next/swc-win32-arm64-msvc": "16.0.7", + "@next/swc-win32-x64-msvc": "16.0.7", "sharp": "^0.34.4" }, "peerDependencies": { diff --git a/package.json b/package.json index 2ea43ec..19d7743 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "lru-cache": "^11.2.2", "marked": "^17.0.0", "nanoid": "^5.0.0", - "next": "16.0.1", + "next": "^16.0.7", "next-themes": "^0.4.6", "nodemailer": "^6.9.8", "nuqs": "^2.7.2",