Files
coach-ios/capacitor.config.ts
Sylvain Bettinelli 3e71dbe3a3 Auto-login via token coach_web_token au lancement
- capacitor.config.ts charge coachWebToken depuis coach-ios.local.json (gitignored)
- server.url devient https://coach.hypnotruck.ch/login?token=... → backend pose le cookie 1 an, redirige vers /
- Au prochain lancement, le cookie tient → /login?token redirige direct vers /
- coach-ios.local.json.example fourni pour setup Mac mini
2026-05-05 19:15:59 +00:00

61 lines
1.6 KiB
TypeScript

import type { CapacitorConfig } from '@capacitor/cli';
import { readFileSync, existsSync } from 'fs';
import { resolve } from 'path';
// Token d'auth coach.hypnotruck.ch chargé depuis coach-ios.local.json (gitignored).
// Sur le Mac mini : créer ce fichier avec { "coachWebToken": "..." } avant de builder.
const localConfigPath = resolve(__dirname, 'coach-ios.local.json');
const localConfig = existsSync(localConfigPath)
? JSON.parse(readFileSync(localConfigPath, 'utf-8'))
: {};
const coachWebToken: string = localConfig.coachWebToken || '';
const baseUrl = 'https://coach.hypnotruck.ch';
const startUrl = coachWebToken
? `${baseUrl}/login?token=${encodeURIComponent(coachWebToken)}`
: baseUrl;
const config: CapacitorConfig = {
appId: 'ch.hypnotruck.coach',
appName: 'Coach Hypnotruck',
webDir: 'www',
server: {
url: startUrl,
cleartext: false,
androidScheme: 'https',
},
ios: {
contentInset: 'always',
scrollEnabled: true,
limitsNavigationsToAppBoundDomains: false,
backgroundColor: '#ffffff',
},
plugins: {
SplashScreen: {
launchShowDuration: 1500,
launchAutoHide: true,
backgroundColor: '#ffffff',
showSpinner: false,
splashImmersive: false,
},
StatusBar: {
style: 'DEFAULT',
backgroundColor: '#ffffff',
overlaysWebView: false,
},
PushNotifications: {
presentationOptions: ['badge', 'sound', 'alert'],
},
LocalNotifications: {
smallIcon: 'ic_stat_icon_config_sample',
iconColor: '#488AFF',
sound: 'beep.wav',
},
},
};
export default config;