From faff1e1138ab5b23631a09e9823206a8c30aa2c9 Mon Sep 17 00:00:00 2001 From: "nabijonovdavronbek619@gmail.com" Date: Mon, 10 Nov 2025 18:09:13 +0500 Subject: [PATCH] link corrected --- components/nav_foot/navbar.tsx | 214 ++++++++++++--------------------- 1 file changed, 80 insertions(+), 134 deletions(-) diff --git a/components/nav_foot/navbar.tsx b/components/nav_foot/navbar.tsx index 2f681be..b7a2683 100644 --- a/components/nav_foot/navbar.tsx +++ b/components/nav_foot/navbar.tsx @@ -1,16 +1,20 @@ +// src/components/nav_foot/navbar.tsx "use client"; import { useTranslation } from "react-i18next"; import { useState } from "react"; import i18n from "@/i18n"; -import { Link } from "react-scroll"; +import { Link, animateScroll as scroll } from "react-scroll"; import Text from "../lib_components/text"; import "./navbar.css"; import { logoImg } from "@/assets"; import Image from "next/image"; +import { usePathname, useRouter } from "next/navigation"; export default function Navbar() { - // Togle variable + const router = useRouter(); + const pathname = usePathname(); + const [toggle, setToggle] = useState(false); const [togglerIcon, setTogglerIcon] = useState("toggler"); const [lang, setLang] = useState<"uz" | "ru">("uz"); @@ -20,158 +24,100 @@ export default function Navbar() { i18n.changeLanguage(lng); }; - // change active toggler const changeToggler = () => { - // for show up responsive navbar setToggle(!toggle); - - // animation class for toggle icon togglerIcon === "toggler" ? setTogglerIcon("toggler toggle") : setTogglerIcon("toggler"); }; + const scrollOrRoute = (id: string) => { + if (pathname !== `/${lang}`) { + // Agar user boshqa sahifada bo'lsa asosiy sahifaga yo'naltirish + router.push(`/${lang}#${id}`); + } else { + // Agar main page-da bo'lsa scroll qilish + scroll.scrollTo(document.getElementById(id)!.offsetTop - 100); + } + changeToggler(); + }; + + const goHome = () => { + router.push(`/${lang}`); + }; + return ( -
-
-
-
- - -
-
+
+
+ + +
- {/* change language part */} -
- - -
+
+
+ + + +
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
- -
+
+
+ + +
- -
- - SPES-TEXNIKA - - logo -
- +
+ +
+ SPES-TEXNIKA + logo
-
); } -function LinkGroup({ togle_func }: { togle_func: () => void }) { +function LinkButton({ + txt, + id, + scrollFunc, +}: { + txt: string; + id: string; + scrollFunc: (id: string) => void; +}) { return ( - <> - - - - - - - - - - - + ); }