initial commit

This commit is contained in:
Alireza Ahmadi
2024-02-13 01:17:03 +01:00
commit f40b27fd8b
136 changed files with 16023 additions and 0 deletions
+67
View File
@@ -0,0 +1,67 @@
<template>
<v-navigation-drawer
v-model="showDrawer"
:temporary="isMobile"
:expand-on-hover="!isMobile"
:rail="!isMobile"
:permanent="!isMobile"
@click="isMobile ? $emit('toggleDrawer') : null"
>
<v-list-item
height="63"
prepend-avatar="@/assets/logo.svg"
title="S-UI"
>
<template v-slot:append v-if="isMobile">
<v-icon icon="mdi-close" />
</template>
</v-list-item>
<v-divider></v-divider>
<v-list density="compact" nav>
<v-list-item link
v-for="item in menu"
:key="item.title"
:to="item.path"
:active="router.currentRoute.value.path == item.path">
<template v-slot:prepend>
<v-icon :icon="item.icon"></v-icon>
</template>
<v-list-item-title v-text="$t(item.title)"></v-list-item-title>
</v-list-item>
</v-list>
<template v-slot:append>
<v-list-item prepend-icon="mdi-logout" :title="$t('menu.logout')" @click="logout"></v-list-item>
</template>
</v-navigation-drawer>
</template>
<script lang="ts" setup>
import { computed } from 'vue'
import router from '@/router'
import HttpUtil from '@/plugins/httputil'
const props = defineProps(['isMobile','displayDrawer'])
const showDrawer = computed((): boolean => {
return props.displayDrawer
})
const menu = [
{ title: 'pages.home', icon: 'mdi-home', path: '/' },
{ title: 'pages.inbounds', icon: 'mdi-cloud-download', path: '/inbounds' },
{ title: 'pages.clients', icon: 'mdi-account-multiple', path: '/clients' },
{ title: 'pages.outbounds', icon: 'mdi-cloud-upload', path: '/outbounds' },
{ title: 'pages.rules', icon: 'mdi-routes', path: '/rules' },
{ title: 'pages.basics', icon: 'mdi-application-cog', path: '/basics' },
{ title: 'pages.settings', icon: 'mdi-cog', path: '/settings' },
]
const logout = async () => {
const response = await HttpUtil.get('/api/logout')
if(response.success){
router.push('/login')
}
}
</script>