Add SPA_MODE configuration and update related views for conditional loading

This commit is contained in:
Julian Prieber 2024-12-19 16:30:31 +01:00
parent 91e716adc0
commit 4c39a2ea1a
6 changed files with 46 additions and 38 deletions

2
.env
View File

@ -135,3 +135,5 @@ ENABLE_REPORT_ICON=false
ENABLE_ADMIN_BAR=true ENABLE_ADMIN_BAR=true
ENABLE_ADMIN_BAR_USERS=false ENABLE_ADMIN_BAR_USERS=false
SPA_MODE=false

View File

@ -276,6 +276,9 @@ foreach($users as $user){if($user->littlelink_name != $configValue2){echo '<opti
<a name="Panel-settings"><h2 class="ch2">{{__('messages.Panel settings')}}</h2></a> <a name="Panel-settings"><h2 class="ch2">{{__('messages.Panel settings')}}</h2></a>
{{toggle('SPA_MODE')}}
{{toggle('NOTIFY_EVENTS')}} {{toggle('NOTIFY_EVENTS')}}

View File

@ -162,6 +162,12 @@ if (EnvEditor::keyExists('ALLOW_REGISTRATION')) {
} }
} }
if (EnvEditor::keyExists('SPA_MODE')) {
/* Do nothing if key already exists */
} else {
EnvEditor::addKey('SPA_MODE', 'false');
}
try { try {
$file = base_path('storage/RSTAC'); $file = base_path('storage/RSTAC');
if (file_exists($file)) { if (file_exists($file)) {

View File

@ -4,6 +4,8 @@
use App\Models\UserData; use App\Models\UserData;
$usrhandl = Auth::user()->littlelink_name; $usrhandl = Auth::user()->littlelink_name;
$spa = env('SPA_MODE', false);
$betaServer = env('BETA_SERVER', 'https://beta.linkstack.org/'); $betaServer = env('BETA_SERVER', 'https://beta.linkstack.org/');
$versionServer = env('VERSION_SERVER', 'https://version.linkstack.org/'); $versionServer = env('VERSION_SERVER', 'https://version.linkstack.org/');
@endphp @endphp
@ -16,7 +18,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>{{ env('APP_NAME') }}</title> <title>{{ env('APP_NAME') }}</title>
@if($spa)
@livewireStyles @livewireStyles
@endif
<base href="{{ url()->current() }}" /> <base href="{{ url()->current() }}" />
<meta name="csrf-token" content="{{ csrf_token() }}"> <meta name="csrf-token" content="{{ csrf_token() }}">
@ -71,23 +75,6 @@
<link rel="stylesheet" href="{{ asset('assets/linkstack/css/hover-min.css') }}"> <link rel="stylesheet" href="{{ asset('assets/linkstack/css/hover-min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/linkstack/css/animate.css') }}"> <link rel="stylesheet" href="{{ asset('assets/linkstack/css/animate.css') }}">
<link rel="stylesheet" href="{{ asset('assets/external-dependencies/bootstrap-icons.css') }}"> <link rel="stylesheet" href="{{ asset('assets/external-dependencies/bootstrap-icons.css') }}">
{{-- <style>
body * {
animation-name: loadfade;
animation-duration: .6s;
animation-fill-mode: both;
}
@keyframes loadfade {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
</style> --}}
<!-- Library Bundle Script --> <!-- Library Bundle Script -->
<script src="{{ asset('assets/js/core/libs.min.js') }}"></script> <script src="{{ asset('assets/js/core/libs.min.js') }}"></script>
@ -102,10 +89,6 @@
<!-- Widgetchart Script --> <!-- Widgetchart Script -->
<script src="{{ asset('assets/js/charts/widgetcharts.js') }}"></script> <script src="{{ asset('assets/js/charts/widgetcharts.js') }}"></script>
<!-- mapchart Script -->
<script src="{{ asset('assets/js/charts/vectore-chart.js') }}"></script>
<script src="{{ asset('assets/js/charts/dashboard.js') }}"></script>
<!-- fslightbox Script --> <!-- fslightbox Script -->
<script src="{{ asset('assets/js/plugins/fslightbox.js') }}"></script> <script src="{{ asset('assets/js/plugins/fslightbox.js') }}"></script>
@ -168,14 +151,15 @@
<script src="{{ asset('assets/vendor/livewire/core.min.js') }}"></script> <script src="{{ asset('assets/vendor/livewire/core.min.js') }}"></script>
</head> </head>
<body class="{{$_COOKIE['color-mode'] ?? 'auto'}}"> <body class="{{$_COOKIE['color-mode'] ?? 'auto'}}">
{{-- <!-- loader Start --> @if(!$spa)
<!-- loader Start -->
<div id="loading"> <div id="loading">
<div id="loader" class="loader simple-loader"> <div id="loader" @if($_COOKIE['color-mode'] == 'dark')style="background:#222738"@endif class="loader simple-loader">
<div class="loader-body"></div> <div class="loader-body"></div>
</div> </div>
</div> </div>
<script>document.getElementById('loader').style.backgroundColor = colorMode === 'dark' ? '#222738' : '';</script> <!-- loader END -->
<!-- loader END --> --}} @endif
<aside class="sidebar sidebar-default sidebar-white sidebar-base navs-rounded-all "> <aside class="sidebar sidebar-default sidebar-white sidebar-base navs-rounded-all ">
<div class="sidebar-header d-flex align-items-center justify-content-start"> <div class="sidebar-header d-flex align-items-center justify-content-start">
@ -1238,6 +1222,10 @@ MODAL; // <-- Indentation breaks my code editor :/
<!-- Settings Script --> <!-- Settings Script -->
<script src="{{ asset('assets/js/plugins/setting.js') }}"></script> <script src="{{ asset('assets/js/plugins/setting.js') }}"></script>
<!-- mapchart Script -->
<script src="{{ asset('assets/js/charts/vectore-chart.js') }}"></script>
<script src="{{ asset('assets/js/charts/dashboard.js') }}"></script>
@stack('sidebar-scripts') @stack('sidebar-scripts')
{{-- <script src="{{ asset('assets/js/detect-dark-mode.js') }}"></script> --}} {{-- <script src="{{ asset('assets/js/detect-dark-mode.js') }}"></script> --}}
@ -1254,6 +1242,9 @@ MODAL; // <-- Indentation breaks my code editor :/
} }
}, { once: true }); }, { once: true });
</script> </script>
@if($spa)
@livewireScripts @livewireScripts
@endif
</body> </body>
</html> </html>

View File

@ -124,14 +124,14 @@
</div> </div>
@push('sidebar-stylesheets') @push('sidebar-stylesheets')
@if(false) @if(!env('SPA_MODE', false))
@livewireStyles @livewireStyles
@endif @endif
<link rel="stylesheet" href="{{ asset('assets/vendor/livewire/core.min.css') }}" /> <link rel="stylesheet" href="{{ asset('assets/vendor/livewire/core.min.css') }}" />
@endpush @endpush
@push('sidebar-scripts') @push('sidebar-scripts')
@if(false) @if(!env('SPA_MODE', false))
@livewireScripts @livewireScripts
<script src="{{ asset('assets/vendor/livewire/core.min.js') }}"></script> <script src="{{ asset('assets/vendor/livewire/core.min.js') }}"></script>
@endif @endif

View File

@ -347,6 +347,8 @@
@if (env('ALLOW_USER_HTML') === true) @if (env('ALLOW_USER_HTML') === true)
@push('sidebar-stylesheets') @push('sidebar-stylesheets')
<script src="{{ asset('assets/external-dependencies/ckeditor.js') }}"></script> <script src="{{ asset('assets/external-dependencies/ckeditor.js') }}"></script>
@endpush
@push('sidebar-scripts')
<script> <script>
function performOperation() { function performOperation() {
ClassicEditor ClassicEditor
@ -405,6 +407,10 @@
.catch(error => { .catch(error => {
console.error(error); console.error(error);
}); });
var element = document.querySelector('.ckeditor');
if (element) {
element.classList.remove('ckeditor');
}
} }
document.addEventListener('DOMContentLoaded', () => { document.addEventListener('DOMContentLoaded', () => {
@ -415,7 +421,7 @@
document.addEventListener('livewire:navigated', () => { document.addEventListener('livewire:navigated', () => {
performOperation(); performOperation();
}); }, { once: true });
</script> </script>
@endpush @endpush
@endif @endif