Testing Alpha
This commit is contained in:
@ -11,6 +11,10 @@ $customizerHidden = ($customizerHidden ?? '');
|
||||
@extends('vuexy-admin::layouts.vuexy.commonMaster' )
|
||||
|
||||
@section('layoutContent')
|
||||
<!-- Notifications -->
|
||||
<div class="notification-container"></div>
|
||||
<!-- / Notifications -->
|
||||
|
||||
<!-- Content -->
|
||||
@yield('content')
|
||||
<!--/ Content -->
|
||||
|
@ -1,58 +1,57 @@
|
||||
<!DOCTYPE html>
|
||||
@php
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
$menuFixed = ($configData['layout'] === 'vertical') ? ($menuFixed ?? '') : (($configData['layout'] === 'front') ? '' : $configData['headerType']);
|
||||
$navbarType = ($configData['layout'] === 'vertical') ? ($configData['navbarType'] ?? '') : (($configData['layout'] === 'front') ? 'layout-navbar-fixed': '');
|
||||
$isFront = ($isFront ?? '') == true ? 'Front' : '';
|
||||
$contentLayout = (isset($container) ? (($container === 'container-xxl') ? "layout-compact" : "layout-wide") : "");
|
||||
$menuFixed = ($configData['layout'] === 'vertical') ? ($menuFixed ?? '') : (($configData['layout'] === 'front') ? '' : $configData['headerType']);
|
||||
$navbarType = ($configData['layout'] === 'vertical') ? ($configData['navbarType'] ?? '') : (($configData['layout'] === 'front') ? 'layout-navbar-fixed': '');
|
||||
$isFront = ($isFront ?? '') == true ? 'Front' : '';
|
||||
$contentLayout = (isset($container) ? (($container === 'container-xxl') ? "layout-compact" : "layout-wide") : "");
|
||||
@endphp
|
||||
|
||||
<html lang="{{ session()->get('locale') ?? app()->getLocale() }}"
|
||||
class="{{ $configData['style'] }}-style {{($contentLayout ?? '')}} {{ ($navbarType ?? '') }} {{ ($menuFixed ?? '') }} {{ $menuCollapsed ?? '' }} {{ $menuFlipped ?? '' }} {{ $menuOffcanvas ?? '' }} {{ $footerFixed ?? '' }} {{ $customizerHidden ?? '' }}"
|
||||
dir="{{ $configData['textDirection'] }}"
|
||||
data-theme="{{ $configData['theme'] }}"
|
||||
data-assets-path="{{ asset('/assets') . '/' }}"
|
||||
data-base-url="{{ url('/') . '/' }}"
|
||||
data-quicklinks-update-url="{{ route('admin.core.quicklinks-navbar.update') }}"
|
||||
data-route="{{ Route::currentRouteName() }}"
|
||||
data-framework="laravel"
|
||||
data-template="{{ $configData['layout'] . '-menu-' . $configData['themeOpt'] . '-' . $configData['styleOpt'] }}"
|
||||
data-style="{{$configData['styleOptVal']}}">
|
||||
|
||||
class="{{ $configData['style'] }}-style {{($contentLayout ?? '')}} {{ ($navbarType ?? '') }} {{ ($menuFixed ?? '') }} {{ $menuCollapsed ?? '' }} {{ $menuFlipped ?? '' }} {{ $menuOffcanvas ?? '' }} {{ $footerFixed ?? '' }} {{ $customizerHidden ?? '' }}"
|
||||
dir="{{ $configData['textDirection'] }}"
|
||||
data-theme="{{ $configData['theme'] }}"
|
||||
data-assets-path="{{ asset('/assets') . '/' }}"
|
||||
data-base-url="{{ url('/') . '/' }}"
|
||||
data-route="{{ Route::currentRouteName() }}"
|
||||
data-framework="laravel"
|
||||
data-template="{{ $configData['layout'] . '-menu-' . $configData['themeOpt'] . '-' . $configData['styleOpt'] }}"
|
||||
data-style="{{$configData['styleOptVal']}}">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" />
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" />
|
||||
|
||||
<title>@hasSection('title') @yield('title') | @endif {{ $_admin['title'] }}</title>
|
||||
<meta name="description" content="{{ $_admin['description'] }}" />
|
||||
<title>@hasSection('title') @yield('title') | @endif {{ $_admin['title'] }}</title>
|
||||
<meta name="description" content="{{ $_admin['description'] }}" />
|
||||
|
||||
<!-- laravel CRUD token -->
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
<!-- laravel CRUD token -->
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<!-- Favicons-->
|
||||
<link rel="icon" href="{{ asset('storage/' . $_admin['favicon']['16x16']) }}" type="image/x-icon">
|
||||
<link rel="icon" sizes="192x192" href="{{ asset('storage/' . $_admin['favicon']['192x192']) }}">
|
||||
<link rel="apple-touch-icon" type="image/x-icon" sizes="76x76" href="{{ asset('storage/' . $_admin['favicon']['76x76']) }}">
|
||||
<link rel="apple-touch-icon" type="image/x-icon" sizes="120x120" href="{{ asset('storage/' . $_admin['favicon']['120x120']) }}">
|
||||
<link rel="apple-touch-icon" type="image/x-icon" sizes="152x152" href="{{ asset('storage/' . $_admin['favicon']['152x152']) }}">
|
||||
<link rel="apple-touch-icon" type="image/x-icon" sizes="180x180" href="{{ asset('storage/' . $_admin['favicon']['180x180']) }}">
|
||||
<!-- Favicons-->
|
||||
<link rel="icon" href="{{ asset('storage/' . $_admin['favicon']['16x16']) }}" type="image/x-icon">
|
||||
<link rel="icon" sizes="192x192" href="{{ asset('storage/' . $_admin['favicon']['192x192']) }}">
|
||||
<link rel="apple-touch-icon" type="image/x-icon" sizes="76x76" href="{{ asset('storage/' . $_admin['favicon']['76x76']) }}">
|
||||
<link rel="apple-touch-icon" type="image/x-icon" sizes="120x120" href="{{ asset('storage/' . $_admin['favicon']['120x120']) }}">
|
||||
<link rel="apple-touch-icon" type="image/x-icon" sizes="152x152" href="{{ asset('storage/' . $_admin['favicon']['152x152']) }}">
|
||||
<link rel="apple-touch-icon" type="image/x-icon" sizes="180x180" href="{{ asset('storage/' . $_admin['favicon']['180x180']) }}">
|
||||
|
||||
<!-- Include Styles -->
|
||||
<!-- $isFront is used to append the front layout styles only on the front layout otherwise the variable will be blank -->
|
||||
@include('vuexy-admin::layouts.vuexy.sections.styles' . $isFront)
|
||||
<!-- Include Styles -->
|
||||
<!-- $isFront is used to append the front layout styles only on the front layout otherwise the variable will be blank -->
|
||||
@include('vuexy-admin::layouts.vuexy.sections.styles' . $isFront)
|
||||
|
||||
<!-- Include Scripts for customizer, helper, analytics, config -->
|
||||
<!-- $isFront is used to append the front layout scriptsIncludes only on the front layout otherwise the variable will be blank -->
|
||||
@include('vuexy-admin::layouts.vuexy.sections.scriptsIncludes' . $isFront)
|
||||
<!-- Include Scripts for customizer, helper, analytics, config -->
|
||||
<!-- $isFront is used to append the front layout scriptsIncludes only on the front layout otherwise the variable will be blank -->
|
||||
@include('vuexy-admin::layouts.vuexy.sections.scriptsIncludes' . $isFront)
|
||||
|
||||
<!-- Notifications -->
|
||||
@include('vuexy-admin::layouts.vuexy.sections.notifySession')
|
||||
</head>
|
||||
<body>
|
||||
<!-- Layout Content -->
|
||||
@yield('layoutContent')
|
||||
<!--/ Layout Content -->
|
||||
<!-- Layout Content -->
|
||||
@yield('layoutContent')
|
||||
<!--/ Layout Content -->
|
||||
|
||||
<!-- Include Scripts -->
|
||||
<!-- $isFront is used to append the front layout scripts only on the front layout otherwise the variable will be blank -->
|
||||
@include('vuexy-admin::layouts.vuexy.sections.scripts' . $isFront)
|
||||
<!-- Include Scripts -->
|
||||
@include('vuexy-admin::layouts.vuexy.sections.scripts' . $isFront)
|
||||
</body>
|
||||
</html>
|
||||
|
@ -20,7 +20,7 @@ $customizerHidden = ($customizerHidden ?? '');
|
||||
$navbarDetached = 'navbar-detached';
|
||||
$menuFixed = (isset($configData['menuFixed']) ? $configData['menuFixed'] : '');
|
||||
if(isset($navbarType)) {
|
||||
$configData['navbarType'] = $navbarType;
|
||||
$configData['navbarType'] = $navbarType;
|
||||
}
|
||||
$navbarType = (isset($configData['navbarType']) ? $configData['navbarType'] : '');
|
||||
$footerFixed = (isset($configData['footerFixed']) ? $configData['footerFixed'] : '');
|
||||
@ -32,58 +32,60 @@ $container = (isset($configData['contentLayout']) && $configData['contentLayout'
|
||||
|
||||
@section('layoutContent')
|
||||
<div class="layout-wrapper layout-content-navbar {{ $isMenu ? '' : 'layout-without-menu' }}">
|
||||
<div class="layout-container">
|
||||
<div class="layout-container">
|
||||
|
||||
@if ($isMenu)
|
||||
@include('vuexy-admin::layouts.vuexy.sections.menu.verticalMenu')
|
||||
@endif
|
||||
@if ($isMenu)
|
||||
@include('vuexy-admin::layouts.vuexy.sections.menu.verticalMenu')
|
||||
@endif
|
||||
|
||||
<!-- Layout page -->
|
||||
<div class="layout-page">
|
||||
<!-- Layout page -->
|
||||
<div class="layout-page">
|
||||
|
||||
<!-- BEGIN: Navbar-->
|
||||
@if ($isNavbar)
|
||||
@include('vuexy-admin::layouts.vuexy.sections.navbar.navbar')
|
||||
@endif
|
||||
<!-- END: Navbar-->
|
||||
|
||||
<!-- Content wrapper -->
|
||||
<div class="content-wrapper">
|
||||
|
||||
<!-- Content -->
|
||||
@if ($isFlex)
|
||||
<div class="{{$container}} d-flex align-items-stretch flex-grow-1 p-0">
|
||||
@else
|
||||
<div class="{{$container}} flex-grow-1 container-p-y">
|
||||
<!-- BEGIN: Navbar-->
|
||||
@if ($isNavbar)
|
||||
@include('vuexy-admin::layouts.vuexy.sections.navbar.navbar')
|
||||
@endif
|
||||
<!-- END: Navbar-->
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
@include('vuexy-admin::layouts.vuexy.sections.content.breadcrumbs')
|
||||
<!-- / Breadcrumbs -->
|
||||
<!-- Content wrapper -->
|
||||
<div class="content-wrapper">
|
||||
|
||||
@yield('content')
|
||||
<!-- Content -->
|
||||
@if ($isFlex)
|
||||
<div class="{{$container}} d-flex align-items-stretch flex-grow-1 p-0">
|
||||
@else
|
||||
<div class="{{$container}} flex-grow-1 container-p-y">
|
||||
@endif
|
||||
<!-- Breadcrumbs -->
|
||||
@include('vuexy-admin::layouts.vuexy.sections.content.breadcrumbs')
|
||||
<!-- / Breadcrumbs -->
|
||||
|
||||
</div>
|
||||
<!-- / Content -->
|
||||
<!-- Notifications -->
|
||||
<div class="notification-container"></div>
|
||||
<!-- / Notifications -->
|
||||
|
||||
<!-- Footer -->
|
||||
@if ($isFooter)
|
||||
@include('vuexy-admin::layouts.vuexy.sections.footer.footer')
|
||||
@endif
|
||||
<!-- / Footer -->
|
||||
<div class="content-backdrop fade"></div>
|
||||
@yield('content')
|
||||
</div>
|
||||
<!-- / Content -->
|
||||
|
||||
<!-- Footer -->
|
||||
@if ($isFooter)
|
||||
@include('vuexy-admin::layouts.vuexy.sections.footer.footer')
|
||||
@endif
|
||||
<!-- / Footer -->
|
||||
<div class="content-backdrop fade"></div>
|
||||
</div>
|
||||
<!--/ Content wrapper -->
|
||||
</div>
|
||||
<!-- / Layout page -->
|
||||
</div>
|
||||
<!--/ Content wrapper -->
|
||||
</div>
|
||||
<!-- / Layout page -->
|
||||
</div>
|
||||
|
||||
@if ($isMenu)
|
||||
<!-- Overlay -->
|
||||
<div class="layout-overlay layout-menu-toggle"></div>
|
||||
@endif
|
||||
<!-- Drag Target Area To SlideIn Menu On Small Screens -->
|
||||
<div class="drag-target"></div>
|
||||
</div>
|
||||
<!-- / Layout wrapper -->
|
||||
@endsection
|
||||
@if ($isMenu)
|
||||
<!-- Overlay -->
|
||||
<div class="layout-overlay layout-menu-toggle"></div>
|
||||
@endif
|
||||
<!-- Drag Target Area To SlideIn Menu On Small Screens -->
|
||||
<div class="drag-target"></div>
|
||||
</div>
|
||||
<!-- / Layout wrapper -->
|
||||
@endsection
|
||||
|
@ -1,87 +1,91 @@
|
||||
@isset($pageConfigs)
|
||||
{!! Helper::updatePageConfig($pageConfigs) !!}
|
||||
{!! Helper::updatePageConfig($pageConfigs) !!}
|
||||
@endisset
|
||||
@php
|
||||
$configData = Helper::appClasses();
|
||||
$configData = Helper::appClasses();
|
||||
@endphp
|
||||
|
||||
@extends('vuexy-admin::layouts.vuexy.commonMaster' )
|
||||
|
||||
@php
|
||||
$menuHorizontal = true;
|
||||
$navbarFull = true;
|
||||
$menuHorizontal = true;
|
||||
$navbarFull = true;
|
||||
|
||||
/* Display elements */
|
||||
$isNavbar = ($isNavbar ?? true);
|
||||
$isMenu = ($isMenu ?? true);
|
||||
$isFlex = ($isFlex ?? false);
|
||||
$isFooter = ($isFooter ?? true);
|
||||
$customizerHidden = ($customizerHidden ?? '');
|
||||
/* Display elements */
|
||||
$isNavbar = ($isNavbar ?? true);
|
||||
$isMenu = ($isMenu ?? true);
|
||||
$isFlex = ($isFlex ?? false);
|
||||
$isFooter = ($isFooter ?? true);
|
||||
$customizerHidden = ($customizerHidden ?? '');
|
||||
|
||||
/* HTML Classes */
|
||||
$menuFixed = (isset($configData['menuFixed']) ? $configData['menuFixed'] : '');
|
||||
$navbarType = (isset($configData['navbarType']) ? $configData['navbarType'] : '');
|
||||
$footerFixed = (isset($configData['footerFixed']) ? $configData['footerFixed'] : '');
|
||||
$menuCollapsed = (isset($configData['menuCollapsed']) ? $configData['menuCollapsed'] : '');
|
||||
/* HTML Classes */
|
||||
$menuFixed = (isset($configData['menuFixed']) ? $configData['menuFixed'] : '');
|
||||
$navbarType = (isset($configData['navbarType']) ? $configData['navbarType'] : '');
|
||||
$footerFixed = (isset($configData['footerFixed']) ? $configData['footerFixed'] : '');
|
||||
$menuCollapsed = (isset($configData['menuCollapsed']) ? $configData['menuCollapsed'] : '');
|
||||
|
||||
/* Content classes */
|
||||
$container = ($configData['contentLayout'] === 'compact') ? 'container-xxl' : 'container-fluid';
|
||||
$containerNav = ($configData['contentLayout'] === 'compact') ? 'container-xxl' : 'container-fluid';
|
||||
/* Content classes */
|
||||
$container = ($configData['contentLayout'] === 'compact') ? 'container-xxl' : 'container-fluid';
|
||||
$containerNav = ($configData['contentLayout'] === 'compact') ? 'container-xxl' : 'container-fluid';
|
||||
@endphp
|
||||
|
||||
@section('layoutContent')
|
||||
<div class="layout-wrapper layout-navbar-full layout-horizontal layout-without-menu">
|
||||
<div class="layout-container">
|
||||
<div class="layout-container">
|
||||
|
||||
<!-- BEGIN: Navbar-->
|
||||
@if ($isNavbar)
|
||||
@include('vuexy-admin::layouts.vuexy.sections.navbar.navbar')
|
||||
@endif
|
||||
<!-- END: Navbar-->
|
||||
<!-- BEGIN: Navbar-->
|
||||
@if ($isNavbar)
|
||||
@include('vuexy-admin::layouts.vuexy.sections.navbar.navbar')
|
||||
@endif
|
||||
<!-- END: Navbar-->
|
||||
|
||||
<!-- Layout page -->
|
||||
<div class="layout-page">
|
||||
<!-- Layout page -->
|
||||
<div class="layout-page">
|
||||
|
||||
<!-- Content wrapper -->
|
||||
<div class="content-wrapper">
|
||||
<!-- Content wrapper -->
|
||||
<div class="content-wrapper">
|
||||
|
||||
@if ($isMenu)
|
||||
@include('vuexy-admin::layouts.vuexy.sections.menu.horizontalMenu')
|
||||
@endif
|
||||
|
||||
<!-- Content -->
|
||||
@if ($isFlex)
|
||||
<div class="{{$container}} d-flex align-items-stretch flex-grow-1 p-0">
|
||||
@else
|
||||
<div class="{{$container}} flex-grow-1 container-p-y">
|
||||
@endif
|
||||
<!-- Breadcrumbs -->
|
||||
@include('vuexy-admin::layouts.vuexy.sections.content.breadcrumbs')
|
||||
<!-- / Breadcrumbs -->
|
||||
|
||||
<!-- Notifications -->
|
||||
<div class="notification-container"></div>
|
||||
<!-- / Notifications -->
|
||||
|
||||
@yield('content')
|
||||
</div>
|
||||
<!-- / Content -->
|
||||
|
||||
<!-- Footer -->
|
||||
@if ($isFooter)
|
||||
@include('vuexy-admin::layouts.vuexy.sections.footer.footer')
|
||||
@endif
|
||||
<!-- / Footer -->
|
||||
<div class="content-backdrop fade"></div>
|
||||
</div>
|
||||
<!--/ Content wrapper -->
|
||||
</div>
|
||||
<!-- / Layout page -->
|
||||
</div>
|
||||
<!-- / Layout Container -->
|
||||
|
||||
@if ($isMenu)
|
||||
@include('vuexy-admin::layouts.vuexy.sections.menu.horizontalMenu')
|
||||
<!-- Overlay -->
|
||||
<div class="layout-overlay layout-menu-toggle"></div>
|
||||
@endif
|
||||
|
||||
<!-- Content -->
|
||||
@if ($isFlex)
|
||||
<div class="{{$container}} d-flex align-items-stretch flex-grow-1 p-0">
|
||||
@else
|
||||
<div class="{{$container}} flex-grow-1 container-p-y">
|
||||
@endif
|
||||
<!-- Breadcrumbs -->
|
||||
@include('vuexy-admin::layouts.vuexy.sections.content.breadcrumbs')
|
||||
<!-- / Breadcrumbs -->
|
||||
|
||||
@yield('content')
|
||||
</div>
|
||||
<!-- / Content -->
|
||||
|
||||
<!-- Footer -->
|
||||
@if ($isFooter)
|
||||
@include('vuexy-admin::layouts.vuexy.sections.footer.footer')
|
||||
@endif
|
||||
<!-- / Footer -->
|
||||
<div class="content-backdrop fade"></div>
|
||||
</div>
|
||||
<!--/ Content wrapper -->
|
||||
</div>
|
||||
<!-- / Layout page -->
|
||||
<!-- Drag Target Area To SlideIn Menu On Small Screens -->
|
||||
<div class="drag-target"></div>
|
||||
</div>
|
||||
<!-- / Layout Container -->
|
||||
|
||||
@if ($isMenu)
|
||||
<!-- Overlay -->
|
||||
<div class="layout-overlay layout-menu-toggle"></div>
|
||||
@endif
|
||||
<!-- Drag Target Area To SlideIn Menu On Small Screens -->
|
||||
<div class="drag-target"></div>
|
||||
</div>
|
||||
<!-- / Layout wrapper -->
|
||||
@endsection
|
||||
<!-- / Layout wrapper -->
|
||||
@endsection
|
||||
|
@ -3,16 +3,12 @@
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
@foreach ($vuexyBreadcrumbs as $breadcrumb)
|
||||
<li class="breadcrumb-item {{ isset($breadcrumb['active']) && $breadcrumb['active']? 'active': '' }}">
|
||||
@php
|
||||
if(isset($breadcrumb['route']) && isset($breadcrumb['link']) == false)
|
||||
$breadcrumb['link'] = route($breadcrumb['route']);
|
||||
@endphp
|
||||
@isset($breadcrumb['link'])
|
||||
<li class="breadcrumb-item {{ $breadcrumb['active'] ? 'active' : '' }}">
|
||||
@if(!$breadcrumb['active'] && isset($breadcrumb['link']))
|
||||
<a href="{{ $breadcrumb['link'] }}">{{ $breadcrumb['name'] }}</a>
|
||||
@else
|
||||
{{ $breadcrumb['name'] }}
|
||||
@endisset
|
||||
@endif
|
||||
</li>
|
||||
@endforeach
|
||||
</ol>
|
||||
|
36
resources/views/layouts/vuexy/sections/menu/_item.blade.php
Normal file
36
resources/views/layouts/vuexy/sections/menu/_item.blade.php
Normal file
@ -0,0 +1,36 @@
|
||||
@php
|
||||
$meta = $item['_meta'] ?? [];
|
||||
$slug = $item['_slug'] ?? null;
|
||||
$icon = $meta['icon'] ?? $item['icon'] ?? null;
|
||||
$count = $meta['count'] ?? 0;
|
||||
$url = $item['url'] ?? 'javascript:void(0);';
|
||||
$label = $meta['label'] ?? $label;
|
||||
$badge = $meta['badge'] ?? null;
|
||||
$target = isset($item['target']) ? 'target="'.$item['target'].'"' : '';
|
||||
$active = $meta['active'] ?? false;
|
||||
$hasSubmenu = isset($item['submenu']) && is_array($item['submenu']);
|
||||
$autoId = $meta['auto_id'] ?? null;
|
||||
|
||||
$classes = 'menu-item' . ($active ? ' active' : '');
|
||||
$linkClass = 'menu-link' . ($hasSubmenu ? ' menu-toggle' : '');
|
||||
@endphp
|
||||
|
||||
<li class="{{ $classes }}">
|
||||
<a href="{{ $url }}" class="{{ $linkClass }}" {!! $target !!}>
|
||||
@isset($icon)
|
||||
<i class="menu-icon tf-icons {{ $icon }}"></i>
|
||||
@endisset
|
||||
<div>{{ $label }}</div>
|
||||
@isset($badge)
|
||||
<div class="badge bg-{{ $badge['level'] ?? 'secondary' }} rounded-pill ms-auto">{{ $badge['label'] ?? '' }}</div>
|
||||
@endisset
|
||||
</a>
|
||||
|
||||
@if ($hasSubmenu)
|
||||
<ul class="menu-sub">
|
||||
@foreach ($item['submenu'] as $subLabel => $subItem)
|
||||
@include('vuexy-admin::layouts.vuexy.sections.menu._item', ['label' => $subLabel, 'item' => $subItem])
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
</li>
|
@ -2,27 +2,12 @@
|
||||
$configData = Helper::appClasses();
|
||||
@endphp
|
||||
|
||||
<!-- Horizontal Menu -->
|
||||
<aside id="layout-menu" class="layout-menu-horizontal menu-horizontal menu bg-menu-theme flex-grow-0">
|
||||
<div class="{{$containerNav}} d-flex h-100">
|
||||
<div class="{{ $containerNav }} d-flex h-100">
|
||||
<ul class="menu-inner pb-2 pb-xl-0">
|
||||
@foreach ($vuexyMenu as $menuName => $menu)
|
||||
<li class="menu-item {{ isset($menu['active']) && $menu['active'] ? 'active' : '' }}">
|
||||
<a href="{{ $menu['url'] ?? 'javascript:void(0);' }}" class="menu-link {{ isset($menu['submenu']) ? 'menu-toggle' : '' }}" @if (isset($menu['target']) and !empty($menu['target'])) target="{{ $menu['target'] }}" @endif>
|
||||
@isset($menu['icon'])
|
||||
<i class="{{ $menu['icon'] }}"></i>
|
||||
@endisset
|
||||
<div>{{ $menuName }}</div>
|
||||
@isset($menu['badge'])
|
||||
<div class="badge bg-{{ $menu['badge'][0] }} rounded-pill ms-auto">{{ $menu['badge'][1] }}</div>
|
||||
@endisset
|
||||
</a>
|
||||
@isset($menu['submenu'])
|
||||
@include('vuexy-admin::layouts.vuexy.sections.menu.submenu', ['menu' => $menu['submenu']])
|
||||
@endisset
|
||||
</li>
|
||||
@foreach ($vuexyMenu as $label => $menu)
|
||||
@include('vuexy-admin::layouts.vuexy.sections.menu._item', ['label' => $label, 'item' => $menu])
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</aside>
|
||||
<!--/ Horizontal Menu -->
|
||||
|
@ -3,7 +3,7 @@
|
||||
<li class="menu-item {{ isset($submenu['active']) && $submenu['active'] ? 'active open' : '' }}">
|
||||
<a href="{{ $submenu['url'] ?? 'javascript:void(0);' }}" class="menu-link {{ isset($submenu['submenu']) ? 'menu-toggle' : '' }}" @if (isset($submenu['target']) and !empty($submenu['target'])) target="{{ $submenu['target'] }}" @endif>
|
||||
@isset($submenu['icon'])
|
||||
<i class="{{ $submenu['icon'] }}"></i>
|
||||
<i class="menu-icon tf-icons {{ $submenu['icon'] }}"></i>
|
||||
@endisset
|
||||
<div>{{ $submenuName }}</div>
|
||||
@isset($submenu['badge'])
|
||||
|
@ -7,7 +7,7 @@
|
||||
<!-- ! Hide app brand if navbar-full -->
|
||||
@if(!isset($navbarFull))
|
||||
<div class="app-brand demo">
|
||||
<a href="{{ route('admin.core.home.index') }}" class="app-brand-link">
|
||||
<a href="{{ route('admin.core.pages.home.index') }}" class="app-brand-link">
|
||||
<span class="app-brand-logo demo">
|
||||
<img src="{{ asset('storage/' . $_admin['image_logo']['small']) }}" alt="{{ $_admin['app_name'] }}" />
|
||||
</span>
|
||||
@ -33,7 +33,7 @@
|
||||
<li class="menu-item {{ isset($menu['active']) && $menu['active'] ? 'active open' : '' }}">
|
||||
<a href="{{ $menu['url'] ?? 'javascript:void(0);' }}" class="menu-link {{ isset($menu['submenu']) ? 'menu-link menu-toggle' : 'menu-link' }}" @if (isset($menu['target']) and !empty($menu['target'])) target="{{ $menu['target'] }}" @endif>
|
||||
@isset($menu['icon'])
|
||||
<i class="{{ $menu['icon'] }}"></i>
|
||||
<i class="menu-icon tf-icons {{ $menu['icon'] }}"></i>
|
||||
@endisset
|
||||
<div>{{ $menuName }}</div>
|
||||
@isset($menu['badge'])
|
||||
|
@ -17,7 +17,7 @@ $navbarDetached = ($navbarDetached ?? '');
|
||||
<!-- Brand demo (display only for navbar-full and hide on below xl) -->
|
||||
@if(isset($navbarFull))
|
||||
<div class="navbar-brand app-brand demo d-none d-xl-flex py-0 me-4">
|
||||
<a href="{{ route('admin.core.home.index') }}" class="app-brand-link">
|
||||
<a href="{{ route('admin.core.pages.home.index') }}" class="app-brand-link">
|
||||
<span class="app-brand-logo demo">
|
||||
<img src="{{ asset('storage/' . $_admin['image_logo']['small']) }}" alt="{{ $_admin['app_name'] }}" />
|
||||
</span>
|
||||
@ -43,31 +43,69 @@ $navbarDetached = ($navbarDetached ?? '');
|
||||
<div class="navbar-nav-right d-flex align-items-center" id="navbar-collapse">
|
||||
@if(!isset($menuHorizontal))
|
||||
<!-- Search -->
|
||||
@if ($vuexySearch)
|
||||
<div class="navbar-nav align-items-center">
|
||||
<div class="nav-item navbar-search-wrapper mb-0">
|
||||
<a class="nav-item nav-link search-toggler d-flex align-items-center px-0" href="javascript:void(0);">
|
||||
<i class="ti ti-search ti-md me-2 me-lg-4 ti-lg"></i>
|
||||
<span class="d-none d-md-inline-block text-muted fw-normal">Buscar (Ctrl+/)</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-nav align-items-center">
|
||||
<div class="nav-item navbar-search-wrapper mb-0">
|
||||
<a class="nav-item nav-link search-toggler d-flex align-items-center px-0" href="javascript:void(0);">
|
||||
<i class="ti ti-search ti-md me-2 me-lg-4 ti-lg"></i>
|
||||
<span class="d-none d-md-inline-block text-muted fw-normal">Buscar (Ctrl+/)</span>
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<!-- /Search -->
|
||||
@endif
|
||||
<ul class="navbar-nav flex-row align-items-center ms-auto">
|
||||
@if(isset($menuHorizontal))
|
||||
<!-- Search -->
|
||||
@if ($vuexySearch)
|
||||
<li class="nav-item navbar-search-wrapper">
|
||||
<a class="nav-link btn btn-text-secondary btn-icon rounded-pill search-toggler" href="javascript:void(0);">
|
||||
<i class="ti ti-search ti-md"></i>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
<li class="nav-item navbar-search-wrapper">
|
||||
<a class="nav-link btn btn-text-secondary btn-icon rounded-pill search-toggler" href="javascript:void(0);">
|
||||
<i class="ti ti-search ti-md"></i>
|
||||
</a>
|
||||
</li>
|
||||
<!-- /Search -->
|
||||
@endif
|
||||
|
||||
<!-- Language -->
|
||||
<li class="nav-item dropdown-language dropdown">
|
||||
<a class="nav-link btn btn-text-secondary btn-icon rounded-pill dropdown-toggle hide-arrow" href="javascript:void(0);" data-bs-toggle="dropdown">
|
||||
<i class='ti ti-language rounded-circle ti-md'></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end">
|
||||
<li>
|
||||
<a class="dropdown-item pr-2 {{ app()->getLocale() === 'es' ? 'active' : '' }}" href="{{url('lang/es')}}" data-language="es" data-text-direction="ltr">
|
||||
<img src="{{ asset('vendor/vuexy-admin/flag-icons/flags/1x1/mx.svg') }}" style="height:16px" class="inline" alt="">
|
||||
<span class="ml-1">Español México</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<li>
|
||||
<a class="dropdown-item {{ app()->getLocale() === 'co' ? 'active' : '' }}" href="{{url('lang/co')}}" data-language="co" data-text-direction="ltr">
|
||||
<img src="{{ asset('vendor/vuexy-admin/flag-icons/flags/1x1/co.svg') }}" style="height:16px" class="inline" alt="">
|
||||
<span class="ml-1">Español Colombia</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item {{ app()->getLocale() === 'en' ? 'active' : '' }}" href="{{url('lang/en')}}" data-language="en" data-text-direction="ltr">
|
||||
<img src="{{ asset('vendor/vuexy-admin/flag-icons/flags/1x1/us.svg') }}" style="height:16px" class="inline" alt="">
|
||||
<span class="ml-1">English</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item {{ app()->getLocale() === 'fr' ? 'active' : '' }}" href="{{url('lang/fr')}}" data-language="fr" data-text-direction="ltr">
|
||||
<img src="{{ asset('vendor/vuexy-admin/flag-icons/flags/1x1/fr.svg') }}" style="height:16px" class="inline" alt="">
|
||||
<span class="ml-1">French</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item {{ app()->getLocale() === 'de' ? 'active' : '' }}" href="{{url('lang/de')}}" data-language="de" data-text-direction="ltr">
|
||||
<img src="{{ asset('vendor/vuexy-admin/flag-icons/flags/1x1/de.svg') }}" style="height:16px" class="inline" alt="">
|
||||
<span class="ml-1">German</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<!--/ Language -->
|
||||
|
||||
|
||||
@if($configData['hasCustomizer'] == true)
|
||||
<!-- Style Switcher -->
|
||||
<li class="nav-item dropdown-style-switcher dropdown">
|
||||
@ -96,57 +134,23 @@ $navbarDetached = ($navbarDetached ?? '');
|
||||
@endif
|
||||
|
||||
<!-- Quick links -->
|
||||
@if ($vuexyQuickLinks)
|
||||
<li class="nav-item dropdown-shortcuts navbar-dropdown dropdown">
|
||||
<a class="nav-link btn btn-text-secondary btn-icon rounded-pill btn-icon dropdown-toggle hide-arrow" href="javascript:void(0);" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
|
||||
<i class='ti ti-layout-grid-add ti-md'></i>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-end p-0">
|
||||
<div class="dropdown-menu-header border-bottom">
|
||||
<div class="dropdown-header d-flex align-items-center py-3">
|
||||
<h6 class="mb-0 me-auto">Atajos</h6>
|
||||
@if($vuexyQuickLinks['current_page_in_list'])
|
||||
<a href="javascript:void(0)" class="btn btn-text-secondary rounded-pill btn-icon dropdown-shortcuts-remove" data-bs-toggle="tooltip" data-bs-placement="top" title="Remover atajo"><i class="ti ti-trash text-heading"></i></a>
|
||||
@else
|
||||
@if($vuexyQuickLinks['totalLinks'] < config('vuexy.custom.maxQuickLinks'))
|
||||
<a href="javascript:void(0)" class="btn btn-text-secondary rounded-pill btn-icon dropdown-shortcuts-add" data-bs-toggle="tooltip" data-bs-placement="top" title="Agregar atajo"><i class="ti ti-plus text-heading"></i></a>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="dropdown-shortcuts-list scrollable-container">
|
||||
@foreach ($vuexyQuickLinks['rows'] as $quickLinksRow)
|
||||
<div class="row row-bordered overflow-visible g-0">
|
||||
@foreach ($quickLinksRow as $key => $quickLink)
|
||||
<div class="dropdown-shortcuts-item col @if($quickLink['route'] === Route::currentRouteName()) active @endif">
|
||||
<span class="dropdown-shortcuts-icon rounded-circle mb-3">
|
||||
<i class="ti ti-{{ $quickLink['icon'] }} ti-26px text-heading"></i>
|
||||
</span>
|
||||
<a href="{{ $quickLink['url'] }}" class="stretched-link">{{ $quickLink['title'] }}</a>
|
||||
<small>{{ $quickLink['subtitle'] }}</small>
|
||||
</div>
|
||||
@if ($key == 0 && !isset($quickLinksRow[1]))
|
||||
<div class="dropdown-shortcuts-item col"></div>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@endif
|
||||
@livewire('vuexy-admin::vuexy-quicklinks')
|
||||
<!-- Quick links -->
|
||||
|
||||
<!-- Notification -->
|
||||
{!! $vuexyNotifications !!}
|
||||
@if($vuexyNotifications)
|
||||
@foreach ($vuexyNotifications as $vuexyNotification)
|
||||
|
||||
@endforeach
|
||||
@endif
|
||||
<!--/ Notification -->
|
||||
|
||||
<!-- User -->
|
||||
<li class="nav-item navbar-dropdown dropdown-user dropdown">
|
||||
<a class="nav-link dropdown-toggle hide-arrow d-flex align-items-center" href="javascript:void(0);" data-bs-toggle="dropdown">
|
||||
<a class="nav-link dropdown-toggle hide-arrow d-flex align-items-center ml-2" href="javascript:void(0);" data-bs-toggle="dropdown">
|
||||
@if (Auth::check())
|
||||
<div class="user-nav me-2 d-none d-sm-block">
|
||||
<span class="user-name d-block text-end">{{ Auth::user()->fullname }}</span>
|
||||
<span class="user-name d-block text-end">{{ Auth::user()->full_name }}</span>
|
||||
<span class="user-email d-block text-end">{{ Auth::user()->email }}</span>
|
||||
</div>
|
||||
@endif
|
||||
@ -179,14 +183,14 @@ $navbarDetached = ($navbarDetached ?? '');
|
||||
@endif
|
||||
@if (Auth::check())
|
||||
<li>
|
||||
<a class="dropdown-item" href="{{ route('admin.core.user-profile.index') }}">
|
||||
<a class="dropdown-item" href="{{ route('admin.core.user.profile.index') }}">
|
||||
<i class="ti ti-user-cog me-2 ti-sm"></i>
|
||||
<span class="align-middle">Cuenta de usuario</span>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
<li>
|
||||
<a class="dropdown-item" href="{{ route('admin.core.about.index') }}">
|
||||
<a class="dropdown-item" href="{{ route('admin.core.pages.about.index') }}">
|
||||
<i class='ti ti-cat me-2'></i>
|
||||
<span class="align-middle">Acerca de</span>
|
||||
</a>
|
||||
@ -218,14 +222,12 @@ $navbarDetached = ($navbarDetached ?? '');
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@if ($vuexySearch)
|
||||
<!-- Search Small Screens -->
|
||||
<div class="navbar-search-wrapper search-input-wrapper {{ isset($menuHorizontal) ? $containerNav : '' }} d-none">
|
||||
<input type="text" class="form-control search-input {{ isset($menuHorizontal) ? '' : $containerNav }} border-0" placeholder="Buscar..." aria-label="Buscar...">
|
||||
<i class="ti ti-x search-toggler cursor-pointer"></i>
|
||||
</div>
|
||||
<!--/ Search Small Screens -->
|
||||
@endif
|
||||
<!-- Search Small Screens -->
|
||||
<div class="navbar-search-wrapper search-input-wrapper {{ isset($menuHorizontal) ? $containerNav : '' }} d-none">
|
||||
<input type="text" class="form-control search-input {{ isset($menuHorizontal) ? '' : $containerNav }} border-0" placeholder="Search..." aria-label="Search...">
|
||||
<i class="ti ti-x search-toggler cursor-pointer"></i>
|
||||
</div>
|
||||
<!--/ Search Small Screens -->
|
||||
@if(isset($navbarDetached) && $navbarDetached == '')
|
||||
</div>
|
||||
@endif
|
||||
|
@ -0,0 +1,26 @@
|
||||
@php
|
||||
$notifications = collect([
|
||||
session('vuexy_notification') ? ['channel' => 'vuexy', 'data' => session('vuexy_notification')] : null,
|
||||
session('vuexy_toastr') ? ['channel' => 'toastr', 'data' => session('vuexy_toastr')] : null,
|
||||
session('vuexy_notyf') ? ['channel' => 'notyf', 'data' => session('vuexy_notyf')] : null,
|
||||
session('vuexy_swal') ? ['channel' => 'sweetalert', 'data' => session('vuexy_swal')] : null,
|
||||
session('vuexy_pnotify') ? ['channel' => 'pnotify', 'data' => session('vuexy_pnotify')] : null,
|
||||
])->filter();
|
||||
@endphp
|
||||
|
||||
@if ($notifications->isNotEmpty())
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', async function () {
|
||||
const notifications = @json($notifications);
|
||||
|
||||
for (const n of notifications) {
|
||||
try {
|
||||
const { NotifyChannelService } = await import('/build/js/notify-channel-service.js');
|
||||
await NotifyChannelService.notify({ channel: n.channel, ...n.data });
|
||||
} catch (e) {
|
||||
console.error('❌ Error al enviar notificación por canal: ' + n.channel, e);
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endif
|
@ -2,19 +2,22 @@
|
||||
@vite([
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/libs/jquery/jquery.js',
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/libs/popper/popper.js',
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/libs/toastr/toastr.js',
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/libs/notyf/notyf.js',
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/js/bootstrap.js',
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/libs/node-waves/node-waves.js',
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js',
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/libs/hammer/hammer.js',
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/libs/typeahead-js/typeahead.js',
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/js/menu.js',
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/js/notifications/notify-loader.js'
|
||||
])
|
||||
|
||||
@yield('vendor-script')
|
||||
<!-- END: Page Vendor JS-->
|
||||
|
||||
<!-- BEGIN: Theme JS-->
|
||||
@vite('vendor/koneko/laravel-vuexy-admin/resources/assets/js/main.js')
|
||||
@vite('vendor/koneko/laravel-vuexy-admin/resources/assets/js/layout/main.js')
|
||||
<!-- END: Theme JS-->
|
||||
|
||||
@vite('vendor/koneko/laravel-vuexy-admin/resources/js/app.js')
|
||||
|
@ -0,0 +1,79 @@
|
||||
@php
|
||||
$menuCollapsed = ($configData['menuCollapsed'] === 'layout-menu-collapsed') ? json_encode(true) : false;
|
||||
@endphp
|
||||
|
||||
<!-- Laravel Helper Functions -->
|
||||
@vite('vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/js/helpers.js')
|
||||
|
||||
@if ($configData['hasCustomizer'])
|
||||
<!--! Template customizer & Theme config files -->
|
||||
@vite('vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/js/template-customizer.js')
|
||||
@endif
|
||||
|
||||
<!-- Config File -->
|
||||
@vite('vendor/koneko/laravel-vuexy-admin/resources/assets/js/config.js')
|
||||
|
||||
<!-- Notificaciones Vuexy (alerts tipo Bootstrap) -->
|
||||
@if (session('vuexy_notification'))
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
const notification = @json(session('vuexy_notification'));
|
||||
|
||||
if (window.vuexyNotify) {
|
||||
window.vuexyNotify.flash(notification);
|
||||
|
||||
} else {
|
||||
console.warn('⚠️ VuexyNotify no encontrado');
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endif
|
||||
|
||||
<!-- Notificaciones Toastr (tipo push) -->
|
||||
@if (session('vuexy_toastr'))
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
const toastrData = @json(session('vuexy_toastr'));
|
||||
|
||||
if (window.toastr) {
|
||||
toastr.options.timeOut = toastrData.delay || 5000;
|
||||
toastr.options.positionClass = "toast-top-right";
|
||||
toastr[toastrData.type](toastrData.message);
|
||||
|
||||
} else {
|
||||
console.warn('⚠️ Toastr no encontrado');
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endif
|
||||
|
||||
@if ($configData['hasCustomizer'])
|
||||
<script type="module">
|
||||
window.templateCustomizer = new TemplateCustomizer({
|
||||
cssPath: '',
|
||||
themesPath: '',
|
||||
defaultStyle: "{{ $configData['styleOpt'] }}",
|
||||
defaultShowDropdownOnHover: "{{ $configData['showDropdownOnHover'] }}", // true/false (for horizontal layout only)
|
||||
displayCustomizer: "{{ $configData['displayCustomizer'] }}",
|
||||
lang: '{{ app()->getLocale() }}',
|
||||
pathResolver: function(path) {
|
||||
var resolvedPaths = {
|
||||
// Core stylesheets
|
||||
@foreach (['core'] as $name)
|
||||
'{{ $name }}.scss': '{{ Vite::asset('vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/scss'.$configData["rtlSupport"].'/'.$name.'.scss') }}',
|
||||
'{{ $name }}-dark.scss': '{{ Vite::asset('vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/scss'.$configData["rtlSupport"].'/'.$name.'-dark.scss') }}',
|
||||
@endforeach
|
||||
|
||||
// Themes
|
||||
@foreach (['default', 'bordered', 'semi-dark'] as $name)
|
||||
'theme-{{ $name }}.scss': '{{ Vite::asset('vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/scss'.$configData["rtlSupport"].'/theme-'.$name.'.scss') }}',
|
||||
'theme-{{ $name }}-dark.scss': '{{ Vite::asset('vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/scss'.$configData["rtlSupport"].'/theme-'.$name.'-dark.scss') }}',
|
||||
@endforeach
|
||||
};
|
||||
|
||||
return resolvedPaths[path] || path;
|
||||
},
|
||||
'controls': <?php echo json_encode($configData['customizerControls']); ?>,
|
||||
});
|
||||
</script>
|
||||
@endif
|
@ -11,7 +11,7 @@
|
||||
@endif
|
||||
|
||||
<!-- Config File -->
|
||||
@vite('vendor/koneko/laravel-vuexy-admin/resources/assets/js/config.js')
|
||||
@vite('vendor/koneko/laravel-vuexy-admin/resources/assets/js/layout/config.js')
|
||||
|
||||
@if ($configData['hasCustomizer'])
|
||||
<script type="module">
|
||||
|
@ -5,7 +5,6 @@
|
||||
<link href="https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap" rel="stylesheet">
|
||||
|
||||
@vite([
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/fonts/tabler-icons.scss',
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/fonts/fontawesome.scss',
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/libs/node-waves/node-waves.scss',
|
||||
])
|
||||
@ -22,6 +21,7 @@
|
||||
@vite([
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.scss',
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/libs/typeahead-js/typeahead.scss',
|
||||
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/libs/toastr/toastr.scss',
|
||||
])
|
||||
|
||||
@yield('vendor-style')
|
||||
|
Reference in New Issue
Block a user