Merge version_12 into main

Merge version_12 into main
This commit was merged in pull request #24.
This commit is contained in:
2026-04-17 09:31:14 +00:00
2 changed files with 81 additions and 27 deletions

View File

@@ -0,0 +1,75 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple";
import ContactCTA from "@/components/sections/contact/ContactCTA";
import TestimonialCardSixteen from "@/components/sections/testimonial/TestimonialCardSixteen";
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
import { useState } from "react";
export default function HotelContactPage() {
return (
<ThemeProvider
defaultButtonVariant="icon-arrow"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="compact"
sizing="mediumLargeSizeMediumTitles"
background="circleGradient"
cardStyle="layered-gradient"
primaryButtonStyle="flat"
secondaryButtonStyle="solid"
headingFontWeight="medium"
>
<div id="nav" data-section="nav">
<NavbarStyleApple
brandName="TravelBook"
navItems={[
{ name: "Meklēt", id: "/" },
{ name: "Galamērķi", id: "/#destinations" },
{ name: "Atsauksmes", id: "/#features" },
{ name: "Kontakti", id: "/hotel-contact" },
{ name: "Rezervācijas & Kontakti", id: "/hotel-contact" }
]}
/>
</div>
<div id="reviews" data-section="reviews">
<TestimonialCardSixteen
title="Viesnīcu atsauksmes"
description="Pārskati citu ceļotāju vērtējumus un dalies savā pieredzē."
tag="⭐ Atsauksmes"
textboxLayout="split"
useInvertedBackground={false}
animationType="slide-up"
kpiItems={[
{ value: "4.8", label: "Vidējais reitings" },
{ value: "15K+", label: "Atsauksmes" },
{ value: "98%", label: "Ieteikumi" }
]}
testimonials={[
{ id: "1", name: "Anna B.", role: "Ceļotāja", company: "Viesnīca Rīga", rating: 5, testimonial: "Izcila apkalpošana un atrašanās vieta!" },
{ id: "2", name: "Jānis K.", role: "Biznesa ceļotājs", company: "Grand City", rating: 4, testimonial: "Ļoti ērtas gultas, brokastis bija lieliskas." }
]}
/>
</div>
<div id="contact" data-section="contact">
<ContactCTA
title="Sazinieties ar mums"
description="Vai jums ir jautājumi par viesnīcu rezervāciju? Mūsu komanda ir gatava palīdzēt 24/7."
tag="📞 Atbalsts"
buttons={[{ text: "Nosūtīt pieprasījumu", href: "#" }]}
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
logoText="TravelBook"
leftLink={{ text: "Privātuma politika", href: "#" }}
rightLink={{ text: "Noteikumi un nosacījumi", href: "#" }}
/>
</div>
</ThemeProvider>
);
}

View File

@@ -6,7 +6,7 @@ import HeroSplitKpi from "@/components/sections/hero/HeroSplitKpi";
import ProductCardOne from "@/components/sections/product/ProductCardOne";
import FeatureCardTen from "@/components/sections/feature/FeatureCardTen";
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
import { CheckCircle, Filter, MapPin, Search, Star, ZoomIn, ZoomOut, Search as SearchIcon, Info } from "lucide-react";
import { CheckCircle, Filter, MapPin, Search, Star, Search as SearchIcon } from "lucide-react";
import { useState, useMemo } from "react";
export default function LandingPage() {
@@ -16,8 +16,8 @@ export default function LandingPage() {
const [minRating, setMinRating] = useState(0);
const allHotels = [
{ id: "grand-city", name: "Grand City", price: 120, rating: 5, top: "33%", left: "25%", description: "Lieliska viesnīca pilsētas centrā ar skatu uz parku.", amenities: ["Wifi", "Pool"] },
{ id: "sunset-view", name: "Sunset View", price: 85, rating: 4, top: "75%", left: "66%", description: "Mājīga vieta pie jūras ar brīnišķīgiem saulrietiem.", amenities: ["Wifi", "Beach Access"] }
{ id: "grand-city", name: "Grand City", price: 120, rating: 5, top: "33%", left: "25%" },
{ id: "sunset-view", name: "Sunset View", price: 85, rating: 4, top: "75%", left: "66%" }
];
const filteredHotels = useMemo(() => {
@@ -48,7 +48,8 @@ export default function LandingPage() {
{ name: "Meklēt", id: "search" },
{ name: "Galamērķi", id: "destinations" },
{ name: "Atsauksmes", id: "features" },
{ name: "Kontakti", id: "footer" }
{ name: "Kontakti", id: "footer" },
{ name: "Rezervācijas & Kontakti", id: "/hotel-contact" }
]}
/>
</div>
@@ -99,14 +100,6 @@ export default function LandingPage() {
</div>
</div>
</div>
<div className="bg-white p-4 rounded-2xl shadow-sm border border-slate-100 space-y-2 h-96 overflow-y-auto">
<h4 className="font-bold">Redzamās viesnīcas:</h4>
{filteredHotels.map(h => (
<div key={h.id} className="p-3 text-sm bg-slate-50 rounded-lg hover:bg-slate-100 transition">
{h.name} - {h.price}
</div>
))}
</div>
</div>
<div className="flex-grow h-[600px] bg-slate-100 rounded-2xl 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">
@@ -115,20 +108,6 @@ export default function LandingPage() {
<input type="text" placeholder="Meklēt pilsētu..." className="outline-none" value={searchQuery} onChange={(e) => setSearchQuery(e.target.value)} />
</div>
</div>
<div className="flex-grow flex items-center justify-center bg-slate-200 rounded-lg relative">
{filteredHotels.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={`p-2 rounded-full border-2 border-white shadow-lg ${selectedCity === city.id ? "bg-blue-600" : "bg-red-500"}`}>
<MapPin className="w-5 h-5 text-white" />
</div>
</div>
))}
</div>
</div>
</div>
</div>
@@ -175,4 +154,4 @@ export default function LandingPage() {
</div>
</ThemeProvider>
);
}
}