VAZAI HUB-WORLD AIO ☆ NHIỀU MÀN HÌNH ☆ AI Gemini
070625
☆ Từ thực tế là Chúng Ta đang ''loay hoay'' Thiết
Kế Website (Portal) ''VuTienDuc AZ AI VAZAI AIO''
☆ VAZAI HUB-WORLD AIO
Có nên là Website (Portal) Chung bao gồm
các Đường Link là các Website (Portal) thành phần được thiết kế theo ''Tiêu Chuẩn
5 Nhất - Đúng - Nhanh - Dễ - Đẹp - Đủ''
1. LỊCH SỨC KHỎE AZ AI
2. PHẢ HỆ DÒNG HỌ AZ AI
3. MÔ HÌNH AZ AI (AZ AI MODEL)
4. KHCN-ĐMST-CĐS-AI
5. THỜI SỰ - THỜI TIẾT - TRA CỨU - ỨNG DỤNG
AI
CG AI Gemini
import React, { useState, useEffect } from 'react';
import { ChevronDown, Menu, X, ArrowRight, Zap, BarChart3, Cog, Plug,
Star, Users, Clock, Shield, Calendar, GitFork, BookOpen, Lightbulb, CloudRain }
from 'lucide-react';
export default function VazaiHubWorld() {
const [isMenuOpen, setIsMenuOpen] = useState(false);
const [scrollY, setScrollY] = useState(0);
const [companyName, setCompanyName] = useState('');
const [contactEmail, setContactEmail] = useState('');
const [message, setMessage] = useState(''); // State for custom
messages
const [messageType, setMessageType] = useState(''); // 'success'
or 'error'
useEffect(() => {
// Scroll event listener for header styling
const handleScroll = () => setScrollY(window.scrollY);
window.addEventListener('scroll', handleScroll);
return () => window.removeEventListener('scroll',
handleScroll);
}, []);
// Function to display custom messages (replaces alert())
const showMessage = (text, type = 'success') => {
setMessage(text);
setMessageType(type);
setTimeout(() => {
setMessage('');
setMessageType('');
}, 3000); // Message disappears after 3 seconds
};
// Handles the form submission for the CTA section
const handleSubscribe = () => {
if (!companyName.trim()) {
showMessage('Vui lòng nhập tên công ty của bạn.',
'error');
return;
}
if (!contactEmail.trim()) {
showMessage('Vui lòng nhập email liên hệ của bạn.',
'error');
return;
}
// Basic email validation regex
if (!/\S+@\S+\.\S+/.test(contactEmail)) {
showMessage('Email không hợp lệ. Vui lòng kiểm tra
lại.', 'error');
return;
}
// Simulate successful submission
showMessage('Đăng ký thành công! Chúng tôi sẽ liên hệ với
bạn sớm.', 'success');
setCompanyName(''); // Clear company name input
setContactEmail(''); // Clear email input
};
// Data for the main HUB sections (linking to child portals)
const hubSections = [
{
id: "lich-suc-khoe",
icon: <Calendar className="w-10 h-10"
/>,
title: "LỊCH SỨC KHỎE AZ AI",
description: "Quản lý lịch trình và thông tin
sức khỏe cá nhân/gia đình.",
link: "#" // Placeholder link for now
},
{
id: "pha-he-dong-ho",
icon: <GitFork className="w-10 h-10"
/>,
title: "PHẢ HỆ DÒNG HỌ AZ AI",
description: "Lưu trữ phả hệ, lịch giỗ, và các
lễ nghi truyền thống.",
link: "#"
},
{
id: "mo-hinh-az-ai",
icon: <BookOpen className="w-10 h-10"
/>,
title: "MÔ HÌNH AZ AI",
description: "Kiến thức tổng hợp cho học tập,
công việc, và cuộc sống.",
link: "#"
},
{
id: "khcn-dmst-cds-ai",
icon: <Lightbulb className="w-10 h-10"
/>,
title: "KHCN-ĐMST-CĐS-AI",
description: "Cập nhật tin tức về khoa học,
sáng tạo, chuyển đổi số, và AI.",
link: "#"
},
{
id: "thoi-su-ung-dung-ai",
icon: <CloudRain className="w-10 h-10"
/>,
title: "THỜI SỰ - THỜI TIẾT - TRA CỨU - ỨNG DỤNG
AI",
description: "Hỗ trợ công dân số với thông tin
hằng ngày và ứng dụng AI.",
link: "#"
}
];
// Data for the stats section
const stats = [
{ icon: <Users className="w-6 h-6" />,
number: "1000+", label: "Doanh nghiệp tin tưởng" },
{ icon: <Clock className="w-6 h-6" />,
number: "99.9%", label: "Uptime guarantee" },
{ icon: <Shield className="w-6 h-6" />,
number: "24/7", label: "Hỗ trợ không ngừng" },
{ icon: <Star className="w-6 h-6" />,
number: "4.9/5", label: "Đánh giá khách hàng" }
];
return (
<div className="min-h-screen bg-white font-sans
text-gray-900">
{/* Custom Message/Notification */}
{message && (
<div className={`fixed top-4 left-1/2
-translate-x-1/2 z-50 px-6 py-3 rounded-lg shadow-lg text-white ${
messageType === 'success' ?
'bg-green-500' : 'bg-red-500'
} transition-all duration-300 transform
scale-100 opacity-100`}>
{message}
</div>
)}
{/* Header */}
<header className={`fixed top-0 w-full z-50
transition-all duration-300 ${
scrollY > 50 ? 'bg-white/95
backdrop-blur-md shadow-lg' : 'bg-transparent'
}`}>
<div className="max-w-7xl mx-auto
px-4 sm:px-6 lg:px-8">
<div className="flex
justify-between items-center h-16">
<div className="flex
items-center">
{/* VAZAI Logo/Brand
Name */}
<div
className="text-2xl font-bold bg-gradient-to-r from-blue-600 to-cyan-400
bg-clip-text text-transparent">
VAZAI HUB-WORLD
AIO
</div>
</div>
{/* Desktop Navigation */}
<nav className="hidden
md:flex space-x-8">
<a
href="#home" className="text-gray-700 hover:text-blue-600
transition-colors">Trang chủ</a>
<a
href="#hub-sections" className="text-gray-700
hover:text-blue-600 transition-colors">Các Portal</a>
<a
href="#about" className="text-gray-700 hover:text-blue-600
transition-colors">Về chúng tôi</a>
<a
href="#contact" className="text-gray-700 hover:text-blue-600
transition-colors">Liên hệ</a>
</nav>
{/* Desktop CTA Button */}
<div className="hidden
md:flex items-center space-x-4">
<button
className="bg-gradient-to-r from-blue-600 to-cyan-400 text-white px-6 py-2
rounded-full hover:shadow-lg transform hover:scale-105 transition-all
duration-200">
Bắt đầu ngay
</button>
</div>
{/* Mobile Menu Toggle Button
*/}
<button
className="md:hidden"
onClick={() =>
setIsMenuOpen(!isMenuOpen)}
>
{isMenuOpen ? <X
className="w-6 h-6 text-gray-700" /> : <Menu
className="w-6 h-6 text-gray-700" />}
</button>
</div>
</div>
{/* Mobile Menu Overlay */}
{isMenuOpen && (
<div className="md:hidden
bg-white border-t shadow-lg absolute w-full left-0 right-0">
<div className="px-4
py-2 space-y-2">
<a
href="#home" className="block py-2 text-gray-700 hover:text-blue-600"
onClick={() => setIsMenuOpen(false)}>Trang chủ</a>
<a
href="#hub-sections" className="block py-2 text-gray-700
hover:text-blue-600" onClick={() => setIsMenuOpen(false)}>Các
Portal</a>
<a
href="#about" className="block py-2 text-gray-700
hover:text-blue-600" onClick={() => setIsMenuOpen(false)}>Về chúng
tôi</a>
<a
href="#contact" className="block py-2 text-gray-700
hover:text-blue-600" onClick={() => setIsMenuOpen(false)}>Liên hệ</a>
<button
className="w-full mt-2 bg-gradient-to-r from-blue-600 to-cyan-400
text-white px-6 py-2 rounded-full" onClick={() =>
setIsMenuOpen(false)}>
Bắt đầu ngay
</button>
</div>
</div>
)}
</header>
{/* Hero Section */}
<section id="home"
className="pt-16 bg-gradient-to-br from-blue-50 to-cyan-50 min-h-screen
flex items-center">
<div className="max-w-7xl mx-auto
px-4 sm:px-6 lg:px-8 py-20">
<div className="grid
lg:grid-cols-2 gap-12 items-center">
<div
className="space-y-8">
<div
className="space-y-4">
<h1
className="text-4xl md:text-6xl font-bold text-gray-900
leading-tight">
<span
className="bg-gradient-to-r from-blue-600 to-cyan-400 bg-clip-text
text-transparent">
VAZAI:
</span>
<br
/>
Innovate,
Create, Celebrate
</h1>
<p
className="text-xl text-gray-600 max-w-lg">
Pioneering technology and creative solutions for a brighter future.
<br/>
<span
className="font-semibold text-blue-700">Đúng Nhất – Nhanh Nhất – Dễ
Nhất – Đẹp Nhất – Đủ Nhất</span>
</p>
</div>
<div
className="flex flex-col sm:flex-row gap-4">
<a
href="#hub-sections" className="inline-flex items-center
justify-center bg-gradient-to-r from-blue-600 to-cyan-400 text-white px-8 py-4
rounded-full hover:shadow-xl transform hover:scale-105 transition-all
duration-200">
Khám phá
các Portal
<ArrowRight className="ml-2 w-5 h-5" />
</a>
<button
className="border-2 border-gray-300 text-gray-700 px-8 py-4 rounded-full
hover:border-blue-400 hover:text-blue-600 transition-all duration-200">
Xem giới
thiệu
</button>
</div>
</div>
<div
className="relative flex justify-center lg:justify-end">
{/* Abstract background
shapes */}
<div
className="absolute -top-4 -right-4 w-72 h-72 bg-gradient-to-br
from-blue-400 to-cyan-300 rounded-full opacity-20
animate-pulse"></div>
<div
className="absolute -bottom-4 -left-4 w-64 h-64 bg-gradient-to-br
from-purple-400 to-pink-300 rounded-full opacity-20
animate-pulse"></div>
{/* Mock AI Dashboard
Card */}
<div
className="relative z-10 bg-white rounded-3xl shadow-2xl p-8 transform
rotate-3 hover:rotate-0 transition-transform duration-500 max-w-sm
w-full">
<div
className="space-y-4">
<div
className="flex items-center space-x-3">
<div className="w-12 h-12 bg-gradient-to-br from-blue-500 to-cyan-400
rounded-full flex items-center justify-center">
<Zap className="w-6 h-6 text-white" />
</div>
<div>
<h3 className="font-semibold text-gray-900">AI
Dashboard</h3>
<p className="text-gray-500 text-sm">Real-time
analytics</p>
</div>
</div>
{/*
Progress bars to simulate data */}
<div
className="space-y-2">
<div className="h-2 bg-gray-200 rounded-full">
<div className="h-2 bg-gradient-to-r from-blue-500 to-cyan-400
rounded-full w-3/4"></div>
</div>
<div className="h-2 bg-gray-200 rounded-full">
<div className="h-2 bg-gradient-to-r from-blue-500 to-cyan-400
rounded-full w-1/2"></div>
</div>
<div className="h-2 bg-gray-200 rounded-full">
<div className="h-2 bg-gradient-to-r from-blue-500 to-cyan-400
rounded-full w-5/6"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
{/* Main HUB Sections */}
<section id="hub-sections"
className="py-20 bg-gray-50">
<div className="max-w-7xl mx-auto
px-4 sm:px-6 lg:px-8">
<div className="text-center
mb-16">
<h2
className="text-3xl md:text-4xl font-bold text-gray-900 mb-4">
<span
className="bg-gradient-to-r from-blue-600 to-cyan-400 bg-clip-text
text-transparent">
Cổng Liên Kết
</span> Tri Thức
Số Toàn Diện
</h2>
<p className="text-xl
text-gray-600 max-w-3xl mx-auto">
VAZAI HUB-WORLD AIO là
điểm đến trung tâm cho mọi nhu cầu về công nghệ, tri thức và cuộc sống.
</p>
</div>
<div className="grid
sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-8">
{hubSections.map((section,
index) => (
<a
href={section.link} key={index} className="block bg-white rounded-2xl p-8
shadow-lg hover:shadow-xl transition-all duration-300 transform
hover:-translate-y-2 border border-gray-100 text-center">
<div
className="w-20 h-20 mx-auto bg-gradient-to-br from-blue-500 to-cyan-400
rounded-full flex items-center justify-center text-white mb-6">
{section.icon}
</div>
<h3
className="text-xl font-semibold text-gray-900
mb-3">{section.title}</h3>
<p
className="text-gray-600">{section.description}</p>
</a>
))}
{/* Adding an extra card to
fill space and for future expansion */}
<div className="block
bg-white rounded-2xl p-8 shadow-lg border border-gray-100 text-center flex
flex-col items-center justify-center">
<div
className="w-20 h-20 mx-auto bg-gray-200 rounded-full flex items-center
justify-center text-gray-500 mb-6">
<Plug
className="w-10 h-10" />
</div>
<h3
className="text-xl font-semibold text-gray-500 mb-3">Và nhiều hơn
nữa...</h3>
<p
className="text-gray-400">Các portal mới sẽ được bổ sung liên tục.</p>
</div>
</div>
</div>
</section>
{/* About Section */}
<section id="about"
className="py-20 bg-white">
<div className="max-w-7xl mx-auto
px-4 sm:px-6 lg:px-8 text-center">
<h2 className="text-3xl
md:text-4xl font-bold text-gray-900 mb-6">
Về <span
className="bg-gradient-to-r from-blue-600 to-cyan-400 bg-clip-text
text-transparent">VAZAI</span>
</h2>
<p className="text-xl
text-gray-600 max-w-3xl mx-auto mb-8">
Chúng tôi là đội ngũ tiên
phong, kết hợp công nghệ và sự sáng tạo để mang đến những giải pháp đột phá.
VAZAI cam kết biến đổi tương
lai doanh nghiệp Việt Nam.
</p>
<div className="grid
md:grid-cols-3 gap-8">
<div
className="bg-gray-50 p-6 rounded-2xl shadow-sm border
border-gray-100">
<h3
className="text-xl font-semibold mb-3 text-blue-600">Sứ Mệnh</h3>
<p
className="text-gray-700">Tối ưu hóa quy trình làm việc và thúc đẩy
sự đổi mới thông qua trí tuệ nhân tạo và dịch vụ sáng tạo.</p>
</div>
<div
className="bg-gray-50 p-6 rounded-2xl shadow-sm border
border-gray-100">
<h3
className="text-xl font-semibold mb-3 text-blue-600">Tầm
Nhìn</h3>
<p
className="text-gray-700">Trở thành đối tác AI hàng đầu, dẫn dắt
các doanh nghiệp Việt Nam vươn tầm quốc tế.</p>
</div>
<div
className="bg-gray-50 p-6 rounded-2xl shadow-sm border
border-gray-100">
<h3
className="text-xl font-semibold mb-3 text-blue-600">Đội
Ngũ</h3>
<p
className="text-gray-700">Đội ngũ chuyên gia trẻ, năng động và
giàu kinh nghiệm trong lĩnh vực AI, công nghệ và thiết kế.</p>
</div>
</div>
</div>
</section>
{/* Stats Section */}
<section className="py-20 bg-gradient-to-r
from-blue-600 to-cyan-400">
<div className="max-w-7xl mx-auto
px-4 sm:px-6 lg:px-8">
<div className="grid
md:grid-cols-2 lg:grid-cols-4 gap-8 text-center">
{stats.map((stat, index) =>
(
<div key={index}
className="text-white">
<div
className="flex justify-center mb-4">
<div
className="w-12 h-12 bg-white/20 rounded-full flex items-center
justify-center">
{stat.icon}
</div>
</div>
<div
className="text-3xl font-bold mb-2">{stat.number}</div>
<div
className="text-blue-100">{stat.label}</div>
</div>
))}
</div>
</div>
</section>
{/* CTA Section */}
<section id="contact"
className="py-20 bg-gray-50">
<div className="max-w-4xl mx-auto
px-4 sm:px-6 lg:px-8 text-center">
<h2 className="text-3xl
md:text-4xl font-bold text-gray-900 mb-6">
Sẵn sàng bắt đầu hành trình
cùng <span className="bg-gradient-to-r from-blue-600 to-cyan-400
bg-clip-text text-transparent">VAZAI</span>?
</h2>
<p className="text-xl
text-gray-600 mb-8 max-w-2xl mx-auto">
Gia nhập hàng nghìn doanh nghiệp
đã tin tưởng VAZAI để tối ưu hóa quy trình làm việc.
</p>
<div className="bg-white
rounded-2xl shadow-xl p-8 max-w-md mx-auto">
<div
className="space-y-4">
<input
type="text"
placeholder="Tên công ty"
value={companyName}
onChange={(e)
=> setCompanyName(e.target.value)}
className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2
focus:ring-blue-500 focus:border-transparent"
/>
<input
type="email"
placeholder="Email liên hệ"
value={contactEmail}
onChange={(e)
=> setContactEmail(e.target.value)}
className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2
focus:ring-blue-500 focus:border-transparent"
/>
<button
onClick={handleSubscribe}
className="w-full bg-gradient-to-r from-blue-600 to-cyan-400 text-white
py-3 rounded-lg hover:shadow-lg transform hover:scale-105 transition-all
duration-200"
>
Đăng ký dùng thử
miễn phí
</button>
</div>
</div>
</div>
</section>
{/* Footer */}
<footer className="bg-gray-900 text-white
py-12">
<div className="max-w-7xl mx-auto
px-4 sm:px-6 lg:px-8">
<div className="grid
md:grid-cols-4 gap-8">
<div>
<div
className="text-2xl font-bold bg-gradient-to-r from-blue-400 to-cyan-300
bg-clip-text text-transparent mb-4">
VAZAI HUB-WORLD
AIO
</div>
<p
className="text-gray-400">
Giải pháp AI
hàng đầu cho doanh nghiệp và cộng đồng Việt Nam
</p>
</div>
<div>
<h4
className="font-semibold mb-4">Các Portal</h4>
<ul
className="space-y-2 text-gray-400">
<li><a
href="#lich-suc-khoe" className="hover:text-white
transition-colors">LỊCH SỨC KHỎE AZ AI</a></li>
<li><a
href="#pha-he-dong-ho" className="hover:text-white
transition-colors">PHẢ HỆ DÒNG HỌ AZ AI</a></li>
<li><a
href="#mo-hinh-az-ai" className="hover:text-white
transition-colors">MÔ HÌNH AZ AI</a></li>
<li><a
href="#khcn-dmst-cds-ai" className="hover:text-white
transition-colors">KHCN-ĐMST-CĐS-AI</a></li>
<li><a
href="#thoi-su-ung-dung-ai" className="hover:text-white
transition-colors">THỜI SỰ - THỜI TIẾT...</a></li>
</ul>
</div>
<div>
<h4
className="font-semibold mb-4">Công ty</h4>
<ul
className="space-y-2 text-gray-400">
<li><a
href="#about" className="hover:text-white
transition-colors">Về chúng tôi</a></li>
<li><a
href="#" className="hover:text-white
transition-colors">Tuyển dụng</a></li>
<li><a
href="#" className="hover:text-white
transition-colors">Tin tức</a></li>
</ul>
</div>
<div>
<h4
className="font-semibold mb-4">Hỗ trợ</h4>
<ul
className="space-y-2 text-gray-400">
<li><a
href="#" className="hover:text-white
transition-colors">Trung tâm trợ giúp</a></li>
<li><a
href="#contact" className="hover:text-white
transition-colors">Liên hệ</a></li>
<li><a
href="#" className="hover:text-white
transition-colors">API Docs</a></li>
</ul>
</div>
</div>
<div className="border-t
border-gray-800 mt-8 pt-8 flex flex-col md:flex-row justify-between
items-center">
<p
className="text-gray-400">© 2025 VAZAI. All rights
reserved.</p>
<div className="flex
space-x-6 mt-4 md:mt-0">
<a
href="#" className="text-gray-400 hover:text-white
transition-colors">Privacy Policy</a>
<a
href="#" className="text-gray-400 hover:text-white
transition-colors">Terms of Service</a>
</div>
</div>
</div>
</footer>
</div>
);
}
Không có nhận xét nào:
Đăng nhận xét