actionchip lel

This commit is contained in:
2025-06-05 11:15:16 +02:00
parent ae5f395331
commit bf77ccf8e3
3 changed files with 97 additions and 91 deletions

View File

@ -99,12 +99,13 @@ class _DetailViewState extends State<DetailView> {
tag: _tagname,
);
if (mounted && newMedia.isNotEmpty) {
setState(() => mediaItems.addAll(newMedia));
setState(() {
mediaItems.addAll(newMedia);
isLoading = false;
});
}
} catch (e) {
_showError("Fehler beim Laden weiterer Medien: $e");
} finally {
setState(() => isLoading = false);
_showError("Ein unerwarteter Fehler ist aufgetreten: $e");
}
}
@ -123,11 +124,11 @@ class _DetailViewState extends State<DetailView> {
}
void _showError(String message) {
if (mounted) {
ScaffoldMessenger.of(
context,
).showSnackBar(SnackBar(content: Text(message)));
}
if (!mounted) return;
final messenger = ScaffoldMessenger.of(context);
messenger.hideCurrentSnackBar();
messenger.showSnackBar(SnackBar(content: Text(message)));
}
@override
@ -219,23 +220,27 @@ class _DetailViewState extends State<DetailView> {
alignment: WrapAlignment.center,
spacing: 5.0,
children: item.tags.map((tag) {
return GestureDetector(
onTap: () {
if (tag.tag == 'sfw' || tag.tag == 'nsfw') return;
setState(() {
_tagname = tag.tag;
Navigator.pop(context, _tagname);
});
},
child: Chip(
label: Text(tag.tag),
backgroundColor: switch (tag.id) {
1 => Colors.green,
2 => Colors.red,
_ => const Color(0xFF090909),
},
labelStyle: const TextStyle(color: Colors.white),
return ActionChip(
label: Text(
tag.tag,
style: const TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
),
),
backgroundColor: switch (tag.id) {
1 => Colors.green,
2 => Colors.red,
_ => const Color(0xFF090909),
},
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
),
onPressed: () async {
if (tag.tag == 'sfw' || tag.tag == 'nsfw') return;
setState(() => Navigator.pop(context, tag.tag));
},
);
}).toList(),
),