Skip to content

Commit 0a459e2

Browse files
committed
main menu refactored
1 parent 21b2d76 commit 0a459e2

File tree

1 file changed

+2
-34
lines changed

1 file changed

+2
-34
lines changed

lib/core/presentation/pages/main_menu.dart

Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,10 @@
44
*/
55

66
import 'dart:convert';
7-
import 'package:firebase_remote_config/firebase_remote_config.dart';
87
import 'package:flutter/material.dart';
98
import 'package:flutter_ui_challenges/core/data/favorite_firestore_service.dart';
109
import 'package:flutter_ui_challenges/core/data/models/menu.dart';
11-
import 'package:flutter_ui_challenges/core/data/models/survey.dart';
1210
import 'package:flutter_ui_challenges/core/presentation/widgets/preview.dart';
13-
import 'package:flutter_ui_challenges/core/presentation/widgets/survey_widget.dart';
14-
import 'package:flutter_ui_challenges/features/announcements/data/model/announcement.dart';
15-
import 'package:flutter_ui_challenges/features/announcements/widgets/announcement_slider.dart';
1611
import 'package:flutter_ui_challenges/features/auth/data/model/user.dart';
1712
import 'package:flutter_ui_challenges/features/auth/data/model/user_repository.dart';
1813
import 'package:package_info/package_info.dart';
@@ -26,24 +21,20 @@ class MainMenu extends StatefulWidget {
2621
}
2722

2823
class _MainMenuState extends State<MainMenu> {
29-
RemoteConfig remoteConfig;
3024
Map<String, bool> viewData = <String, bool>{};
31-
List<SubMenuItem> unseen;
3225
bool viewDataLoaded;
26+
List<SubMenuItem> unseen;
3327
bool dialogShowing;
3428
bool showNewUiDialog;
35-
List<Announcement> announcements;
36-
SurveyItem survey;
29+
3730
@override
3831
void initState() {
3932
super.initState();
4033
unseen = [];
4134
viewDataLoaded = false;
4235
dialogShowing = false;
4336
showNewUiDialog = false;
44-
announcements = [];
4537
_getViewData();
46-
_getRemoteConfig();
4738
}
4839

4940
_getViewData() async {
@@ -59,26 +50,6 @@ class _MainMenuState extends State<MainMenu> {
5950
return;
6051
}
6152

62-
_getRemoteConfig() async {
63-
if(remoteConfig == null)
64-
remoteConfig = await RemoteConfig.instance;
65-
final Map<String, dynamic> defaults = {
66-
"news": "[]",
67-
"survey":{},
68-
};
69-
await remoteConfig.setDefaults(defaults);
70-
await remoteConfig.fetch(expiration: const Duration(hours: 12));
71-
await remoteConfig.activateFetched();
72-
final String value = remoteConfig.getString('news');
73-
final String surval = remoteConfig.getString('survey');
74-
setState(() {
75-
announcements = List<Map<String, dynamic>>.from(json.decode(value))
76-
.map((data) => Announcement.fromMap(data))
77-
.toList();
78-
survey = SurveyItem.fromMap(Map<String, dynamic>.from(json.decode(surval)));
79-
});
80-
}
81-
8253
_writeViewData() async {
8354
SharedPreferences prefs = await SharedPreferences.getInstance();
8455
await prefs.setString("page_view_data", json.encode(viewData));
@@ -88,13 +59,10 @@ class _MainMenuState extends State<MainMenu> {
8859
Widget build(BuildContext context) => _buildMenuPage();
8960

9061
ListView _buildMenuPage() {
91-
User user = Provider.of<User>(context);
9262
if (showNewUiDialog && viewDataLoaded) _checkToShowDialog(context);
9363
return ListView(
9464
physics: BouncingScrollPhysics(),
9565
children: <Widget>[
96-
if (announcements.length > 0) AnnouncementSlider(news: announcements),
97-
if(survey != null && user != null && !user.surveys.contains(survey?.id)) SurveyWidget(survey: survey),
9866
...pages.map((page) => page is MenuItem
9967
? _buildExpandableMenu(page, context)
10068
: _buildSubMenu(page, context))

0 commit comments

Comments
 (0)