2023-02-09 19:18:06 +00:00
|
|
|
{{define "menuItems"}}
|
2023-05-12 18:06:05 +00:00
|
|
|
<a-menu-item key="{{ .base_path }}panel/">
|
2024-04-20 18:45:36 +00:00
|
|
|
<a-icon type="dashboard"></a-icon>
|
2025-03-17 11:26:07 +00:00
|
|
|
<span>{{ i18n "menu.dashboard"}}</span>
|
2023-02-09 19:18:06 +00:00
|
|
|
</a-menu-item>
|
2023-05-12 18:06:05 +00:00
|
|
|
<a-menu-item key="{{ .base_path }}panel/inbounds">
|
2024-04-20 18:45:36 +00:00
|
|
|
<a-icon type="user"></a-icon>
|
2025-03-17 11:26:07 +00:00
|
|
|
<span>{{ i18n "menu.inbounds"}}</span>
|
2023-02-09 19:18:06 +00:00
|
|
|
</a-menu-item>
|
2023-05-12 18:06:05 +00:00
|
|
|
<a-menu-item key="{{ .base_path }}panel/settings">
|
2024-04-20 18:45:36 +00:00
|
|
|
<a-icon type="setting"></a-icon>
|
2025-03-17 11:26:07 +00:00
|
|
|
<span>{{ i18n "menu.settings"}}</span>
|
2023-02-09 19:18:06 +00:00
|
|
|
</a-menu-item>
|
2023-12-08 20:49:39 +00:00
|
|
|
<a-menu-item key="{{ .base_path }}panel/xray">
|
2024-04-20 18:45:36 +00:00
|
|
|
<a-icon type="tool"></a-icon>
|
2025-03-17 11:26:07 +00:00
|
|
|
<span>{{ i18n "menu.xray"}}</span>
|
2023-12-04 18:17:38 +00:00
|
|
|
</a-menu-item>
|
2023-02-09 19:18:06 +00:00
|
|
|
<a-menu-item key="{{ .base_path }}logout">
|
2024-04-20 18:45:36 +00:00
|
|
|
<a-icon type="logout"></a-icon>
|
2025-03-17 11:26:07 +00:00
|
|
|
<span>{{ i18n "menu.logout"}}</span>
|
2023-02-09 19:18:06 +00:00
|
|
|
</a-menu-item>
|
|
|
|
{{end}}
|
|
|
|
|
|
|
|
|
|
|
|
{{define "commonSider"}}
|
2024-04-20 18:45:36 +00:00
|
|
|
<a-layout-sider :theme="themeSwitcher.currentTheme" id="sider" collapsible breakpoint="md">
|
2025-03-08 15:41:27 +00:00
|
|
|
<a-theme-switch></a-theme-switch>
|
2024-04-20 18:45:36 +00:00
|
|
|
<a-menu :theme="themeSwitcher.currentTheme" mode="inline" :selected-keys="['{{ .request_uri }}']" @click="({key}) => key.startsWith('http') ? window.open(key) : location.href = key">
|
|
|
|
{{template "menuItems" .}}
|
|
|
|
</a-menu>
|
2023-02-09 19:18:06 +00:00
|
|
|
</a-layout-sider>
|
2024-04-20 18:45:36 +00:00
|
|
|
<a-drawer id="sider-drawer" placement="left" :closable="false" @close="siderDrawer.close()" :visible="siderDrawer.visible" :wrap-class-name="themeSwitcher.currentTheme" :wrap-style="{ padding: 0 }">
|
|
|
|
<div class="drawer-handle" @click="siderDrawer.change()" slot="handle">
|
|
|
|
<a-icon :type="siderDrawer.visible ? 'close' : 'menu-fold'"></a-icon>
|
|
|
|
</div>
|
2025-03-08 15:41:27 +00:00
|
|
|
<a-theme-switch></a-theme-switch>
|
2024-04-20 18:45:36 +00:00
|
|
|
<a-menu :theme="themeSwitcher.currentTheme" mode="inline" :selected-keys="['{{ .request_uri }}']" @click="({key}) => key.startsWith('http') ? window.open(key) : location.href = key">
|
|
|
|
{{template "menuItems" .}}
|
|
|
|
</a-menu>
|
2023-02-09 19:18:06 +00:00
|
|
|
</a-drawer>
|
|
|
|
<script>
|
2024-04-20 18:45:36 +00:00
|
|
|
const siderDrawer = {
|
|
|
|
visible: false,
|
|
|
|
show() {
|
|
|
|
this.visible = true;
|
|
|
|
},
|
|
|
|
close() {
|
|
|
|
this.visible = false;
|
|
|
|
},
|
|
|
|
change() {
|
|
|
|
this.visible = !this.visible;
|
|
|
|
},
|
|
|
|
};
|
2023-02-09 19:18:06 +00:00
|
|
|
</script>
|
|
|
|
{{end}}
|