This commit is contained in:
yagnikvamja
2024-07-08 17:16:10 +05:30
parent 4fa50c088f
commit d098e5341d
496 changed files with 47210 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
<template>
<div class="layout-wrapper layout-blank">
<slot />
</div>
</template>
<style>
.layout-wrapper.layout-blank {
flex-direction: column;
}
</style>

View File

@@ -0,0 +1,122 @@
<script lang="ts" setup>
import NavItems from '@/layouts/components/NavItems.vue'
import logo from '@images/logo.svg?raw'
import VerticalNavLayout from '@layouts/components/VerticalNavLayout.vue'
// Components
import Footer from '@/layouts/components/Footer.vue'
import NavbarThemeSwitcher from '@/layouts/components/NavbarThemeSwitcher.vue'
import UserProfile from '@/layouts/components/UserProfile.vue'
</script>
<template>
<VerticalNavLayout>
<!-- 👉 navbar -->
<template #navbar="{ toggleVerticalOverlayNavActive }">
<div class="d-flex h-100 align-center">
<!-- 👉 Vertical nav toggle in overlay mode -->
<IconBtn
class="ms-n3 d-lg-none"
@click="toggleVerticalOverlayNavActive(true)"
>
<VIcon icon="bx-menu" />
</IconBtn>
<!-- 👉 Search -->
<div
class="d-flex align-center cursor-pointer ms-lg-n3"
style="user-select: none;"
>
<!-- 👉 Search Trigger button -->
<IconBtn>
<VIcon icon="bx-search" />
</IconBtn>
<span class="d-none d-md-flex align-center text-disabled ms-2">
<span class="me-2">Search</span>
<span class="meta-key">&#8984;K</span>
</span>
</div>
<VSpacer />
<IconBtn
href="https://github.com/themeselection/sneat-vuetify-nuxtjs-admin-template-free"
target="_blank"
rel="noopener noreferrer"
>
<VIcon icon="bxl-github" />
</IconBtn>
<IconBtn>
<VIcon icon="bx-bell" />
</IconBtn>
<NavbarThemeSwitcher class="me-1" />
<UserProfile />
</div>
</template>
<template #vertical-nav-header="{ toggleIsOverlayNavActive }">
<NuxtLink
to="/"
class="app-logo app-title-wrapper"
>
<!-- eslint-disable vue/no-v-html -->
<div
class="d-flex"
v-html="logo"
/>
<!-- eslint-enable -->
<h1 class="app-logo-title">
sneat
</h1>
</NuxtLink>
<IconBtn
class="d-block d-lg-none"
@click="toggleIsOverlayNavActive(false)"
>
<VIcon icon="bx-x" />
</IconBtn>
</template>
<template #vertical-nav-content>
<NavItems />
</template>
<!-- 👉 Pages -->
<slot />
<!-- 👉 Footer -->
<template #footer>
<Footer />
</template>
</VerticalNavLayout>
</template>
<style lang="scss" scoped>
.meta-key {
border: thin solid rgba(var(--v-border-color), var(--v-border-opacity));
border-radius: 6px;
block-size: 1.5625rem;
line-height: 1.3125rem;
padding-block: 0.125rem;
padding-inline: 0.25rem;
}
.app-logo {
display: flex;
align-items: center;
column-gap: 0.75rem;
.app-logo-title {
font-size: 1.25rem;
font-weight: 500;
line-height: 1.75rem;
text-transform: uppercase;
}
}
</style>

View File

@@ -0,0 +1,41 @@
<template>
<div class="h-100 d-flex align-center justify-md-space-between justify-center">
<!-- 👉 Footer: left content -->
<span class="d-flex align-center">
&copy;
{{ new Date().getFullYear() }}
Made With
<VIcon
icon="bx-heart"
color="error"
size="1.25rem"
class="mx-1"
/>
By <a
href="https://themeselection.com"
target="_blank"
rel="noopener noreferrer"
class="text-primary ms-1"
>ThemeSelection</a>
</span>
<!-- 👉 Footer: right content -->
<span class="d-md-flex gap-x-4 text-primary d-none">
<a
href="https://themeselection.com/license/"
target="noopener noreferrer"
>License</a>
<a
href="https://themeselection.com/"
target="noopener noreferrer"
>More Themes</a>
<a
href="https://demos.themeselection.com/sneat-vuetify-vuejs-admin-template/documentation/"
target="noopener noreferrer"
>Documentation</a>
<a
href="https://themeselection.com/support/"
target="noopener noreferrer"
>Support</a>
</span>
</div>
</template>

View File

@@ -0,0 +1,278 @@
<script lang="ts" setup>
import VerticalNavSectionTitle from '@/@layouts/components/VerticalNavSectionTitle.vue'
import VerticalNavGroup from '@layouts/components/VerticalNavGroup.vue'
import VerticalNavLink from '@layouts/components/VerticalNavLink.vue'
</script>
<template>
<!-- 👉 Dashboards -->
<VerticalNavGroup
:item="{
title: 'Dashboards',
badgeContent: '5',
badgeClass: 'bg-error',
icon: 'bx-home-smile',
}"
>
<VerticalNavLink
:item="{
title: 'Analytics',
to: '/dashboard',
}"
/>
<VerticalNavLink
:item="{
title: 'CRM',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/dashboards/crm',
target: '_blank',
badgeContent: 'Pro',
badgeClass: 'bg-light-primary text-primary',
}"
/>
<VerticalNavLink
:item="{
title: 'ECommerce',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/dashboards/ecommerce',
target: '_blank',
badgeContent: 'Pro',
badgeClass: 'bg-light-primary text-primary',
}"
/>
<VerticalNavLink
:item="{
title: 'Academy',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/dashboards/academy',
target: '_blank',
badgeContent: 'Pro',
badgeClass: 'bg-light-primary text-primary',
}"
/>
<VerticalNavLink
:item="{
title: 'Logistics',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/dashboards/logistics',
target: '_blank',
badgeContent: 'Pro',
badgeClass: 'bg-light-primary text-primary',
}"
/>
</VerticalNavGroup>
<!-- 👉 Front Pages -->
<VerticalNavGroup
:item="{
title: 'Front Pages',
icon: 'bx-file',
badgeContent: 'Pro',
badgeClass: 'bg-light-primary text-primary',
}"
>
<VerticalNavLink
:item="{
title: 'Landing',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/front-pages/landing-page',
target: '_blank',
}"
/>
<VerticalNavLink
:item="{
title: 'Pricing',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/front-pages/pricing',
target: '_blank',
}"
/>
<VerticalNavLink
:item="{
title: 'Payment',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/front-pages/payment',
target: '_blank',
}"
/>
<VerticalNavLink
:item="{
title: 'Checkout',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/front-pages/checkout',
target: '_blank',
}"
/>
<VerticalNavLink
:item="{
title: 'Help Center',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/front-pages/help-center',
target: '_blank',
}"
/>
</VerticalNavGroup>
<!-- 👉 Apps & Pages -->
<VerticalNavSectionTitle
:item="{
heading: 'Apps & Pages',
}"
/>
<VerticalNavLink
:item="{
title: 'Email',
icon: 'bx-envelope',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/apps/email',
target: '_blank',
badgeContent: 'Pro',
badgeClass: 'bg-light-primary text-primary',
}"
/>
<VerticalNavLink
:item="{
title: 'Chat',
icon: 'bx-chat',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/apps/chat',
target: '_blank',
badgeContent: 'Pro',
badgeClass: 'bg-light-primary text-primary',
}"
/>
<VerticalNavLink
:item="{
title: 'Calendar',
icon: 'bx-calendar',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/apps/calendar',
target: '_blank',
badgeContent: 'Pro',
badgeClass: 'bg-light-primary text-primary',
}"
/>
<VerticalNavLink
:item="{
title: 'Kanban',
icon: 'bx-grid',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/apps/kanban',
target: '_blank',
badgeContent: 'Pro',
badgeClass: 'bg-light-primary text-primary',
}"
/>
<VerticalNavLink
:item="{
title: 'Account Settings',
icon: 'bx-user',
to: '/account-settings',
}"
/>
<VerticalNavLink
:item="{
title: 'Login',
icon: 'bx-log-in',
to: '/login',
}"
/>
<VerticalNavLink
:item="{
title: 'Register',
icon: 'bx-user-plus',
to: '/register',
}"
/>
<!-- 👉 User Interface -->
<VerticalNavSectionTitle
:item="{
heading: 'User Interface',
}"
/>
<VerticalNavLink
:item="{
title: 'Typography',
icon: 'bx-text',
to: '/typography',
}"
/>
<VerticalNavLink
:item="{
title: 'Icons',
icon: 'bx-package',
to: '/icons',
}"
/>
<VerticalNavLink
:item="{
title: 'Cards',
icon: 'bx-credit-card',
to: '/cards',
}"
/>
<!-- 👉 Forms & Tables -->
<VerticalNavSectionTitle
:item="{
heading: 'Forms & Tables',
}"
/>
<VerticalNavLink
:item="{
title: 'Form Layouts',
icon: 'bx-layout',
to: '/form-layouts',
}"
/>
<VerticalNavLink
:item="{
title: 'Form Validation',
icon: 'bx-check-circle',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/forms/form-validation',
target: '_blank',
badgeContent: 'Pro',
badgeClass: 'bg-light-primary text-primary',
}"
/>
<VerticalNavLink
:item="{
title: 'Form Wizard',
icon: 'bx-align-middle',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/forms/form-wizard-numbered',
target: '_blank',
badgeContent: 'Pro',
badgeClass: 'bg-light-primary text-primary',
}"
/>
<VerticalNavLink
:item="{
title: 'Tables',
icon: 'bx-table',
to: '/tables',
}"
/>
<!-- 👉 Others -->
<VerticalNavSectionTitle
:item="{
heading: 'Others',
}"
/>
<VerticalNavLink
:item="{
title: 'Access Control',
icon: 'bx-command',
href: 'https://demos.themeselection.com/sneat-vuetify-nuxtjs-admin-template/demo-1/access-control',
target: '_blank',
badgeContent: 'Pro',
badgeClass: 'bg-light-primary text-primary',
}"
/>
<VerticalNavLink
:item="{
title: 'Documentation',
icon: 'bx-file',
href: 'https://demos.themeselection.com/sneat-vuetify-vuejs-admin-template/documentation/',
target: '_blank',
}"
/>
<VerticalNavLink
:item="{
title: 'Raise Support',
href: 'https://github.com/themeselection/sneat-vuetify-nuxtjs-admin-template-free/issues',
icon: 'bx-phone',
target: '_blank',
}"
/>
</template>

View File

@@ -0,0 +1,18 @@
<script setup lang="ts">
import type { ThemeSwitcherTheme } from '@layouts/types'
const themes: ThemeSwitcherTheme[] = [
{
name: 'light',
icon: 'bx-sun',
},
{
name: 'dark',
icon: 'bx-moon',
},
]
</script>
<template>
<ThemeSwitcher :themes="themes" />
</template>

View File

@@ -0,0 +1,129 @@
<script setup lang="ts">
import avatar1 from '@images/avatars/avatar-1.png'
</script>
<template>
<VBadge
dot
location="bottom right"
offset-x="3"
offset-y="3"
color="success"
bordered
>
<VAvatar
class="cursor-pointer"
color="primary"
variant="tonal"
>
<VImg :src="avatar1" />
<!-- SECTION Menu -->
<VMenu
activator="parent"
width="230"
location="bottom end"
offset="14px"
>
<VList>
<!-- 👉 User Avatar & Name -->
<VListItem>
<template #prepend>
<VListItemAction start>
<VBadge
dot
location="bottom right"
offset-x="3"
offset-y="3"
color="success"
>
<VAvatar
color="primary"
variant="tonal"
>
<VImg :src="avatar1" />
</VAvatar>
</VBadge>
</VListItemAction>
</template>
<VListItemTitle class="font-weight-semibold">
John Doe
</VListItemTitle>
<VListItemSubtitle>Admin</VListItemSubtitle>
</VListItem>
<VDivider class="my-2" />
<!-- 👉 Profile -->
<VListItem link>
<template #prepend>
<VIcon
class="me-2"
icon="bx-user"
size="22"
/>
</template>
<VListItemTitle>Profile</VListItemTitle>
</VListItem>
<!-- 👉 Settings -->
<VListItem link>
<template #prepend>
<VIcon
class="me-2"
icon="bx-cog"
size="22"
/>
</template>
<VListItemTitle>Settings</VListItemTitle>
</VListItem>
<!-- 👉 Pricing -->
<VListItem link>
<template #prepend>
<VIcon
class="me-2"
icon="bx-dollar"
size="22"
/>
</template>
<VListItemTitle>Pricing</VListItemTitle>
</VListItem>
<!-- 👉 FAQ -->
<VListItem link>
<template #prepend>
<VIcon
class="me-2"
icon="bx-help-circle"
size="22"
/>
</template>
<VListItemTitle>FAQ</VListItemTitle>
</VListItem>
<!-- Divider -->
<VDivider class="my-2" />
<!-- 👉 Logout -->
<VListItem to="/login">
<template #prepend>
<VIcon
class="me-2"
icon="bx-log-out"
size="22"
/>
</template>
<VListItemTitle>Logout</VListItemTitle>
</VListItem>
</VList>
</VMenu>
<!-- !SECTION -->
</VAvatar>
</VBadge>
</template>

View File

@@ -0,0 +1,14 @@
<script lang="ts" setup>
import DefaultLayoutWithVerticalNav from './components/DefaultLayoutWithVerticalNav.vue'
</script>
<template>
<DefaultLayoutWithVerticalNav>
<slot />
</DefaultLayoutWithVerticalNav>
</template>
<style lang="scss">
// As we are using `layouts` plugin we need its styles to be imported
@use "@layouts/styles/default-layout";
</style>