AeThex-OS/capacitor.config.ts
MrPiglr ad5f15271e fix: resolve 55+ TypeScript errors and cleanup codebase
- Create server/auth.ts with requireAuth, optionalAuth, requireAdmin middleware
- Fix os.tsx: add Target/Check imports, fix useLayout->usePlatformLayout, fix achievements types
- Fix game-routes.ts: add all Request/Response types, fix session access
- Fix revenue.ts: org_id -> organization_id
- Fix votes.ts: currentSplit scope, created_by type
- Fix dashboard.ts: remove unsupported .distinct() method
- Fix game-dev-apis.ts: header/body type assertions
- Upgrade api/execute.ts: add Python simulation, JSON validation, HTML/CSS passthrough
- Upgrade app-registry.ts: full implementation with 15 apps, RBAC, categories
- Clean up Java heap error logs
2026-02-03 02:31:34 -07:00

69 lines
1.8 KiB
TypeScript

import type { CapacitorConfig } from '@capacitor/cli';
// Live reload configuration
// Set CAPACITOR_LIVE_RELOAD=true and CAPACITOR_SERVER_URL to enable
const isLiveReload = false; // process.env.CAPACITOR_LIVE_RELOAD === 'true';
const serverUrl = process.env.CAPACITOR_SERVER_URL || 'http://192.168.1.100:5000';
const config: CapacitorConfig = {
appId: 'com.aethex.os',
appName: 'AeThex OS',
webDir: 'dist/public',
server: {
androidScheme: 'https',
iosScheme: 'https',
// Live reload: point to dev server instead of bundled assets
...(isLiveReload && {
url: serverUrl,
cleartext: true, // Allow HTTP for local development
}),
},
plugins: {
SplashScreen: {
launchShowDuration: 0,
launchAutoHide: true,
backgroundColor: '#000000',
androidSplashResourceName: 'splash',
androidScaleType: 'CENTER_CROP',
showSpinner: false,
androidSpinnerStyle: 'large',
iosSpinnerStyle: 'small',
spinnerColor: '#999999',
splashFullScreen: true,
splashImmersive: true
},
StatusBar: {
style: 'DARK',
backgroundColor: '#000000',
overlaysWebView: true
},
App: {
backButtonEnabled: true
},
PushNotifications: {
presentationOptions: ['badge', 'sound', 'alert']
},
LocalNotifications: {
smallIcon: 'ic_stat_icon_config_sample',
iconColor: '#488AFF',
sound: 'beep.wav'
}
},
android: {
allowMixedContent: true,
captureInput: true,
webContentsDebuggingEnabled: true,
// Allow cleartext (HTTP) for live reload
...(isLiveReload && {
allowMixedContent: true,
}),
},
ios: {
// iOS-specific live reload settings
...(isLiveReload && {
limitsNavigationsToAppBoundDomains: false,
}),
},
};
export default config;