@php
use Illuminate\Support\Str;
use App\Helpers\Helpers;
$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') : '';
// Get skin name from configData - only applies to admin layouts
$isAdminLayout = !Str::contains($configData['layout'] ?? '', 'front');
$skinName = $isAdminLayout ? $configData['skinName'] ?? 'default' : 'default';
// Get semiDark value from configData - only applies to admin layouts
$semiDarkEnabled = $isAdminLayout && filter_var($configData['semiDark'] ?? false, FILTER_VALIDATE_BOOLEAN);
// Generate primary color CSS if color is set
$primaryColorCSS = '';
if (isset($configData['color']) && $configData['color']) {
$primaryColorCSS = Helpers::generatePrimaryColorCSS($configData['color']);
}
@endphp
@yield('title') | {{ config('variables.templateName') ? config('variables.templateName') : 'TemplateName' }}
- {{ config('variables.templateSuffix') ? config('variables.templateSuffix') : 'TemplateSuffix' }}
@include('layouts/sections/styles' . $isFront)
@if (
$primaryColorCSS &&
(config('custom.custom.primaryColor') ||
isset($_COOKIE['admin-primaryColor']) ||
isset($_COOKIE['front-primaryColor'])))
@endif
@include('layouts/sections/scriptsIncludes' . $isFront)
@yield('layoutContent')
@stack('modals')
@php
$toastMessages = [];
$toastIcons = [
'success' => 'ti tabler-check',
'info' => 'ti tabler-info-circle',
'warning' => 'ti tabler-alert-circle',
'danger' => 'ti tabler-alert-triangle',
];
$toastTitles = [
'success' => 'Operación completada',
'info' => 'Información',
'warning' => 'Atención',
'danger' => 'Revisa la información',
];
$enqueueToast = function (string $variant, string $message, ?string $title = null) use (&$toastMessages, $toastIcons, $toastTitles) {
$variant = $variant === 'error' ? 'danger' : $variant;
$translatedMessage = __($message);
$translatedTitle = $title ? __($title) : null;
$toastMessages[] = [
'variant' => $variant,
'icon' => $toastIcons[$variant] ?? 'ti tabler-info-circle',
'title' => $translatedTitle ?? ($toastTitles[$variant] ?? 'Aviso'),
'message' => $translatedMessage,
'time' => now()->format('H:i'),
];
};
if (session()->has('status')) {
$enqueueToast('success', session('status'));
}
foreach (['success', 'error', 'warning', 'info'] as $key) {
if (session()->has($key)) {
$enqueueToast($key === 'error' ? 'danger' : $key, session($key));
}
}
if (session()->has('toast') && is_array(session('toast'))) {
foreach (session('toast') as $toast) {
if (!isset($toast['message'])) {
continue;
}
$enqueueToast(
$toast['variant'] ?? 'info',
$toast['message'],
$toast['title'] ?? null
);
}
}
if ($errors->any()) {
foreach ($errors->all() as $message) {
$enqueueToast('danger', $message, 'Error de validación');
}
}
@endphp
@if (!empty($toastMessages))
@foreach ($toastMessages as $idx => $toast)
@endforeach
@endif
{{-- remove while creating package --}}
{{-- remove while creating package end --}}
@include('layouts/sections/scripts' . $isFront)
@stack('scripts')