From cab14ff20ecbc21780f77f195aaab5f36917607b Mon Sep 17 00:00:00 2001 From: Jason Morais Date: Fri, 17 Apr 2026 10:33:58 -0400 Subject: [PATCH 1/2] feat(ui-admin): require auth for all admin pages and fix header text size - Wrap AppRoutes in RequireAuth with redirectPath=/login so all admin pages require authentication including the home page - Update listing-operations and user-operations redirect paths from / to /login - Remove redundant RequireAuth wrapper from messages route in app-routes.tsx - Remove unused isAuthenticated prop from App component and its caller - Fix admin header .brandName font-size from 1.1rem to 24px, add line-height: 32px, and update color to match canonical .logoText style Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- apps/ui-admin/src/app.container.tsx | 4 ++-- apps/ui-admin/src/app.tsx | 17 ++++++++++------- .../ui-admin-route-root/src/app-routes.tsx | 10 +--------- .../src/admin-header.module.css | 7 ++++--- 4 files changed, 17 insertions(+), 21 deletions(-) diff --git a/apps/ui-admin/src/app.container.tsx b/apps/ui-admin/src/app.container.tsx index ad68bbcc2..09333ad3c 100644 --- a/apps/ui-admin/src/app.container.tsx +++ b/apps/ui-admin/src/app.container.tsx @@ -13,7 +13,7 @@ export const AppContainer: FC = () => { }); if (!auth.isAuthenticated) { - return ; + return ; } const user = data?.currentAdminUser; @@ -26,7 +26,7 @@ export const AppContainer: FC = () => { error={error} hasDataComponent={ - + } /> diff --git a/apps/ui-admin/src/app.tsx b/apps/ui-admin/src/app.tsx index 821689c6d..f9bf02553 100644 --- a/apps/ui-admin/src/app.tsx +++ b/apps/ui-admin/src/app.tsx @@ -9,25 +9,28 @@ import { RequireAuth } from '@sthrift/ui-admin-route-shared'; import { UserOperationsRoutes } from '@sthrift/ui-admin-route-user-operations'; import type React from 'react'; +const appSection = ( + + + +); + const listingOperationsSection = ( - + ); const userOperationsSection = ( - + ); -interface AppProps { - isAuthenticated: boolean; -} -export const App: React.FC = () => { +export const App: React.FC = () => { return ( - } /> + } /> } /> { }> } /> } /> - - - - } - /> + } /> ); diff --git a/packages/sthrift/ui-admin-route-shared/src/admin-header.module.css b/packages/sthrift/ui-admin-route-shared/src/admin-header.module.css index 5aa746095..af4cf9088 100644 --- a/packages/sthrift/ui-admin-route-shared/src/admin-header.module.css +++ b/packages/sthrift/ui-admin-route-shared/src/admin-header.module.css @@ -37,10 +37,11 @@ .brandName { font-family: var(--Urbanist); - font-size: 1.1rem; + font-size: 24px; font-weight: 700; + line-height: 32px; letter-spacing: 0.02em; - color: var(--color-message-text); + color: var(--color-primary); text-transform: lowercase; } @@ -87,7 +88,7 @@ } .brandName { - font-size: 1rem; + font-size: 20px; } .portalPill { From b3c09a3d9a34ceca9e3c1e764e5334475487f553 Mon Sep 17 00:00:00 2001 From: Jason Morais Date: Fri, 17 Apr 2026 11:15:42 -0400 Subject: [PATCH 2/2] removed some uneeded logic for admin portal --- .../src/section-layout.tsx | 5 ---- .../ui-admin-route-root/src/admin-login.tsx | 11 ++------ .../src/section-layout.tsx | 5 ---- .../src/admin-header.tsx | 12 +-------- .../src/section-layout.tsx | 5 ---- .../ui-shared/src/organisms/login-form.tsx | 25 +++++++++++++------ 6 files changed, 20 insertions(+), 43 deletions(-) diff --git a/packages/sthrift/ui-admin-route-listing-operations/src/section-layout.tsx b/packages/sthrift/ui-admin-route-listing-operations/src/section-layout.tsx index e0d444450..fa0691a89 100644 --- a/packages/sthrift/ui-admin-route-listing-operations/src/section-layout.tsx +++ b/packages/sthrift/ui-admin-route-listing-operations/src/section-layout.tsx @@ -56,10 +56,6 @@ export const SectionLayout: React.FC = () => { return () => window.removeEventListener('resize', handleResize); }, [auth.isAuthenticated]); - const handleOnLogin = () => { - navigate('/login'); - }; - const handleLogOut = () => { HandleLogout(auth, apolloClient, window.location.origin); }; @@ -93,7 +89,6 @@ export const SectionLayout: React.FC = () => { >
{ const [submitting, setSubmitting] = useState(false); const navigate = useNavigate(); const auth = useAuth(); + const handleBack = () => undefined; const handleLogin = (_values: LoginFormData) => { setSubmitting(true); @@ -23,14 +24,6 @@ export const AdminLogin: React.FC = () => { } }; - const handleBack = () => { - navigate('/'); - }; - - const handleOnLogin = () => { - globalThis.location.href = '/auth-redirect'; - }; - return ( { onSubmit={handleLogin} submitting={submitting} onBack={handleBack} + showBack={false} headerSlot={ navigate('/')} /> } diff --git a/packages/sthrift/ui-admin-route-root/src/section-layout.tsx b/packages/sthrift/ui-admin-route-root/src/section-layout.tsx index 7e7065aab..c44c954d8 100644 --- a/packages/sthrift/ui-admin-route-root/src/section-layout.tsx +++ b/packages/sthrift/ui-admin-route-root/src/section-layout.tsx @@ -56,10 +56,6 @@ export const SectionLayout: React.FC = () => { return () => window.removeEventListener('resize', handleResize); }, [auth.isAuthenticated]); - const handleOnLogin = () => { - navigate('/login'); - }; - const handleLogOut = () => { HandleLogout(auth, apolloClient, window.location.origin); }; @@ -93,7 +89,6 @@ export const SectionLayout: React.FC = () => { >
void; onLogout?: () => void; } @@ -14,7 +13,6 @@ const { Header: AntHeader } = Layout; export const AdminHeader: React.FC = ({ isAuthenticated, - onLogin, onLogout, }) => { return ( @@ -35,15 +33,7 @@ export const AdminHeader: React.FC = ({ > Log Out - ) : ( - - )} + ) : null} ); diff --git a/packages/sthrift/ui-admin-route-user-operations/src/section-layout.tsx b/packages/sthrift/ui-admin-route-user-operations/src/section-layout.tsx index e0d444450..fa0691a89 100644 --- a/packages/sthrift/ui-admin-route-user-operations/src/section-layout.tsx +++ b/packages/sthrift/ui-admin-route-user-operations/src/section-layout.tsx @@ -56,10 +56,6 @@ export const SectionLayout: React.FC = () => { return () => window.removeEventListener('resize', handleResize); }, [auth.isAuthenticated]); - const handleOnLogin = () => { - navigate('/login'); - }; - const handleLogOut = () => { HandleLogout(auth, apolloClient, window.location.origin); }; @@ -93,7 +89,6 @@ export const SectionLayout: React.FC = () => { >
void; headerSlot: React.ReactNode; footerSlot?: React.ReactNode; + showBack?: boolean; showForgotPassword?: boolean; onForgotPassword?: () => void; } @@ -30,6 +31,7 @@ export const LoginForm: React.FC = ({ onBack, headerSlot, footerSlot, + showBack = true, showForgotPassword, onForgotPassword, }) => { @@ -166,17 +168,24 @@ export const LoginForm: React.FC = ({
- + {showBack && ( + + )} {showForgotPassword && onForgotPassword && (