Repository navigation
Expand file tree
/
Copy pathapp.config.ts
More file actions
62 lines (61 loc) · 2.13 KB
/
Copy pathapp.config.ts
File metadata and controls
62 lines (61 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import { ExpoConfig, ConfigContext } from 'expo/config';
/**
* Dialy – Diabetes-Begleiter (dark by default, optional light mode; offline-first).
*
* Secrets are NEVER hard-coded here. Public, client-safe values
* (Supabase project URL + anon key) come from environment variables
* and are exposed via `extra`. A missing value simply disables sync /
* auth and the app keeps running fully offline.
*
* IMPORTANT: only the Supabase *anon* key belongs in the client.
* Never put a service-role key or DB credentials here.
*/
export default ({ config }: ConfigContext): ExpoConfig => ({
...config,
name: 'Dialy',
slug: 'dialy',
version: '1.0.0',
orientation: 'portrait',
scheme: 'dialy',
// 'automatic' so the OS appearance is reported to the app; the in-app
// setting (Dunkel / Hell / System, default Dunkel) decides what is shown.
userInterfaceStyle: 'automatic',
backgroundColor: '#0E1512',
splash: {
backgroundColor: '#0E1512',
resizeMode: 'contain',
},
assetBundlePatterns: ['**/*'],
ios: {
supportsTablet: true,
bundleIdentifier: 'net.dialy.app',
userInterfaceStyle: 'automatic',
// Manual-entry CGM/health fallback always works; native HealthKit
// bridge is a TODO(native) follow-up – see services/health.ts.
},
android: {
package: 'net.dialy.app',
userInterfaceStyle: 'automatic',
adaptiveIcon: {
backgroundColor: '#0E1512',
},
permissions: [], // no camera / storage access needed
},
plugins: [
'expo-asset',
'expo-font',
'expo-secure-store',
'expo-sqlite',
],
extra: {
supabaseUrl: process.env.EXPO_PUBLIC_SUPABASE_URL ?? '',
supabaseAnonKey: process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY ?? '',
sentryDsn: process.env.EXPO_PUBLIC_SENTRY_DSN ?? '',
// Recipient of the Kontakt form (food suggestions / corrections).
contactEmail: process.env.EXPO_PUBLIC_CONTACT_EMAIL ?? '',
// Feature flags – everything external is off by default so the app
// runs with zero configuration.
featureFcm: process.env.EXPO_PUBLIC_FEATURE_FCM === 'true',
featureHealthImport: process.env.EXPO_PUBLIC_FEATURE_HEALTH === 'true',
},
});