diff --git a/client/web/package-lock.json b/client/web/package-lock.json index 7751ee3d..8d9cd7c1 100644 --- a/client/web/package-lock.json +++ b/client/web/package-lock.json @@ -46,12 +46,12 @@ "lucide-react": "^0.562.0", "next-themes": "^0.4.6", "qrcode.react": "^4.2.0", - "react": "^19.2.0", + "react": "^19.2.7", "react-day-picker": "^9.13.0", - "react-dom": "^19.2.0", + "react-dom": "^19.2.7", "react-hook-form": "^7.71.1", "react-resizable-panels": "^4.4.1", - "react-router-dom": "^7.12.0", + "react-router": "^8.3.0", "recharts": "^2.15.4", "sonner": "^2.0.7", "supertokens-auth-react": "^0.51.1", @@ -5682,18 +5682,11 @@ "dev": true, "license": "MIT" }, - "node_modules/cookie": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", - "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } + "node_modules/cookie-es": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-3.1.1.tgz", + "integrity": "sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==", + "license": "MIT" }, "node_modules/core-js-compat": { "version": "3.49.0", @@ -8271,9 +8264,9 @@ "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.12", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", - "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "version": "3.3.16", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", + "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", "funding": [ { "type": "github", @@ -8544,9 +8537,9 @@ } }, "node_modules/postcss": { - "version": "8.5.15", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", - "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "version": "8.5.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.23.tgz", + "integrity": "sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==", "funding": [ { "type": "opencollective", @@ -8563,7 +8556,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.12", + "nanoid": "^3.3.16", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -8653,9 +8646,9 @@ } }, "node_modules/react": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", - "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "version": "19.2.8", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.8.tgz", + "integrity": "sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==", "license": "MIT", "peer": true, "engines": { @@ -8684,16 +8677,16 @@ } }, "node_modules/react-dom": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", - "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "version": "19.2.8", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.8.tgz", + "integrity": "sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==", "license": "MIT", "peer": true, "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.4" + "react": "^19.2.8" } }, "node_modules/react-hook-form": { @@ -8800,20 +8793,19 @@ } }, "node_modules/react-router": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.17.0.tgz", - "integrity": "sha512-FDELK7rTMlCHO5+reyXsPlmfr7N1F91lPHsWYfMEGQm/KQ+F4JFM8jGoeQDmDvdTs93Fw9aSilH+uKRb4/jXvQ==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-8.3.0.tgz", + "integrity": "sha512-qyPMvW83jGIct3yiieisxdk9M745anqhpIMKN5m1t6yBMfgVPpt77aHOqs5fUlEJRMCGffg9BaQLH9oPVOL7xQ==", "license": "MIT", "dependencies": { - "cookie": "^1.0.1", - "set-cookie-parser": "^2.6.0" + "cookie-es": "^3.1.1" }, "engines": { - "node": ">=20.0.0" + "node": ">=22.22.0" }, "peerDependencies": { - "react": ">=18", - "react-dom": ">=18" + "react": ">=19.2.7", + "react-dom": ">=19.2.7" }, "peerDependenciesMeta": { "react-dom": { @@ -8821,22 +8813,6 @@ } } }, - "node_modules/react-router-dom": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.17.0.tgz", - "integrity": "sha512-fyU2yjGups/hE6Xz0I5ZYbVL8Gx29eCjgpHaRaTaVU+OOAdfRX05KsvyRm0GO8YQwOkhpU3MurW1jyMUJn+zSw==", - "license": "MIT", - "dependencies": { - "react-router": "7.17.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "react": ">=18", - "react-dom": ">=18" - } - }, "node_modules/react-smooth": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.4.tgz", @@ -9193,12 +9169,6 @@ "node": ">=20.0.0" } }, - "node_modules/set-cookie-parser": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", - "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", - "license": "MIT" - }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", diff --git a/client/web/package.json b/client/web/package.json index 1a8bac87..1c9c2256 100644 --- a/client/web/package.json +++ b/client/web/package.json @@ -50,12 +50,12 @@ "lucide-react": "^0.562.0", "next-themes": "^0.4.6", "qrcode.react": "^4.2.0", - "react": "^19.2.0", + "react": "^19.2.7", "react-day-picker": "^9.13.0", - "react-dom": "^19.2.0", + "react-dom": "^19.2.7", "react-hook-form": "^7.71.1", "react-resizable-panels": "^4.4.1", - "react-router-dom": "^7.12.0", + "react-router": "^8.3.0", "recharts": "^2.15.4", "sonner": "^2.0.7", "supertokens-auth-react": "^0.51.1", @@ -87,7 +87,7 @@ "vite-plugin-pwa": "^1.2.0" }, "overrides": { - "postcss": "^8.4.38", + "postcss": "^8.5.18", "semver": "^7.5.2", "minimatch": "^10.2.1" } diff --git a/client/web/src/components/AdminPortalButton.tsx b/client/web/src/components/AdminPortalButton.tsx index 084b12ce..4d324446 100644 --- a/client/web/src/components/AdminPortalButton.tsx +++ b/client/web/src/components/AdminPortalButton.tsx @@ -1,5 +1,5 @@ import { ShieldCheck } from "lucide-react"; -import { Link } from "react-router-dom"; +import { Link } from "react-router"; import { useIsMobile } from "@/shared/hooks"; import { useUserStore } from "@/shared/stores"; diff --git a/client/web/src/components/ErrorPage.tsx b/client/web/src/components/ErrorPage.tsx index 322cbd90..2094a40d 100644 --- a/client/web/src/components/ErrorPage.tsx +++ b/client/web/src/components/ErrorPage.tsx @@ -1,9 +1,5 @@ import { ArrowLeft, Home } from "lucide-react"; -import { - isRouteErrorResponse, - useNavigate, - useRouteError, -} from "react-router-dom"; +import { isRouteErrorResponse, useNavigate, useRouteError } from "react-router"; import { Button } from "@/components/ui/button"; diff --git a/client/web/src/layouts/AdminLayout.tsx b/client/web/src/layouts/AdminLayout.tsx index 61fa530e..47a7b9fc 100644 --- a/client/web/src/layouts/AdminLayout.tsx +++ b/client/web/src/layouts/AdminLayout.tsx @@ -1,5 +1,5 @@ import { ChevronLeft } from "lucide-react"; -import { Outlet, useNavigate } from "react-router-dom"; +import { Outlet, useNavigate } from "react-router"; import { SidebarInset, SidebarProvider } from "@/components/ui/sidebar"; import { AppSidebar } from "@/pages/admin/_shared"; diff --git a/client/web/src/layouts/HackerLayout.tsx b/client/web/src/layouts/HackerLayout.tsx index f7ee1bdb..7106215b 100644 --- a/client/web/src/layouts/HackerLayout.tsx +++ b/client/web/src/layouts/HackerLayout.tsx @@ -1,6 +1,6 @@ import type { LucideIcon } from "lucide-react"; import { Bell, CalendarDays, House, ScanLine, User } from "lucide-react"; -import { NavLink, Outlet, useLocation } from "react-router-dom"; +import { NavLink, Outlet, useLocation } from "react-router"; import { Sidebar, diff --git a/client/web/src/main.tsx b/client/web/src/main.tsx index face90db..29fa37c6 100644 --- a/client/web/src/main.tsx +++ b/client/web/src/main.tsx @@ -1,7 +1,7 @@ import "./index.css"; import ReactDOM from "react-dom/client"; -import { RouterProvider } from "react-router-dom"; +import { RouterProvider } from "react-router/dom"; import { initSuperTokens } from "@/shared/auth"; diff --git a/client/web/src/pages/admin/_shared/AppSidebar.tsx b/client/web/src/pages/admin/_shared/AppSidebar.tsx index ab870761..957947d1 100644 --- a/client/web/src/pages/admin/_shared/AppSidebar.tsx +++ b/client/web/src/pages/admin/_shared/AppSidebar.tsx @@ -14,7 +14,7 @@ import { Users, } from "lucide-react"; import * as React from "react"; -import { useLocation } from "react-router-dom"; +import { useLocation } from "react-router"; import { Separator } from "@/components/ui/separator"; import { diff --git a/client/web/src/pages/admin/_shared/NavSection.tsx b/client/web/src/pages/admin/_shared/NavSection.tsx index 9f3a0659..0c44a4ce 100644 --- a/client/web/src/pages/admin/_shared/NavSection.tsx +++ b/client/web/src/pages/admin/_shared/NavSection.tsx @@ -1,7 +1,7 @@ "use client"; import type { LucideIcon } from "lucide-react"; -import { Link } from "react-router-dom"; +import { Link } from "react-router"; import { SidebarGroup, diff --git a/client/web/src/pages/admin/_shared/NavUser.tsx b/client/web/src/pages/admin/_shared/NavUser.tsx index a48946fc..a4f9cbc5 100644 --- a/client/web/src/pages/admin/_shared/NavUser.tsx +++ b/client/web/src/pages/admin/_shared/NavUser.tsx @@ -1,7 +1,7 @@ "use client"; import { ChevronsUpDown, Eye, LogOut, ShieldCheck } from "lucide-react"; -import { useLocation, useNavigate } from "react-router-dom"; +import { useLocation, useNavigate } from "react-router"; import Session from "supertokens-auth-react/recipe/session"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; diff --git a/client/web/src/pages/admin/_shared/grading/GradingPageLayout.tsx b/client/web/src/pages/admin/_shared/grading/GradingPageLayout.tsx index 4caeeaa1..9a71d732 100644 --- a/client/web/src/pages/admin/_shared/grading/GradingPageLayout.tsx +++ b/client/web/src/pages/admin/_shared/grading/GradingPageLayout.tsx @@ -1,6 +1,6 @@ import { ArrowLeft, ChevronLeft, ChevronRight } from "lucide-react"; import type { ReactNode } from "react"; -import { useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router"; import { Button } from "@/components/ui/button"; import { Skeleton } from "@/components/ui/skeleton"; diff --git a/client/web/src/pages/admin/_shared/grading/useGradingKeyboardShortcuts.ts b/client/web/src/pages/admin/_shared/grading/useGradingKeyboardShortcuts.ts index b897f44a..d8918102 100644 --- a/client/web/src/pages/admin/_shared/grading/useGradingKeyboardShortcuts.ts +++ b/client/web/src/pages/admin/_shared/grading/useGradingKeyboardShortcuts.ts @@ -1,5 +1,5 @@ import { useEffect } from "react"; -import { useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router"; interface UseGradingKeyboardShortcutsOptions { disabled: boolean; diff --git a/client/web/src/pages/admin/reviews/ReviewsPage.tsx b/client/web/src/pages/admin/reviews/ReviewsPage.tsx index eaf8f16e..547b342e 100644 --- a/client/web/src/pages/admin/reviews/ReviewsPage.tsx +++ b/client/web/src/pages/admin/reviews/ReviewsPage.tsx @@ -1,6 +1,6 @@ import { ClipboardPen, X } from "lucide-react"; import { useCallback, useEffect, useRef, useState } from "react"; -import { useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router"; import { Button } from "@/components/ui/button"; import { diff --git a/client/web/src/pages/admin/reviews/grading/GradingPage.tsx b/client/web/src/pages/admin/reviews/grading/GradingPage.tsx index e76f24d2..4ab4c546 100644 --- a/client/web/src/pages/admin/reviews/grading/GradingPage.tsx +++ b/client/web/src/pages/admin/reviews/grading/GradingPage.tsx @@ -1,6 +1,6 @@ import { ArrowLeft } from "lucide-react"; import { useCallback, useEffect, useState } from "react"; -import { useNavigate, useSearchParams } from "react-router-dom"; +import { useNavigate, useSearchParams } from "react-router"; import { Button } from "@/components/ui/button"; import { diff --git a/client/web/src/pages/hacker/ApplyPage.tsx b/client/web/src/pages/hacker/ApplyPage.tsx index 47f5830c..9f87f14e 100644 --- a/client/web/src/pages/hacker/ApplyPage.tsx +++ b/client/web/src/pages/hacker/ApplyPage.tsx @@ -1,4 +1,4 @@ -import { useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router"; import { Button } from "@/components/ui/button"; import { ApplicationWizard } from "@/pages/hacker/apply/components/ApplicationWizard"; diff --git a/client/web/src/pages/hacker/DashboardPage.tsx b/client/web/src/pages/hacker/DashboardPage.tsx index 2df41556..557bfd18 100644 --- a/client/web/src/pages/hacker/DashboardPage.tsx +++ b/client/web/src/pages/hacker/DashboardPage.tsx @@ -1,4 +1,4 @@ -import { Link, useNavigate } from "react-router-dom"; +import { Link, useNavigate } from "react-router"; import { signOut } from "supertokens-auth-react/recipe/session"; import { Button } from "@/components/ui/button"; diff --git a/client/web/src/pages/hacker/StatusPage.tsx b/client/web/src/pages/hacker/StatusPage.tsx index 6246685e..f39dfb52 100644 --- a/client/web/src/pages/hacker/StatusPage.tsx +++ b/client/web/src/pages/hacker/StatusPage.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from "react"; -import { useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; diff --git a/client/web/src/pages/hacker/apply/components/ApplicationWizard.tsx b/client/web/src/pages/hacker/apply/components/ApplicationWizard.tsx index 5ddb48c0..00249f2e 100644 --- a/client/web/src/pages/hacker/apply/components/ApplicationWizard.tsx +++ b/client/web/src/pages/hacker/apply/components/ApplicationWizard.tsx @@ -2,7 +2,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { AlertCircle } from "lucide-react"; import { useCallback, useEffect, useMemo, useRef, useState } from "react"; import { FormProvider, useForm } from "react-hook-form"; -import { useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { Input } from "@/components/ui/input"; diff --git a/client/web/src/pages/hacker/dashboard/DashboardPage.tsx b/client/web/src/pages/hacker/dashboard/DashboardPage.tsx index a4fa92c6..ce2c4faa 100644 --- a/client/web/src/pages/hacker/dashboard/DashboardPage.tsx +++ b/client/web/src/pages/hacker/dashboard/DashboardPage.tsx @@ -1,7 +1,7 @@ import type { LucideIcon } from "lucide-react"; import { BookOpen, ChevronRight, Mail, MessageSquare } from "lucide-react"; import { useEffect, useState } from "react"; -import { Link } from "react-router-dom"; +import { Link } from "react-router"; import { getRequest } from "@/shared/lib/api"; import type { diff --git a/client/web/src/pages/hacker/faq/FAQPage.tsx b/client/web/src/pages/hacker/faq/FAQPage.tsx index c058227c..d5d99841 100644 --- a/client/web/src/pages/hacker/faq/FAQPage.tsx +++ b/client/web/src/pages/hacker/faq/FAQPage.tsx @@ -1,6 +1,6 @@ import { ChevronLeft } from "lucide-react"; import { useEffect, useState } from "react"; -import { useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router"; import { Accordion, diff --git a/client/web/src/pages/hacker/hacker-pack/HackerPackPage.tsx b/client/web/src/pages/hacker/hacker-pack/HackerPackPage.tsx index 87983352..5c8c2373 100644 --- a/client/web/src/pages/hacker/hacker-pack/HackerPackPage.tsx +++ b/client/web/src/pages/hacker/hacker-pack/HackerPackPage.tsx @@ -1,6 +1,6 @@ import { ChevronLeft, ExternalLink } from "lucide-react"; import { useEffect, useState } from "react"; -import { useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router"; import { Skeleton } from "@/components/ui/skeleton"; diff --git a/client/web/src/pages/hacker/profile/ProfilePage.tsx b/client/web/src/pages/hacker/profile/ProfilePage.tsx index ed35006e..a7f0a319 100644 --- a/client/web/src/pages/hacker/profile/ProfilePage.tsx +++ b/client/web/src/pages/hacker/profile/ProfilePage.tsx @@ -8,7 +8,7 @@ import { Upload, } from "lucide-react"; import { type ChangeEvent, useEffect, useRef, useState } from "react"; -import { useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router"; import { toast } from "sonner"; import { signOut } from "supertokens-auth-react/recipe/session"; diff --git a/client/web/src/pages/hacker/status/StatusPage.tsx b/client/web/src/pages/hacker/status/StatusPage.tsx index 3dbf5b29..2f1df640 100644 --- a/client/web/src/pages/hacker/status/StatusPage.tsx +++ b/client/web/src/pages/hacker/status/StatusPage.tsx @@ -1,7 +1,7 @@ import { format, parseISO } from "date-fns"; import { ChevronLeft, ChevronRight, Eye } from "lucide-react"; import { useEffect, useState } from "react"; -import { useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router"; import { Button } from "@/components/ui/button"; import { Skeleton } from "@/components/ui/skeleton"; diff --git a/client/web/src/pages/public/AuthCallbackPage.tsx b/client/web/src/pages/public/AuthCallbackPage.tsx index 5fd97ad0..b3dae4af 100644 --- a/client/web/src/pages/public/AuthCallbackPage.tsx +++ b/client/web/src/pages/public/AuthCallbackPage.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from "react"; -import { useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router"; import Session, { signOut } from "supertokens-auth-react/recipe/session"; import { redirectToThirdPartyLogin } from "supertokens-auth-react/recipe/thirdparty"; diff --git a/client/web/src/pages/public/AuthOAuthCallbackPage.tsx b/client/web/src/pages/public/AuthOAuthCallbackPage.tsx index f2a40525..0f6a0ae4 100644 --- a/client/web/src/pages/public/AuthOAuthCallbackPage.tsx +++ b/client/web/src/pages/public/AuthOAuthCallbackPage.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from "react"; -import { useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router"; import { signInAndUp } from "supertokens-auth-react/recipe/thirdparty"; import { Alert, AlertDescription } from "@/components/ui/alert"; diff --git a/client/web/src/pages/public/AuthVerifyPage.tsx b/client/web/src/pages/public/AuthVerifyPage.tsx index 4685014e..65365560 100644 --- a/client/web/src/pages/public/AuthVerifyPage.tsx +++ b/client/web/src/pages/public/AuthVerifyPage.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from "react"; -import { useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router"; import { consumeCode } from "supertokens-auth-react/recipe/passwordless"; import { Button } from "@/components/ui/button"; diff --git a/client/web/src/pages/public/LoginPage.tsx b/client/web/src/pages/public/LoginPage.tsx index 7bbd8caf..6c5f4cd4 100644 --- a/client/web/src/pages/public/LoginPage.tsx +++ b/client/web/src/pages/public/LoginPage.tsx @@ -1,5 +1,5 @@ import { useState } from "react"; -import { Navigate } from "react-router-dom"; +import { Navigate } from "react-router"; import { createCode } from "supertokens-auth-react/recipe/passwordless"; import { useSessionContext } from "supertokens-auth-react/recipe/session"; import { redirectToThirdPartyLogin } from "supertokens-auth-react/recipe/thirdparty"; diff --git a/client/web/src/pages/superadmin/reviews/ReviewsPage.tsx b/client/web/src/pages/superadmin/reviews/ReviewsPage.tsx index a86be17d..6e2960dd 100644 --- a/client/web/src/pages/superadmin/reviews/ReviewsPage.tsx +++ b/client/web/src/pages/superadmin/reviews/ReviewsPage.tsx @@ -12,7 +12,7 @@ import { TriangleAlert, } from "lucide-react"; import { useCallback, useEffect, useRef, useState } from "react"; -import { useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router"; import { toast } from "sonner"; import { diff --git a/client/web/src/pages/superadmin/reviews/grading/GradingPage.tsx b/client/web/src/pages/superadmin/reviews/grading/GradingPage.tsx index d02310f6..187d4960 100644 --- a/client/web/src/pages/superadmin/reviews/grading/GradingPage.tsx +++ b/client/web/src/pages/superadmin/reviews/grading/GradingPage.tsx @@ -1,6 +1,6 @@ import { ArrowLeft } from "lucide-react"; import { useCallback, useEffect } from "react"; -import { useNavigate, useSearchParams } from "react-router-dom"; +import { useNavigate, useSearchParams } from "react-router"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; diff --git a/client/web/src/routes.tsx b/client/web/src/routes.tsx index e1e523f0..34ccaf7e 100644 --- a/client/web/src/routes.tsx +++ b/client/web/src/routes.tsx @@ -1,5 +1,5 @@ import { lazy, Suspense } from "react"; -import { createBrowserRouter, Navigate, Outlet } from "react-router-dom"; +import { createBrowserRouter, Navigate, Outlet } from "react-router"; import { ErrorPage } from "@/components/ErrorPage"; import { PageLoader } from "@/components/PageLoader"; diff --git a/client/web/src/shared/auth/guards/RequireAdmin.tsx b/client/web/src/shared/auth/guards/RequireAdmin.tsx index 57956f1d..c032e5df 100644 --- a/client/web/src/shared/auth/guards/RequireAdmin.tsx +++ b/client/web/src/shared/auth/guards/RequireAdmin.tsx @@ -1,5 +1,5 @@ import { useEffect, useRef } from "react"; -import { Navigate } from "react-router-dom"; +import { Navigate } from "react-router"; import { useSessionContext } from "supertokens-auth-react/recipe/session"; import { Skeleton } from "@/components/ui/skeleton"; diff --git a/client/web/src/shared/auth/guards/RequireAuth.tsx b/client/web/src/shared/auth/guards/RequireAuth.tsx index 3dc80b23..d3e0265a 100644 --- a/client/web/src/shared/auth/guards/RequireAuth.tsx +++ b/client/web/src/shared/auth/guards/RequireAuth.tsx @@ -1,5 +1,5 @@ import { useEffect, useRef } from "react"; -import { Navigate } from "react-router-dom"; +import { Navigate } from "react-router"; import { useSessionContext } from "supertokens-auth-react/recipe/session"; import { Skeleton } from "@/components/ui/skeleton"; diff --git a/client/web/src/shared/auth/guards/RequireSuperAdmin.tsx b/client/web/src/shared/auth/guards/RequireSuperAdmin.tsx index c767407e..eba72511 100644 --- a/client/web/src/shared/auth/guards/RequireSuperAdmin.tsx +++ b/client/web/src/shared/auth/guards/RequireSuperAdmin.tsx @@ -1,5 +1,5 @@ import { useEffect, useRef } from "react"; -import { Navigate } from "react-router-dom"; +import { Navigate } from "react-router"; import { useSessionContext } from "supertokens-auth-react/recipe/session"; import { Skeleton } from "@/components/ui/skeleton";