import { base44 } from '@/api/base44Client'; let _cachedUser = null; let _userFetched = false; async function getCurrentUser() { if (_userFetched) return _cachedUser; try { _cachedUser = await base44.auth.me(); } catch { _cachedUser = null; } _userFetched = true; return _cachedUser; } /** Best-effort activity logging — never throws, never blocks the main flow. */ export async function logActivity(eventType, extra = {}) { try { const me = await getCurrentUser(); const record = { event_type: eventType, user_email: me?.email || extra.email || 'anonymous', user_name: me?.full_name || extra.name || '', account_type: extra.account_type || me?.account_type || 'unknown', details: extra.details || '', }; await base44.entities.UserActivity.create(record); base44.analytics.track({ eventName: eventType, properties: { account_type: record.account_type }, }); } catch { // silent — tracking must not break user flows } }