v1.0.0
This commit is contained in:
82
src/resources/views/layouts/app.blade.php
Normal file
82
src/resources/views/layouts/app.blade.php
Normal file
@@ -0,0 +1,82 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="pl">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{{ $title ?? \App\Support\Settings::get('company_name') }}</title>
|
||||
<link rel="icon" type="image/svg+xml" href="{{ \App\Support\Settings::faviconUrl() }}">
|
||||
|
||||
<link rel="manifest" href="{{ route('manifest') }}">
|
||||
<meta name="theme-color" content="{{ \App\Support\Settings::accentColor() }}">
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
||||
<meta name="apple-mobile-web-app-title" content="{{ \App\Support\Settings::get('company_name') }}">
|
||||
<link rel="apple-touch-icon" href="{{ asset('pwa-icons/icon-192.png') }}">
|
||||
|
||||
<script>
|
||||
if ('serviceWorker' in navigator) {
|
||||
window.addEventListener('load', function () {
|
||||
navigator.serviceWorker.register('/sw.js');
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
function applyStoredTheme() {
|
||||
var stored = localStorage.getItem('theme') || 'auto';
|
||||
var systemDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
||||
var resolved = stored === 'auto' ? (systemDark ? 'dark' : 'light') : stored;
|
||||
document.documentElement.setAttribute('data-theme', resolved);
|
||||
}
|
||||
|
||||
// Apply immediately (avoids a flash of the wrong theme on first paint).
|
||||
applyStoredTheme();
|
||||
|
||||
// wire:navigate swaps the page via AJAX and morphs <html> to match the
|
||||
// freshly rendered (unthemed) markup, which can wipe the data-theme
|
||||
// attribute back out — reapply the stored choice after every such swap,
|
||||
// and again if the page is restored from the back/forward cache.
|
||||
document.addEventListener('livewire:navigated', applyStoredTheme);
|
||||
window.addEventListener('pageshow', function (e) {
|
||||
if (e.persisted) applyStoredTheme();
|
||||
});
|
||||
|
||||
// Keep "auto" in sync if the OS theme changes while the page is open.
|
||||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', function () {
|
||||
if ((localStorage.getItem('theme') || 'auto') === 'auto') applyStoredTheme();
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20,400,0,0">
|
||||
<style>.material-symbols-outlined{font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 20;line-height:1;vertical-align:middle;font-size:18px}</style>
|
||||
|
||||
{{-- QuillJS — powers the rich-text (HTML) editors for e-mail templates in Admin -> Szablony e-mail. --}}
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/quill@2/dist/quill.snow.css">
|
||||
<script src="https://cdn.jsdelivr.net/npm/quill@2/dist/quill.js"></script>
|
||||
<style>
|
||||
.ql-toolbar.ql-snow { border-color: var(--color-divider); background: color-mix(in srgb, var(--color-text) 4%, var(--color-bg)); border-radius: 8px 8px 0 0; }
|
||||
.ql-container.ql-snow { border-color: var(--color-divider); border-radius: 0 0 8px 8px; font-family: inherit; font-size: 13.5px; }
|
||||
.ql-editor { color: var(--color-text); min-height: 160px; }
|
||||
.ql-editor.ql-blank::before { color: color-mix(in srgb, var(--color-text) 45%, transparent); font-style: normal; }
|
||||
.ql-snow .ql-picker { color: var(--color-text); }
|
||||
.ql-snow .ql-stroke { stroke: color-mix(in srgb, var(--color-text) 75%, transparent); }
|
||||
.ql-snow .ql-fill { fill: color-mix(in srgb, var(--color-text) 75%, transparent); }
|
||||
.ql-snow .ql-picker-options { background: var(--color-surface); border-color: var(--color-divider); }
|
||||
.ql-snow.ql-toolbar button:hover, .ql-snow .ql-toolbar button:hover { color: var(--color-accent); }
|
||||
.ql-snow.ql-toolbar button:hover .ql-stroke, .ql-snow .ql-toolbar button:hover .ql-stroke { stroke: var(--color-accent); }
|
||||
.ql-editor hr { border: none; border-top: 1px solid var(--color-divider); margin: 10px 0; }
|
||||
</style>
|
||||
|
||||
@vite(['resources/css/app.css', 'resources/js/app.js'])
|
||||
<style>:root{--color-accent: {{ \App\Support\Settings::accentColor() }};}</style>
|
||||
@livewireStyles
|
||||
</head>
|
||||
<body style="min-height:100vh;display:flex;flex-direction:column">
|
||||
{{ $slot }}
|
||||
|
||||
@livewireScripts
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user