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();
|
$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 [
|
return [
|
||||||
...parent::share($request),
|
...parent::share($request),
|
||||||
|
'appName' => $appName,
|
||||||
'auth' => [
|
'auth' => [
|
||||||
'user' => $user ? [
|
'user' => $user ? [
|
||||||
'id' => $user->id,
|
'id' => $user->id,
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers';
|
|||||||
const appName = import.meta.env.VITE_APP_NAME || 'Laravel';
|
const appName = import.meta.env.VITE_APP_NAME || 'Laravel';
|
||||||
|
|
||||||
createInertiaApp({
|
createInertiaApp({
|
||||||
title: (title) => `${title} - ${appName}`,
|
title: (title) => `${title} - ${window.appName || appName}`,
|
||||||
resolve: (name) => resolvePageComponent(`./Pages/${name}.tsx`, import.meta.glob('./Pages/**/*.tsx')),
|
resolve: (name) => resolvePageComponent(`./Pages/${name}.tsx`, import.meta.glob('./Pages/**/*.tsx')),
|
||||||
setup({ el, App, props }) {
|
setup({ el, App, props }) {
|
||||||
const root = createRoot(el);
|
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 {
|
declare global {
|
||||||
interface Window {
|
interface Window {
|
||||||
axios: AxiosInstance;
|
axios: AxiosInstance;
|
||||||
|
appName: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
var route: typeof routeFn;
|
var route: typeof routeFn;
|
||||||
|
|||||||
@@ -18,6 +18,9 @@
|
|||||||
@viteReactRefresh
|
@viteReactRefresh
|
||||||
@vite(['resources/js/app.tsx', "resources/js/Pages/{$page['component']}.tsx"])
|
@vite(['resources/js/app.tsx', "resources/js/Pages/{$page['component']}.tsx"])
|
||||||
@inertiaHead
|
@inertiaHead
|
||||||
|
<script>
|
||||||
|
window.appName = "{{ $appName ?? config('app.name') }}";
|
||||||
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body class="font-sans antialiased">
|
<body class="font-sans antialiased">
|
||||||
@inertia
|
@inertia
|
||||||
|
|||||||
Reference in New Issue
Block a user