系統設定
管理數據存儲和系統配置
無法連接到 Supabase。請檢查:
- • 環境變數 NEXT_PUBLIC_SUPABASE_URL 是否正確
- • 環境變數 NEXT_PUBLIC_SUPABASE_ANON_KEY 是否正確
- • Supabase 項目是否正常運行
- • 網路連接是否正常
存儲在瀏覽器本地的困擾案例數據
"use client" import { useState, useEffect } from "react" import Link from "next/link" import { Button } from "@/components/ui/button" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Badge } from "@/components/ui/badge" import { Sparkles, ArrowLeft, Database, Settings, TestTube, Trash2 } from "lucide-react" import HeaderMusicControl from "@/components/header-music-control" import MigrationDialog from "@/components/migration-dialog" import { testSupabaseConnection, MigrationService } from "@/lib/supabase-service" export default function SettingsPage() { const [showMigration, setShowMigration] = useState(false) const [isConnected, setIsConnected] = useState(false) const [localDataCount, setLocalDataCount] = useState(0) const [isLoading, setIsLoading] = useState(false) useEffect(() => { checkLocalData() checkConnection() }, []) const checkLocalData = () => { try { const wishes = JSON.parse(localStorage.getItem("wishes") || "[]") setLocalDataCount(wishes.length) } catch (error) { setLocalDataCount(0) } } const checkConnection = async () => { setIsLoading(true) try { const connected = await testSupabaseConnection() setIsConnected(connected) } catch (error) { setIsConnected(false) } finally { setIsLoading(false) } } const clearAllData = () => { if (confirm("確定要清除所有本地數據嗎?此操作無法復原。")) { MigrationService.clearLocalStorageData() // 也清除其他設定 localStorage.removeItem("backgroundMusicState") localStorage.removeItem("user_session") setLocalDataCount(0) alert("本地數據已清除") } } return (
管理數據存儲和系統配置
無法連接到 Supabase。請檢查:
存儲在瀏覽器本地的困擾案例數據