yggdrasil/components/
nav.rs1use crate::components::header::NavItemConfig;
6use crate::router::Route;
7
8pub fn build_nav_items(route: Route) -> Vec<NavItemConfig> {
19 vec![
20 NavItemConfig {
21 route: Route::Home {},
22 label: "首页",
23 is_active: matches!(route, Route::Home {} | Route::HomePage { .. }),
24 },
25 NavItemConfig {
26 route: Route::Notes {},
27 label: "笔记",
28 is_active: matches!(
29 route,
30 Route::Notes {} | Route::NoteDetail { .. } | Route::NotebookDetail { .. }
31 ),
32 },
33 NavItemConfig {
34 route: Route::Archives {},
35 label: "归档",
36 is_active: matches!(route, Route::Archives {} | Route::TagDetail { .. }),
37 },
38 NavItemConfig {
39 route: Route::Friends {},
40 label: "友链",
41 is_active: matches!(route, Route::Friends {}),
42 },
43 NavItemConfig {
44 route: Route::About {},
45 label: "关于",
46 is_active: matches!(
47 route,
48 Route::About {}
49 | Route::WritingGuide {}
50 | Route::ComponentShowcase {}
51 | Route::ComponentDetail { .. }
52 ),
53 },
54 ]
55}