// /components/supadb/aksupainstance.uts
import { createClient } from './aksupa.uts'
import { SUPA_URL, SUPA_KEY } from '@/ak/config.uts'
import { CURRENT_CLIENT } from '@/config/current-client.uts'

function maskClientKey(key: string): string {
    const keyLen = key.length
    if (keyLen <= 20) {
        return '(too short)'
    }
    return key.substring(0, 10) + '...' + key.substring(keyLen - 8)
}

console.log('[consumer-db] 当前端类型:', CURRENT_CLIENT)
console.log('[consumer-db] supabaseUrl 已加载:', SUPA_URL)
console.log('[consumer-db] supabaseKey 已加载:', maskClientKey(SUPA_KEY))

// 创建单一真实的 Supabase 客户端实例 (使用 config.uts 配置)
// Create single source of truth client using config
const supaInstance = createClient(SUPA_URL, SUPA_KEY)

// 导出默认实例 (供 login.uvue 等使用)
export default supaInstance

// 导出命名实例 'supabase' (供 store.uts 使用)
export const supabase = supaInstance

// 导出 isSupabaseReady 状态
export const isSupabaseReady = true

// 兼容 ensureSupabaseReady
export async function ensureSupabaseReady() {
    return true
}

// 检查连接状态的函数
export function checkConnection() {
    return Promise.resolve(true)
}

// 兼容 supaReady Promise
export const supaReady = supaInstance.hydrateSessionFromStorage()

// 如果有其他需要导出的函数，可以这样导出：
export function initializeSupabase(url: string, key: string) {
    return createClient(url, key)
}
