import { Tabs, TabsList, TabsTrigger, TabsContent } from '@/components/ui/tabs'; import { UserSettings, PlaybackSettings as PlaybackSettingsType, } from '../types/settings'; import { PreferenceSettings } from './PreferenceSettings'; import { NotificationSettings } from './NotificationSettings'; import { PrivacySettings } from './PrivacySettings'; import { ProfileVisibilityCard } from './ProfileVisibilityCard'; import { AccountSettings } from './AccountSettings'; import { PlaybackSettings } from './PlaybackSettings'; // FE-PAGE-004: Complete Settings page implementation interface SettingsTabsProps { settings: UserSettings; onChange: (settings: UserSettings) => void; } export function SettingsTabs({ settings, onChange }: SettingsTabsProps) { const handlePreferencesChange = ( preferences: typeof settings.preferences, ) => { onChange({ ...settings, preferences, }); }; const handleNotificationsChange = ( notifications: typeof settings.notifications, ) => { onChange({ ...settings, notifications, }); }; const handlePrivacyChange = (privacy: typeof settings.privacy) => { onChange({ ...settings, privacy, }); }; const handlePlaybackChange = (playback: PlaybackSettingsType) => { onChange({ ...settings, playback, }); }; // FE-PAGE-004: Initialize playback settings with defaults if not present const playbackSettings: PlaybackSettingsType = settings.playback || { quality: 'high', volume: 0.8, crossfade: 3, autoplay: true, }; return ( Account Préférences Notifications Confidentialité Playback {/* FE-PAGE-004: Account Settings Tab */} {/* FE-PAGE-004: Playback Settings Tab */} ); }