8 Commits

Author SHA1 Message Date
81a0ca83b6 Update src/app/page.tsx 2026-04-17 09:16:05 +00:00
84d3c0e24d Merge version_8 into main
Merge version_8 into main
2026-04-17 09:14:06 +00:00
d839b21036 Update src/app/page.tsx 2026-04-17 09:14:00 +00:00
1b3c45f52b Merge version_7 into main
Merge version_7 into main
2026-04-17 09:10:59 +00:00
10ea468218 Update src/app/page.tsx 2026-04-17 09:10:52 +00:00
68c6c4131f Merge version_6 into main
Merge version_6 into main
2026-04-17 08:55:48 +00:00
c2e223a150 Merge version_6 into main
Merge version_6 into main
2026-04-17 08:54:01 +00:00
5c32319d4b Merge version_6 into main
Merge version_6 into main
2026-04-17 08:50:12 +00:00

View File

@@ -10,9 +10,17 @@ import FaqSplitText from "@/components/sections/faq/FaqSplitText";
import ContactSplit from "@/components/sections/contact/ContactSplit";
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
import ProductCatalog from "@/components/ecommerce/productCatalog/ProductCatalog";
import { CheckCircle, Eye, Filter, Phone, Search, Star, MapPin } from "lucide-react";
import { CheckCircle, Eye, Filter, Phone, Search, Star, MapPin, ZoomIn, ZoomOut, Search as SearchIcon, Info } from "lucide-react";
import { useState } from "react";
export default function LandingPage() {
const [selectedCity, setSelectedCity] = useState<string | null>(null);
const cities = [
{ id: "grand-city", name: "Grand City", price: "€120/naktī", top: "33%", left: "25%", description: "Lieliska viesnīca pilsētas centrā ar skatu uz parku." },
{ id: "sunset-view", name: "Sunset View", price: "€85/naktī", top: "75%", left: "66%", description: "Mājīga vieta pie jūras ar brīnišķīgiem saulrietiem." }
];
return (
<ThemeProvider
defaultButtonVariant="icon-arrow"
@@ -68,15 +76,44 @@ export default function LandingPage() {
<ProductCatalog
layout="section"
products={[]}
searchPlaceholder="Izpēti pasauli: atlasiet valsti vai pilsētu kartē..."
searchPlaceholder="Meklēt pilsētu..."
filters={[
{ label: "Budžets", options: ["Zems", "Vidējs", "Augsts"], selected: "Vidējs", onChange: () => {} }
]}
/>
<div className="flex justify-center p-8 border-t border-b bg-muted/20">
<div className="w-full max-w-4xl h-[400px] bg-slate-200 rounded-xl flex flex-col items-center justify-center p-6 text-center shadow-inner">
<h3 className="text-xl font-bold mb-2"></h3>
<p className="text-muted-foreground"></p>
<div className="w-full max-w-4xl h-[500px] bg-slate-200 rounded-xl flex flex-col p-6 shadow-inner relative overflow-hidden">
<div className="flex items-center justify-between mb-4 bg-white p-3 rounded-lg shadow-sm border border-black/10">
<div className="flex items-center gap-2">
<SearchIcon className="w-5 h-5 text-muted-foreground" />
<input type="text" placeholder="Meklēt atrašanās vietu..." className="outline-none" />
</div>
<div className="flex gap-2">
<button className="p-2 hover:bg-slate-100 rounded"><ZoomIn className="w-5 h-5" /></button>
<button className="p-2 hover:bg-slate-100 rounded"><ZoomOut className="w-5 h-5" /></button>
</div>
</div>
<div className="flex-grow flex items-center justify-center bg-slate-300 rounded-lg relative">
{cities.map((city) => (
<div
key={city.id}
className="absolute cursor-pointer flex flex-col items-center group"
style={{ top: city.top, left: city.left }}
onClick={() => setSelectedCity(selectedCity === city.id ? null : city.id)}
>
<div className="bg-red-500 text-white p-2 rounded-full animate-bounce border-2 border-white shadow-lg">
<MapPin className="w-5 h-5" />
</div>
{selectedCity === city.id && (
<div className="bg-white p-4 rounded-xl shadow-2xl mt-2 w-48 animate-in fade-in zoom-in">
<h4 className="font-bold flex items-center gap-2"><Info className="w-4 h-4"/> {city.name}</h4>
<p className="text-sm text-gray-600 mt-1">{city.description}</p>
<div className="mt-2 pt-2 border-t font-bold text-blue-600">{city.price}</div>
</div>
)}
</div>
))}
</div>
</div>
</div>
</div>