import { createClient } from '@/lib/supabase/server' export default async function ImportPage() { const supabase = await createClient() const { data: { user } } = await supabase.auth.getUser() const { data: member } = await supabase .from('space_members').select('space_id, role').eq('user_id', user!.id).eq('status', 'current').single() const isAdmin = member?.role === 'admin' || member?.role === 'board' if (!isAdmin) { return (

Admin access required

) } return (

Import & Sync

{/* Tabs */}
{['CSV / Excel', 'Database Connect', 'Webhooks & API', 'Integrations'].map((tab, i) => ( ))}
{/* Steps */}
{[{ n: 1, label: 'Upload File', done: false }, { n: 2, label: 'Map Columns', active: false }, { n: 3, label: 'Preview' }, { n: 4, label: 'Import' }].map((step, i) => (
{i + 1}
{step.label}
{i < 3 && —}
))}
{/* Upload area */}

Drop your CSV or Excel file here

or click to browse

{/* Column mapping preview */}

Map Columns to App Fields

Upload a file to begin mapping

{[ ['Full Name', 'display_name'], ['Email Address', 'email'], ['MemberType', 'tier'], ['JoinDate', 'joined_at'], ['PhoneNumber', 'phone'], ['LastDuesDate', 'last_paid_at'], ['CardAccess', 'has_card_access'], ].map(([col, field]) => (
{col}
{field}
))}
{/* Database Connector */}

Database Connector (Advanced)

Connect directly to your existing member database. Supports PostgreSQL, MySQL, SQLite, and MongoDB. Credentials are stored encrypted and never shared.

) }