ldc-gen-game-web/app/Http/Middleware/SetThemeNamespace.php

28 lines
810 B
PHP
Raw Normal View History

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\View;
class SetThemeNamespace
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return \Symfony\Component\HttpFoundation\Response
*/
public function handle(Request $request, Closure $next): \Symfony\Component\HttpFoundation\Response
{
/** @var string $themeName */
$themeName = \tenant()->theme;
View::addNamespace('theme', resource_path("theme/$themeName/views"));
View::share('themeResources', "resources/theme/$themeName");
config()->set('image-resizer.templates', themeConfig()['resizes'] ?? []);
return $next($request);
}
}