mirror of
https://gitlab.com/foxixus/neomovies_mobile.git
synced 2025-10-27 17:18:51 +05:00
1e5451859ff6c48464fc5216e362de06f08c043d
1. Fix Downloads screen gray screen issue: - Add DownloadsProvider to main.dart providers list - Remove @RoutePage() decorator from DownloadsScreen - Downloads screen now displays torrent list correctly 2. Fix movie detail screen gray screen issue: - Improve Movie.fromJson() with better error handling - Safe parsing of genres field (handles both Map and String formats) - Add fallback 'Untitled' for movies without title - Add detailed logging in MovieDetailProvider - Better error messages with stack traces 3. Add automatic version update from CI/CD tags: - GitLab CI: Update pubspec.yaml version from CI_COMMIT_TAG before build - GitHub Actions: Update pubspec.yaml version from GITHUB_REF before build - Version format: tag v0.0.18 becomes version 0.0.18+18 - Applies to all build jobs (arm64, arm32, x64) How versioning works: - When you create tag v0.0.18, CI automatically updates pubspec.yaml - Build uses version 0.0.18+18 (version+buildNumber) - APK shows correct version in About screen and Google Play - No manual pubspec.yaml updates needed Example: - Create tag: git tag v0.0.18 && git push origin v0.0.18 - CI reads tag, extracts '0.0.18' - Updates: version: 0.0.18+18 in pubspec.yaml - Builds APK with this version - Release created with proper version number Changes: - lib/main.dart: Add DownloadsProvider - lib/presentation/screens/downloads/downloads_screen.dart: Remove @RoutePage - lib/data/models/movie.dart: Safe JSON parsing with error handling - lib/presentation/providers/movie_detail_provider.dart: Add detailed logging - .gitlab-ci.yml: Add version update script in all build jobs - .github/workflows/release.yml: Add version update step in all build jobs Result: ✅ Downloads screen displays properly ✅ Movie details screen loads correctly ✅ Automatic versioning from tags (0.0.18, 0.0.19, etc.) ✅ No more gray screens!
NeoMovies Mobile 🎬
Мобильное приложение для просмотра фильмов и сериалов, созданное на Flutter.
Возможности
- 📱 Кроссплатформенное приложение (Android/iOS(пока не реализовано))
- 🎥 Просмотр фильмов и сериалов через WebView
- 🌙 Поддержка динамической темы
- 💾 Локальное кэширование данных
- 🔒 Безопасное хранение данных
- 🚀 Быстрая загрузка контента
- 🎨 Современный Material Design интерфейс
Технологии
- Flutter - основной фреймворк
- Provider - управление состоянием
- Hive - локальная база данных
- HTTP - сетевые запросы
- WebView - воспроизведение видео
- Cached Network Image - кэширование изображений
- Google Fonts - красивые шрифты
Установка
- Клонируйте репозиторий:
git clone https://gitlab.com/foxixus/neomovies_mobile.git
cd neomovies_mobile
- Установите зависимости:
flutter pub get
- Создайте файл
.envв корне проекта:
API_URL=your_api_url_here
- Запустите приложение:
flutter run
Сборка
Android APK
flutter build apk --release
iOS
flutter build ios --release
Структура проекта
lib/
├── main.dart # Точка входа
├── models/ # Модели данных
├── services/ # API сервисы
├── providers/ # State management
├── screens/ # Экраны приложения
├── widgets/ # Переиспользуемые виджеты
└── utils/ # Утилиты и константы
Системные требования
- Flutter SDK: 3.8.1+
- Dart: 3.8.1+
- Android: API 21+ (Android 5.0+)
- iOS: iOS 11.0+
Участие в разработке
- Форкните репозиторий
- Создайте ветку для новой функции (
git checkout -b feature/amazing-feature) - Внесите изменения и закоммитьте (
git commit -m 'Add amazing feature') - Отправьте изменения в ветку (
git push origin feature/amazing-feature) - Создайте Pull Request
Лицензия
Этот проект лицензирован под Apache 2.0 License - подробности в файле LICENSE.
Контакты
Если у вас есть вопросы или предложения, создайте issue в этом репозитории.
Description
Languages
Dart
80.2%
Kotlin
9.7%
C++
5.1%
CMake
3.9%
Swift
0.6%
Other
0.5%