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

publish_to: "none"
version: 1.85.0+109
isar_version: &isar_version 3.1.0+1

environment:
  sdk: ">=3.0.0 <4.0.0"

dependencies:
  flutter:
    sdk: flutter

  path_provider_ios:
  photo_manager: ^2.7.2
  flutter_hooks: ^0.18.6
  hooks_riverpod: ^2.2.0
  cached_network_image: ^3.2.2
  flutter_cache_manager: ^3.3.0
  intl: ^0.18.0
  auto_route: ^5.0.1
  fluttertoast: ^8.2.2
  video_player: ^2.2.18
  chewie: ^1.4.0
  badges: ^2.0.2
  socket_io_client: ^2.0.0-beta.4-nullsafety.0
  flutter_map: ^4.0.0
  flutter_map_heatmap: ^0.0.4
  geolocator: ^10.0.0 # used to move to current location in map view
  vector_map_tiles:
    git:
      url: https://github.com/shenlong-tanwen/flutter-vector-map-tiles.git
      ref: immich_above_4
  # Adding the following as direct dependency since flutter cannot detect them as transitive dep
  vector_tile_renderer: ^4.0.0
  executor_lib: 1.1.1
  flutter_udid: ^2.0.0
  package_info_plus: ^4.1.0
  url_launcher: ^6.1.3
  http: 0.13.5
  cancellation_token_http: ^1.1.0
  easy_localization: ^3.0.1
  share_plus: ^7.1.0
  flutter_displaymode: ^0.4.0
  scrollable_positioned_list: ^0.3.4
  path: ^1.8.1
  path_provider: ^2.0.11
  latlong2: ^0.8.1
  collection: ^1.16.0
  http_parser: ^4.0.1
  flutter_web_auth: ^0.5.0
  easy_image_viewer: ^1.2.0
  isar: *isar_version
  isar_flutter_libs: *isar_version # contains Isar Core
  permission_handler: ^10.2.0
  device_info_plus: ^8.1.0
  connectivity_plus: ^4.0.1
  crypto: ^3.0.3 # TODO remove once native crypto is used on iOS
  wakelock_plus: ^1.1.1
  flutter_local_notifications: ^15.1.0+1
  timezone: ^0.9.2

  openapi:
    path: openapi

  # easy to remove packages:
  image_picker: ^0.8.5+3 # only used to select user profile image from system gallery -> we can simply select an image from within immich?
  logging: ^1.1.0

# This is uncommented in F-Droid build script
# Taken from https://github.com/Myzel394/locus/blob/445013d22ec1d759027d4303bd65b30c5c8588c8/pubspec.yaml#L105
#fdependency_overrides:
#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: ^2.0.1
  build_runner: ^2.2.1
  auto_route_generator: ^5.0.2
  flutter_launcher_icons: "^0.9.2"
  flutter_native_splash: ^2.2.16
  isar_generator: *isar_version
  mockito: ^5.3.2
  integration_test:
    sdk: flutter

flutter:
  uses-material-design: true
  assets:
    - assets/
    - assets/i18n/
  fonts:
    - family: WorkSans
      fonts:
        - asset: fonts/WorkSans.ttf
        - asset: fonts/WorkSans-Italic.ttf
          style: italic
        # - asset: fonts/WorkSans-Medium.ttf
        #   weight: 500
        # - asset: fonts/WorkSans-SemiBold.ttf
        #   weight: 600
        # - asset: fonts/WorkSans-Bold.ttf
        #   weight: 700
        # - asset: fonts/WorkSans-ExtraBold.ttf
        #   weight: 800
        # - asset: fonts/WorkSans-Black.ttf
        #   weight: 900
    - family: SnowburstOne
      fonts:
        - asset: fonts/SnowburstOne.ttf
    - family: Inconsolata
      fonts:
        - asset: fonts/Inconsolata-Regular.ttf
flutter_icons:
  image_path_android: "assets/immich-logo-no-outline.png"
  image_path_ios: "assets/immich-logo-no-outline.png"
  android: true # can specify file name here e.g. "ic_launcher"
  ios: true # can specify file name here e.g. "My-Launcher-Icon

analyzer:
  exclude:
    - openapi/**