feat(ui): add collapse/expand option to navbar context menu #5910

Closes #5910
This commit is contained in:
Slinetrac
2025-12-23 11:49:25 +08:00
parent f26abcd2a9
commit d52f00c1b1
17 changed files with 54 additions and 14 deletions

View File

@@ -14,7 +14,7 @@
- 允许代理页面允许高级过滤搜索
- 备份设置页面新增导入备份按钮
- 允许修改通知弹窗位置
- 支持收起导航栏
- 支持收起导航栏(导航栏右键菜单 / 界面设置)
- 允许将出站模式显示在托盘一级菜单
</details>

View File

@@ -15,7 +15,9 @@
"reorderMode": "Menu reorder mode",
"restoreDefaultOrder": "Restore default order",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
"lock": "Lock menu order",
"collapseNavBar": "Collapse navigation bar",
"expandNavBar": "Expand navigation bar"
}
}
}

View File

@@ -15,7 +15,9 @@
"reorderMode": "Menu reorder mode",
"restoreDefaultOrder": "Restore default order",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
"lock": "Lock menu order",
"collapseNavBar": "Collapse navigation bar",
"expandNavBar": "Expand navigation bar"
}
}
}

View File

@@ -15,7 +15,9 @@
"reorderMode": "Menu reorder mode",
"restoreDefaultOrder": "Restore default order",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
"lock": "Lock menu order",
"collapseNavBar": "Collapse navigation bar",
"expandNavBar": "Expand navigation bar"
}
}
}

View File

@@ -15,7 +15,9 @@
"reorderMode": "Menu reorder mode",
"restoreDefaultOrder": "Restore default order",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
"lock": "Lock menu order",
"collapseNavBar": "Collapse navigation bar",
"expandNavBar": "Expand navigation bar"
}
}
}

View File

@@ -15,7 +15,9 @@
"reorderMode": "Menu reorder mode",
"restoreDefaultOrder": "Restore default order",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
"lock": "Lock menu order",
"collapseNavBar": "Collapse navigation bar",
"expandNavBar": "Expand navigation bar"
}
}
}

View File

@@ -15,7 +15,9 @@
"reorderMode": "Menu reorder mode",
"restoreDefaultOrder": "Restore default order",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
"lock": "Lock menu order",
"collapseNavBar": "Collapse navigation bar",
"expandNavBar": "Expand navigation bar"
}
}
}

View File

@@ -15,7 +15,9 @@
"reorderMode": "Menu reorder mode",
"restoreDefaultOrder": "Restore default order",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
"lock": "Lock menu order",
"collapseNavBar": "Collapse navigation bar",
"expandNavBar": "Expand navigation bar"
}
}
}

View File

@@ -15,7 +15,9 @@
"reorderMode": "메뉴 재정렬 모드",
"restoreDefaultOrder": "Restore default order",
"unlock": "메뉴 순서 잠금 해제",
"lock": "메뉴 순서 잠금"
"lock": "메뉴 순서 잠금",
"collapseNavBar": "Collapse navigation bar",
"expandNavBar": "Expand navigation bar"
}
}
}

View File

@@ -15,7 +15,9 @@
"reorderMode": "Menu reorder mode",
"restoreDefaultOrder": "Restore default order",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
"lock": "Lock menu order",
"collapseNavBar": "Collapse navigation bar",
"expandNavBar": "Expand navigation bar"
}
}
}

View File

@@ -15,7 +15,9 @@
"reorderMode": "Menu reorder mode",
"restoreDefaultOrder": "Restore default order",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
"lock": "Lock menu order",
"collapseNavBar": "Collapse navigation bar",
"expandNavBar": "Expand navigation bar"
}
}
}

View File

@@ -15,7 +15,9 @@
"reorderMode": "Menu reorder mode",
"restoreDefaultOrder": "Restore default order",
"unlock": "Unlock menu order",
"lock": "Lock menu order"
"lock": "Lock menu order",
"collapseNavBar": "Collapse navigation bar",
"expandNavBar": "Expand navigation bar"
}
}
}

View File

@@ -15,7 +15,9 @@
"reorderMode": "菜单排序模式",
"restoreDefaultOrder": "恢复默认排序",
"unlock": "解锁菜单排序",
"lock": "锁定菜单排序"
"lock": "锁定菜单排序",
"collapseNavBar": "收起导航栏",
"expandNavBar": "展开导航栏"
}
}
}

View File

@@ -15,7 +15,9 @@
"reorderMode": "選單排序模式",
"restoreDefaultOrder": "恢復預設排序",
"unlock": "解鎖選單排序",
"lock": "鎖定選單排序"
"lock": "鎖定選單排序",
"collapseNavBar": "收起導覽列",
"expandNavBar": "展開導覽列"
}
}
}

View File

@@ -197,6 +197,11 @@ const Layout = () => {
setMenuContextPosition(null);
}, []);
const handleToggleNavCollapsed = useCallback(() => {
setMenuContextPosition(null);
void patchVerge({ collapse_navbar: !navCollapsed });
}, [navCollapsed, patchVerge]);
const customTitlebar = useMemo(
() =>
!decorated ? (
@@ -431,6 +436,11 @@ const Layout = () => {
},
}}
>
<MenuItem onClick={handleToggleNavCollapsed} dense>
{navCollapsed
? t("layout.components.navigation.menu.expandNavBar")
: t("layout.components.navigation.menu.collapseNavBar")}
</MenuItem>
<MenuItem
onClick={menuUnlocked ? handleLockMenu : handleUnlockMenu}
dense

View File

@@ -108,6 +108,8 @@ export const translationKeys = [
"layout.components.navigation.menu.restoreDefaultOrder",
"layout.components.navigation.menu.unlock",
"layout.components.navigation.menu.lock",
"layout.components.navigation.menu.collapseNavBar",
"layout.components.navigation.menu.expandNavBar",
"logs.page.title",
"logs.actions.showDescending",
"logs.actions.showAscending",

View File

@@ -179,6 +179,8 @@ export interface TranslationResources {
components: {
navigation: {
menu: {
collapseNavBar: string;
expandNavBar: string;
lock: string;
reorderMode: string;
restoreDefaultOrder: string;