first commit

This commit is contained in:
2025-03-07 00:29:07 -06:00
commit b21a11c2ee
564 changed files with 94041 additions and 0 deletions

View File

@ -0,0 +1,17 @@
@isset($pageConfigs)
{!! Helper::updatePageConfig($pageConfigs) !!}
@endisset
@php
$configData = Helper::appClasses();
/* Display elements */
$customizerHidden = ($customizerHidden ?? '');
@endphp
@extends('vuexy-admin::layouts.vuexy.commonMaster' )
@section('layoutContent')
<!-- Content -->
@yield('content')
<!--/ Content -->
@endsection

View File

@ -0,0 +1,58 @@
<!DOCTYPE html>
@php
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") : "");
@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']}}">
<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" />
<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() }}">
<!-- 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 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)
</head>
<body>
<!-- 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)
</body>
</html>

View File

@ -0,0 +1,89 @@
@isset($pageConfigs)
{!! Helper::updatePageConfig($pageConfigs) !!}
@endisset
@php
$configData = Helper::appClasses();
@endphp
@extends('vuexy-admin::layouts.vuexy.commonMaster' )
@php
/* Display elements */
$contentNavbar = ($contentNavbar ?? true);
$containerNav = ($containerNav ?? 'container-xxl');
$isNavbar = ($isNavbar ?? true);
$isMenu = ($isMenu ?? true);
$isFlex = ($isFlex ?? false);
$isFooter = ($isFooter ?? true);
$customizerHidden = ($customizerHidden ?? '');
/* HTML Classes */
$navbarDetached = 'navbar-detached';
$menuFixed = (isset($configData['menuFixed']) ? $configData['menuFixed'] : '');
if(isset($navbarType)) {
$configData['navbarType'] = $navbarType;
}
$navbarType = (isset($configData['navbarType']) ? $configData['navbarType'] : '');
$footerFixed = (isset($configData['footerFixed']) ? $configData['footerFixed'] : '');
$menuCollapsed = (isset($configData['menuCollapsed']) ? $configData['menuCollapsed'] : '');
/* Content classes */
$container = (isset($configData['contentLayout']) && $configData['contentLayout'] === 'compact') ? 'container-xxl' : 'container-fluid';
@endphp
@section('layoutContent')
<div class="layout-wrapper layout-content-navbar {{ $isMenu ? '' : 'layout-without-menu' }}">
<div class="layout-container">
@if ($isMenu)
@include('vuexy-admin::layouts.vuexy.sections.menu.verticalMenu')
@endif
<!-- 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">
@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 -->
</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

View File

@ -0,0 +1,87 @@
@isset($pageConfigs)
{!! Helper::updatePageConfig($pageConfigs) !!}
@endisset
@php
$configData = Helper::appClasses();
@endphp
@extends('vuexy-admin::layouts.vuexy.commonMaster' )
@php
$menuHorizontal = true;
$navbarFull = true;
/* 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'] : '');
/* 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">
<!-- BEGIN: Navbar-->
@if ($isNavbar)
@include('vuexy-admin::layouts.vuexy.sections.navbar.navbar')
@endif
<!-- END: Navbar-->
<!-- Layout page -->
<div class="layout-page">
<!-- 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 -->
@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)
<!-- 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

View File

@ -0,0 +1,16 @@
@isset($pageConfigs)
{!! Helper::updatePageConfig($pageConfigs) !!}
@endisset
@php
$configData = Helper::appClasses();
@endphp
@isset($configData["layout"])
@include((( $configData["layout"] === 'horizontal')
? 'vuexy-admin::layouts.vuexy.horizontalLayout'
: (( $configData["layout"] === 'blank')
? 'vuexy-admin::layouts.vuexy.blankLayout'
: (($configData["layout"] === 'front')
? 'vuexy-admin::layouts.vuexy.layoutFront'
: 'vuexy-admin::layouts.vuexy.contentNavbarLayout') )))
@endisset

View File

@ -0,0 +1,21 @@
<!-- Breadcrumbs: Start -->
@if($vuexyBreadcrumbs)
<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'])
<a href="{{ $breadcrumb['link'] }}">{{ $breadcrumb['name'] }}</a>
@else
{{ $breadcrumb['name'] }}
@endisset
</li>
@endforeach
</ol>
</nav>
@endif
<!-- Breadcrumbs: End -->

View File

@ -0,0 +1,23 @@
@php
$containerFooter = (isset($configData['contentLayout']) && $configData['contentLayout'] === 'compact') ? 'container-xxl' : 'container-fluid';
@endphp
<!-- Footer-->
<footer class="content-footer footer bg-footer-theme">
<div class="{{ $containerFooter }}">
<div class="footer-container d-flex align-items-center justify-content-between py-4 flex-md-row flex-column">
<div class="text-body">
© <script>document.write(new Date().getFullYear())</script>, Hecho con ❤️ por <a href="{{ (!empty(config('koneko.creatorUrl')) ? config('koneko.creatorUrl') : '') }}" target="_blank" class="footer-link">{{ (!empty(config('koneko.creatorName')) ? config('koneko.creatorName') : '') }}</a>
</div>
<div class="d-none d-lg-inline-block">
@if (config('koneko.licenseUrl'))
<a href="{{ config('koneko.licenseUrl') }}" class="footer-link me-4" target="_blank">Licencia</a>
@endif
@if (config('koneko.supportUrl'))
<a href="{{ config('koneko.supportUrl') }}" target="_blank" class="footer-link d-none d-sm-inline-block">Soporte</a>
@endif
</div>
</div>
</div>
</footer>
<!--/ Footer-->

View File

@ -0,0 +1,28 @@
@php
$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">
<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>
@endforeach
</ul>
</div>
</aside>
<!--/ Horizontal Menu -->

View File

@ -0,0 +1,18 @@
<ul class="menu-sub">
@foreach ($menu as $submenuName => $submenu)
<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>
@endisset
<div>{{ $submenuName }}</div>
@isset($submenu['badge'])
<div class="badge bg-{{ $submenu['badge'][0] }} rounded-pill ms-auto">{{ $submenu['badge'][1] }}</div>
@endisset
</a>
@isset($submenu['submenu'])
@include('vuexy-admin::layouts.vuexy.sections.menu.submenu', ['menu' => $submenu['submenu']])
@endisset
</li>
@endforeach
</ul>

View File

@ -0,0 +1,51 @@
@php
$configData = Helper::appClasses();
@endphp
<aside id="layout-menu" class="layout-menu menu-vertical menu bg-menu-theme">
<!-- ! 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">
<span class="app-brand-logo demo">
<img src="{{ asset('storage/' . $_admin['image_logo']['small']) }}" alt="{{ $_admin['app_name'] }}" />
</span>
<span class="app-brand-text demo menu-text fw-bold">{{ $_admin['app_name'] }}</span>
</a>
<a href="javascript:void(0);" class="layout-menu-toggle menu-link text-large ms-auto">
<i class="ti menu-toggle-icon d-none d-xl-block align-middle"></i>
<i class="ti ti-x d-block d-xl-none ti-md align-middle"></i>
</a>
</div>
@endif
<div class="menu-inner-shadow"></div>
<ul class="menu-inner py-1">
@foreach ($vuexyMenu as $menuName => $menu)
@if (isset($menu->menuHeader))
<li class="menu-header small">
<span class="menu-header-text">{{ __($menu->menuHeader) }}</span>
</li>
@else
{{-- main menu --}}
<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>
@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>
@endif
@endforeach
</ul>
</aside>

View File

@ -0,0 +1,233 @@
@php
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
$containerNav = ($configData['contentLayout'] === 'compact') ? 'container-xxl' : 'container-fluid';
$navbarDetached = ($navbarDetached ?? '');
@endphp
<!-- Navbar -->
@if(isset($navbarDetached) && $navbarDetached == 'navbar-detached')
<nav class="layout-navbar {{$containerNav}} navbar navbar-expand-xl {{$navbarDetached}} align-items-center bg-navbar-theme" id="layout-navbar">
@endif
@if(isset($navbarDetached) && $navbarDetached == '')
<nav class="layout-navbar navbar navbar-expand-xl align-items-center bg-navbar-theme" id="layout-navbar">
<div class="{{$containerNav}}">
@endif
<!-- 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">
<span class="app-brand-logo demo">
<img src="{{ asset('storage/' . $_admin['image_logo']['small']) }}" alt="{{ $_admin['app_name'] }}" />
</span>
<span class="app-brand-text demo menu-text fw-bold">{{ $_admin['app_name'] }}</span>
</a>
@if(isset($menuHorizontal))
<a href="javascript:void(0);" class="layout-menu-toggle menu-link text-large ms-auto d-xl-none">
<i class="ti ti-x ti-md align-middle"></i>
</a>
@endif
</div>
@endif
<!-- ! Not required for layout-without-menu -->
@if(!isset($navbarHideToggle))
<div class="layout-menu-toggle navbar-nav align-items-xl-center me-3 me-xl-0{{ isset($menuHorizontal) ? ' d-xl-none ' : '' }} {{ isset($contentNavbar) ?' d-xl-none ' : '' }}">
<a class="nav-item nav-link px-0 me-xl-4" href="javascript:void(0)">
<i class="ti ti-menu-2 ti-md"></i>
</a>
</div>
@endif
<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>
@endif
<!-- /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
<!-- /Search -->
@endif
@if($configData['hasCustomizer'] == true)
<!-- Style Switcher -->
<li class="nav-item dropdown-style-switcher 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-md'></i>
</a>
<ul class="dropdown-menu dropdown-menu-end dropdown-styles">
<li>
<a class="dropdown-item" href="javascript:void(0);" data-theme="light">
<span class="align-middle"><i class='ti ti-sun ti-md me-3'></i>Claro</span>
</a>
</li>
<li>
<a class="dropdown-item" href="javascript:void(0);" data-theme="dark">
<span class="align-middle"><i class="ti ti-moon-stars ti-md me-3"></i>Obscuro</span>
</a>
</li>
<li>
<a class="dropdown-item" href="javascript:void(0);" data-theme="system">
<span class="align-middle"><i class="ti ti-device-desktop-analytics ti-md me-3"></i>Sistema</span>
</a>
</li>
</ul>
</li>
<!-- / Style Switcher -->
@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
<!-- Quick links -->
<!-- Notification -->
{!! $vuexyNotifications !!}
<!--/ 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">
@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-email d-block text-end">{{ Auth::user()->email }}</span>
</div>
@endif
<div class="avatar {{ Auth::check()? 'avatar-online': '' }} ">
<img src="{{ Auth::user() ? Auth::user()->profile_photo_url : asset('vendor/vuexy-admin/img/avatar/generic.svg') }}" alt class="h-auto rounded-circle">
</div>
</a>
<ul class="dropdown-menu dropdown-menu-end">
@if (Auth::check())
<li class="d-block d-sm-none">
<a class="dropdown-item" href="javascript:;">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar avatar-online">
<img src="{{ Auth::user()->profile_photo_url }}" alt class="h-auto rounded-circle">
</div>
</div>
<div class="flex-grow-1">
<span class="fw-medium d-block">
{{ Auth::user()->name }}
</span>
<small class="text-muted">{{ Auth::user()->email }}</small>
</div>
</div>
</a>
</li>
<li class="d-block d-sm-none">
<div class="dropdown-divider"></div>
</li>
@endif
@if (Auth::check())
<li>
<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">Configuración de cuenta</span>
</a>
</li>
@endif
<li>
<a class="dropdown-item" href="{{ route('admin.core.about.index') }}">
<i class='ti ti-cat me-2'></i>
<span class="align-middle">Acerca de</span>
</a>
</li>
@if (Auth::check())
<li>
<div class="dropdown-divider"></div>
</li>
<li>
<a class="btn btn-sm btn-danger d-flex" href="{{ route('logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit();">
<i class='ti ti-logout me-2'></i>
<span class="align-middle">Cerrar sesión</span>
</a>
</li>
<form method="POST" id="logout-form" action="{{ route('logout') }}">
@csrf
</form>
@else
<li>
<a class="dropdown-item" href="{{ route('login') }}">
<i class='ti ti-login me-2'></i>
<span class="align-middle">Iniciar sesión</span>
</a>
</li>
@endif
</ul>
</li>
<!--/ User -->
</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
@if(isset($navbarDetached) && $navbarDetached == '')
</div>
@endif
</nav>
<!-- / Navbar -->

View File

@ -0,0 +1,24 @@
<!-- BEGIN: Vendor JS-->
@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/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',
])
@yield('vendor-script')
<!-- END: Page Vendor JS-->
<!-- BEGIN: Theme JS-->
@vite('vendor/koneko/laravel-vuexy-admin/resources/assets/js/main.js')
<!-- END: Theme JS-->
@vite('vendor/koneko/laravel-vuexy-admin/resources/js/app.js')
<!-- BEGIN: Page JS-->
@stack('page-script')
<!-- END: Page JS-->

View File

@ -0,0 +1,45 @@
@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')
@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

View File

@ -0,0 +1,30 @@
<!-- BEGIN: Theme CSS-->
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<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',
])
<!-- Core CSS -->
@vite([
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/scss'.$configData['rtlSupport'].'/core' .($configData['style'] !== 'light' ? '-' . $configData['style'] : '') .'.scss',
'vendor/koneko/laravel-vuexy-admin/resources/assets/vendor/scss'.$configData['rtlSupport'].'/' .$configData['theme'] .($configData['style'] !== 'light' ? '-' . $configData['style'] : '') .'.scss',
'vendor/koneko/laravel-vuexy-admin/resources/assets/css/demo.css',
'vendor/koneko/laravel-vuexy-admin/resources/scss/app.scss',
])
<!-- Vendor Styles -->
@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',
])
@yield('vendor-style')
<!-- Page Styles -->
@stack('page-style')