name: m8chat_app
description: "M8Chat — Matrix chat client for Android, iOS, and Web."
publish_to: 'none'
version: 1.8.0+12

environment:
  sdk: '>=3.11.0 <4.0.0'

dependencies:
  flutter:
    sdk: flutter

  # Matrix SDK
  matrix: ^0.33.0
  olm: ^2.0.4

  # State management
  flutter_riverpod: ^3.0.0
  riverpod_annotation: ^3.0.0

  # Navigation
  go_router: ^15.0.0

  # Storage
  drift: ^2.22.0
  drift_flutter: ^0.2.0
  flutter_secure_storage: ^9.0.0

  # Serialisation
  freezed_annotation: ^3.0.0
  json_annotation: ^4.9.0

  # Video/Voice (MatrixRTC + LiveKit) — Phase 2 active use; wired in Phase 1
  livekit_client: ^2.4.0
  flutter_webrtc: ^0.12.0

  # HTTP client (used directly in LiveKit JWT fetch)
  http: ^1.0.0

  # Media upload
  file_picker: ^8.0.0

  # Emoji reactions
  emoji_picker_flutter: ^4.0.0

  # Web platform (required for dart:js_interop DOM access)
  web: ^1.1.0

  # UI
  cached_network_image: ^3.4.0
  timeago: ^3.7.0
  intl: ^0.20.0
  flutter_svg: ^2.2.4

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^5.0.0
  build_runner: ^2.4.0
  riverpod_generator: ^3.0.0
  freezed: ^3.0.0
  json_serializable: ^6.9.0
  drift_dev: ^2.22.0

flutter:
  uses-material-design: true

  assets:
    - assets/images/
    - assets/icons/
