Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7c929ac0c6 | |||
| 39343424f5 | |||
| e2e2d3a28c | |||
| e5405e6503 | |||
| a885d92eef | |||
| 0ac2c41f59 | |||
| 4672f6795b | |||
| c84b7720c1 | |||
| 3fb90a10a8 | |||
| 9fb0b9731c | |||
| 11ac1c310f | |||
| 7e801efcb4 | |||
| 55dc4c1e75 | |||
| 4a354a0d6a | |||
| efc8304e0a | |||
| f95fc547aa | |||
| e419418c03 | |||
| f6f1fa01fd | |||
| f07d779327 | |||
| b982d9b74d | |||
| 0f11473343 | |||
| e4e590ccfa | |||
| 0db510c0e0 |
@@ -3,9 +3,11 @@
|
|||||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
|
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
|
||||||
|
import HeroSignup from "@/components/sections/hero/HeroSignup";
|
||||||
import ProductCardThree from "@/components/sections/product/ProductCardThree";
|
import ProductCardThree from "@/components/sections/product/ProductCardThree";
|
||||||
import SplitAbout from "@/components/sections/about/SplitAbout";
|
import SplitAbout from "@/components/sections/about/SplitAbout";
|
||||||
import FooterMedia from "@/components/sections/footer/FooterMedia";
|
import FooterMedia from "@/components/sections/footer/FooterMedia";
|
||||||
|
import { Sparkles } from "lucide-react";
|
||||||
|
|
||||||
export default function BrowsePage() {
|
export default function BrowsePage() {
|
||||||
const navItems = [
|
const navItems = [
|
||||||
@@ -17,7 +19,8 @@ export default function BrowsePage() {
|
|||||||
];
|
];
|
||||||
|
|
||||||
const navButton = {
|
const navButton = {
|
||||||
text: "Start Exploring", href: "discover"};
|
text: "Start Exploring", href: "discover"
|
||||||
|
};
|
||||||
|
|
||||||
const footerColumns = [
|
const footerColumns = [
|
||||||
{
|
{
|
||||||
@@ -67,6 +70,19 @@ export default function BrowsePage() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div id="hero" data-section="hero">
|
||||||
|
<HeroSignup
|
||||||
|
title="Explore Oman's Best Destinations"
|
||||||
|
description="Discover breathtaking landscapes, rich culture, and unforgettable experiences across Oman's most remarkable destinations."
|
||||||
|
tag="Adventure Awaits"
|
||||||
|
tagIcon={Sparkles}
|
||||||
|
background={{ variant: "sparkles-gradient" }}
|
||||||
|
inputPlaceholder="Enter your email"
|
||||||
|
buttonText="Get Started"
|
||||||
|
onSubmit={(email) => console.log('Email:', email)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id="all-destinations" data-section="all-destinations">
|
<div id="all-destinations" data-section="all-destinations">
|
||||||
<ProductCardThree
|
<ProductCardThree
|
||||||
title="Browse All Destinations"
|
title="Browse All Destinations"
|
||||||
@@ -78,22 +94,28 @@ export default function BrowsePage() {
|
|||||||
products={[
|
products={[
|
||||||
{
|
{
|
||||||
id: "muscat", name: "Muscat", price: "Moderate", imageSrc:
|
id: "muscat", name: "Muscat", price: "Moderate", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/landscape-sky-is-reflected-sea-setting-light-city-coastline-with-mountains-horizon_169016-8684.jpg", imageAlt: "Muscat city coastline"},
|
"http://img.b2bpic.net/free-photo/landscape-sky-is-reflected-sea-setting-light-city-coastline-with-mountains-horizon_169016-8684.jpg?_wi=2", imageAlt: "Muscat city coastline"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "nizwa", name: "Nizwa", price: "Budget", imageSrc:
|
id: "nizwa", name: "Nizwa", price: "Budget", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/closeup-shot-buildings-made-concrete-sun-morocco_181624-16067.jpg", imageAlt: "Nizwa historic fort"},
|
"http://img.b2bpic.net/free-photo/closeup-shot-buildings-made-concrete-sun-morocco_181624-16067.jpg", imageAlt: "Nizwa historic fort"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "jebel-akhdar", name: "Jebel Akhdar", price: "Moderate", imageSrc:
|
id: "jebel-akhdar", name: "Jebel Akhdar", price: "Moderate", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/aerial-view-gran-canaria-desert-road-through-mountains_181624-37658.jpg", imageAlt: "Jebel Akhdar green mountains"},
|
"http://img.b2bpic.net/free-photo/aerial-view-gran-canaria-desert-road-through-mountains_181624-37658.jpg", imageAlt: "Jebel Akhdar green mountains"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "wahiba-sands", name: "Wahiba Sands", price: "Moderate", imageSrc:
|
id: "wahiba-sands", name: "Wahiba Sands", price: "Moderate", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/camel-desert-landscape-morocco_23-2148129819.jpg", imageAlt: "Wahiba Sands desert dunes"},
|
"http://img.b2bpic.net/free-photo/camel-desert-landscape-morocco_23-2148129819.jpg", imageAlt: "Wahiba Sands desert dunes"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "musandam", name: "Musandam", price: "Premium", imageSrc:
|
id: "musandam", name: "Musandam", price: "Premium", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/rowing-sea-water_1312-27.jpg", imageAlt: "Musandam fjords peninsula"},
|
"http://img.b2bpic.net/free-photo/rowing-sea-water_1312-27.jpg", imageAlt: "Musandam fjords peninsula"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "salalah", name: "Salalah", price: "Moderate", imageSrc:
|
id: "salalah", name: "Salalah", price: "Moderate", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/green-river-middle-forest_181624-19059.jpg", imageAlt: "Salalah tropical landscape"},
|
"http://img.b2bpic.net/free-photo/green-river-middle-forest_181624-19059.jpg", imageAlt: "Salalah tropical landscape"
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -110,13 +132,16 @@ export default function BrowsePage() {
|
|||||||
bulletPoints={[
|
bulletPoints={[
|
||||||
{
|
{
|
||||||
title: "Plan Ahead", description:
|
title: "Plan Ahead", description:
|
||||||
"Book accommodations and activities in advance, especially during peak season (October-April)."},
|
"Book accommodations and activities in advance, especially during peak season (October-April)."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "Best Time to Visit", description:
|
title: "Best Time to Visit", description:
|
||||||
"Experience mild temperatures and clear skies during winter months for optimal travel conditions."},
|
"Experience mild temperatures and clear skies during winter months for optimal travel conditions."
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "Local Guides", description:
|
title: "Local Guides", description:
|
||||||
"Hire experienced local guides to unlock hidden gems and authentic cultural connections."},
|
"Hire experienced local guides to unlock hidden gems and authentic cultural connections."
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
mediaAnimation="opacity"
|
mediaAnimation="opacity"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -1,73 +1,24 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Halant } from "next/font/google";
|
|
||||||
import { Inter } from "next/font/google";
|
import { Inter } from "next/font/google";
|
||||||
import { Nunito } from "next/font/google";
|
import "./styles/variables.css";
|
||||||
import "./globals.css";
|
import "./styles/base.css";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
|
|
||||||
const halant = Halant({
|
|
||||||
variable: "--font-halant",
|
|
||||||
subsets: ["latin"],
|
|
||||||
weight: ["300", "400", "500", "600", "700"],
|
|
||||||
});
|
|
||||||
|
|
||||||
const inter = Inter({
|
const inter = Inter({
|
||||||
variable: "--font-inter",
|
variable: "--font-inter", subsets: ["latin"],
|
||||||
subsets: ["latin"],
|
|
||||||
});
|
|
||||||
|
|
||||||
const nunito = Nunito({
|
|
||||||
variable: "--font-nunito",
|
|
||||||
subsets: ["latin"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Visit Oman - Discover & Plan Your Perfect Journey",
|
title: "Visit Oman", description: "Explore Oman's best destinations"};
|
||||||
description: "Explore Oman's stunning destinations from desert dunes to mountain peaks. Plan your ideal itinerary with our smart travel platform.",
|
|
||||||
keywords: "Oman travel, tourism, destination guide, trip planner, Muscat, desert, mountains, beaches",
|
|
||||||
metadataBase: new URL("https://visitoman.com"),
|
|
||||||
alternates: {
|
|
||||||
canonical: "https://visitoman.com",
|
|
||||||
},
|
|
||||||
openGraph: {
|
|
||||||
title: "Visit Oman - Discover the Beauty of Mountains, Deserts & Coastlines",
|
|
||||||
description: "Your premium guide to discovering and planning travel experiences across Oman's most beautiful destinations.",
|
|
||||||
url: "https://visitoman.com",
|
|
||||||
siteName: "Visit Oman",
|
|
||||||
type: "website",
|
|
||||||
images: [
|
|
||||||
{
|
|
||||||
url: "http://img.b2bpic.net/free-photo/adventurous-young-man-desert_181624-35067.jpg",
|
|
||||||
alt: "Oman landscapes",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
twitter: {
|
|
||||||
card: "summary_large_image",
|
|
||||||
title: "Visit Oman - Discover Your Next Adventure",
|
|
||||||
description: "Plan your perfect journey across Oman's mountains, deserts, and coastlines.",
|
|
||||||
images: ["http://img.b2bpic.net/free-photo/adventurous-young-man-desert_181624-35067.jpg"],
|
|
||||||
},
|
|
||||||
robots: {
|
|
||||||
index: true,
|
|
||||||
follow: true,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
children,
|
children,
|
||||||
}: Readonly<{
|
}: {
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
}>) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en">
|
||||||
<ServiceWrapper>
|
<body className={inter.variable}>
|
||||||
<body
|
{children}
|
||||||
className={`${halant.variable} ${inter.variable} ${nunito.variable} antialiased`}
|
|
||||||
>
|
|
||||||
<Tag />
|
|
||||||
{children}
|
|
||||||
|
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
@@ -1436,7 +1387,6 @@ export default function RootLayout({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</body>
|
</body>
|
||||||
</ServiceWrapper>
|
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user