Skip to content

Commit 2a816c6

Browse files
committed
feat: Navigate to library home while tapping the Rune navigation link
1 parent 4646681 commit 2a816c6

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-4
lines changed

lib/config/navigation.dart

+9-1
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,20 @@ import 'package:flutter/services.dart';
22
import 'package:fluent_ui/fluent_ui.dart';
33

44
import '../utils/navigation/navigation_item.dart';
5+
import '../providers/router_path.dart';
6+
import '../utils/router/navigation.dart';
57

68
final List<NavigationItem> navigationItems = [
79
NavigationItem(
810
'Rune',
911
'/',
10-
tappable: false,
12+
onTap: (context) {
13+
final path = $router.path;
14+
15+
if (path != '/library') {
16+
$replace('/library');
17+
}
18+
},
1119
children: [
1220
NavigationItem(
1321
'Library',

lib/utils/navigation/navigation_item.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ class NavigationItem {
44
final String title;
55
final String path;
66
final bool hidden;
7-
final bool tappable;
7+
final void Function(BuildContext)? onTap;
88
final bool zuneOnly;
99
final List<NavigationItem>? children;
1010
final List<SingleActivator>? shortcuts;
@@ -13,7 +13,7 @@ class NavigationItem {
1313
this.title,
1414
this.path, {
1515
this.hidden = false,
16-
this.tappable = true,
16+
this.onTap,
1717
this.children = const [],
1818
this.zuneOnly = false,
1919
this.shortcuts,

lib/widgets/navigation_bar/navigation_bar.dart

+6-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,12 @@ class NavigationBarState extends State<NavigationBar> {
6565
}
6666

6767
void _onHeaderTap(BuildContext context, NavigationItem? item) {
68-
if (item?.tappable == false) return;
68+
final onTap = item?.onTap;
69+
70+
if (onTap != null) {
71+
onTap(context);
72+
return;
73+
}
6974

7075
setState(() {
7176
if (item != null) {

0 commit comments

Comments
 (0)