diff --git a/Changelog.md b/Changelog.md
index 0b2531d63..fca389e77 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -14,7 +14,7 @@
- 允许代理页面允许高级过滤搜索
- 备份设置页面新增导入备份按钮
- 允许修改通知弹窗位置
-- 支持收起导航栏
+- 支持收起导航栏(导航栏右键菜单 / 界面设置)
- 允许将出站模式显示在托盘一级菜单
diff --git a/src/locales/ar/layout.json b/src/locales/ar/layout.json
index 03187e6dd..5c60990e7 100644
--- a/src/locales/ar/layout.json
+++ b/src/locales/ar/layout.json
@@ -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"
}
}
}
diff --git a/src/locales/de/layout.json b/src/locales/de/layout.json
index c9971651b..c4c125626 100644
--- a/src/locales/de/layout.json
+++ b/src/locales/de/layout.json
@@ -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"
}
}
}
diff --git a/src/locales/en/layout.json b/src/locales/en/layout.json
index 5bf8c8402..46e69ad94 100644
--- a/src/locales/en/layout.json
+++ b/src/locales/en/layout.json
@@ -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"
}
}
}
diff --git a/src/locales/es/layout.json b/src/locales/es/layout.json
index f2e6849df..b15af2e44 100644
--- a/src/locales/es/layout.json
+++ b/src/locales/es/layout.json
@@ -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"
}
}
}
diff --git a/src/locales/fa/layout.json b/src/locales/fa/layout.json
index 26731f4bd..dcc5ba491 100644
--- a/src/locales/fa/layout.json
+++ b/src/locales/fa/layout.json
@@ -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"
}
}
}
diff --git a/src/locales/id/layout.json b/src/locales/id/layout.json
index 0da0c35c2..73594d833 100644
--- a/src/locales/id/layout.json
+++ b/src/locales/id/layout.json
@@ -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"
}
}
}
diff --git a/src/locales/jp/layout.json b/src/locales/jp/layout.json
index 100538d94..d05e99ebc 100644
--- a/src/locales/jp/layout.json
+++ b/src/locales/jp/layout.json
@@ -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"
}
}
}
diff --git a/src/locales/ko/layout.json b/src/locales/ko/layout.json
index 10e9f628b..2d5794270 100644
--- a/src/locales/ko/layout.json
+++ b/src/locales/ko/layout.json
@@ -15,7 +15,9 @@
"reorderMode": "메뉴 재정렬 모드",
"restoreDefaultOrder": "Restore default order",
"unlock": "메뉴 순서 잠금 해제",
- "lock": "메뉴 순서 잠금"
+ "lock": "메뉴 순서 잠금",
+ "collapseNavBar": "Collapse navigation bar",
+ "expandNavBar": "Expand navigation bar"
}
}
}
diff --git a/src/locales/ru/layout.json b/src/locales/ru/layout.json
index 2b59d36e4..1f8c3267b 100644
--- a/src/locales/ru/layout.json
+++ b/src/locales/ru/layout.json
@@ -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"
}
}
}
diff --git a/src/locales/tr/layout.json b/src/locales/tr/layout.json
index 23f2da7bd..8ae201955 100644
--- a/src/locales/tr/layout.json
+++ b/src/locales/tr/layout.json
@@ -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"
}
}
}
diff --git a/src/locales/tt/layout.json b/src/locales/tt/layout.json
index 474dc3eb2..a39c5ba79 100644
--- a/src/locales/tt/layout.json
+++ b/src/locales/tt/layout.json
@@ -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"
}
}
}
diff --git a/src/locales/zh/layout.json b/src/locales/zh/layout.json
index 0a2b2cbc8..8340ff196 100644
--- a/src/locales/zh/layout.json
+++ b/src/locales/zh/layout.json
@@ -15,7 +15,9 @@
"reorderMode": "菜单排序模式",
"restoreDefaultOrder": "恢复默认排序",
"unlock": "解锁菜单排序",
- "lock": "锁定菜单排序"
+ "lock": "锁定菜单排序",
+ "collapseNavBar": "收起导航栏",
+ "expandNavBar": "展开导航栏"
}
}
}
diff --git a/src/locales/zhtw/layout.json b/src/locales/zhtw/layout.json
index 635992f63..0521dcd30 100644
--- a/src/locales/zhtw/layout.json
+++ b/src/locales/zhtw/layout.json
@@ -15,7 +15,9 @@
"reorderMode": "選單排序模式",
"restoreDefaultOrder": "恢復預設排序",
"unlock": "解鎖選單排序",
- "lock": "鎖定選單排序"
+ "lock": "鎖定選單排序",
+ "collapseNavBar": "收起導覽列",
+ "expandNavBar": "展開導覽列"
}
}
}
diff --git a/src/pages/_layout.tsx b/src/pages/_layout.tsx
index 203c87910..ed2bd4f87 100644
--- a/src/pages/_layout.tsx
+++ b/src/pages/_layout.tsx
@@ -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 = () => {
},
}}
>
+