mirror of
https://github.com/smmarty/friflex_flutter_starter.git
synced 2025-12-22 09:30:45 +00:00
feat(update): добавить модуль управления Hard & Soft обновлений (#30)
1. Реализован интерфейс и репозитории для проверки обновлений. 2. Добавлены состояния и кубит для управления процессом обновления. 3. Созданы UI-компоненты для отображения информации об обновлениях. 4. Обновлен README.md с описанием нового модуля и его интеграции
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:friflex_starter/app/ui_kit/app_box.dart';
|
||||
import 'package:friflex_starter/features/update/domain/state/cubit/update_cubit.dart';
|
||||
|
||||
/// Блокирующий экран для обязательного обновления приложения
|
||||
class HardUpdateScreen extends StatelessWidget {
|
||||
const HardUpdateScreen({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(title: const Text('Hard Обновление')),
|
||||
body: Center(
|
||||
child: BlocBuilder<UpdateCubit, UpdateState>(
|
||||
builder: (context, updateCubitState) {
|
||||
final updateEntity = updateCubitState is UpdateSuccessState
|
||||
? updateCubitState.updateInfo
|
||||
: null;
|
||||
return Column(
|
||||
children: [
|
||||
const Text(
|
||||
'Доступна новая версия приложения. Пожалуйста, обновите его.',
|
||||
),
|
||||
const HBox(16),
|
||||
Text(
|
||||
'Доступная версия: ${updateEntity?.availableVersion ?? ''}',
|
||||
),
|
||||
const HBox(8),
|
||||
Text('Что нового: ${updateEntity?.whatIsNew ?? ''}'),
|
||||
const HBox(8),
|
||||
Text('Тип обновления: ${updateEntity?.updateType ?? ''}'),
|
||||
const HBox(8),
|
||||
Text('URL для обновления: ${updateEntity?.updateUrl ?? ''}'),
|
||||
],
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user