Merge version_3 into main #3
@@ -1,53 +1,76 @@
|
||||
import type { Metadata } from "next";
|
||||
import { Halant } from "next/font/google";
|
||||
import { Inter } from "next/font/google";
|
||||
import { Open_Sans } from "next/font/google";
|
||||
import "./globals.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({
|
||||
variable: "--font-inter", subsets: ["latin"],
|
||||
});
|
||||
|
||||
const openSans = Open_Sans({
|
||||
variable: "--font-open-sans", subsets: ["latin"],
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "עמוס יוגב - אילוף כלבים בהוד השרון", description: "אילוף כלבים בגישה טבעית ללא חטיפים. 4.9 כוכבים מ-250+ לקוחות מרוצים. פנסיון ביתי ומעון יום לכלבים.", keywords: "אילוף כלבים, הוד השרון, פנסיון כלבים, מאמן כלבים, בעיות התנהגות", openGraph: {
|
||||
title: "עמוס יוגב - אילוף כלבים", description: "אילוף כלבים מקצועי בגישה טבעית ללא כוח או חטיפים", type: "website", siteName: "עמוס יוגב", images: [
|
||||
{
|
||||
url: "http://img.b2bpic.net/free-photo/portrait-woman-with-her-beautiful-dog_1157-36153.jpg", alt: "אילוף כלבים מקצועי"},
|
||||
],
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image", title: "עמוס יוגב - אילוף כלבים בהוד השרון", description: "שיטת אילוף טבעית, פנסיון ביתי, ופתרון בעיות התנהגות"},
|
||||
robots: {
|
||||
index: true,
|
||||
follow: true,
|
||||
},
|
||||
};
|
||||
title: "עמוס יוגב - אילוף כלבים", description: "אילוף כלבים טבעי ללא חטיפים וללא כוח. פנסיון ביתי ומעון יום לכלבים."};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
}) {
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body
|
||||
className={`${halant.variable} ${inter.variable} ${openSans.variable} antialiased`}
|
||||
>
|
||||
<html lang="he" dir="rtl" suppressHydrationWarning>
|
||||
<body className={`${inter.variable} antialiased`}>
|
||||
<ServiceWrapper>
|
||||
<Tag />
|
||||
{children}
|
||||
|
||||
</ServiceWrapper>
|
||||
<script
|
||||
async
|
||||
src="https://cdn.jsdelivr.net/npm/lenis@latest"
|
||||
></script>
|
||||
<script
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `
|
||||
const lenis = new Lenis({
|
||||
duration: 1.2,
|
||||
easing: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),
|
||||
direction: 'vertical',
|
||||
gestureDirection: 'vertical',
|
||||
smooth: true,
|
||||
mouseMultiplier: 1,
|
||||
smoothTouch: false,
|
||||
touchMultiplier: 2,
|
||||
infinite: false,
|
||||
});
|
||||
function raf(time) {
|
||||
lenis.raf(time);
|
||||
requestAnimationFrame(raf);
|
||||
}
|
||||
requestAnimationFrame(raf);
|
||||
function handleLinkClick(e) {
|
||||
const href = e.currentTarget.getAttribute('href');
|
||||
if (href && (href.startsWith('#') || href === '/')) {
|
||||
e.preventDefault();
|
||||
if (href === '/') {
|
||||
window.location.href = '/';
|
||||
} else {
|
||||
const target = document.querySelector(href);
|
||||
if (target) {
|
||||
lenis.scrollTo(target, {
|
||||
offset: 0,
|
||||
duration: 1.2,
|
||||
easing: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
document.addEventListener('click', (e) => {
|
||||
if (e.target.tagName === 'A') {
|
||||
handleLinkClick(e);
|
||||
}
|
||||
});
|
||||
`,
|
||||
}}
|
||||
></script>
|
||||
|
||||
<script
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `
|
||||
@@ -1415,7 +1438,14 @@ export default function RootLayout({
|
||||
}}
|
||||
/>
|
||||
</body>
|
||||
</ServiceWrapper>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
|
||||
function ServiceWrapper({ children }: { children: React.ReactNode }) {
|
||||
return <>{children}</>;
|
||||
}
|
||||
|
||||
function Tag() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ export default function LandingPage() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<div id="contact" data-section="contact" className="rtl">
|
||||
<ContactCenter
|
||||
tag="צור קשר"
|
||||
title="בואו נדבר על כלבכם"
|
||||
@@ -205,7 +205,7 @@ export default function LandingPage() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<div id="footer" data-section="footer" className="rtl">
|
||||
<FooterMedia
|
||||
imageSrc="http://img.b2bpic.net/free-photo/portrait-trained-dog-waiting-command-park_342744-940.jpg"
|
||||
imageAlt="כלבים שמחים"
|
||||
|
||||
Reference in New Issue
Block a user