"use client" import { useState, useEffect } from "react" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Label } from "@/components/ui/label" import { Switch } from "@/components/ui/switch" import { Input } from "@/components/ui/input" import { Textarea } from "@/components/ui/textarea" import { Button } from "@/components/ui/button" import { usePreferences } from "@/contexts/preferences-context" import { useAuth } from "@/contexts/auth-context" import { getApiUrl } from "@/lib/api-config" export default function SettingsPage() { const { preferences, updatePreferences, loading } = usePreferences() const { user } = useAuth() const [bio, setBio] = useState("") const [saving, setSaving] = useState(false) const [saved, setSaved] = useState(false) useEffect(() => { if (user?.bio) { setBio(user.bio) } }, [user]) const handleSaveProfile = async () => { setSaving(true) setSaved(false) const token = localStorage.getItem("token") try { await fetch(`${getApiUrl()}/users/me`, { method: "PATCH", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${token}` }, body: JSON.stringify({ bio }) }) setSaved(true) setTimeout(() => setSaved(false), 2000) } catch (e) { console.error(e) } finally { setSaving(false) } } if (loading) { return
Hide all social features (comments, ratings, reviews) for a pure archive experience.
Display 1-10 ratings on shows and songs.
Display comment sections on pages.