diff --git a/app/globals.css b/app/globals.css
index d8cf628..eedcd3f 100644
--- a/app/globals.css
+++ b/app/globals.css
@@ -22,7 +22,7 @@
}
body {
- background: var(--background);
+ background: white;
color: var(--foreground);
font-family: Arial, Helvetica, sans-serif;
}
diff --git a/app/layout.tsx b/app/layout.tsx
index 98f6690..ef482f0 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -1,17 +1,60 @@
+import type { Metadata } from "next";
+import Image from "next/image";
import { ReactNode } from "react";
-import "../i18n/request"; // i18n config faylini import qilamiz
-import { LanguageProvider } from "@/context/language-context";
+
+import "../i18n/request";
import "./globals.css";
+
+import { LanguageProvider } from "@/context/language-context";
import { Navbar } from "@/components/Navbar";
import { Footer } from "@/components/Footer";
+export const metadata: Metadata = {
+ title: {
+ default: "Texnik Uskunalar | Nasoslar va Datchiklar",
+ template: "%s | Texnik Uskunalar",
+ },
+ description:
+ "Sanoat uchun mo‘ljallangan nasoslar, datchiklar va texnik qurilmalar. Zamonaviy 3D ko‘rinishda mahsulotlar katalogi.",
+ keywords: [
+ "nasos",
+ "datchik",
+ "texnik uskuna",
+ "industrial equipment",
+ "sensor",
+ "pump",
+ ],
+ authors: [{ name: "Max Di Group" }],
+ metadataBase: new URL("https://promtechno.uz/"),
+ openGraph: {
+ title: "Texnik Uskunalar",
+ description:
+ "Nasoslar va datchiklarni 3D ko‘rinishda ko‘ring va solishtiring",
+ url: "https://promtechno.uz/",
+ siteName: "Texnik Uskunalar",
+ images: [
+ {
+ url: "/logo.jpg",
+ width: 800,
+ height: 600,
+ alt: "Texnik Uskunalar logotipi",
+ },
+ ],
+ locale: "uz_UZ",
+ type: "website",
+ },
+ icons: {
+ icon: "/logo.jpg",
+ },
+};
+
export default function RootLayout({ children }: { children: ReactNode }) {
return (
-
-
+
+
- {children}
+ {children}
diff --git a/components/Navbar.tsx b/components/Navbar.tsx
index accb0c2..edb109c 100644
--- a/components/Navbar.tsx
+++ b/components/Navbar.tsx
@@ -7,6 +7,7 @@ import { motion } from "framer-motion";
import LanguageSwitcher from "./languageSwitcher";
import { useLanguage } from "@/context/language-context";
import Image from "next/image";
+import { useProductStore } from "@/lib/productZustand";
interface NavLink {
id: string;
@@ -21,12 +22,13 @@ interface NavbarProps {
export function Navbar({ logoText = "FIRMA" }: NavbarProps) {
const [isOpen, setIsOpen] = useState(false);
const { t } = useLanguage();
+ const resetProductName = useProductStore((state) => state.resetProductName);
const navLinks: NavLink[] = [
{ id: "about", labelKey: t.nav.about, href: "#about" },
{ id: "products", labelKey: t.nav.products, href: "#products" },
{ id: "faq", labelKey: t.nav.faq, href: "#faq" },
- { id: "contact", labelKey: t.nav.contact , href: "#contact" },
+ { id: "contact", labelKey: t.nav.contact, href: "#contact" },
];
const handleScroll = (href: string) => {
@@ -47,9 +49,16 @@ export function Navbar({ logoText = "FIRMA" }: NavbarProps) {
resetProductName()}
className=" relative overflow-hidden"
>
-
+
diff --git a/components/detailPage/detailInfo.tsx b/components/detailPage/detailInfo.tsx
index 5e5a08d..9c6c8ab 100644
--- a/components/detailPage/detailInfo.tsx
+++ b/components/detailPage/detailInfo.tsx
@@ -1,8 +1,6 @@
"use client";
import { motion } from "framer-motion";
-import { X } from "lucide-react";
-import type { Product } from "@/lib/products";
import { useLanguage } from "@/context/language-context";
import Link from "next/link";
import { useProduct, useProductStore } from "@/lib/productZustand";
@@ -14,6 +12,13 @@ export default function DetailInfo() {
const product = useProduct((state) => state.product);
if (product === null) return null;
+ const handleScroll = (href: string) => {
+ const element = document.querySelector(href);
+ if (element) {
+ element.scrollIntoView({ behavior: "smooth" });
+ }
+ };
+
return (
@@ -46,7 +51,10 @@ export default function DetailInfo() {
{/* CTA Buttons */}
-
+ handleScroll("#contact")}
+ >
-