Skip to content

Commit 36006f2

Browse files
authored
Data views and manipulators (#6)
* Added session view/editor (with calendar oooo fancy) * Added data stats views and endpoints * Moved data to separated dirs
1 parent 50b9443 commit 36006f2

File tree

93 files changed

+7817
-281
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+7817
-281
lines changed

.github/workflows/ci.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,14 @@ jobs:
1919
runs-on: ubuntu-latest
2020
outputs:
2121
version: ${{ steps.parse.outputs.version }}
22-
flutter_version: ${{ steps.parse.outputs.flutter_version }}
2322
steps:
2423
- uses: actions/checkout@v4
2524
- name: Parse vars.yml
2625
id: parse
2726
run: |
2827
version=$(grep 'name: tk_version' vars.yml -A1 | grep 'value:' | awk '{print $2}')
29-
flutter_version=$(grep 'name: flutter_version' vars.yml -A1 | grep 'value:' | awk '{print $2}')
3028
echo "version=$version" >> "$GITHUB_OUTPUT"
31-
echo "flutter_version=$flutter_version" >> "$GITHUB_OUTPUT"
3229
echo "Version: $version"
33-
echo "Flutter: $flutter_version"
3430
3531
# ── Build Flutter web client ────────────────────────────────────────
3632
build-web-client:
@@ -41,7 +37,6 @@ jobs:
4137
- uses: actions/checkout@v4
4238
- uses: subosito/flutter-action@v2
4339
with:
44-
flutter-version: ${{ needs.read-vars.outputs.flutter_version }}
4540
channel: stable
4641
- name: Generate Flutter Icons
4742
working-directory: client
@@ -187,7 +182,6 @@ jobs:
187182

188183
- uses: subosito/flutter-action@v2
189184
with:
190-
flutter-version: ${{ needs.read-vars.outputs.flutter_version }}
191185
channel: stable
192186

193187
# Android needs Java

.github/workflows/qc.yml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,6 @@ on:
1111
- master
1212

1313
jobs:
14-
read-vars:
15-
name: Read Variables
16-
runs-on: ubuntu-latest
17-
outputs:
18-
flutter_version: ${{ steps.parse.outputs.flutter_version }}
19-
steps:
20-
- uses: actions/checkout@v4
21-
- name: Parse vars.yml
22-
id: parse
23-
run: |
24-
flutter_version=$(grep 'name: flutter_version' vars.yml -A1 | grep 'value:' | awk '{print $2}')
25-
echo "flutter_version=$flutter_version" >> "$GITHUB_OUTPUT"
26-
echo "Flutter: $flutter_version"
27-
2814
protobuf-check:
2915
name: Protobuf Linting
3016
runs-on: ubuntu-latest
@@ -62,15 +48,13 @@ jobs:
6248
run: cargo clippy --all-targets -- -D warnings
6349

6450
flutter-check:
65-
needs: [read-vars]
6651
runs-on: ubuntu-latest
6752
env:
6853
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6954
steps:
7055
- uses: actions/checkout@v4
7156
- uses: subosito/flutter-action@v2
7257
with:
73-
flutter-version: ${{ needs.read-vars.outputs.flutter_version }}
7458
channel: stable
7559
- run: flutter --version
7660
- name: Get dependencies

Cargo.lock

Lines changed: 76 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

client/lib/base/app_bar/app_bar.dart

Lines changed: 34 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import 'package:time_keeper/base/app_bar/login_action.dart';
55
import 'package:time_keeper/base/app_bar/settings_action.dart';
66
import 'package:time_keeper/base/app_bar/theme_action.dart';
77
import 'package:time_keeper/colors.dart';
8-
import 'package:time_keeper/providers/auth_provider.dart';
98
import 'package:time_keeper/providers/health_provider.dart';
109
import 'package:time_keeper/router/app_routes.dart';
1110

@@ -32,33 +31,54 @@ class BaseAppBar extends ConsumerWidget implements PreferredSizeWidget {
3231
);
3332
}
3433

34+
final routeName = state.topRoute?.name;
35+
if (routeName != null) {
36+
for (final route in AppRoute.values) {
37+
if (route.name == routeName) {
38+
return Text(
39+
route.name.toUpperCase(),
40+
style: TextStyle(fontWeight: FontWeight.bold),
41+
);
42+
}
43+
}
44+
}
45+
3546
return null;
3647
}
3748

38-
Widget _leading(BuildContext context, String username) {
39-
// Show home button only when not on home page
49+
Widget _leading(BuildContext context) {
4050
final isHomePage = state.matchedLocation == '/';
4151

42-
if (isHomePage) {
43-
return Center(
44-
child: Text(username, style: TextStyle(fontWeight: FontWeight.bold)),
45-
); // Hide button on home page
46-
}
47-
48-
return IconButton(
49-
icon: Icon(Icons.home),
50-
onPressed: () => AppRoute.kiosk.go(context),
52+
return Row(
53+
mainAxisSize: MainAxisSize.min,
54+
children: [
55+
if (!isHomePage)
56+
IconButton(
57+
icon: Icon(Icons.home),
58+
onPressed: () => AppRoute.kiosk.go(context),
59+
),
60+
IconButton(
61+
icon: Icon(Icons.leaderboard),
62+
tooltip: 'Leaderboard',
63+
onPressed: () => AppRoute.leaderboard.go(context),
64+
),
65+
IconButton(
66+
icon: Icon(Icons.calendar_month),
67+
tooltip: 'Calendar',
68+
onPressed: () => AppRoute.calendar.go(context),
69+
),
70+
],
5171
);
5272
}
5373

5474
@override
5575
Widget build(BuildContext context, WidgetRef ref) {
5676
final isConnected = ref.watch(isConnectedProvider).value ?? false;
57-
final username = ref.watch(usernameProvider);
5877

5978
return AppBar(
6079
backgroundColor: isConnected ? null : supportErrorColor,
61-
leading: _leading(context, username ?? ''),
80+
leadingWidth: 120,
81+
leading: _leading(context),
6282
title: _title(isConnected, ref),
6383
actions: _actions(),
6484
);

client/lib/base/base_rail.dart

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,16 @@ class BaseRail extends HookConsumerWidget {
5555
label: Text('Team'),
5656
),
5757
NavigationRailDestination(
58-
icon: Icon(Icons.help),
59-
label: Text('Help'),
58+
icon: Icon(Icons.event_note),
59+
label: Text('Sessions'),
60+
),
61+
NavigationRailDestination(
62+
icon: Icon(Icons.location_on),
63+
label: Text('Locations'),
64+
),
65+
NavigationRailDestination(
66+
icon: Icon(Icons.analytics),
67+
label: Text('Stats'),
6068
),
6169
],
6270
),

client/lib/generated/api/api.pb.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export 'location.pb.dart';
2020
export 'schedule.pb.dart';
2121
export 'session.pb.dart';
2222
export 'settings.pb.dart';
23+
export 'stats.pb.dart';
2324
export 'team_member.pb.dart';
2425
export 'user.pb.dart';
2526

client/lib/generated/api/api.pbenum.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ export 'location.pbenum.dart';
1414
export 'schedule.pbenum.dart';
1515
export 'session.pbenum.dart';
1616
export 'settings.pbenum.dart';
17+
export 'stats.pbenum.dart';
1718
export 'team_member.pbenum.dart';
1819
export 'user.pbenum.dart';

0 commit comments

Comments
 (0)