diff --git a/apps/clients/src/components/ClientLayout.test.tsx b/apps/clients/src/components/ClientLayout.test.tsx
index 709a0c0..4578431 100644
--- a/apps/clients/src/components/ClientLayout.test.tsx
+++ b/apps/clients/src/components/ClientLayout.test.tsx
@@ -5,7 +5,7 @@ import { renderWithProviders } from "../test/testHelpers";
import { ClientLayout } from "./ClientLayout";
describe("ClientLayout", () => {
- it("uses the main app style header shell and centered content container", () => {
+ it("uses the main app style header shell and scrolling main viewport", () => {
const { container } = renderWithProviders();
const header = container.querySelector("header");
@@ -18,9 +18,17 @@ describe("ClientLayout", () => {
expect(headerInner).toHaveClass("mx-auto");
const main = container.querySelector("main");
- expect(main).toHaveClass("w-full");
- expect(main).toHaveClass("max-w-7xl");
- expect(main).toHaveClass("mx-auto");
+ expect(main).toHaveClass("flex-1");
+ expect(main).toHaveClass("overflow-auto");
+ expect(main).not.toHaveClass("max-w-7xl");
+ expect(main).not.toHaveClass("mx-auto");
+
+ const contentWrapper = main?.firstElementChild;
+ expect(contentWrapper).toHaveClass("mx-auto");
+ expect(contentWrapper).toHaveClass("w-full");
+ expect(contentWrapper).toHaveClass("max-w-7xl");
+ expect(contentWrapper).toHaveClass("px-4");
+ expect(contentWrapper).toHaveClass("sm:px-6");
});
it("redirects unauthenticated client routes to the login page", async () => {
diff --git a/apps/clients/src/components/ClientLayout.tsx b/apps/clients/src/components/ClientLayout.tsx
index 5ef32f4..a2079db 100644
--- a/apps/clients/src/components/ClientLayout.tsx
+++ b/apps/clients/src/components/ClientLayout.tsx
@@ -24,7 +24,7 @@ export function ClientLayout() {
};
return (
-
+
);
diff --git a/apps/clients/src/main.css b/apps/clients/src/main.css
index 2782768..104b0b7 100644
--- a/apps/clients/src/main.css
+++ b/apps/clients/src/main.css
@@ -2,6 +2,8 @@
@import "tw-animate-css";
@source "../../../packages/chat-ui/src/**/*.{ts,tsx}";
+@source "../../../packages/tablo-views/src/**/*.{ts,tsx}";
+@source "../../../packages/auth-ui/src/**/*.{ts,tsx}";
@custom-variant dark (&:is(.dark *));
diff --git a/apps/clients/src/mainCss.test.ts b/apps/clients/src/mainCss.test.ts
index c150cce..a7f2a5c 100644
--- a/apps/clients/src/mainCss.test.ts
+++ b/apps/clients/src/mainCss.test.ts
@@ -5,8 +5,10 @@ import { describe, expect, it } from "vitest";
const mainCss = readFileSync(resolve(process.cwd(), "src/main.css"), "utf8");
describe("clients main.css", () => {
- it("keeps the chat source and theme tokens aligned with the main app", () => {
+ it("keeps shared package sources and theme tokens aligned with the main app", () => {
expect(mainCss).toContain('@source "../../../packages/chat-ui/src/**/*.{ts,tsx}";');
+ expect(mainCss).toContain('@source "../../../packages/tablo-views/src/**/*.{ts,tsx}";');
+ expect(mainCss).toContain('@source "../../../packages/auth-ui/src/**/*.{ts,tsx}";');
expect(mainCss).toContain("--navbar-background: rgb(249, 250, 251);");
expect(mainCss).toContain("--color-navbar-background: var(--navbar-background);");
expect(mainCss).toContain("--str-chat__own-message-bubble-color: #804eec;");