added theme support
This commit is contained in:
@@ -16,8 +16,8 @@ final class StylistController extends Controller
|
||||
return view('stylist::index', [
|
||||
'theme' => $stylist->current(), 'themes' => $stylist->all(), 'variables' => $stylist->variables(),
|
||||
'settingsService' => $settings, 'accessibility' => $accessibility, 'urls' => $urls,
|
||||
'activeFrontendTheme' => $siteSettings->get('frontend_theme', config('stylist.default_frontend_theme', 'saasland'), 'site'),
|
||||
'activeBackendTheme' => $siteSettings->get('backend_theme', config('stylist.default_backend_theme', 'admin'), 'site'),
|
||||
'activeFrontendTheme' => $siteSettings->get('frontend_theme', config('stylist.default_frontend_theme', 'sonardesk'), 'site'),
|
||||
'activeBackendTheme' => $siteSettings->get('backend_theme', config('stylist.default_backend_theme', 'sonardesk-admin'), 'site'),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Stylist\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\View;
|
||||
use Modules\Stylist\Theme\Stylist;
|
||||
use Throwable;
|
||||
|
||||
final class ApplyActiveTheme
|
||||
{
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
$context = $request->is('admin', 'admin/*', 'stylist', 'stylist/*') ? 'backend' : 'frontend';
|
||||
try {
|
||||
$theme = app(Stylist::class)->current($context);
|
||||
if ($theme->type() === $context) {
|
||||
$path = $theme->path().'/views';
|
||||
if (is_dir($path)) {
|
||||
// Prepend so ordinary view('admin.index') and @extends('layouts.app')
|
||||
// resolve theme files first, then original application files.
|
||||
View::getFinder()->prependLocation($path);
|
||||
}
|
||||
}
|
||||
} catch (Throwable $exception) {
|
||||
report($exception); // Original application views remain available.
|
||||
}
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user