Skip to content

Commit 9bd4e48

Browse files
committed
Fix tag edit button not showing on tag screen
1 parent d2fc696 commit 9bd4e48

1 file changed

Lines changed: 32 additions & 54 deletions

File tree

lib/src/widgets/tags/tag_screen.dart

Lines changed: 32 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ class _TagsListState extends State<TagsList> {
3535
@override
3636
void didUpdateWidget(covariant TagsList oldWidget) {
3737
super.didUpdateWidget(oldWidget);
38-
if (widget.availableTags != _availableTags) {
38+
if (widget.availableTags != null &&
39+
widget.availableTags != _availableTags) {
3940
setState(() {
4041
_availableTags = widget.availableTags!;
4142
});
@@ -147,30 +148,28 @@ class _TagsListState extends State<TagsList> {
147148
icon: Icon(Symbols.person_rounded),
148149
),
149150
onTap: widget.onUpdate != null ? () => toggleTag(!isActive) : null,
150-
trailing: widget.availableTags != null
151-
? null
152-
: IconButton(
153-
onPressed: () => pushRoute(
154-
context,
155-
builder: (context) => TagEditor(
156-
tag: tag,
157-
onUpdate: (tag) => setState(() {
158-
final newAvailableTags = [..._availableTags];
159-
160-
if (tag == null) {
161-
newAvailableTags.removeAt(index);
162-
} else {
163-
newAvailableTags[index] = tag;
164-
}
165-
166-
setState(() {
167-
_availableTags = newAvailableTags;
168-
});
169-
}),
170-
),
171-
),
172-
icon: const Icon(Symbols.edit_rounded),
173-
),
151+
trailing: IconButton(
152+
onPressed: () => pushRoute(
153+
context,
154+
builder: (context) => TagEditor(
155+
tag: tag,
156+
onUpdate: (tag) => setState(() {
157+
final newAvailableTags = [..._availableTags];
158+
159+
if (tag == null) {
160+
newAvailableTags.removeAt(index);
161+
} else {
162+
newAvailableTags[index] = tag;
163+
}
164+
165+
setState(() {
166+
_availableTags = newAvailableTags;
167+
});
168+
}),
169+
),
170+
),
171+
icon: const Icon(Symbols.edit_rounded),
172+
),
174173
);
175174
},
176175
),
@@ -326,18 +325,7 @@ class TagsFloatingButton extends StatelessWidget {
326325
}
327326

328327
class TagsScreen extends StatefulWidget {
329-
const TagsScreen({
330-
super.key,
331-
this.activeTags,
332-
this.availableTags,
333-
this.username,
334-
this.onUpdate,
335-
});
336-
337-
final List<Tag>? activeTags;
338-
final List<Tag>? availableTags;
339-
final void Function(List<Tag>)? onUpdate;
340-
final String? username;
328+
const TagsScreen({super.key});
341329

342330
@override
343331
State<TagsScreen> createState() => _TagsScreenState();
@@ -349,29 +337,19 @@ class _TagsScreenState extends State<TagsScreen> {
349337
@override
350338
void initState() {
351339
super.initState();
352-
if (widget.availableTags != null) {
353-
setState(() {
354-
_availableTags = widget.availableTags!;
355-
});
356-
} else {
357-
context.read<AppController>().getTags().then(
358-
(tags) => setState(() {
359-
_availableTags = tags;
360-
}),
361-
);
362-
}
340+
341+
context.read<AppController>().getTags().then(
342+
(tags) => setState(() {
343+
_availableTags = tags;
344+
}),
345+
);
363346
}
364347

365348
@override
366349
Widget build(BuildContext context) {
367350
return Scaffold(
368351
appBar: AppBar(title: Text(l(context).tags)),
369-
body: TagsList(
370-
activeTags: widget.activeTags,
371-
availableTags: _availableTags,
372-
username: widget.username,
373-
onUpdate: widget.onUpdate,
374-
),
352+
body: TagsList(availableTags: _availableTags),
375353
floatingActionButton: TagsFloatingButton(
376354
onUpdate: (newTag) {
377355
setState(() {

0 commit comments

Comments
 (0)