Добавлено удаление коллекций
This commit is contained in:
@@ -5,15 +5,36 @@ import 'package:remever/common/functions.dart';
|
||||
import 'package:remever/common/resources.dart';
|
||||
import 'package:remever/common/widgets/bottom_safe_space.dart';
|
||||
import 'package:remever/components/extensions/context.dart';
|
||||
import 'package:remever/database/database.dart';
|
||||
import 'package:remever/gen/assets.gen.dart';
|
||||
import 'package:remever/inject.dart';
|
||||
import 'package:remever/router.gr.dart';
|
||||
import 'package:remever/screens/crud_collection/crud_collection.dart';
|
||||
import 'package:remever/screens/dialogs/alert_dialog.dart';
|
||||
import 'package:remever/screens/dialogs/dialog_header.dart';
|
||||
import 'package:remever/screens/dialogs/dialog_item.dart';
|
||||
import 'package:remever/services/collection/collections_interface.dart';
|
||||
|
||||
class ActionDialog extends StatelessWidget {
|
||||
const ActionDialog({super.key});
|
||||
const ActionDialog({super.key, required this.collection});
|
||||
|
||||
final Collection collection;
|
||||
|
||||
void _makePublic(BuildContext context, bool public) {
|
||||
if (public) {
|
||||
showCuperModalBottomSheet(
|
||||
context: context,
|
||||
height: 282.h,
|
||||
builder:
|
||||
(BuildContext context) => const AlertInfoDialog(
|
||||
title:
|
||||
'Коллекция станет видна всем пользователям сервиса.\nЕё будет проще найти по тэгам ;)',
|
||||
acceptTitle: 'Позже добавлю',
|
||||
declineTitle: 'Добавить тэги',
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -27,23 +48,11 @@ class ActionDialog extends StatelessWidget {
|
||||
fit: BoxFit.contain,
|
||||
child: CupertinoSwitch(
|
||||
activeTrackColor: AppColors.primary,
|
||||
value: true,
|
||||
onChanged: (bool value) {},
|
||||
value: collection.isPublic,
|
||||
onChanged: (bool value) => _makePublic(context, value),
|
||||
),
|
||||
),
|
||||
onTap: () {
|
||||
showCuperModalBottomSheet(
|
||||
context: context,
|
||||
height: 282.h,
|
||||
builder:
|
||||
(BuildContext context) => const AlertInfoDialog(
|
||||
title:
|
||||
'Коллекция станет видна всем пользователям сервиса.\nЕё будет проще найти по тэгам ;)',
|
||||
acceptTitle: 'Позже добавлю',
|
||||
declineTitle: 'Добавить тэги',
|
||||
),
|
||||
);
|
||||
},
|
||||
onTap: () => _makePublic(context, collection.isPublic),
|
||||
),
|
||||
DialogItem(
|
||||
title: 'Исключена из тренировки',
|
||||
@@ -57,7 +66,9 @@ class ActionDialog extends StatelessWidget {
|
||||
child: Assets.icons.typeEdit.image(color: AppColors.primary),
|
||||
onTap: () {
|
||||
// context.back();
|
||||
context.pushRoute(CrudCollectionRoute(crudType: CrudType.EDIT));
|
||||
context.pushRoute(
|
||||
CrudCollectionRoute(editedCollection: collection),
|
||||
);
|
||||
},
|
||||
),
|
||||
DialogItem(
|
||||
@@ -84,8 +95,8 @@ class ActionDialog extends StatelessWidget {
|
||||
DialogItem(
|
||||
title: 'Удалить',
|
||||
color: AppColors.danger,
|
||||
onTap: () {
|
||||
showCuperModalBottomSheet(
|
||||
onTap: () async {
|
||||
final bool? res = await showCuperModalBottomSheet(
|
||||
context: context,
|
||||
height: 262.h,
|
||||
builder:
|
||||
@@ -96,6 +107,14 @@ class ActionDialog extends StatelessWidget {
|
||||
declineTitle: 'Нет, оставить',
|
||||
),
|
||||
);
|
||||
|
||||
if (true) {
|
||||
await getIt<CollectionsInterface>().deleteCollection(
|
||||
collection.id,
|
||||
);
|
||||
|
||||
Navigator.pop(context);
|
||||
}
|
||||
},
|
||||
child: Assets.icons.typeTrash.image(color: AppColors.danger),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user