Admin menu refactored

This commit is contained in:
Čarodej
2022-01-12 07:45:33 +01:00
parent 68563b9e10
commit 53a2950dd3
7 changed files with 155 additions and 49 deletions
+32 -20
View File
@@ -254,6 +254,38 @@ const routesAdmin = [
},
]
},
{
name: 'PaymentSettings',
path: '/admin/payments',
component: () =>
import(/* webpackChunkName: "chunks/payments" */ '../views/Admin/PaymentSettings/PaymentSettings'),
meta: {
requiresAuth: true,
title: 'Payment Settings'
},
children: [
{
name: 'AppBillings',
path: '/admin/settings/billings',
component: () =>
import(/* webpackChunkName: "chunks/payments/billings" */ '../views/Admin/PaymentSettings/PaymentSettingsTab/Billings'),
meta: {
requiresAuth: true,
title: 'routes_title.billings'
},
},
{
name: 'AppPayments',
path: '/admin/settings/payments',
component: () =>
import(/* webpackChunkName: "chunks/payments/settings" */ '../views/Admin/PaymentSettings/PaymentSettingsTab/Payments'),
meta: {
requiresAuth: true,
title: 'routes_title.payments'
},
},
]
},
{
name: 'AppSettings',
path: '/admin/settings',
@@ -284,16 +316,6 @@ const routesAdmin = [
title: 'Index'
},
},
{
name: 'AppBillings',
path: '/admin/settings/billings',
component: () =>
import(/* webpackChunkName: "chunks/app-billings" */ '../views/Admin/AppSettings/AppSettingsTabs/Billings'),
meta: {
requiresAuth: true,
title: 'routes_title.billings'
},
},
{
name: 'AppEmail',
path: '/admin/settings/email',
@@ -304,16 +326,6 @@ const routesAdmin = [
title: 'routes_title.email'
},
},
{
name: 'AppPayments',
path: '/admin/settings/payments',
component: () =>
import(/* webpackChunkName: "chunks/app-payments" */ '../views/Admin/AppSettings/AppSettingsTabs/Payments'),
meta: {
requiresAuth: true,
title: 'routes_title.payments'
},
},
{
name: 'AppOthers',
path: '/admin/settings/others',
+22 -15
View File
@@ -29,6 +29,14 @@
{{ $t('admin_menu.dashboard') }}
</div>
</router-link>
<router-link :to="{name: 'Users'}" class="menu-list-item link">
<div class="icon text-theme">
<users-icon size="17" />
</div>
<div class="label text-theme">
{{ $t('admin_menu.users') }}
</div>
</router-link>
<router-link :to="{name: 'AppOthers'}" class="menu-list-item link">
<div class="icon text-theme">
<settings-icon size="17" />
@@ -37,6 +45,12 @@
{{ $t('admin_menu.settings') }}
</div>
</router-link>
</div>
</ContentGroup>
<!--Content-->
<ContentGroup :title="$t('Content')" class="navigator">
<div class="menu-list-wrapper vertical">
<router-link :to="{name: 'Pages'}" class="menu-list-item link">
<div class="icon text-theme">
<monitor-icon size="17" />
@@ -57,11 +71,11 @@
</ContentGroup>
<!-- Assets -->
<ContentGroup :title="$t('Assets')" class="navigator">
<ContentGroup :title="$t('Subscription')" v-if="['fixed', 'metered'].includes(config.subscriptionType)" class="navigator">
<div class="menu-list-wrapper vertical">
<router-link v-for="(menu, i) in assetMenu" :key="i" :to="{name: menu.route}" class="menu-list-item link">
<div class="icon text-theme">
<users-icon v-if="menu.icon === 'users'" size="17" />
<credit-card-icon v-if="menu.icon === 'card'" size="17" />
<database-icon v-if="menu.icon === 'database'" size="17" />
<dollar-sign-icon v-if="menu.icon === 'dollar'" size="17" />
<file-text-icon v-if="menu.icon === 'file-text'" size="17" />
@@ -101,9 +115,9 @@
return {
metered: [
{
title: this.$t('admin_menu.users'),
route: 'Users',
icon: 'users',
title: this.$t('Payments'),
route: 'AppPayments',
icon: 'card',
},
{
title: this.$t('admin_menu.plans'),
@@ -118,9 +132,9 @@
],
fixed: [
{
title: this.$t('admin_menu.users'),
route: 'Users',
icon: 'users',
title: this.$t('Payments'),
route: 'AppPayments',
icon: 'card',
},
{
title: this.$t('Subscriptions'),
@@ -138,13 +152,6 @@
icon: 'file-text',
},
],
none: [
{
title: this.$t('admin_menu.users'),
route: 'Users',
icon: 'users',
},
],
}[this.config.subscriptionType]
}
},
@@ -30,14 +30,6 @@
title: this.$t('admin_settings.tabs.appearance'),
route: 'AppAppearance',
},
{
title: this.$t('admin_settings.tabs.payments'),
route: 'AppPayments',
},
{
title: this.$t('admin_settings.tabs.billings'),
route: 'AppBillings',
},
{
title: this.$t('Homepage'),
route: 'AppIndex',
@@ -0,0 +1,36 @@
<template>
<div>
<!--Page Tab links-->
<div class="card shadow-card py-0 sticky top-0 z-10">
<CardNavigation :pages="pages" class="-mx-1" />
</div>
<!--Page Content-->
<router-view />
</div>
</template>
<script>
import CardNavigation from "../../../components/Admin/CardNavigation";
export default {
name: 'PaymentSettings',
components: {
CardNavigation,
},
data() {
return {
pages: [
{
title: this.$t('admin_settings.tabs.payments'),
route: 'AppPayments',
},
{
title: this.$t('admin_settings.tabs.billings'),
route: 'AppBillings',
},
]
}
}
}
</script>