diff --git a/src/app/(student)/layout.tsx b/src/app/(student)/layout.tsx index 058a13e..4860840 100644 --- a/src/app/(student)/layout.tsx +++ b/src/app/(student)/layout.tsx @@ -4,6 +4,7 @@ import { redirect } from "next/navigation"; import Link from "next/link"; import { LogoutButton } from "@/components/layout/logout-button"; import { getSetting } from "@/lib/settings"; +import { StopImpersonateBanner } from "@/components/admin/stop-impersonate-banner"; export default async function StudentLayout({ children }: { children: React.ReactNode }) { const session = await auth.api.getSession({ headers: await headers() }); @@ -15,8 +16,11 @@ export default async function StudentLayout({ children }: { children: React.Reac if (maintenance === "true") redirect("/maintenance"); } + const isImpersonating = !!(session.session as { impersonatedBy?: string }).impersonatedBy; + return (
+ {isImpersonating && }
+ + Вы просматриваете платформу как {userName} + + +
+ ); +} diff --git a/src/components/admin/users-table.tsx b/src/components/admin/users-table.tsx index 01ff35c..3fdd221 100644 --- a/src/components/admin/users-table.tsx +++ b/src/components/admin/users-table.tsx @@ -100,9 +100,8 @@ function ImpersonateButton({ userId }: { userId: string }) { setLoading(true); try { await authClient.admin.impersonateUser({ userId }); - router.push("/dashboard"); - router.refresh(); - } finally { + window.location.href = "/dashboard"; + } catch { setLoading(false); } }