import { createClient } from "@/lib/supabase-server" import { SettingsTabs } from "@/components/dashboard/settings-tabs" import { getSmsSettings } from "@/lib/sms/actions" import { SiteContent } from "@/types/cms" export default async function SettingsPage() { const supabase = createClient() // Fetch SMS settings const smsResponse = await getSmsSettings() const smsSettings = smsResponse.data || null // Fetch Users (Profiles) const { data: profiles } = await supabase .from("profiles") .select("*") .order("created_at", { ascending: false }) // Fetch Site Contents (CMS) const { data: contents } = await supabase .from('site_contents') .select('*') .order('key') // Define default contents for CMS const DEFAULT_CONTENTS: SiteContent[] = [ // General { key: 'site_title', value: 'ParaKasa', type: 'text', section: 'general' }, { key: 'site_description', value: '', type: 'long_text', section: 'general' }, { key: 'site_logo', value: '', type: 'image_url', section: 'general' }, // Contact { key: 'contact_phone', value: '', type: 'text', section: 'contact' }, { key: 'contact_email', value: '', type: 'text', section: 'contact' }, { key: 'contact_address', value: '', type: 'long_text', section: 'contact' }, { key: 'social_instagram', value: '', type: 'text', section: 'contact' }, { key: 'social_youtube', value: '', type: 'text', section: 'contact' }, { key: 'social_tiktok', value: '', type: 'text', section: 'contact' }, { key: 'contact_map_embed', value: '', type: 'html', section: 'contact' }, ] // Merge default contents with existing contents const mergedContents = [...(contents as SiteContent[] || [])] const existingKeys = new Set(mergedContents.map(c => c.key)) DEFAULT_CONTENTS.forEach(item => { if (!existingKeys.has(item.key)) { mergedContents.push(item) } }) return (