Skip to content

Commit fbbae89

Browse files
committed
Add enabled attribute to LoadingListTile.
Disable nav drawer feed items if piefed feed and not logged into piefed. Fetch nav drawer state on feed load rather than on first access of nav drawer.
1 parent 5456116 commit fbbae89

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

lib/src/screens/feed/feed_screen.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,14 @@ class _FeedScreenState extends State<FeedScreen>
9999
.read<AppController>()
100100
.profile
101101
.feedDefaultHideReadPosts;
102+
103+
() async {
104+
final drawerState = await fetchNavDrawerState(context.read<AppController>());
105+
if (!mounted) return;
106+
setState(() {
107+
_navDrawPersistentState = drawerState;
108+
});
109+
} ();
102110
}
103111

104112
@override

lib/src/screens/feed/nav_drawer.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,7 @@ class _NavDrawerState extends State<NavDrawer> {
246246
...ac.feeds.entries.map(
247247
(feed) => LoadingListTile(
248248
title: Text(feed.value.name),
249+
enabled: !(feed.value.serverFeed && ac.serverSoftware != ServerSoftware.piefed),
249250
onTap: () async {
250251
final aggregator = await FeedAggregator.create(
251252
ac,

lib/src/widgets/loading_list_tile.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,15 @@ class LoadingListTile extends StatefulWidget {
2323
final Widget? title;
2424
final Widget? subtitle;
2525
final Widget? trailing;
26+
final bool enabled;
2627

2728
const LoadingListTile({
2829
required this.onTap,
2930
this.leading,
3031
this.title,
3132
this.subtitle,
3233
this.trailing,
34+
this.enabled = true,
3335
super.key,
3436
});
3537

@@ -42,7 +44,6 @@ class _LoadingListTileState extends State<LoadingListTile> {
4244

4345
@override
4446
Widget build(BuildContext context) {
45-
final color = widget.onTap == null ? Theme.of(context).disabledColor : null;
4647

4748
return ListTile(
4849
leading: widget.leading,
@@ -61,8 +62,7 @@ class _LoadingListTileState extends State<LoadingListTile> {
6162
}
6263
},
6364
trailing: _isLoading ? _LoadingTileIndicator() : widget.trailing,
64-
textColor: color,
65-
iconColor: color,
65+
enabled: widget.enabled,
6666
);
6767
}
6868
}

0 commit comments

Comments
 (0)