File tree Expand file tree Collapse file tree 3 files changed +33
-1
lines changed
Expand file tree Collapse file tree 3 files changed +33
-1
lines changed Original file line number Diff line number Diff line change @@ -142,6 +142,14 @@ class BangDataRepository extends _$BangDataRepository {
142142 .deleteWhere ((t) => t.trigger.equals (trigger));
143143 }
144144
145+ Future <BangData ?> getBang (BangKey key) {
146+ return ref
147+ .read (bangDatabaseProvider)
148+ .bangDao
149+ .getBangData (key.group, key.trigger)
150+ .getSingleOrNull ();
151+ }
152+
145153 Future <void > upsertBang (Bang bang) {
146154 return ref.read (bangDatabaseProvider).bangDao.upsertBang (bang);
147155 }
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ import 'package:weblibre/features/bangs/data/models/bang_key.dart';
1010import 'package:weblibre/features/bangs/domain/providers/bangs.dart' ;
1111import 'package:weblibre/features/bangs/domain/repositories/data.dart' ;
1212import 'package:weblibre/utils/form_validators.dart' ;
13+ import 'package:weblibre/utils/ui_helper.dart' as ui_helper;
1314
1415class EditBangScreen extends HookConsumerWidget {
1516 final Bang ? initialBang;
@@ -44,6 +45,29 @@ class EditBangScreen extends HookConsumerWidget {
4445 IconButton (
4546 onPressed: () async {
4647 if (formKey.currentState? .validate () ?? false ) {
48+ final existingBang = await ref
49+ .read (bangDataRepositoryProvider.notifier)
50+ .getBang (
51+ BangKey (
52+ group: BangGroup .user,
53+ trigger: triggerTextController.text,
54+ ),
55+ );
56+
57+ if ((initialBang == null && existingBang != null ) ||
58+ (initialBang != null &&
59+ existingBang != null &&
60+ existingBang.trigger != initialBang! .trigger)) {
61+ if (context.mounted) {
62+ ui_helper.showErrorMessage (
63+ context,
64+ 'A Bang with Trigger "${triggerTextController .text }" does already exist' ,
65+ );
66+ }
67+
68+ return ;
69+ }
70+
4771 final uri = Uri .parse (urlTextController.text);
4872
4973 final bang = Bang (
You can’t perform that action at this time.
0 commit comments