summaryrefslogtreecommitdiff
path: root/src/app/settings
diff options
context:
space:
mode:
authorl3wdfut4pwr <l3wdfut4pwr@gmail.com>2026-04-09 15:48:36 +0300
committerl3wdfut4pwr <l3wdfut4pwr@gmail.com>2026-04-09 15:48:36 +0300
commit77ae39e8347ff2418d66424950e8b226900c6b62 (patch)
treecb472ac7b59ce1889c5bd554a5ff3a7e36debb1e /src/app/settings
parentd3bceed42caca6ac8c39ebe0c929f7d3c13d2bfa (diff)
add settings auth redirect
Diffstat (limited to 'src/app/settings')
-rw-r--r--src/app/settings/page.tsx29
1 files changed, 26 insertions, 3 deletions
diff --git a/src/app/settings/page.tsx b/src/app/settings/page.tsx
index 45caa18..c44b787 100644
--- a/src/app/settings/page.tsx
+++ b/src/app/settings/page.tsx
@@ -1,17 +1,40 @@
'use client';
-import { useState } from 'react';
+import { useState, useEffect } from 'react';
+import { useUser } from '@/lib/contexts/Auth.context';
import SettingsMenu from '@/components/settings/SettingsMenu';
import SecurityPage from '@/components/settings/SecurityPage';
import ProfilePage from '@/components/settings/ProfilePage';
+import { Dialog, DialogTrigger, DialogContent } from '@/components/ui/dialog';
+import { AuthDialog } from '@/components/header/AuthDialog';
export default function Settings() {
+ const user = useUser();
const [tab, setTab] = useState('profile');
+ const [showAuth, setShowAuth] = useState(false);
+
+ useEffect(() => {
+ if (user === null) {
+ setShowAuth(true);
+ }
+ }, [user]);
+
+ if (!user) {
+ return (
+ <Dialog open={showAuth} onOpenChange={setShowAuth}>
+ <DialogTrigger asChild>
+ <div />
+ </DialogTrigger>
+ <DialogContent className="p-0 bg-transparent border-none">
+ <AuthDialog redirectTo="/settings" />
+ </DialogContent>
+ </Dialog>
+ );
+ }
return (
- <div className="flex flex-row gap-[250px] w-full max-w-[1500px] ">
+ <div className="flex flex-row gap-[250px] w-full max-w-[1500px]">
<SettingsMenu tab={tab} setTab={setTab} />
-
<div className="flex-1">
{tab === 'profile' && <ProfilePage />}
{tab === 'security' && <SecurityPage />}