name: immich_mobile
description: Immich - selfhosted backup media file on mobile phone

publish_to: 'none'
version: 1.123.0+172

environment:
  sdk: '>=3.3.0 <4.0.0'
  flutter: 3.24.5

isar_version: &isar_version 3.1.8 # define the version to be used

dependencies:
  flutter:
    sdk: flutter

  path_provider_ios:
  photo_manager: ^3.6.1
  photo_manager_image_provider: ^2.2.0
  flutter_hooks: ^0.20.4
  hooks_riverpod: ^2.4.9
  riverpod_annotation: ^2.3.3
  cached_network_image: ^3.3.1
  flutter_cache_manager: ^3.3.1
  intl: ^0.19.0
  auto_route: ^9.2.0
  fluttertoast: ^8.2.4
  socket_io_client: ^2.0.3+1
  maplibre_gl: 0.19.0+2
  geolocator: ^11.0.0 # used to move to current location in map view
  flutter_udid: ^3.0.0
  flutter_svg: ^2.0.9
  package_info_plus: ^8.0.1
  url_launcher: ^6.2.4
  http: ^1.1.0
  cancellation_token_http: ^2.0.0
  easy_localization: ^3.0.3
  share_plus: ^10.0.0
  flutter_displaymode: ^0.6.0
  scrollable_positioned_list: ^0.3.8
  path: ^1.8.3
  path_provider: ^2.1.2
  collection: ^1.18.0
  http_parser: ^4.0.2
  flutter_web_auth: 0.6.0
  easy_image_viewer: ^1.4.0
  isar:
    version: *isar_version
    hosted: https://pub.isar-community.dev/
  isar_flutter_libs: # contains Isar Core
    version: *isar_version
    hosted: https://pub.isar-community.dev/
  permission_handler: ^11.2.0
  device_info_plus: ^11.0.0
  connectivity_plus: ^6.0.0
  wakelock_plus: ^1.1.4
  flutter_local_notifications: ^17.2.1+2
  timezone: ^0.9.2
  octo_image: ^2.0.0
  thumbhash: 0.1.0+1
  async: ^2.11.0
  dynamic_color: ^1.7.0 #package to apply system theme
  background_downloader: ^8.5.5
  network_info_plus: ^6.1.1
  native_video_player:
    git:
      url: https://github.com/immich-app/native_video_player
      ref: ac78487

  #image editing packages
  crop_image: ^1.0.13

  openapi:
    path: openapi

  # easy to remove packages:
  image_picker: ^1.0.7 # only used to select user profile image from system gallery -> we can simply select an image from within immich?
  logging: ^1.2.0
  file_picker: ^8.0.0+1

# This is uncommented in F-Droid build script
# Taken from https://github.com/Myzel394/locus/blob/445013d22ec1d759027d4303bd65b30c5c8588c8/pubspec.yaml#L105
dependency_overrides:
  # TODO: remove once Isar is updated
  analyzer: ^6.3.0
  # TODO: remove once analyzer override is removed
  meta: ^1.11.0
  # TODO: remove once analyzer override is removed
  analyzer_plugin: ^0.11.3
#f  geolocator_android:
#f    git:
#f      url: https://github.com/Zverik/flutter-geolocator.git
#f      ref: floss
#f      path: geolocator_android

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^5.0.0
  build_runner: ^2.4.8
  auto_route_generator: ^9.0.0
  flutter_launcher_icons: ^0.14.0
  flutter_native_splash: ^2.3.9
  isar_generator:
    version: *isar_version
    hosted: https://pub.isar-community.dev/
  integration_test:
    sdk: flutter
  custom_lint: ^0.6.4
  riverpod_lint: ^2.3.7
  riverpod_generator: ^2.3.9
  mocktail: ^1.0.3
  immich_mobile_immich_lint:
    path: './immich_lint'

flutter:
  uses-material-design: true
  assets:
    - assets/
    - assets/i18n/
  fonts:
    - family: Inconsolata
      fonts:
        - asset: fonts/Inconsolata-Regular.ttf
    - family: Overpass
      fonts:
        - asset: fonts/overpass/Overpass-Regular.ttf
          weight: 400
        - asset: fonts/overpass/Overpass-Italic.ttf
          style: italic
        - asset: fonts/overpass/Overpass-Medium.ttf
          weight: 500
        - asset: fonts/overpass/Overpass-SemiBold.ttf
          weight: 600
        - asset: fonts/overpass/Overpass-Bold.ttf
          weight: 700
    - family: OverpassMono
      fonts:
        - asset: fonts/overpass/OverpassMono.ttf

flutter_launcher_icons:
  image_path_android: 'assets/immich-logo.png'
  adaptive_icon_background: '#ffffff'
  adaptive_icon_foreground: 'assets/immich-logo-android-adaptive-icon.png'
  image_path_ios: 'assets/immich-logo-w-bg.png'
  android: 'ic_launcher' # can specify file name here e.g. "ic_launcher"
  ios: false # can specify file name here e.g. "My-Launcher-Icon
  remove_alpha_ios: true

analyzer:
  exclude:
    - openapi/**