From 9ff5f872586ec800324ed5343e2c281c4e05ce55 Mon Sep 17 00:00:00 2001
From: Anto Subash
Date: Mon, 25 May 2026 22:33:09 +0200
Subject: [PATCH 1/2] fix(ui): add per-page document titles so browser tabs are
distinguishable (#175)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Add Inertia `` to all 22 page components and
configure the `title` callback in `createInertiaApp` to produce
"Page Name — SimpleModule" (or bare "SimpleModule" when no page
title is set).
---
host/client_app/app.tsx | 1 +
host/client_app/pages/Error.tsx | 7 +++++--
host/client_app/pages/Landing.tsx | 2 ++
.../background_tasks/pages/Detail.tsx | 11 +++++++----
.../background_tasks/pages/Index.tsx | 13 ++++++++-----
.../background_tasks/pages/Workers.tsx | 7 +++++--
modules/dashboard/dashboard/pages/Doctor.tsx | 5 ++++-
modules/dashboard/dashboard/pages/Home.tsx | 19 +++++++++++--------
.../feature_flags/pages/Browse.tsx | 13 ++++++++-----
.../file_storage/pages/Browse.tsx | 11 +++++++----
.../permissions/pages/RoleEdit.tsx | 9 ++++++---
.../permissions/pages/UserEdit.tsx | 9 ++++++---
modules/settings/settings/pages/Browse.tsx | 9 ++++++---
modules/settings/settings/pages/Create.tsx | 9 ++++++---
modules/settings/settings/pages/Edit.tsx | 9 ++++++---
.../settings/settings/pages/ModulesEdit.tsx | 6 +++++-
modules/users/users/pages/AcceptInvite.tsx | 3 ++-
modules/users/users/pages/ForgotPassword.tsx | 2 ++
modules/users/users/pages/Login.tsx | 3 ++-
modules/users/users/pages/Profile.tsx | 7 +++++--
modules/users/users/pages/Register.tsx | 2 ++
modules/users/users/pages/ResetPassword.tsx | 3 ++-
modules/users/users/pages/VerifyEmail.tsx | 3 ++-
23 files changed, 110 insertions(+), 53 deletions(-)
diff --git a/host/client_app/app.tsx b/host/client_app/app.tsx
index 58421e29..86a8de39 100644
--- a/host/client_app/app.tsx
+++ b/host/client_app/app.tsx
@@ -6,6 +6,7 @@ import { bootI18nFromInitialPage, subscribeI18nToNavigation } from './i18n';
import { resolvePage } from './pages';
createInertiaApp({
+ title: (title) => (title ? `${title} — SimpleModule` : 'SimpleModule'),
resolve: async (name) => {
const page = await resolvePage(name);
return page;
diff --git a/host/client_app/pages/Error.tsx b/host/client_app/pages/Error.tsx
index c1531af7..525dc407 100644
--- a/host/client_app/pages/Error.tsx
+++ b/host/client_app/pages/Error.tsx
@@ -1,4 +1,4 @@
-import { Link } from '@inertiajs/react';
+import { Head, Link } from '@inertiajs/react';
import { keys, useT } from '@simple-module-py/i18n';
import { ErrorScreen } from '@simple-module-py/ui/components/ErrorScreen';
import { Button } from '@simple-module-py/ui/components/ui/button';
@@ -34,7 +34,9 @@ function ErrorPage({ status, message }: Props) {
const description = message || descriptions[status] || t(keys.host.error.generic_description);
return (
-
+ <>
+
+
+ >
);
}
diff --git a/host/client_app/pages/Landing.tsx b/host/client_app/pages/Landing.tsx
index fc5a5938..b37bb36a 100644
--- a/host/client_app/pages/Landing.tsx
+++ b/host/client_app/pages/Landing.tsx
@@ -1,3 +1,4 @@
+import { Head } from '@inertiajs/react';
import { keys, useT } from '@simple-module-py/i18n';
import { Button } from '@simple-module-py/ui/components/ui/button';
import { Card, CardContent } from '@simple-module-py/ui/components/ui/card';
@@ -66,6 +67,7 @@ function Landing() {
return (
<>
+