feat(ui): dynamic page title based on tenant context
This commit is contained in:
@@ -37,8 +37,15 @@ class HandleInertiaRequests extends Middleware
|
||||
{
|
||||
$user = $request->user();
|
||||
|
||||
$tenant = tenancy()->tenant;
|
||||
$appName = $tenant ? ($tenant->name ?? 'Star ERP') : 'Star ERP 中央後台';
|
||||
|
||||
// 分享給 Blade View (給 app.blade.php 使用)
|
||||
\Illuminate\Support\Facades\View::share('appName', $appName);
|
||||
|
||||
return [
|
||||
...parent::share($request),
|
||||
'appName' => $appName,
|
||||
'auth' => [
|
||||
'user' => $user ? [
|
||||
'id' => $user->id,
|
||||
|
||||
@@ -8,7 +8,7 @@ import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers';
|
||||
const appName = import.meta.env.VITE_APP_NAME || 'Laravel';
|
||||
|
||||
createInertiaApp({
|
||||
title: (title) => `${title} - ${appName}`,
|
||||
title: (title) => `${title} - ${window.appName || appName}`,
|
||||
resolve: (name) => resolvePageComponent(`./Pages/${name}.tsx`, import.meta.glob('./Pages/**/*.tsx')),
|
||||
setup({ el, App, props }) {
|
||||
const root = createRoot(el);
|
||||
|
||||
1
resources/js/types/global.d.ts
vendored
1
resources/js/types/global.d.ts
vendored
@@ -31,6 +31,7 @@ export interface PageProps {
|
||||
declare global {
|
||||
interface Window {
|
||||
axios: AxiosInstance;
|
||||
appName: string;
|
||||
}
|
||||
|
||||
var route: typeof routeFn;
|
||||
|
||||
@@ -18,6 +18,9 @@
|
||||
@viteReactRefresh
|
||||
@vite(['resources/js/app.tsx', "resources/js/Pages/{$page['component']}.tsx"])
|
||||
@inertiaHead
|
||||
<script>
|
||||
window.appName = "{{ $appName ?? config('app.name') }}";
|
||||
</script>
|
||||
</head>
|
||||
<body class="font-sans antialiased">
|
||||
@inertia
|
||||
|
||||
Reference in New Issue
Block a user