Skip to content

Commit

Permalink
Added actions to AppBar for Following tab
Browse files Browse the repository at this point in the history
  • Loading branch information
HarlJo committed Mar 14, 2024
1 parent 5a7afb5 commit fcc3c99
Showing 1 changed file with 56 additions and 27 deletions.
83 changes: 56 additions & 27 deletions lib/home/_feed.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import 'package:pref/pref.dart';
import 'package:provider/provider.dart';
import 'package:quacker/forYou/_tweets.dart';
import 'package:quacker/generated/l10n.dart';
import 'package:quacker/group/_settings.dart';
import 'package:quacker/group/group_model.dart';
import 'package:quacker/group/group_screen.dart';
import 'package:quacker/home/home_screen.dart';
Expand All @@ -26,6 +27,25 @@ class _FeedScreenState extends State<FeedScreen>

UserWithExtra user = UserWithExtra();

late TabController _tabController;
int _tab = 0;

@override
void initState() {
super.initState();
_tabController = TabController(length: 2, vsync: this);
_tabController.animation!.addListener(_tabListener);
WidgetsBinding.instance.addPostFrameCallback((_) => print("hi"));
}

void _tabListener() {
if (_tab != _tabController.animation!.value.round()) {
setState(() {
_tab = _tabController.animation!.value.round();
});
}
}

@override
Widget build(BuildContext context) {
super.build(context);
Expand All @@ -34,33 +54,42 @@ class _FeedScreenState extends State<FeedScreen>
user.possiblySensitive = false;
user.screenName = "ForYou";

return DefaultTabController(
length: 2,
child: Scaffold(
appBar: AppBar(
title: Text(L10n.current.feed),
bottom: TabBar(
tabs: [Tab(child: Text(L10n.current.foryou)), Tab(child: Text(L10n.current.following))],
)),
body: TabBarView(
children: [
ForYouTweets(
user: user,
type: 'profile',
includeReplies: false,
pinnedTweets: [],
pref: PrefService.of(context)),
Provider<GroupModel>(create: (context) {
var model = GroupModel(widget.id);
model.loadGroup();
dynamic forYouTweets = ForYouTweets(
user: user, type: 'profile', includeReplies: false, pinnedTweets: [], pref: PrefService.of(context));

return Scaffold(
body: Provider<GroupModel>(create: (context) {
var model = GroupModel(widget.id);
model.loadGroup();

return model;
}, builder: (context, child) {
var model = context.read<GroupModel>();

return model;
}, builder: (context, child) {
return SubscriptionGroupScreenContent(
id: widget.id,
);
})
],
)));
return Scaffold(
appBar: AppBar(
title: Text(L10n.current.feed),
actions: _tab == 0
? [...createCommonAppBarActions(context)]
: [
IconButton(icon: const Icon(Icons.more_vert), onPressed: () => showFeedSettings(context, model)),
IconButton(
icon: const Icon(Icons.refresh_rounded),
onPressed: () async {
await model.loadGroup();
}),
...createCommonAppBarActions(context)
],
bottom: TabBar(
controller: _tabController,
tabs: [Tab(child: Text(L10n.current.foryou)), Tab(child: Text(L10n.current.following))],
)),
body: TabBarView(controller: _tabController, children: [
forYouTweets,
SubscriptionGroupScreenContent(
id: widget.id,
),
]));
}));
}
}

0 comments on commit fcc3c99

Please sign in to comment.