name: fladder
description: A simple cross-platform Jellyfin client.
# The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: "none" # Remove this line if you wish to publish to pub.dev

# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
version: 0.7.5+1

environment:
  sdk: ">=3.1.3 <4.0.0"

# Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions
# consider running `flutter pub upgrade --major-versions`. Alternatively,
# dependencies can be manually updated by changing the version numbers below to
# the latest version available on pub.dev. To see which dependencies have newer
# versions available, run `flutter pub outdated`.
dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  # Icons
  cupertino_icons: ^1.0.8
  iconsax_plus: ^1.0.0

  # Network and HTTP
  chopper: ^8.3.0
  cached_network_image: ^3.4.1
  http: ^1.5.0
  flutter_cache_manager: ^3.4.1
  connectivity_plus: ^7.0.0

  # State Management
  flutter_riverpod: ^2.6.1
  riverpod_annotation: ^2.6.1

  # JSON and Serialization
  json_annotation: ^4.9.0
  freezed_annotation: ^3.1.0

  # Logging
  logging: ^1.3.0

  # Internationalization
  intl: ^0.20.2

  # Local Storage
  shared_preferences: ^2.5.3
  path_provider: ^2.1.5

  # Media
  media_kit: ^1.2.1 # Primary package.
  media_kit_video: ^1.3.1 # For video rendering.
  media_kit_libs_video: ^1.0.7 # Native video dependencies.

  audio_service: ^0.18.18
  fvp: ^0.35.0
  video_player: ^2.10.0

  # UI Components
  dynamic_color: ^1.8.1
  flutter_svg: ^2.2.0
  animations: ^2.0.11
  automatic_animated_list: ^1.1.0
  page_transition: ^2.2.1
  sticky_headers: ^0.3.0+2
  flutter_staggered_grid_view: ^0.7.0
  sliver_tools: ^0.2.12
  square_progress_indicator: ^0.0.8
  flutter_blurhash: ^0.9.1
  extended_image: ^10.0.1
  flutter_widget_from_html: ^0.17.0
  font_awesome_flutter: ^10.9.1
  reorderable_grid: ^1.0.12
  overflow_view: ^0.5.0
  flutter_sticky_header: ^0.8.0
  markdown_widget: ^2.3.2+8
  palette_generator_master: ^1.0.1

  # Navigation
  auto_route: ^10.1.2
  url_launcher: ^6.3.2
  flutter_custom_tabs: ^2.4.0

  # Utility
  path: ^1.9.1
  file_picker: ^10.3.2
  transparent_image: ^2.0.1
  universal_html: ^2.2.4
  collection: ^1.19.1

  # Device and System
  local_auth: ^2.3.0
  package_info_plus: ^9.0.0
  wakelock_plus: ^1.3.2
  screen_brightness: ^2.1.7
  window_manager: ^0.5.1
  smtc_windows: ^1.1.0
  background_downloader: ^9.2.3
  screen_retriever: ^0.2.0

  # Data
  drift: ^2.28.1
  drift_flutter: ^0.2.5
  drift_sync: ^0.14.0
  drift_db_viewer: ^2.1.0

  # Other
  async: ^2.13.0
  xid: ^1.2.1
  desktop_drop: ^0.6.1
  flexible_scrollbar: ^0.1.3
  flutter_typeahead: ^5.2.0
  share_plus: ^12.0.0
  archive: ^4.0.7
  dart_mappable: ^4.6.0

dependency_overrides:
  media_kit:
    git:
      url: https://github.com/DonutWare/media-kit.git
      ref: main
      path: ./media_kit
  media_kit_video:
    git:
      url: https://github.com/DonutWare/media-kit.git
      ref: main
      path: ./media_kit_video
  media_kit_libs_video:
    git:
      url: https://github.com/DonutWare/media-kit.git
      ref: main
      path: ./libs/universal/media_kit_libs_video
  media_kit_libs_android_video:
    git:
      url: https://github.com/DonutWare/media-kit.git
      path: libs/android/media_kit_libs_android_video
  media_kit_libs_ios_video:
    git:
      url: https://github.com/DonutWare/media-kit.git
      path: libs/ios/media_kit_libs_ios_video
  media_kit_libs_macos_video:
    git:
      url: https://github.com/DonutWare/media-kit.git
      path: libs/macos/media_kit_libs_macos_video
  media_kit_libs_windows_video:
    git:
      url: https://github.com/DonutWare/media-kit.git
      path: libs/windows/media_kit_libs_windows_video
  media_kit_libs_linux:
    git:
      url: https://github.com/DonutWare/media-kit.git
      path: libs/linux/media_kit_libs_linux

dev_dependencies:
  flutter_test:
    sdk: flutter

  # The "flutter_lints" package below contains a set of recommended lints to
  # encourage good coding practices. The lint set provided by the package is
  # activated in the `analysis_options.yaml` file located at the root of your
  # package. See that file for information about deactivating specific lint
  # rules and activating additional ones.
  drift_dev: ^2.28.0
  flutter_lints: ^6.0.0
  build_runner: ^2.5.4
  chopper_generator: ^8.2.0
  json_serializable: ^6.9.5
  custom_lint: ^0.7.6
  freezed: ^3.1.0
  swagger_dart_code_generator: ^3.0.3
  riverpod_generator: ^2.6.5
  dart_mappable_builder: ^4.5.0
  auto_route_generator: ^10.2.3
  icons_launcher: ^3.0.2
  pigeon: ^26.0.1

flutter:
  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true
  generate: true

  assets:
    - icons/
    - assets/fonts/
    - config/
    - assets/mp-font.ttf
    - assets/

  fonts:
    - family: Rubik
      fonts:
        - asset: assets/fonts/rubik/Rubik-VariableFont_wght.ttf
          style: normal
        - asset: assets/fonts/rubik/Rubik-Italic-VariableFont_wght.ttf
          style: italic

    - family: OpenSans
      fonts:
        - asset: assets/fonts/opensans/OpenSans.ttf
          style: normal
        - asset: assets/fonts/opensans/OpenSans-Italic.ttf
          style: italic
