fix: Filter buttons not working (#342)

Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
PartyDonut 2025-05-17 13:53:59 +02:00 committed by GitHub
parent da7ad3c2c5
commit 4d7c89b9eb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,12 +1,11 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:fladder/models/library_search/library_search_model.dart'; import 'package:fladder/models/library_search/library_search_model.dart';
import 'package:fladder/providers/library_search_provider.dart'; import 'package:fladder/providers/library_search_provider.dart';
import 'package:fladder/screens/shared/default_alert_dialog.dart'; import 'package:fladder/screens/shared/default_alert_dialog.dart';
import 'package:fladder/screens/shared/flat_button.dart';
import 'package:fladder/screens/shared/outlined_text_field.dart'; import 'package:fladder/screens/shared/outlined_text_field.dart';
import 'package:fladder/util/list_padding.dart'; import 'package:fladder/util/list_padding.dart';
import 'package:fladder/util/localization_helper.dart'; import 'package:fladder/util/localization_helper.dart';
@ -43,6 +42,7 @@ class LibrarySavedFiltersDialogue extends ConsumerWidget {
child: Padding( child: Padding(
padding: const EdgeInsets.all(16), padding: const EdgeInsets.all(16),
child: Column( child: Column(
spacing: 4,
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
Text( Text(
@ -60,7 +60,7 @@ class LibrarySavedFiltersDialogue extends ConsumerWidget {
return Container( return Container(
margin: const EdgeInsets.symmetric(vertical: 4), margin: const EdgeInsets.symmetric(vertical: 4),
child: Card( child: Card(
child: FlatButton( child: InkWell(
onTap: () => provider.loadModel(filter), onTap: () => provider.loadModel(filter),
child: Padding( child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 6), padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 6),
@ -130,22 +130,29 @@ class LibrarySavedFiltersDialogue extends ConsumerWidget {
const Divider(), const Divider(),
], ],
if (filters.length < 10) if (filters.length < 10)
Row( StatefulBuilder(builder: (context, setState) {
children: [ return Row(
Flexible( children: [
child: OutlinedTextField( Flexible(
controller: controller, child: OutlinedTextField(
label: context.localized.name, controller: controller,
onSubmitted: (value) => provider.saveFiltersNew(value), label: context.localized.name,
onChanged: (value) => setState(() {}),
onSubmitted: (value) => provider.saveFiltersNew(value),
),
), ),
), const SizedBox(width: 6),
const SizedBox(width: 6), FilledButton.tonal(
FilledButton.tonal( onPressed: controller.text.isEmpty
onPressed: () => provider.saveFiltersNew(controller.text), ? null
child: const Icon(IconsaxPlusLinear.save_2), : () {
), provider.saveFiltersNew(controller.text);
], },
) child: const Icon(IconsaxPlusLinear.save_2),
),
],
);
})
else else
Text(context.localized.libraryFiltersLimitReached), Text(context.localized.libraryFiltersLimitReached),
ElevatedButton( ElevatedButton(