Skip to content

Commit 431d1eb

Browse files
committed
问题修复
1 parent 25f55e9 commit 431d1eb

13 files changed

Lines changed: 474 additions & 491 deletions

index.html

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,26 @@
33
<head>
44
<meta charset="UTF-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6-
<title>FluxMQ - High-Performance MQTT Broker</title>
6+
<title>Feixun Tech - Halia, FluxMQ and FCP</title>
77

88
<!-- Favicon -->
9-
<link rel="icon" type="image/jpeg" href="/logo_dark.jpg" />
10-
<link rel="icon" type="image/jpeg" sizes="32x32" href="/logo_dark.jpg" />
11-
<link rel="icon" type="image/jpeg" sizes="16x16" href="/logo_dark.jpg" />
9+
<link rel="icon" type="image/svg+xml" href="/feixun.svg" />
1210
<link rel="apple-touch-icon" sizes="180x180" href="/logo_dark.jpg" />
1311
<link rel="manifest" href="/site.webmanifest" />
14-
<meta name="description" content="Ultra-fast, scalable MQTT broker designed for modern applications. Handle millions of messages per second with minimal latency and maximum reliability." />
15-
<meta name="author" content="FluxMQ" />
16-
<meta name="keywords" content="MQTT, message broker, message queue, IoT, real-time messaging, scalable, high-performance" />
12+
<meta name="description" content="Feixun Tech product suite: Halia for industrial data access, FluxMQ for high-performance MQTT messaging, and FCP for centralized control-plane operations." />
13+
<meta name="author" content="Feixun Tech" />
14+
<meta name="keywords" content="Halia, FluxMQ, FCP, MQTT, industrial IoT, device gateway, control plane, message broker" />
1715

18-
<meta property="og:title" content="FluxMQ - High-Performance MQTT Broker" />
19-
<meta property="og:description" content="Ultra-fast, scalable MQTT broker designed for modern applications. Handle millions of messages per second with minimal latency." />
16+
<meta property="og:title" content="Feixun Tech - Industrial IoT Product Suite" />
17+
<meta property="og:description" content="Halia industrial data access, FluxMQ MQTT messaging, and FCP centralized operations in one product suite." />
2018
<meta property="og:type" content="website" />
21-
<meta property="og:image" content="/logo_dark.jpg" />
19+
<meta property="og:image" content="/feixun.svg" />
2220
<meta property="og:image:width" content="1200" />
2321
<meta property="og:image:height" content="630" />
2422

2523
<meta name="twitter:card" content="summary_large_image" />
2624
<meta name="twitter:site" content="@fluxmq" />
27-
<meta name="twitter:image" content="/logo_dark.jpg" />
25+
<meta name="twitter:image" content="/feixun.svg" />
2826
</head>
2927

3028
<body>

public/site.webmanifest

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
{
2-
"name": "FluxMQ - High-Performance MQTT Broker",
3-
"short_name": "FluxMQ",
4-
"description": "Ultra-fast, scalable MQTT broker designed for modern applications",
2+
"name": "Feixun Tech - Industrial IoT Product Suite",
3+
"short_name": "Feixun Tech",
4+
"description": "Halia industrial data access, FluxMQ MQTT messaging, and FCP centralized operations.",
55
"icons": [
66
{
7-
"src": "/logo_dark.jpg",
7+
"src": "/feixun.svg",
88
"sizes": "192x192",
9-
"type": "image/jpeg",
9+
"type": "image/svg+xml",
1010
"purpose": "any maskable"
1111
},
1212
{
13-
"src": "/logo_dark.jpg",
13+
"src": "/feixun.svg",
1414
"sizes": "512x512",
15-
"type": "image/jpeg",
15+
"type": "image/svg+xml",
1616
"purpose": "any maskable"
1717
}
1818
],
19-
"theme_color": "#667eea",
20-
"background_color": "#ffffff",
19+
"theme_color": "#25c6b5",
20+
"background_color": "#07100f",
2121
"display": "standalone",
2222
"start_url": "/",
2323
"scope": "/",

src/components/DemoVideos.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ const DemoVideos = () => {
4141
<div
4242
className={
4343
index === 0
44-
? "rounded-lg overflow-hidden border border-border/50 aspect-video bg-gradient-to-br from-cyan-500/15 via-background to-violet-500/10"
44+
? "rounded-lg overflow-hidden border border-border/50 aspect-video bg-gradient-to-br from-cyan-500/15 via-background to-amber-500/10"
4545
: index === 1
46-
? "rounded-lg overflow-hidden border border-border/50 aspect-video bg-gradient-to-br from-violet-500/15 via-background to-cyan-500/10"
46+
? "rounded-lg overflow-hidden border border-border/50 aspect-video bg-gradient-to-br from-emerald-500/15 via-background to-cyan-500/10"
4747
: "rounded-lg overflow-hidden border border-border/50 aspect-video bg-gradient-to-br from-emerald-500/15 via-background to-teal-500/10"
4848
}
4949
>

src/components/DocumentationPortal.tsx

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@ import {
1414
Database,
1515
Settings,
1616
TestTube,
17-
BarChart3
17+
BarChart3,
18+
Cpu
1819
} from 'lucide-react';
1920
import { useTranslation } from 'react-i18next';
2021
import { FLUXMQ_DOC_INSTALL_CATEGORY_URL, FLUXMQ_DOC_DEMOS_URL } from '@/lib/constants';
22+
import { getHomepageLocale, homepageContent } from '@/lib/homepageContent';
2123

2224
interface DocSection {
2325
id: string;
@@ -30,8 +32,14 @@ interface DocSection {
3032
}
3133

3234
const DocumentationPortal: React.FC = () => {
33-
const { t } = useTranslation();
35+
const { t, i18n } = useTranslation();
36+
const locale = getHomepageLocale(i18n.language);
37+
const home = homepageContent[locale];
3438
const [activeSection, setActiveSection] = useState<string | null>(null);
39+
const docsSubtitle =
40+
locale === 'zh'
41+
? '按产品查看文档与资源:Halia 工业接入、FluxMQ 消息服务、FCP 控制平面。'
42+
: 'Browse resources by product: Halia for industrial access, FluxMQ for messaging, and FCP for control plane operations.';
3543

3644
const docSections: DocSection[] = [
3745
{
@@ -103,18 +111,40 @@ const DocumentationPortal: React.FC = () => {
103111
{t('docs.portal.title')}
104112
</h2>
105113
<p className="text-xl text-muted-foreground max-w-3xl mx-auto leading-relaxed">
106-
{t('docs.portal.subtitle')}
114+
{docsSubtitle}
107115
</p>
108116
</div>
109117

110-
{/* By product: FluxMQ + FCP */}
111-
<div className="grid grid-cols-1 md:grid-cols-2 gap-6 max-w-4xl mx-auto mb-16">
118+
{/* By product */}
119+
<div className="grid grid-cols-1 md:grid-cols-3 gap-6 max-w-6xl mx-auto mb-16">
120+
<Card
121+
className="group hover:shadow-card transition-all duration-300 border-border/50 hover:border-primary/50 cursor-pointer overflow-hidden"
122+
onClick={() => document.getElementById('contact')?.scrollIntoView({ behavior: 'smooth' })}
123+
>
124+
<CardHeader className="pb-4">
125+
<div className="p-3 bg-background/60 border border-border/60 w-fit mb-3">
126+
<Cpu className="h-8 w-8 text-primary" />
127+
</div>
128+
<CardTitle className="text-2xl group-hover:text-primary transition-colors">
129+
Halia
130+
</CardTitle>
131+
<p className="text-muted-foreground leading-relaxed">
132+
{home.products.items[0].summary}
133+
</p>
134+
</CardHeader>
135+
<CardContent className="pt-0">
136+
<Button variant="outline" className="w-full justify-between group/btn border-primary/50">
137+
<span>{home.products.items[0].cta}</span>
138+
<ChevronRight className="h-4 w-4" />
139+
</Button>
140+
</CardContent>
141+
</Card>
112142
<Card
113143
className="group hover:shadow-card transition-all duration-300 border-border/50 hover:border-primary/50 cursor-pointer overflow-hidden"
114144
onClick={() => window.open('https://doc.fluxmq.com', '_blank')}
115145
>
116146
<CardHeader className="pb-4">
117-
<div className="p-3 bg-gradient-to-br from-cyan-500/20 to-blue-500/20 rounded-xl w-fit mb-3">
147+
<div className="p-3 bg-gradient-to-br from-cyan-500/20 to-blue-500/20 w-fit mb-3">
118148
<BookOpen className="h-8 w-8 text-primary" />
119149
</div>
120150
<CardTitle className="text-2xl group-hover:text-primary transition-colors">
@@ -136,7 +166,7 @@ const DocumentationPortal: React.FC = () => {
136166
onClick={() => window.open('https://fcp.doc.fluxmq.com', '_blank')}
137167
>
138168
<CardHeader className="pb-4">
139-
<div className="p-3 bg-gradient-to-br from-violet-500/20 to-purple-500/20 rounded-xl w-fit mb-3">
169+
<div className="p-3 bg-gradient-to-br from-amber-500/20 to-teal-500/20 w-fit mb-3">
140170
<Settings className="h-8 w-8 text-primary" />
141171
</div>
142172
<CardTitle className="text-2xl group-hover:text-primary transition-colors">
@@ -197,7 +227,7 @@ const DocumentationPortal: React.FC = () => {
197227
</div>
198228

199229
{/* Quick Access */}
200-
<div className="bg-gradient-card rounded-2xl border border-border/50 shadow-card p-8">
230+
<div className="bg-gradient-card border border-border/50 shadow-card p-8">
201231
<div className="text-center">
202232
<h3 className="text-2xl font-bold mb-4">{t('docs.portal.quickAccess.title')}</h3>
203233
<p className="text-muted-foreground mb-6">
@@ -244,4 +274,4 @@ const DocumentationPortal: React.FC = () => {
244274
);
245275
};
246276

247-
export default DocumentationPortal;
277+
export default DocumentationPortal;

0 commit comments

Comments
 (0)