feat: post-PR-159 UI cleanup — sidebar IA + account redesign #160
File diff suppressed because it is too large
Load Diff
@@ -3,6 +3,7 @@ import { Link } from 'react-router-dom'
|
||||
import { User as UserIcon, Loader2, AlertCircle, Check } from 'lucide-react'
|
||||
import { authApi } from '@/api/auth'
|
||||
import { useAuthStore } from '@/store/authStore'
|
||||
import { useUserPreferencesStore } from '@/store/userPreferencesStore'
|
||||
import { cn } from '@/lib/utils'
|
||||
import { toast } from '@/lib/toast'
|
||||
import type { UserUpdate } from '@/types'
|
||||
@@ -16,6 +17,7 @@ const inputClass = cn(
|
||||
export function ProfileSettingsPage() {
|
||||
const user = useAuthStore((s) => s.user)
|
||||
const fetchUser = useAuthStore((s) => s.fetchUser)
|
||||
const { defaultExportFormat, setDefaultExportFormat } = useUserPreferencesStore()
|
||||
|
||||
const [name, setName] = useState(user?.name ?? '')
|
||||
const [email, setEmail] = useState(user?.email ?? '')
|
||||
@@ -120,6 +122,27 @@ export function ProfileSettingsPage() {
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{/* Default export format — saved on change, not via Save Changes */}
|
||||
<div>
|
||||
<label htmlFor="profile-export-format" className="block text-sm font-medium text-foreground">
|
||||
Default export format
|
||||
</label>
|
||||
<p className="text-xs text-muted-foreground">Pre-selected when exporting sessions.</p>
|
||||
<select
|
||||
id="profile-export-format"
|
||||
value={defaultExportFormat}
|
||||
onChange={(e) => {
|
||||
setDefaultExportFormat(e.target.value as 'markdown' | 'text' | 'html')
|
||||
toast.success('Preference saved')
|
||||
}}
|
||||
className={inputClass}
|
||||
>
|
||||
<option value="markdown">Markdown (.md)</option>
|
||||
<option value="text">Plain text (.txt)</option>
|
||||
<option value="html">HTML (.html)</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{error && (
|
||||
<div className="flex items-center gap-2 text-sm text-rose-500">
|
||||
<AlertCircle className="h-4 w-4 shrink-0" />
|
||||
|
||||
Reference in New Issue
Block a user