feat(app): the home dashboard: streak, goal, week, activity
Home opens on a study dashboard. The streak's flame sits in the app bar and opens a sheet of how it stands this week. Below: the study goal (a ring of the day's or week's progress, set and removed in its sheet), the week (each day studied, rested, missed or to come with the cards falling due; days to go back and on; today or a day to come made a rest day), and a year of activity as a heatmap, its weekdays staying in view while the weeks scroll. A long press arranges the dashboard: drag a widget elsewhere, hide or show it; the arrangement is synced. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
d846ee4582
commit
111532435f
2 changed files with 1747 additions and 63 deletions
|
|
@ -1,6 +1,7 @@
|
|||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:halkyon_learn_flutter/src/core/content/rich_content.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/auth/model/github_link_outcome.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/home/widget/home_screen.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/studyset/data/studyset_payload.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/studyset/model/studyset_content.dart';
|
||||
|
||||
|
|
@ -185,9 +186,6 @@ void main() {
|
|||
|
||||
expect(auth.gitHubSwitches, 1);
|
||||
expect(find.text('Switch to your GitHub account?'), findsNothing);
|
||||
expect(
|
||||
find.text('Your studysets and cards are in your library.'),
|
||||
findsOneWidget,
|
||||
);
|
||||
expect(find.byType(HomeScreen), findsOneWidget);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/auth/model/auth_status.dart';
|
||||
import 'package:halkyon_learn_flutter/src/feature/home/widget/home_screen.dart';
|
||||
|
||||
import '../../../support/fake_auth_gateway.dart';
|
||||
import '../../../support/pump_app.dart';
|
||||
|
|
@ -10,8 +11,8 @@ void main() {
|
|||
|
||||
setUp(() => gateway = FakeAuthGateway());
|
||||
|
||||
/// What the home tab says.
|
||||
final home = find.text('Your studysets and cards are in your library.');
|
||||
/// The home tab.
|
||||
final home = find.byType(HomeScreen);
|
||||
|
||||
Future<void> showApp(WidgetTester tester) =>
|
||||
pumpApp(tester, testDependencies(authGateway: gateway));
|
||||
|
|
|
|||
Loading…
Reference in a new issue