49 lines
1.6 KiB
TypeScript
49 lines
1.6 KiB
TypeScript
import type { CapacitorConfig } from '@capacitor/cli';
|
|
|
|
const config: CapacitorConfig = {
|
|
appId: 'org.skatespots.app',
|
|
appName: 'SkateSpots',
|
|
webDir: 'dist',
|
|
server: {
|
|
// In production the app loads from the bundled dist/ — no remote URL
|
|
// androidScheme controls the scheme used for local file loading
|
|
androidScheme: 'https',
|
|
},
|
|
android: {
|
|
// Cleartext is NOT needed here for Nostr: all public relays are wss:// and
|
|
// are unaffected by this flag. The only cleartext endpoint is the optional
|
|
// local Citrine relay (ws://127.0.0.1:4869), which is permitted specifically
|
|
// and safely via res/xml/network_security_config.xml (loopback-only), NOT by
|
|
// this broad mixed-content switch. Keeping this false avoids silently
|
|
// allowing insecure sub-resources on the https-scheme app shell.
|
|
// NOTE: if the local Citrine relay ever fails to connect on a device after
|
|
// this change, fix it in network_security_config.xml (loopback cleartext),
|
|
// not by re-enabling global mixed content.
|
|
allowMixedContent: false,
|
|
// Capture input for hardware back button
|
|
captureInput: true,
|
|
// Use the app's dark background for the splash
|
|
backgroundColor: '#000000',
|
|
},
|
|
plugins: {
|
|
SplashScreen: {
|
|
launchShowDuration: 0,
|
|
launchAutoHide: true,
|
|
backgroundColor: '#000000',
|
|
androidSplashResourceName: 'splash',
|
|
androidScaleType: 'CENTER_CROP',
|
|
showSpinner: false,
|
|
},
|
|
StatusBar: {
|
|
style: 'Dark',
|
|
backgroundColor: '#000000',
|
|
},
|
|
Keyboard: {
|
|
resize: 'body',
|
|
style: 'dark',
|
|
resizeOnFullScreen: true,
|
|
},
|
|
},
|
|
};
|
|
|
|
export default config;
|