Skip to content

Commit ed352e7

Browse files
committed
Upcoming features
1 parent 564ad2b commit ed352e7

File tree

1 file changed

+98
-48
lines changed

1 file changed

+98
-48
lines changed

lib/ui/screens/home/dashboard/tab_dashboard.dart

Lines changed: 98 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -95,55 +95,10 @@ class TabDashboard extends ConsumerWidget {
9595
),
9696

9797
/// Restrictions
98-
ContentSectionHeader(
99-
title: context.locale.restrictions_heading,
100-
),
101-
102-
/// Apps blocking
103-
DefaultListTile(
104-
position: ItemPosition.top,
105-
leadingIcon: FluentIcons.app_title_20_regular,
106-
titleText: context.locale.apps_blocking_tile_title,
107-
subtitleText: context.locale.apps_blocking_tile_subtitle,
108-
onPressed: () =>
109-
TabControllerProvider.maybeOf(context)?.animateToTab(
110-
DefaultHomeTab.statistics.index,
111-
),
112-
),
113-
114-
/// Grouped apps blocking
115-
DefaultListTile(
116-
position: ItemPosition.mid,
117-
leadingIcon: FluentIcons.app_recent_20_regular,
118-
titleText: context.locale.grouped_apps_blocking_tile_title,
119-
subtitleText:
120-
context.locale.grouped_apps_blocking_tile_subtitle,
121-
trailing: const Icon(FluentIcons.chevron_right_20_regular),
122-
onPressed: () => Navigator.of(context)
123-
.pushNamed(AppRoutes.restrictionGroupsPath),
124-
),
98+
..._restrictions(context),
12599

126-
/// Shorts restrictions
127-
DefaultListTile(
128-
position: ItemPosition.mid,
129-
leadingIcon: FluentIcons.resize_video_20_regular,
130-
titleText: context.locale.shorts_blocking_tab_title,
131-
subtitleText: context.locale.shorts_blocking_tile_subtitle,
132-
trailing: const Icon(FluentIcons.chevron_right_20_regular),
133-
onPressed: () => Navigator.of(context)
134-
.pushNamed(AppRoutes.shortsBlockingPath),
135-
),
136-
137-
/// Website restrictions
138-
DefaultListTile(
139-
position: ItemPosition.bottom,
140-
leadingIcon: FluentIcons.earth_20_regular,
141-
titleText: context.locale.websites_blocking_tab_title,
142-
subtitleText: context.locale.websites_blocking_tile_subtitle,
143-
trailing: const Icon(FluentIcons.chevron_right_20_regular),
144-
onPressed: () => Navigator.of(context)
145-
.pushNamed(AppRoutes.websitesBlockingPath),
146-
),
100+
/// Productivity
101+
..._productivity(context),
147102
].animateListOnce(
148103
ref: ref,
149104
uniqueKey: "home.dashboard",
@@ -161,4 +116,99 @@ class TabDashboard extends ConsumerWidget {
161116
),
162117
);
163118
}
119+
120+
static List<Widget> _restrictions(BuildContext context) => [
121+
/// Restrictions
122+
ContentSectionHeader(
123+
title: context.locale.restrictions_heading,
124+
),
125+
126+
/// Apps blocking
127+
DefaultListTile(
128+
position: ItemPosition.top,
129+
leadingIcon: FluentIcons.app_title_20_regular,
130+
titleText: context.locale.apps_blocking_tile_title,
131+
subtitleText: context.locale.apps_blocking_tile_subtitle,
132+
onPressed: () => TabControllerProvider.maybeOf(context)?.animateToTab(
133+
DefaultHomeTab.statistics.index,
134+
),
135+
),
136+
137+
/// Grouped apps blocking
138+
DefaultListTile(
139+
position: ItemPosition.mid,
140+
leadingIcon: FluentIcons.app_recent_20_regular,
141+
titleText: context.locale.grouped_apps_blocking_tile_title,
142+
subtitleText: context.locale.grouped_apps_blocking_tile_subtitle,
143+
trailing: const Icon(FluentIcons.chevron_right_20_regular),
144+
onPressed: () =>
145+
Navigator.of(context).pushNamed(AppRoutes.restrictionGroupsPath),
146+
),
147+
148+
/// Shorts restrictions
149+
DefaultListTile(
150+
position: ItemPosition.mid,
151+
leadingIcon: FluentIcons.resize_video_20_regular,
152+
titleText: context.locale.shorts_blocking_tab_title,
153+
subtitleText: context.locale.shorts_blocking_tile_subtitle,
154+
trailing: const Icon(FluentIcons.chevron_right_20_regular),
155+
onPressed: () =>
156+
Navigator.of(context).pushNamed(AppRoutes.shortsBlockingPath),
157+
),
158+
159+
/// Website restrictions
160+
DefaultListTile(
161+
position: ItemPosition.bottom,
162+
leadingIcon: FluentIcons.earth_20_regular,
163+
titleText: context.locale.websites_blocking_tab_title,
164+
subtitleText: context.locale.websites_blocking_tile_subtitle,
165+
trailing: const Icon(FluentIcons.chevron_right_20_regular),
166+
onPressed: () =>
167+
Navigator.of(context).pushNamed(AppRoutes.websitesBlockingPath),
168+
),
169+
];
170+
171+
static List<Widget> _productivity(BuildContext context) => [
172+
/// Productivity
173+
const ContentSectionHeader(title: "Productivity"),
174+
175+
/// Habits
176+
DefaultListTile(
177+
position: ItemPosition.top,
178+
leadingIcon: FluentIcons.drink_coffee_20_regular,
179+
titleText: "Habits",
180+
subtitleText: "Build better habits and track them.",
181+
trailing: const Icon(FluentIcons.chevron_right_20_regular),
182+
onPressed: () => context.showSnackAlert(
183+
"Coming soon...",
184+
icon: FluentIcons.info_20_filled,
185+
),
186+
),
187+
188+
/// Tasks and todos
189+
DefaultListTile(
190+
position: ItemPosition.mid,
191+
leadingIcon: FluentIcons.reading_list_20_regular,
192+
titleText: "Tasks and todos",
193+
subtitleText: "Plan your future with tasks and todos.",
194+
trailing: const Icon(FluentIcons.chevron_right_20_regular),
195+
onPressed: () => context.showSnackAlert(
196+
"Coming soon...",
197+
icon: FluentIcons.info_20_filled,
198+
),
199+
),
200+
201+
/// Notes & lists
202+
DefaultListTile(
203+
position: ItemPosition.bottom,
204+
leadingIcon: FluentIcons.note_20_regular,
205+
titleText: "Notes and lists",
206+
subtitleText: "Capture thoughts, checklists, or ideas.",
207+
trailing: const Icon(FluentIcons.chevron_right_20_regular),
208+
onPressed: () => context.showSnackAlert(
209+
"Coming soon...",
210+
icon: FluentIcons.info_20_filled,
211+
),
212+
),
213+
];
164214
}

0 commit comments

Comments
 (0)