// Client-side feature-flag helper. One bulk eval per session, shared across // every component via module-level state. Hits POST /api/flags/evaluate — // the portal-side proxy derives the tenant from the signed-in user's JWT // so callers don't pass a slug. // // Usage: // const enabled = useFeatureFlag('new_inbox_view') // // // Multi-key: // const { flags, ready, refresh } = useFeatureFlags() // ready → ref true once the first eval has resolved // flags → ref<{ key: boolean }> // refresh() → re-fetch (e.g. after an admin flipped a flag while the user is // online; rare, mostly useful in long-lived sessions) // // The composable is intentionally NOT a Promise-returning function. It // returns refs that update once the bulk eval lands; consumers can // `