'use client'; import { Badge } from '@workspace/ui/components/badge'; import { Button } from '@workspace/ui/components/button'; import { Card, CardContent, CardHeader, CardTitle } from '@workspace/ui/components/card'; import { EnhancedInput } from '@workspace/ui/custom-components/enhanced-input'; import { useState } from 'react'; export function AuthMethodsForm({ user }: { user: API.User }) { const [emailChanges, setEmailChanges] = useState>({}); const handleRemoveAuth = async (authType: string) => {}; const handleUpdateEmail = async (authType: string) => {}; const handleCreateEmail = async (email: string) => {}; const handleEmailChange = (authType: string, value: string) => { setEmailChanges((prev) => ({ ...prev, [authType]: value, })); }; const emailMethod = user.auth_methods.find((method) => method.auth_type === 'email'); const otherMethods = user.auth_methods.filter((method) => method.auth_type !== 'email'); const defaultEmailMethod = { auth_type: 'email', auth_identifier: '', verified: false, ...emailMethod, }; const isEmailExists = !!emailMethod; const handleEmailAction = () => { const email = emailChanges['email']; if (isEmailExists) { handleUpdateEmail('email'); } else { handleCreateEmail(email as string); } }; return ( Authentication Settings
email
{defaultEmailMethod.verified ? 'Verified' : 'Unverified'}
handleEmailChange('email', value as string)} />
{otherMethods.map((method) => (
{method.auth_type}
{method.verified ? 'Verified' : 'Unverified'}
{method.auth_identifier}
))}
); }