-
-
-
@
+ {mode === 'register' && (
+ <>
+
+
+
+ @
+ setHandle(e.target.value.toLowerCase().replace(/[^a-z0-9_]/g, ''))}
+ style={{ paddingLeft: '28px' }}
+ placeholder="yourhandle"
+ required
+ minLength={3}
+ maxLength={20}
+ />
+
+
+
+ 3-20 characters, alphanumeric and underscores
+
+ {handleStatus === 'checking' && (
+ Checking...
+ )}
+ {handleStatus === 'available' && (
+ Available
+ )}
+ {handleStatus === 'taken' && (
+ Taken
+ )}
+
+
+
+
+
setHandle(e.target.value.toLowerCase().replace(/[^a-z0-9_]/g, ''))}
- style={{ paddingLeft: '28px' }}
- placeholder="yourhandle"
- required
- minLength={3}
- maxLength={20}
+ value={displayName}
+ onChange={(e) => setDisplayName(e.target.value)}
+ placeholder="Your Name"
/>
-
-
- 3-20 characters, alphanumeric and underscores
-
- {handleStatus === 'checking' && (
- Checking...
- )}
- {handleStatus === 'available' && (
- Available
- )}
- {handleStatus === 'taken' && (
- Taken
- )}
-
-
+ >
+ )}
-
-
- setDisplayName(e.target.value)}
- placeholder="Your Name"
- />
-
- >
- )}
+
+
+ setEmail(e.target.value)}
+ placeholder="you@example.com"
+ required
+ />
+
-
-
- setEmail(e.target.value)}
- placeholder="you@example.com"
- required
- />
-
-
-
-
- setPassword(e.target.value)}
- placeholder="••••••••"
- required
- minLength={8}
- />
-
-
- {mode === 'register' && (
setConfirmPassword(e.target.value)}
+ value={password}
+ onChange={(e) => setPassword(e.target.value)}
placeholder="••••••••"
required
minLength={8}
/>
- )}
-
-
+ {mode === 'register' && (
+
+
+ setConfirmPassword(e.target.value)}
+ placeholder="••••••••"
+ required
+ minLength={8}
+ />
+
+ )}
+
+
+
+ ) : (
+
+ )}
← Back to home
diff --git a/src/app/settings/migration/page.tsx b/src/app/settings/migration/page.tsx
index 7b511ab..0cbd963 100644
--- a/src/app/settings/migration/page.tsx
+++ b/src/app/settings/migration/page.tsx
@@ -14,50 +14,13 @@ interface ExportStats {
export default function MigrationPage() {
const { user } = useAuth();
- const [activeTab, setActiveTab] = useState<'export' | 'import'>('export');
// Export state
const [exportPassword, setExportPassword] = useState('');
const [isExporting, setIsExporting] = useState(false);
const [exportError, setExportError] = useState(null);
- const [exportData, setExportData] = useState