From 0d4b8919bd0e623b97eed31f98d7aaaa00a8f0b3 Mon Sep 17 00:00:00 2001 From: Ryan Westfall Date: Mon, 27 Jul 2026 09:01:06 -0500 Subject: [PATCH] Add public Terms of Service page with shared legal document (#39) Expose ToS without auth, share document for acknowledge + public routes, add analytics/cookies section, and link from Sign In, Sign Up, and Footer. --- llm-fe/src/App.tsx | 7 +- .../llm-fe/components/Footer/Footer.test.tsx | 15 +- .../src/llm-fe/components/Footer/Footer.tsx | 16 +- .../legal/TermsOfServiceDocument.tsx | 138 ++++++++++++++ llm-fe/src/llm-fe/pages/SignIn/SignIn.tsx | 3 + llm-fe/src/llm-fe/pages/SignUp/SignUp.tsx | 3 + .../PublicTermsOfServicePage.tsx | 7 + .../TermsOfService/TermsOfService.test.tsx | 48 +++++ .../pages/TermsOfService/TermsOfService.tsx | 177 ++++++++++-------- 9 files changed, 325 insertions(+), 89 deletions(-) create mode 100644 llm-fe/src/llm-fe/components/legal/TermsOfServiceDocument.tsx create mode 100644 llm-fe/src/llm-fe/pages/TermsOfService/PublicTermsOfServicePage.tsx create mode 100644 llm-fe/src/llm-fe/pages/TermsOfService/TermsOfService.test.tsx diff --git a/llm-fe/src/App.tsx b/llm-fe/src/App.tsx index b2fdf91..afe35a4 100644 --- a/llm-fe/src/App.tsx +++ b/llm-fe/src/App.tsx @@ -10,6 +10,7 @@ import PasswordReset from './llm-fe/pages/PasswordReset/PasswordReset'; import NotFound from './llm-fe/pages/NotFound/NotFound'; import { AuthContext } from './llm-fe/contexts/AuthContext'; import TermsOfService from './llm-fe/pages/TermsOfService/TermsOfService'; +import PublicTermsOfServicePage from './llm-fe/pages/TermsOfService/PublicTermsOfServicePage'; import SetPassword from './llm-fe/components/SetPassword/SetPassword'; import AsyncDashboard2 from './llm-fe/pages/AsyncDashboard2/AsyncDashboard2'; import FeedbackPage2 from './llm-fe/pages/FeedbackPage2/FeedbackPage2'; @@ -61,14 +62,14 @@ class App extends Component { - - + {/* Public legal pages (also used for post-login ToS acknowledge) */} + + }> - diff --git a/llm-fe/src/llm-fe/components/Footer/Footer.test.tsx b/llm-fe/src/llm-fe/components/Footer/Footer.test.tsx index 7849551..59b8d6f 100644 --- a/llm-fe/src/llm-fe/components/Footer/Footer.test.tsx +++ b/llm-fe/src/llm-fe/components/Footer/Footer.test.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import { MemoryRouter } from 'react-router-dom'; import { render, screen } from '@testing-library/react'; import Footer from './Footer'; @@ -8,13 +9,21 @@ jest.mock('../../ui-kit/components/MDTypography', () => ({ })); describe('Footer', () => { - it('renders copyright and developer credit', () => { - render(