import { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
  appId: 'app.timesafari',
  appName: 'TimeSafari',
  webDir: 'dist',
  server: {
    cleartext: true
  },
  plugins: {
    App: {
      appUrlOpen: {
        handlers: [
          {
            url: 'timesafari://*',
            autoVerify: true
          }
        ]
      }
    },
    SplashScreen: {
      launchShowDuration: 3000,
      launchAutoHide: true,
      backgroundColor: '#ffffff',
      androidSplashResourceName: 'splash',
      androidScaleType: 'CENTER_CROP',
      showSpinner: false,
      androidSpinnerStyle: 'large',
      iosSpinnerStyle: 'small',
      spinnerColor: '#999999',
      splashFullScreen: true,
      splashImmersive: true
    },
    CapSQLite: {
      iosDatabaseLocation: 'Library/CapacitorDatabase',
      iosIsEncryption: false,
      iosBiometric: {
        biometricAuth: false,
        biometricTitle: 'Biometric login for TimeSafari'
      },
      androidIsEncryption: false,
      androidBiometric: {
        biometricAuth: false,
        biometricTitle: 'Biometric login for TimeSafari'
      },
      electronIsEncryption: false
    }
  },
  ios: {
    contentInset: 'never',
    allowsLinkPreview: true,
    scrollEnabled: true,
    limitsNavigationsToAppBoundDomains: true,
    backgroundColor: '#ffffff',
    allowNavigation: [
      '*.timesafari.app',
      '*.jsdelivr.net',
      'api.endorser.ch'
    ]
  },
  android: {
    allowMixedContent: true,
    captureInput: true,
    webContentsDebuggingEnabled: false,
    allowNavigation: [
      '*.timesafari.app',
      '*.jsdelivr.net',
      'api.endorser.ch',
      '10.0.2.2:3000'
    ]
  },
  electron: {
    deepLinking: {
      schemes: ['timesafari']
    },
    buildOptions: {
      appId: 'app.timesafari',
      productName: 'TimeSafari',
      directories: {
        output: 'dist-electron-packages'
      },
      files: [
        'dist/**/*',
        'electron/**/*'
      ],
      mac: {
        category: 'public.app-category.productivity',
        target: [
          {
            target: 'dmg',
            arch: ['x64', 'arm64']
          }
        ]
      },
      win: {
        target: [
          {
            target: 'nsis',
            arch: ['x64']
          }
        ]
      },
      linux: {
        target: [
          {
            target: 'AppImage',
            arch: ['x64']
          }
        ],
        category: 'Utility'
      }
    }
  }
};

export default config;
