This commit is contained in:
hu xiaotong
2025-04-16 17:24:52 +08:00
parent 169fed0463
commit e2a32fa2d1
4 changed files with 887 additions and 1095 deletions

116
src/components/Footer.tsx Normal file
View File

@@ -0,0 +1,116 @@
import React from 'react';
const Footer: React.FC = () => {
return (
<footer className="bg-gray-900 pt-12 pb-8">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="grid grid-cols-1 md:grid-cols-4 gap-8">
<div>
<h3 className="text-xl font-bold text-white mb-4"></h3>
<p className="text-gray-400 mb-4">
</p>
<div className="flex space-x-4">
<a href="#" className="text-gray-400 hover:text-white cursor-pointer">
<i className="fab fa-weixin text-xl"></i>
</a>
<a href="#" className="text-gray-400 hover:text-white cursor-pointer">
<i className="fab fa-qq text-xl"></i>
</a>
<a href="#" className="text-gray-400 hover:text-white cursor-pointer">
<i className="fab fa-weibo text-xl"></i>
</a>
<a href="#" className="text-gray-400 hover:text-white cursor-pointer">
<i className="fab fa-bilibili text-xl"></i>
</a>
</div>
</div>
<div>
<h3 className="text-lg font-semibold text-white mb-4"></h3>
<ul className="space-y-2">
<li>
<a href="#" className="text-gray-400 hover:text-white cursor-pointer">
</a>
</li>
<li>
<a href="#" className="text-gray-400 hover:text-white cursor-pointer">
</a>
</li>
<li>
<a href="#" className="text-gray-400 hover:text-white cursor-pointer">
</a>
</li>
<li>
<a href="#" className="text-gray-400 hover:text-white cursor-pointer">
</a>
</li>
<li>
<a href="#" className="text-gray-400 hover:text-white cursor-pointer">
</a>
</li>
</ul>
</div>
<div>
<h3 className="text-lg font-semibold text-white mb-4"></h3>
<ul className="space-y-2">
<li>
<a href="#" className="text-gray-400 hover:text-white cursor-pointer">
</a>
</li>
<li>
<a href="#" className="text-gray-400 hover:text-white cursor-pointer">
</a>
</li>
<li>
<a href="#" className="text-gray-400 hover:text-white cursor-pointer">
</a>
</li>
<li>
<a href="#" className="text-gray-400 hover:text-white cursor-pointer">
</a>
</li>
<li>
<a href="#" className="text-gray-400 hover:text-white cursor-pointer">
</a>
</li>
</ul>
</div>
<div>
<h3 className="text-lg font-semibold text-white mb-4"></h3>
<ul className="space-y-2">
<li className="text-gray-400">
<i className="fas fa-envelope mr-2"></i>
support@epicgame.com
</li>
<li className="text-gray-400">
<i className="fas fa-phone mr-2"></i>
400-123-4567
</li>
<li className="text-gray-400">
<i className="fas fa-map-marker-alt mr-2"></i>
</li>
</ul>
</div>
</div>
<div className="mt-8 pt-8 border-t border-gray-800 text-center">
<p className="text-gray-400 text-sm">
© 2024 . All rights reserved.
</p>
</div>
</div>
</footer>
);
};
export default Footer;

97
src/components/Navbar.tsx Normal file
View File

@@ -0,0 +1,97 @@
import React, { useState } from 'react';
interface NavbarProps {
onLoginClick: () => void;
}
const Navbar: React.FC<NavbarProps> = ({ onLoginClick }) => {
const [isMenuOpen, setIsMenuOpen] = useState(false);
return (
<nav className="fixed top-0 left-0 right-0 z-50 bg-[#0A0C10]/90 backdrop-blur-md border-b border-gray-800">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="flex items-center justify-between h-16">
<div className="flex items-center">
<div className="flex-shrink-0">
<span className="text-2xl font-bold bg-gradient-to-r from-yellow-500 to-yellow-300 bg-clip-text text-transparent">
</span>
</div>
<div className="hidden md:block ml-10">
<div className="flex items-baseline space-x-4">
<a href="#" className="px-3 py-2 rounded-md text-sm font-medium text-white bg-gray-800 !rounded-button whitespace-nowrap cursor-pointer">
</a>
<a href="#" className="px-3 py-2 rounded-md text-sm font-medium text-gray-300 hover:bg-gray-700 hover:text-white !rounded-button whitespace-nowrap cursor-pointer">
</a>
<a href="#" className="px-3 py-2 rounded-md text-sm font-medium text-gray-300 hover:bg-gray-700 hover:text-white !rounded-button whitespace-nowrap cursor-pointer">
</a>
<a href="#" className="px-3 py-2 rounded-md text-sm font-medium text-gray-300 hover:bg-gray-700 hover:text-white !rounded-button whitespace-nowrap cursor-pointer">
</a>
<a href="#" className="px-3 py-2 rounded-md text-sm font-medium text-gray-300 hover:bg-gray-700 hover:text-white !rounded-button whitespace-nowrap cursor-pointer">
</a>
<a href="#" className="px-3 py-2 rounded-md text-sm font-medium text-gray-300 hover:bg-gray-700 hover:text-white !rounded-button whitespace-nowrap cursor-pointer">
</a>
</div>
</div>
</div>
<div className="hidden md:block">
<button
onClick={onLoginClick}
className="px-4 py-2 rounded-md text-sm font-medium text-white bg-yellow-500 hover:bg-yellow-600 !rounded-button whitespace-nowrap cursor-pointer"
>
</button>
</div>
<div className="-mr-2 flex md:hidden">
<button
onClick={() => setIsMenuOpen(!isMenuOpen)}
className="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-white hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white !rounded-button whitespace-nowrap cursor-pointer"
>
<span className="sr-only"></span>
<i className={`fas ${isMenuOpen ? "fa-times" : "fa-bars"}`}></i>
</button>
</div>
</div>
</div>
{/* 移动端菜单 */}
{isMenuOpen && (
<div className="md:hidden">
<div className="px-2 pt-2 pb-3 space-y-1 sm:px-3">
<a href="#" className="block px-3 py-2 rounded-md text-base font-medium text-white bg-gray-800 !rounded-button whitespace-nowrap cursor-pointer">
</a>
<a href="#" className="block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:bg-gray-700 hover:text-white !rounded-button whitespace-nowrap cursor-pointer">
</a>
<a href="#" className="block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:bg-gray-700 hover:text-white !rounded-button whitespace-nowrap cursor-pointer">
</a>
<a href="#" className="block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:bg-gray-700 hover:text-white !rounded-button whitespace-nowrap cursor-pointer">
</a>
<a href="#" className="block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:bg-gray-700 hover:text-white !rounded-button whitespace-nowrap cursor-pointer">
</a>
<a href="#" className="block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:bg-gray-700 hover:text-white !rounded-button whitespace-nowrap cursor-pointer">
</a>
<button
onClick={onLoginClick}
className="block w-full text-left px-3 py-2 rounded-md text-base font-medium text-white bg-yellow-500 hover:bg-yellow-600 !rounded-button whitespace-nowrap cursor-pointer"
>
</button>
</div>
</div>
)}
</nav>
);
};
export default Navbar;