From 3b8a84d0d6ab6d879cb8aca44dcd11127dffe253 Mon Sep 17 00:00:00 2001 From: SiteAgent Bot Date: Thu, 22 Jan 2026 18:52:48 +0800 Subject: [PATCH] manual save(2026-01-22 18:52) --- src/App.tsx | 35 +++++-- src/components/SectionShell.tsx | 46 ++++++++++ src/components/SiteLayout.tsx | 17 ++++ src/pages/Contact.tsx | 109 ++++++++++++++++++++++ src/pages/Discovery.tsx | 58 ++++++++++++ src/pages/Home.tsx | 156 +++++++++++++++++++++++--------- src/pages/How.tsx | 70 ++++++++++++++ src/pages/Proof.tsx | 58 ++++++++++++ src/pages/Solutions.tsx | 58 ++++++++++++ src/pages/System.tsx | 70 ++++++++++++++ src/pages/Why.tsx | 58 ++++++++++++ 11 files changed, 687 insertions(+), 48 deletions(-) create mode 100644 src/components/SectionShell.tsx create mode 100644 src/components/SiteLayout.tsx create mode 100644 src/pages/Contact.tsx create mode 100644 src/pages/Discovery.tsx create mode 100644 src/pages/How.tsx create mode 100644 src/pages/Proof.tsx create mode 100644 src/pages/Solutions.tsx create mode 100644 src/pages/System.tsx create mode 100644 src/pages/Why.tsx diff --git a/src/App.tsx b/src/App.tsx index 257538e..93a02de 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,17 +1,38 @@ import { BrowserRouter as Router, Routes, Route } from 'react-router-dom' +import { SiteLayout } from './components/SiteLayout' import { Home } from './pages/Home' -import { PostDetail } from './pages/PostDetail' -import { CategoriesPage } from './pages/Categories' -import { CategoryDetail } from './pages/CategoryDetail' +import { Why } from './pages/Why' +import { How } from './pages/How' +import { System } from './pages/System' +import { Discovery } from './pages/Discovery' +import { Solutions } from './pages/Solutions' +import { Proof } from './pages/Proof' +import { Contact } from './pages/Contact' function App() { return ( - } /> - } /> - } /> - } /> + }> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + + +

页面不存在

+

请通过顶部导航回到主线内容。

+ + } + /> +
) diff --git a/src/components/SectionShell.tsx b/src/components/SectionShell.tsx new file mode 100644 index 0000000..a1dcbd8 --- /dev/null +++ b/src/components/SectionShell.tsx @@ -0,0 +1,46 @@ +import React from 'react' + +type HeadingTag = 'h1' | 'h2' + +export type SectionShellProps = { + sectionKey: string + title: string + lead?: string + headingAs?: HeadingTag + notes?: string[] + children?: React.ReactNode +} + +export const SectionShell: React.FC = ({ + sectionKey, + title, + lead, + headingAs = 'h2', + notes, + children, +}) => { + const Heading = headingAs + + return ( +
+
+
+ + {title} + + {lead ?

{lead}

: null} + + {notes?.length ? ( +
    + {notes.map((note) => ( +
  • {note}
  • + ))} +
+ ) : null} + + {children ?
{children}
: null} +
+
+
+ ) +} diff --git a/src/components/SiteLayout.tsx b/src/components/SiteLayout.tsx new file mode 100644 index 0000000..e141d19 --- /dev/null +++ b/src/components/SiteLayout.tsx @@ -0,0 +1,17 @@ +import React from 'react' +import { Outlet, ScrollRestoration } from 'react-router-dom' +import { Header } from './Header' +import { Footer } from './Footer' + +export const SiteLayout: React.FC = () => { + return ( +
+
+
+ +
+
+ +
+ ) +} diff --git a/src/pages/Contact.tsx b/src/pages/Contact.tsx new file mode 100644 index 0000000..65a053a --- /dev/null +++ b/src/pages/Contact.tsx @@ -0,0 +1,109 @@ +import React from 'react' +import { SectionShell } from '../components/SectionShell' + +const ConversationInvite: React.FC = () => { + return ( + + ) +} + +const ContactForm: React.FC = () => { + return ( + +
e.preventDefault()} aria-label="联系表单"> +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ +