From e9a189323a6e71a1bfd679395103970b1dd33bec Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 6 Mar 2026 19:10:48 +0000 Subject: [PATCH 01/33] Add next.config.js --- next.config.js | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 next.config.js diff --git a/next.config.js b/next.config.js new file mode 100644 index 0000000..ba5e395 --- /dev/null +++ b/next.config.js @@ -0,0 +1,72 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + images: { + remotePatterns: [ + { + protocol: 'https', + hostname: 'webuild-dev.s3.eu-north-1.amazonaws.com', + pathname: '/**', + }, + { + protocol: 'https', + hostname: '*.cloudinary.com', + pathname: '/**', + }, + { + protocol: 'https', + hostname: 'images.unsplash.com', + pathname: '/**', + }, + ], + unoptimized: false, + formats: ['image/avif', 'image/webp'], + deviceSizes: [320, 420, 640, 768, 1024, 1280, 1536], + imageSizes: [16, 32, 48, 64, 96, 128, 256, 384], + }, + compress: true, + swcMinify: true, + reactStrictMode: true, + poweredByHeader: false, + productionBrowserSourceMaps: false, + experimental: { + optimizePackageImports: [ + '@radix-ui/react-dialog', + '@radix-ui/react-dropdown-menu', + '@radix-ui/react-slider', + 'lucide-react', + ], + }, + headers: async () => [ + { + source: '/:path*', + headers: [ + { + key: 'X-DNS-Prefetch-Control', + value: 'on', + }, + { + key: 'X-Frame-Options', + value: 'SAMEORIGIN', + }, + { + key: 'X-Content-Type-Options', + value: 'nosniff', + }, + { + key: 'X-XSS-Protection', + value: '1; mode=block', + }, + { + key: 'Referrer-Policy', + value: 'strict-origin-when-cross-origin', + }, + { + key: 'Permissions-Policy', + value: 'geolocation=(), microphone=(), camera=()', + }, + ], + }, + ], +}; + +module.exports = nextConfig; \ No newline at end of file -- 2.49.1 From 7e964de7e99d79b30124608d091c25e2f0d9b73d Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 6 Mar 2026 19:10:48 +0000 Subject: [PATCH 02/33] Add src/app/about/page.tsx --- src/app/about/page.tsx | 116 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 src/app/about/page.tsx diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx new file mode 100644 index 0000000..24b23fd --- /dev/null +++ b/src/app/about/page.tsx @@ -0,0 +1,116 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen"; +import HeroSplit from "@/components/sections/hero/HeroSplit"; +import TextSplitAbout from "@/components/sections/about/TextSplitAbout"; +import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis"; +import { Info } from "lucide-react"; + +export default function AboutPage() { + return ( + + + +
+ +
+ +
+ +
+ + +
+ ); +} -- 2.49.1 From fd56cdb2ae0ba511d6a09ee821cdc718e52c75f1 Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 6 Mar 2026 19:10:49 +0000 Subject: [PATCH 03/33] Update src/app/browse/page.tsx --- src/app/browse/page.tsx | 185 ++++++++++++++-------------------------- 1 file changed, 63 insertions(+), 122 deletions(-) diff --git a/src/app/browse/page.tsx b/src/app/browse/page.tsx index c79d3f2..969219b 100644 --- a/src/app/browse/page.tsx +++ b/src/app/browse/page.tsx @@ -2,56 +2,11 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen"; -import FeatureCardTwentyFive from "@/components/sections/feature/FeatureCardTwentyFive"; -import ProductCardTwo from "@/components/sections/product/ProductCardTwo"; +import HeroSplit from "@/components/sections/hero/HeroSplit"; import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis"; -import Link from "next/link"; -import { Zap, Award, Sparkles, Car } from "lucide-react"; +import { Compass } from "lucide-react"; export default function BrowsePage() { - const navItems = [ - { name: "Search", id: "/" }, - { name: "Browse", id: "/browse" }, - { name: "Compare", id: "/compare" }, - { name: "Timeline", id: "/" }, - { name: "About", id: "/" }, - ]; - - const footerColumns = [ - { - items: [ - { label: "Search Database", href: "/" }, - { label: "Browse Vehicles", href: "/browse" }, - { label: "Compare Cars", href: "/compare" }, - { label: "Timeline Explorer", href: "/" }, - ], - }, - { - items: [ - { label: "Brand Directory", href: "/" }, - { label: "Model Guide", href: "/" }, - { label: "Specifications", href: "/" }, - { label: "Production Data", href: "/" }, - ], - }, - { - items: [ - { label: "About Us", href: "/" }, - { label: "Help & Support", href: "/" }, - { label: "Contact", href: "/" }, - { label: "Contribute Data", href: "/" }, - ], - }, - { - items: [ - { label: "Privacy Policy", href: "/" }, - { label: "Terms of Service", href: "/" }, - { label: "Data Attribution", href: "/" }, - { label: "Sitemap", href: "/" }, - ], - }, - ]; - return ( -
- + -
- -
); -} \ No newline at end of file +} -- 2.49.1 From 7c9ee2c127c2c7694627fffedc262dcbc556f02b Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 6 Mar 2026 19:10:50 +0000 Subject: [PATCH 04/33] Update src/app/compare/page.tsx --- src/app/compare/page.tsx | 155 ++++++++++++++++----------------------- 1 file changed, 63 insertions(+), 92 deletions(-) diff --git a/src/app/compare/page.tsx b/src/app/compare/page.tsx index 3154e17..853d231 100644 --- a/src/app/compare/page.tsx +++ b/src/app/compare/page.tsx @@ -2,56 +2,11 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen"; -import BlogCardThree from "@/components/sections/blog/BlogCardThree"; -import MetricCardThree from "@/components/sections/metrics/MetricCardThree"; +import HeroSplit from "@/components/sections/hero/HeroSplit"; import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis"; -import Link from "next/link"; -import { Building2, Car, History, Globe } from "lucide-react"; +import { BarChart3 } from "lucide-react"; export default function ComparePage() { - const navItems = [ - { name: "Search", id: "/" }, - { name: "Browse", id: "/browse" }, - { name: "Compare", id: "/compare" }, - { name: "Timeline", id: "/" }, - { name: "About", id: "/" }, - ]; - - const footerColumns = [ - { - items: [ - { label: "Search Database", href: "/" }, - { label: "Browse Vehicles", href: "/browse" }, - { label: "Compare Cars", href: "/compare" }, - { label: "Timeline Explorer", href: "/" }, - ], - }, - { - items: [ - { label: "Brand Directory", href: "/" }, - { label: "Model Guide", href: "/" }, - { label: "Specifications", href: "/" }, - { label: "Production Data", href: "/" }, - ], - }, - { - items: [ - { label: "About Us", href: "/" }, - { label: "Help & Support", href: "/" }, - { label: "Contact", href: "/" }, - { label: "Contribute Data", href: "/" }, - ], - }, - { - items: [ - { label: "Privacy Policy", href: "/" }, - { label: "Terms of Service", href: "/" }, - { label: "Data Attribution", href: "/" }, - { label: "Sitemap", href: "/" }, - ], - }, - ]; - return ( -
- + -
- -
-
); -} \ No newline at end of file +} -- 2.49.1 From 0d73160d97e03fec3725fd7f3254cb783c107aa1 Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 6 Mar 2026 19:10:50 +0000 Subject: [PATCH 05/33] Update src/app/layout.tsx --- src/app/layout.tsx | 79 +++++++++++++++++++++++++++++++--------------- 1 file changed, 54 insertions(+), 25 deletions(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 320c486..2266d3b 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -7,52 +7,50 @@ import { ServiceWrapper } from "@/components/ServiceWrapper"; import Tag from "@/tag/Tag"; const halant = Halant({ - variable: "--font-halant", - subsets: ["latin"], + variable: "--font-halant", subsets: ["latin"], weight: ["300", "400", "500", "600", "700"], }); const inter = Inter({ - variable: "--font-inter", - subsets: ["latin"], + variable: "--font-inter", subsets: ["latin"], }); const lato = Lato({ - variable: "--font-lato", - subsets: ["latin"], + variable: "--font-lato", subsets: ["latin"], weight: ["100", "300", "400", "700", "900"], }); export const metadata: Metadata = { - title: "AutoArchive - Complete Car Database & Automotive Encyclopedia", - description: "Search and explore every car ever made from 1886 to present. Access 2000+ manufacturers, 50,000+ models, technical specs, and automotive history.", - keywords: "car database, automotive encyclopedia, vehicle search, car specifications, manufacturer database, automotive history, vintage cars, modern vehicles", - robots: { + title: "AutoArchive - Complete Car Database & Automotive Encyclopedia", description: "Search and explore every car ever made from 1886 to present. Access 2000+ manufacturers, 50,000+ models, technical specs, and automotive history. Discover random cars with our innovative car discovery feature.", keywords: "car database, automotive encyclopedia, vehicle search, car specifications, manufacturer database, automotive history, vintage cars, modern vehicles, random car discovery", robots: { index: true, follow: true, + googleBot: { + index: true, + follow: true, + "max-snippet": -1, + "max-image-preview": "large", "max-video-preview": -1, + }, }, + alternates: { + canonical: "https://autoarchive.example.com"}, openGraph: { - title: "AutoArchive - The World's Most Complete Car Database", - description: "Explore every car ever made. Search across 2000+ manufacturers and 50,000+ models. The ultimate automotive encyclopedia.", - url: "https://autoarchive.example.com", - siteName: "AutoArchive", - type: "website", - images: [ + title: "AutoArchive - The World's Most Complete Car Database", description: "Explore every car ever made. Search across 2000+ manufacturers and 50,000+ models. The ultimate automotive encyclopedia.", url: "https://autoarchive.example.com", siteName: "AutoArchive", type: "website", locale: "en_US", images: [ { - url: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AaEFWytZ9QS584IizrKmiAvruy/a-modern-sleek-automotive-database-inter-1772823292340-23f02fb5.png", - alt: "AutoArchive Database Interface", + url: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AaEFWytZ9QS584IizrKmiAvruy/a-modern-sleek-automotive-database-inter-1772823292340-23f02fb5.png", alt: "AutoArchive Database Interface", width: 1200, + height: 630, }, ], }, twitter: { - card: "summary_large_image", - title: "AutoArchive - Complete Car Database", - description: "Search 50,000+ cars from 1886 to today. The world's most comprehensive automotive encyclopedia.", - images: [ - "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AaEFWytZ9QS584IizrKmiAvruy/a-modern-sleek-automotive-database-inter-1772823292340-23f02fb5.png", - ], + card: "summary_large_image", title: "AutoArchive - Complete Car Database", description: "Search 50,000+ cars from 1886 to today. The world's most comprehensive automotive encyclopedia.", creator: "@autoarchive", images: [ + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AaEFWytZ9QS584IizrKmiAvruy/a-modern-sleek-automotive-database-inter-1772823292340-23f02fb5.png"], }, -}; + appLinks: [ + { + url: "https://autoarchive.example.com/search", app_name: "AutoArchive"}, + ], + category: "Automotive", authors: [{ name: "AutoArchive Team" }], + creator: "AutoArchive", publisher: "AutoArchive"}; export default function RootLayout({ children, @@ -61,6 +59,37 @@ export default function RootLayout({ }>) { return ( + + + + + + + + + + +