feat: improve accessibility and structural SEO logic
This commit is contained in:
parent
1e63d3e5ff
commit
a1ef9a6baa
3 changed files with 21 additions and 20 deletions
|
|
@ -10,6 +10,8 @@
|
|||
<meta property="og:description" content="Download official Microsoft Windows ISO files. Fast, free, no registration." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<link rel="canonical" href="https://msdl.tech-latest.com/" />
|
||||
<meta name="theme-color" content="#111113" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
|
|
|
|||
|
|
@ -14,23 +14,25 @@ export default function App() {
|
|||
return (
|
||||
<div className="min-h-screen pb-20 sm:pb-24" style={{ overflowX: 'hidden', maxWidth: '100vw' }}>
|
||||
<ScrollToTop />
|
||||
<Routes>
|
||||
<Route path="/" element={<HomePage />} />
|
||||
<Route path="/products" element={<ProductsPage />} />
|
||||
<Route path="/product/:productId" element={<ProductDetailPage />} />
|
||||
<Route path="/about" element={<AboutPage />} />
|
||||
<Route path="/privacy-policy" element={<PrivacyPolicyPage />} />
|
||||
<Route path="/disclaimer" element={<DisclaimerPage />} />
|
||||
<Route path="*" element={
|
||||
<div className="flex flex-col items-center justify-center min-h-[60vh] text-center px-4">
|
||||
<h1 className="text-6xl font-bold text-white mb-4">404</h1>
|
||||
<p className="text-zinc-400 mb-8">The page you're looking for doesn't exist.</p>
|
||||
<Link to="/" className="px-6 py-2 bg-white text-black font-semibold rounded-full hover:bg-zinc-200 transition-colors">
|
||||
Go Home
|
||||
</Link>
|
||||
</div>
|
||||
} />
|
||||
</Routes>
|
||||
<main>
|
||||
<Routes>
|
||||
<Route path="/" element={<HomePage />} />
|
||||
<Route path="/products" element={<ProductsPage />} />
|
||||
<Route path="/product/:productId" element={<ProductDetailPage />} />
|
||||
<Route path="/about" element={<AboutPage />} />
|
||||
<Route path="/privacy-policy" element={<PrivacyPolicyPage />} />
|
||||
<Route path="/disclaimer" element={<DisclaimerPage />} />
|
||||
<Route path="*" element={
|
||||
<div className="flex flex-col items-center justify-center min-h-[60vh] text-center px-4">
|
||||
<h1 className="text-6xl font-bold text-white mb-4">404</h1>
|
||||
<p className="text-zinc-400 mb-8">The page you're looking for doesn't exist.</p>
|
||||
<Link to="/" className="px-6 py-2 bg-white text-black font-semibold rounded-full hover:bg-zinc-200 transition-colors">
|
||||
Go Home
|
||||
</Link>
|
||||
</div>
|
||||
} />
|
||||
</Routes>
|
||||
</main>
|
||||
<SiteFooter />
|
||||
<Dock />
|
||||
<Toaster
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ interface ProductCardProps {
|
|||
description: string
|
||||
badge: BadgeVariant
|
||||
archs?: string[]
|
||||
onClick: () => void
|
||||
}
|
||||
|
||||
export default function ProductCard({
|
||||
|
|
@ -28,13 +27,11 @@ export default function ProductCard({
|
|||
description,
|
||||
badge,
|
||||
archs = ['x64'],
|
||||
onClick,
|
||||
}: ProductCardProps) {
|
||||
return (
|
||||
<motion.div
|
||||
whileHover={{ y: -3, scale: 1.005 }}
|
||||
transition={{ type: 'spring', stiffness: 400, damping: 25 }}
|
||||
onClick={onClick}
|
||||
className="group relative cursor-pointer rounded-2xl border border-white/7 bg-[#111113] p-6
|
||||
hover:border-white/13 hover:shadow-2xl hover:shadow-black/40
|
||||
transition-colors duration-300"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue