feat: integrate product platform into official site

This commit is contained in:
inman committed 2026-08-27 09:23:41 +08:00
1 parent b34f271f4d
commit c9fa0fad07
79 files changed
+4278 -1778

No files matched your search

+7
View File
@@ -73,6 +73,13 @@ export function SiteHeader({
);
})}
</nav>
<a
className="platform-entry-link"
href="/platform/"
aria-label={content.header.platformAria}
>
{content.header.platformLabel}
</a>
<div className="language-switcher" role="group" aria-label={content.header.languageAria}>
{languageOptions.map((option) => (
<button
+6
View File
@@ -39,6 +39,8 @@ export type SiteContent = {
homeAria: string;
navAria: string;
languageAria: string;
platformLabel: string;
platformAria: string;
};
hero: {
titleBefore: string;
@@ -222,6 +224,8 @@ export const siteContent: Record<Language, SiteContent> = {
homeAria: "返回首页",
navAria: "主导航",
languageAria: "语言切换",
platformLabel: "产品平台",
platformAria: "进入智念科技产品平台",
},
hero: {
titleBefore: "企业级AI从",
@@ -370,6 +374,8 @@ export const siteContent: Record<Language, SiteContent> = {
homeAria: "Back to home",
navAria: "Main navigation",
languageAria: "Language switcher",
platformLabel: "Products",
platformAria: "Open the NianXX product platform",
},
hero: {
titleBefore: "Enterprise AI starts with ",
File diff suppressed because it is too large. Load diff
+10
View File
@@ -0,0 +1,10 @@
import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import PlatformApp from "./PlatformApp";
import "./platform.css";
createRoot(document.getElementById("root")!).render(
<StrictMode>
<PlatformApp />
</StrictMode>,
);
File diff suppressed because it is too large. Load diff
+42
View File
@@ -182,6 +182,38 @@ img {
color: var(--accent-logo);
}
.platform-entry-link {
display: inline-flex;
min-height: 36px;
align-items: center;
justify-content: center;
padding: 8px 15px;
border: 1px solid var(--text);
border-radius: var(--radius);
color: var(--surface);
background: var(--text);
font-size: 0.86rem;
font-weight: 680;
line-height: 1;
text-decoration: none;
white-space: nowrap;
transition:
color 180ms ease,
background 180ms ease,
transform 180ms ease;
}
.platform-entry-link:hover,
.platform-entry-link:focus-visible {
color: var(--surface);
background: var(--accent-logo);
transform: translateY(-1px);
}
.platform-entry-link:active {
transform: translateY(0) scale(0.98);
}
.language-switcher {
display: inline-flex;
flex: 0 0 auto;
@@ -2832,6 +2864,16 @@ html:lang(en) .about-contact-copy p {
}
@media (max-width: 480px) {
.brand-name {
display: none;
}
.platform-entry-link {
min-height: 34px;
padding: 7px 10px;
font-size: 0.8rem;
}
.hero-copy h1 > span {
white-space: normal;
}