mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-11 17:30:00 +02:00
Full visual overhaul from Cyber-Cinematic Glass to "Warm Cinema": warm charcoal (#0B0908), cream (#F3E9DF), ember (#D9541F). Fraunces (editorial serif) for display, Karla for body/UI. Design - app_colors: new palette, all existing token names preserved, plus posterScrim/heroScrim gradients and lift()/emberFocus() shadows - app_theme: new type scale, tighter radii, 20+ component themes - mobile_theme aligned on the same tokens - glass_container: opaque layered surfaces replace glassmorphism; adds GlassCard (hover + remote-focus states) and CinemaBackdrop - players and boot splash restyled (film-leader motif, no web fonts) Performance - remove every BackdropFilter (33 call sites): backdrop blur forced a full framebuffer read per frame per card, the main scroll jank source - bundle Fraunces/Karla as assets: google_fonts no longer fetches from fonts.gstatic.com at startup - drop the blocking hls.js CDN script from index.html; no Dart code ever used it, only the player iframes need it - self-host hls.js/mpegts.js and load them on demand, so ~213 KB of mpegts is never downloaded for HLS streams - bound image decode size on 10 sites: a 40-poster grid drops from ~240 MB to a few tens of MB of GPU memory Players (new shared engine: web/xf-player-core.js) - event-driven start instead of a 200 ms buffer poll plus a 1.5 s wait - initialLiveManifestSize 3 -> 1, liveSyncDurationCount 10 -> 2, startFragPrefetch on, testBandwidth off - MPEG-TS initial stash 512 KB -> 64 KB - adaptive escalation fast -> balanced -> safe on repeated stalls (60 s rolling window), applied live for HLS so there is no visible cut Pre-existing build breakage fixed along the way - undefined AppColors.shimmer, AppTheme.durationXs and spacing8/12/16/32 - broken relative imports in channel_card and quality_selector_widget - missing GlassCard widget and hasBorder/showShadow parameters Also resolves a leftover unmerged .claude/settings.local.json by keeping the remote version. Still broken (pre-existing, dead code, not reachable from main.dart): recommendations_provider.dart and continue_watching_widget.dart import a models/playlist.dart that no longer exists. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
71 lines
1.3 KiB
YAML
71 lines
1.3 KiB
YAML
name: xtremflow
|
|
description: High-performance IPTV Web Application with Xtream Codes API
|
|
publish_to: 'none'
|
|
version: 1.0.0+1
|
|
|
|
environment:
|
|
sdk: '>=3.0.0 <4.0.0'
|
|
|
|
dependencies:
|
|
flutter:
|
|
sdk: flutter
|
|
|
|
# State Management
|
|
flutter_riverpod: ^2.6.1
|
|
riverpod_annotation: ^2.6.1
|
|
|
|
# Local Database (Web IndexedDB)
|
|
hive: ^2.2.3
|
|
hive_flutter: ^1.1.0
|
|
|
|
# Networking
|
|
dio: ^5.7.0
|
|
dio_cache_interceptor: ^3.5.1
|
|
http: ^1.2.2
|
|
|
|
# Routing
|
|
go_router: ^13.2.5
|
|
|
|
# Video Player
|
|
video_player: ^2.9.1
|
|
video_player_web: ^2.3.0
|
|
video_player_web_hls: ^1.3.0
|
|
video_player_win: ^3.2.2
|
|
chewie: ^1.8.3
|
|
|
|
# UI Components
|
|
google_fonts: ^6.2.1
|
|
cached_network_image: ^3.3.1
|
|
pointer_interceptor: ^0.10.1
|
|
lottie: ^2.7.0
|
|
percent_indicator: ^4.1.0
|
|
|
|
# Security & Utils
|
|
crypto: ^3.0.3
|
|
uuid: ^4.4.0
|
|
intl: ^0.19.0
|
|
equatable: ^2.0.5
|
|
shared_preferences: ^2.3.2
|
|
|
|
# Subtitles & Media
|
|
subtitle: ^0.1.4
|
|
|
|
|
|
dev_dependencies:
|
|
flutter_test:
|
|
sdk: flutter
|
|
flutter_lints: ^3.0.2
|
|
|
|
# Code Generation
|
|
build_runner: ^2.4.13
|
|
riverpod_generator: ^2.4.0
|
|
hive_generator: ^2.0.1
|
|
|
|
flutter:
|
|
uses-material-design: true
|
|
|
|
# Polices embarquees : google_fonts detecte ces fichiers via l'AssetManifest
|
|
# et n'effectue AUCUNE requete reseau vers fonts.gstatic.com au demarrage.
|
|
assets:
|
|
- assets/google_fonts/
|