Compare commits
20 Commits
version_10
...
version_15
| Author | SHA1 | Date | |
|---|---|---|---|
| 961ef9069e | |||
| 085c519ca8 | |||
| 2f08a75972 | |||
| 3406d437f0 | |||
| 8c63301dbf | |||
| 43291d921b | |||
| b185d7fadc | |||
| ca57f873b8 | |||
| c2dfa95670 | |||
| 38640265f8 | |||
| 74149546e8 | |||
| 91e0c7aec3 | |||
| 93045f5214 | |||
| bdb090dd26 | |||
| e7bf62cce7 | |||
| f265175d20 | |||
| cc43a1a60d | |||
| ee04103950 | |||
| 3455ceb7b6 | |||
| 6f0b54c495 |
57
src/app/hotel-contact/page.tsx
Normal file
57
src/app/hotel-contact/page.tsx
Normal file
@@ -0,0 +1,57 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple";
|
||||
import ContactCTA from "@/components/sections/contact/ContactCTA";
|
||||
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
|
||||
|
||||
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" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactCTA
|
||||
title="Kontakti"
|
||||
description="Ja jums ir jautājumi, nepieciešama palīdzība ar rezervācijām vai vēlaties uzzināt vairāk par ceļojumiem, sazinieties ar mums! Mūsu komanda ar prieku palīdzēs."
|
||||
tag="📞 Sazinies ar mums"
|
||||
background={{ variant: "plain" }}
|
||||
useInvertedBackground={false}
|
||||
buttons={[
|
||||
{ text: "Zvanīt: +371 20 121 744", href: "tel:+37120121744" },
|
||||
{ text: "Rakstīt: TravelBook@gmail.com", href: "mailto:TravelBook@gmail.com" }
|
||||
]}
|
||||
/>
|
||||
</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>
|
||||
);
|
||||
}
|
||||
@@ -6,22 +6,12 @@ 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, Eye, Filter, Phone, Search, Star, MapPin, ZoomIn, ZoomOut, Search as SearchIcon, Info } from "lucide-react";
|
||||
import { useState, useMemo } from "react";
|
||||
import { CheckCircle, Filter, MapPin, Search, Star } from "lucide-react";
|
||||
import { useState } from "react";
|
||||
|
||||
export default function LandingPage() {
|
||||
const [selectedCity, setSelectedCity] = useState<string | null>(null);
|
||||
const [searchQuery, setSearchQuery] = useState("");
|
||||
|
||||
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." }
|
||||
];
|
||||
|
||||
const filteredCities = useMemo(() => {
|
||||
if (!searchQuery) return cities;
|
||||
return cities.filter(c => c.name.toLowerCase().includes(searchQuery.toLowerCase()));
|
||||
}, [searchQuery]);
|
||||
const [priceRange, setPriceRange] = useState(200);
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
@@ -36,7 +26,7 @@ export default function LandingPage() {
|
||||
secondaryButtonStyle="solid"
|
||||
headingFontWeight="medium"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<div id="nav" data-section="nav" className="sticky top-0 z-50">
|
||||
<NavbarStyleApple
|
||||
brandName="TravelBook"
|
||||
navItems={[
|
||||
@@ -74,53 +64,27 @@ export default function LandingPage() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="search" data-section="search">
|
||||
<div className="flex flex-col lg:flex-row gap-8 p-8 max-w-7xl mx-auto">
|
||||
<div className="lg:w-1/4 space-y-4">
|
||||
<h3 className="font-bold text-lg">Galamērķi</h3>
|
||||
<div className="space-y-2">
|
||||
{cities.map((city) => (
|
||||
<button
|
||||
key={city.id}
|
||||
onClick={() => setSelectedCity(city.id)}
|
||||
className={`w-full text-left p-3 rounded-lg border transition-all ${selectedCity === city.id ? "bg-primary text-white border-primary" : "hover:bg-slate-100 border-slate-200"}`}>
|
||||
{city.name}
|
||||
</button>
|
||||
))}
|
||||
<div id="search" data-section="search" className="py-12 px-6">
|
||||
<div className="max-w-7xl mx-auto flex flex-col lg:flex-row gap-8">
|
||||
<div className="lg:w-80 space-y-6">
|
||||
<div className="bg-white p-6 rounded-2xl shadow-sm border border-slate-100">
|
||||
<h3 className="font-bold mb-4 flex items-center gap-2"><Filter className="w-4 h-4"/> Filtri</h3>
|
||||
<div className="space-y-4">
|
||||
<div>
|
||||
<label className="text-sm block mb-1">Budžets: €{priceRange}</label>
|
||||
<input type="range" min="50" max="300" value={priceRange} onChange={(e) => setPriceRange(Number(e.target.value))} className="w-full accent-blue-600"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex-grow h-[500px] bg-slate-100 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 pilsētu..." className="outline-none" value={searchQuery} onChange={(e) => setSearchQuery(e.target.value)} />
|
||||
</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">
|
||||
{filteredCities.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 transition-colors ${selectedCity === city.id ? "bg-blue-600" : "bg-red-500 animate-bounce"}`}>
|
||||
<MapPin className="w-5 h-5 text-white" />
|
||||
</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 className="flex-grow min-h-[400px] lg:h-[600px] bg-slate-100 rounded-2xl flex flex-col p-4 shadow-inner relative overflow-hidden">
|
||||
<div className="bg-white p-4 rounded-xl shadow-md border border-black/5 mb-4 z-10 flex gap-2 items-center">
|
||||
<Search className="text-slate-400" />
|
||||
<input type="text" placeholder="Meklēt galamērķi kartē..." className="w-full outline-none bg-transparent" value={searchQuery} onChange={(e) => setSearchQuery(e.target.value)} />
|
||||
</div>
|
||||
<div className="absolute inset-0 bg-slate-200 flex items-center justify-center p-4">
|
||||
<p className="text-slate-500 font-medium text-center">Interaktīvā pasaules karte - Zoom un pan iespējas</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -151,9 +115,9 @@ export default function LandingPage() {
|
||||
animationType="slide-up"
|
||||
useInvertedBackground={true}
|
||||
features={[
|
||||
{ id: "step1", title: "1. Izmanto karti", description: "Izpēti galamērķus uz kartes.", media: { imageSrc: "http://img.b2bpic.net/free-photo/shipping-logistic-delivery-freight-cargo-concept_53876-124951.jpg?_wi=2" }, items: [{ icon: Search, text: "Interaktīvā karte" }], reverse: false },
|
||||
{ id: "step2", title: "2. Salīdzini", description: "Apskatīies cenas un vērtējumus.", media: { imageSrc: "http://img.b2bpic.net/free-photo/gothic-church-with-spire-brick-architecture-historic-temple_169016-68118.jpg?_wi=2" }, items: [{ icon: Star, text: "Reitingi" }], reverse: true },
|
||||
{ id: "step3", title: "3. Rezervē", description: "Izvēlies savu ideālo viesnīcu.", media: { imageSrc: "http://img.b2bpic.net/free-photo/panoramic-view-big-ben-from-bridge-london_268835-1399.jpg?_wi=2" }, items: [{ icon: CheckCircle, text: "Tiešsaistes rezervēšana" }], reverse: false }
|
||||
{ id: "f1", title: "1. Izmanto karti", description: "Izpēti galamērķus uz kartes.", media: { imageSrc: "http://img.b2bpic.net/free-photo/shipping-logistic-delivery-freight-cargo-concept_53876-124951.jpg?_wi=2" }, items: [{ icon: Search, text: "Interaktīvā karte" }], reverse: false },
|
||||
{ id: "f2", title: "2. Salīdzini", description: "Apskatīies cenas un vērtējumus.", media: { imageSrc: "http://img.b2bpic.net/free-photo/gothic-church-with-spire-brick-architecture-historic-temple_169016-68118.jpg?_wi=2" }, items: [{ icon: Star, text: "Reitingi" }], reverse: true },
|
||||
{ id: "f3", title: "3. Rezervē", description: "Izvēlies savu ideālo viesnīcu.", media: { imageSrc: "http://img.b2bpic.net/free-photo/panoramic-view-big-ben-from-bridge-london_268835-1399.jpg?_wi=2" }, items: [{ icon: CheckCircle, text: "Tiešsaistes rezervēšana" }], reverse: false }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -5,7 +5,6 @@ import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleAp
|
||||
import TestimonialCardTwo from "@/components/sections/testimonial/TestimonialCardTwo";
|
||||
import FaqSplitText from "@/components/sections/faq/FaqSplitText";
|
||||
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
|
||||
import { Star } from "lucide-react";
|
||||
|
||||
export default function QuizAndReviewsPage() {
|
||||
return (
|
||||
@@ -25,10 +24,10 @@ export default function QuizAndReviewsPage() {
|
||||
<NavbarStyleApple
|
||||
brandName="TravelBook"
|
||||
navItems={[
|
||||
{ name: "Meklēt", id: "search" },
|
||||
{ name: "Galamērķi", id: "destinations" },
|
||||
{ name: "Atsauksmes", id: "reviews" },
|
||||
{ name: "Kontakti", id: "contact" }
|
||||
{ name: "Meklēt", id: "/" },
|
||||
{ name: "Galamērķi", id: "/#destinations" },
|
||||
{ name: "Atsauksmes", id: "/#features" },
|
||||
{ name: "Kontakti", id: "/hotel-contact" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
@@ -42,25 +41,13 @@ export default function QuizAndReviewsPage() {
|
||||
useInvertedBackground={false}
|
||||
showCard={true}
|
||||
faqs={[
|
||||
{
|
||||
id: "1", title: "Kāds ir tavs ideālais ceļojuma mērķis?", content: "Pilsētas ar vēsturi un kultūru, pludmales paradīzes, kalnu avantiūras vai klusos ciematus?"
|
||||
},
|
||||
{
|
||||
id: "2", title: "Cik ilgu laiku vēlies ceļot?", content: "Īss brīvdienu skaits, nedēļa, divas nedēļas vai ilgāks ceļojums."
|
||||
},
|
||||
{
|
||||
id: "3", title: "Kāds ir tavs budžets per naktī?", content: "Ekonomisks (līdz €50), vidējais (€50-€150) vai luksuozs (virs €150)."
|
||||
},
|
||||
{
|
||||
id: "4", title: "Kāds ir tavs vēlamais izmitināšanas veids?", content: "Viesnīca, hostels, airbnb apartamenti vai luksusa kurorts."
|
||||
},
|
||||
{
|
||||
id: "5", title: "Ar ko tu vēlies nodarbināties brīvdienās?", content: "Aktīvie sporta veidi, relaksācija spa, ēdiena degustācija vai kultūras iepazīšana."
|
||||
}
|
||||
]}
|
||||
buttons={[
|
||||
{ text: "Nākt uz ceļojumu", href: "/" }
|
||||
{ id: "1", title: "Kāds ir tavs ideālais ceļojuma mērķis?", content: "Pilsētas ar vēsturi un kultūru, pludmales paradīzes, kalnu avantiūras vai klusos ciematus?" },
|
||||
{ id: "2", title: "Cik ilgu laiku vēlies ceļot?", content: "Īss brīvdienu skaits, nedēļa, divas nedēļas vai ilgāks ceļojums." },
|
||||
{ id: "3", title: "Kāds ir tavs budžets per naktī?", content: "Ekonomisks (līdz €50), vidējais (€50-€150) vai luksuozs (virs €150)." },
|
||||
{ id: "4", title: "Kāds ir tavs vēlamais izmitināšanas veids?", content: "Viesnīca, hostels, airbnb apartamenti vai luksusa kurorts." },
|
||||
{ id: "5", title: "Ar ko tu vēlies nodarbināties brīvdienās?", content: "Aktīvie sporta veidi, relaksācija spa, ēdiena degustācija vai kultūras iepazīšana." }
|
||||
]}
|
||||
buttons={[{ text: "Nākt uz ceļojumu", href: "/" }]}
|
||||
buttonAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
@@ -75,28 +62,11 @@ export default function QuizAndReviewsPage() {
|
||||
animationType="scale-rotate"
|
||||
useInvertedBackground={true}
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", name: "Māra Liepiņa", role: "Ceļotāja", testimonial: "Vienkāršs un ātrs meklēšanas process. Atradu perfektu viesnīcu Parīzē dažos minūtēs. Brīnišķigs serviss!", imageSrc: "http://img.b2bpic.net/free-photo/casual-man-portrait-with-moustache-hat_1122-571.jpg?_wi=2", imageAlt: "uzņēmēja profesionāla portretu attēls"
|
||||
},
|
||||
{
|
||||
id: "2", name: "Jānis Ozols", role: "Ceļotājs", testimonial: "Lielisks atbalsts. Zvanīju uz viņiem jautājumiem par viesnīcu un viņi nekavējoties palīdzēja.", imageSrc: "http://img.b2bpic.net/free-photo/three-beautiful-smiling-women-happily-looking-camera-holding_574295-3816.jpg?_wi=2", imageAlt: "cilvēka portrets profesionāla foto"
|
||||
},
|
||||
{
|
||||
id: "3", name: "Inese Bērziņa", role: "Ceļotāja", testimonial: "Labas cenas, labs meklēšanas rīks. Ieteiktu visiem, kas plāno ceļojumu.", imageSrc: "http://img.b2bpic.net/free-photo/handsome-young-man-with-flowers_23-2147744597.jpg?_wi=2", imageAlt: "sievietes portrets smaidīga profesionāla"
|
||||
},
|
||||
{
|
||||
id: "4", name: "Andris Kalniņš", role: "Ceļotājs", testimonial: "Ērti un draudzīgi. Labākais ceļojuma portāls, ko esmu pazinis.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-posing_23-2148877801.jpg?_wi=2", imageAlt: "cilvēka portrets profesionāls"
|
||||
},
|
||||
{
|
||||
id: "5", name: "Kristīne Vītoliņa", role: "Ceļotāja", testimonial: "Pēc šīs platformas atradu ideālo patvāļīgo viesnīcu Rīgā. Iespējams, labākais ceļojuma vidējais!", imageSrc: "http://img.b2bpic.net/free-photo/casual-man-portrait-with-moustache-hat_1122-571.jpg?_wi=3", imageAlt: "portrets sievietei profesionāls"
|
||||
},
|
||||
{
|
||||
id: "6", name: "Roberts Liepa", role: "Ceļotājs", testimonial: "Iespējams, vislabāk dārgā viesnīca, ko esmu apmeklējis caur šo vietni. Paldies!", imageSrc: "http://img.b2bpic.net/free-photo/handsome-young-man-with-flowers_23-2147744597.jpg?_wi=3", imageAlt: "vīrieša portrets profesionāls"
|
||||
}
|
||||
]}
|
||||
buttons={[
|
||||
{ text: "Pievienoties tūkstošiem apmierinātiem ceļotājiem", href: "/" }
|
||||
{ id: "1", name: "Māra Liepiņa", role: "Ceļotāja", testimonial: "Vienkāršs un ātrs meklēšanas process. Atradu perfektu viesnīcu Parīzē dažos minūtēs. Brīnišķigs serviss!", imageSrc: "http://img.b2bpic.net/free-photo/casual-man-portrait-with-moustache-hat_1122-571.jpg?_wi=2" },
|
||||
{ id: "2", name: "Jānis Ozols", role: "Ceļotājs", testimonial: "Lielisks atbalsts. Zvanīju uz viņiem jautājumiem par viesnīcu un viņi nekavējoties palīdzēja.", imageSrc: "http://img.b2bpic.net/free-photo/three-beautiful-smiling-women-happily-looking-camera-holding_574295-3816.jpg?_wi=2" },
|
||||
{ id: "3", name: "Inese Bērziņa", role: "Ceļotāja", testimonial: "Labas cenas, labs meklēšanas rīks. Ieteiktu visiem, kas plāno ceļojumu.", imageSrc: "http://img.b2bpic.net/free-photo/handsome-young-man-with-flowers_23-2147744597.jpg?_wi=2" }
|
||||
]}
|
||||
buttons={[{ text: "Pievienoties tūkstošiem apmierinātiem ceļotājiem", href: "/" }]}
|
||||
buttonAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
@@ -110,4 +80,4 @@ export default function QuizAndReviewsPage() {
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user