feat: conditionally display data management features in settings dialog based on user context

This commit is contained in:
2025-12-23 10:48:49 +01:00
parent b6d4f49fd9
commit 3a19995008
4 changed files with 70 additions and 66 deletions

View File

@@ -22,7 +22,7 @@ type LoginFormValues = z.infer<typeof loginSchema>;
export default function LoginPage() {
const { mutate: login, isPending } = useLogin();
const form = useForm<LoginFormValues>({
resolver: zodResolver(loginSchema),
defaultValues: {
@@ -48,9 +48,9 @@ export default function LoginPage() {
return (
<div className="flex min-h-screen items-center justify-center bg-gray-50 dark:bg-gray-950 p-4 relative">
<div className="absolute top-4 right-4">
<Button variant="ghost" size="icon" onClick={() => setSettingsOpen(true)}>
<Settings className="h-5 w-5" />
</Button>
<Button variant="ghost" size="icon" onClick={() => setSettingsOpen(true)}>
<Settings className="h-5 w-5" />
</Button>
</div>
<Card className="w-full max-w-md">
<CardHeader>
@@ -103,7 +103,7 @@ export default function LoginPage() {
</p>
</CardFooter>
</Card>
<SettingsDialog open={settingsOpen} onOpenChange={setSettingsOpen} />
<SettingsDialog open={settingsOpen} onOpenChange={setSettingsOpen} dataManagementEnabled={false} />
</div>
);
}

View File

@@ -26,7 +26,7 @@ type RegisterFormValues = z.infer<typeof registerSchema>;
export default function RegisterPage() {
const { mutate: register, isPending } = useRegister();
const form = useForm<RegisterFormValues>({
resolver: zodResolver(registerSchema),
defaultValues: {
@@ -43,9 +43,9 @@ export default function RegisterPage() {
}, {
onError: (error: any) => {
if (error instanceof ApiError) {
toast.error(error.message);
toast.error(error.message);
} else {
toast.error("Failed to register");
toast.error("Failed to register");
}
},
});
@@ -55,10 +55,10 @@ export default function RegisterPage() {
return (
<div className="flex min-h-screen items-center justify-center bg-gray-50 dark:bg-gray-950 p-4 relative">
<div className="absolute top-4 right-4">
<Button variant="ghost" size="icon" onClick={() => setSettingsOpen(true)}>
<Settings className="h-5 w-5" />
</Button>
<div className="absolute top-4 right-4">
<Button variant="ghost" size="icon" onClick={() => setSettingsOpen(true)}>
<Settings className="h-5 w-5" />
</Button>
</div>
<Card className="w-full max-w-md">
<CardHeader>
@@ -96,7 +96,7 @@ export default function RegisterPage() {
</FormItem>
)}
/>
<FormField
<FormField
control={form.control}
name="confirmPassword"
render={({ field }) => (
@@ -124,7 +124,7 @@ export default function RegisterPage() {
</p>
</CardFooter>
</Card>
<SettingsDialog open={settingsOpen} onOpenChange={setSettingsOpen} />
<SettingsDialog open={settingsOpen} onOpenChange={setSettingsOpen} dataManagementEnabled={false} />
</div>
);
}