feat(app): Добавить снекбар

This commit is contained in:
PetrovY
2025-06-06 16:45:40 +03:00
parent ff6fe50b2b
commit 9ddeb73852
17 changed files with 1013 additions and 204 deletions

View File

@@ -0,0 +1,52 @@
import 'package:flutter/material.dart';
import 'package:friflex_starter/app/ui_kit/app_box.dart';
import 'package:friflex_starter/app/ui_kit/app_snackbar.dart';
/// {@template ComponentsScreen}
/// Экран для демонстрации компонентов приложения.
/// {@endtemplate}
class ComponentsScreen extends StatefulWidget {
/// {@macro ComponentsScreen}
const ComponentsScreen({super.key});
@override
State<ComponentsScreen> createState() => _ComponentsScreenState();
}
class _ComponentsScreenState extends State<ComponentsScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Компоненты')),
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
const HBox(16),
ElevatedButton(
onPressed: () {
AppSnackBar.showError(
context,
message:
'Произошла ошибка, это просто длинное сообщение, для проверки, которое занимает 3 строчки',
);
},
child: const Text('Показать снекбар с ошибкой'),
),
const HBox(16),
ElevatedButton(
onPressed: () {
AppSnackBar.showSuccess(
context: context,
message:
'Все супер, это просто длинное сообщение, для проверки, которое занимает 3 строчки',
);
},
child: const Text('Показать снекбар с успехом'),
),
],
),
),
);
}
}

View File

@@ -1,9 +1,12 @@
import 'package:flutter/material.dart';
import 'package:friflex_starter/app/app_box.dart';
import 'package:friflex_starter/app/ui_kit/app_box.dart';
import 'package:friflex_starter/app/app_context_ext.dart';
import 'package:friflex_starter/features/debug/debug_routes.dart';
import 'package:go_router/go_router.dart';
/// {@template debug_screen}
/// Экран для отладки приложения
/// {@endtemplate}
class DebugScreen extends StatelessWidget {
const DebugScreen({super.key});

View File

@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:friflex_starter/app/app_box.dart';
import 'package:friflex_starter/app/ui_kit/app_box.dart';
import 'package:friflex_starter/gen/assets.gen.dart';
/// {@template IconsScreen}