import Constants from 'expo-constants';

/**
 * Aktualna wersja appki — używana do display'u (BugReportFAB, Update dialog)
 * i porównań z `/version` z serwera.
 *
 * Źródła w kolejności preferencji:
 *  1. `Constants.expoConfig?.version` — działa gdy OTA manifest ma `extra.expoClient`
 *     (publish_update.py embeduje tam app.json). W release APK przed pierwszym OTA
 *     bierze się to z app.json bundled w build.
 *  2. Hardcoded fallback — chroni przed OTA-z-pustego-extra (bug 2026-05-12, gdzie
 *     stara wersja publish_update.py wysyłała `extra: {}` → expoConfig=null po
 *     reload-zie → version='0.0.0' → fałszywy "Update available" dialog).
 *
 * **Bump przy każdym APK release** żeby APK fallback pasował do realnej wersji.
 * OTA-only releases (silent JS update) NIE bumpują tego — wtedy version w app.json
 * też nie idzie do góry, więc consistency jest zachowana.
 */
export const APP_VERSION: string =
  (Constants.expoConfig?.version as string | undefined) || '0.1.9';
