diff --git a/app/(root)/page.tsx b/app/(root)/page.tsx
index b556791..47a29e6 100644
--- a/app/(root)/page.tsx
+++ b/app/(root)/page.tsx
@@ -1,8 +1,8 @@
import { Events } from "@/components/shared/Events";
import { News } from "@/components/shared/News";
import { Partners } from "@/components/shared/Partners";
+import { Reviews } from "@/components/shared/Reviews";
import { Slider } from "@/components/shared/Slider";
-import { Video } from "@/components/shared/Video";
import Loader from "@/components/ui/Loader";
import { cookies } from "next/headers";
import { Suspense } from "react";
@@ -18,6 +18,7 @@ export default async function HomePage() {
+
{/*
*/}
diff --git a/app/globals.css b/app/globals.css
index 46d45c6..ad079c9 100644
--- a/app/globals.css
+++ b/app/globals.css
@@ -416,6 +416,22 @@ p img {
overflow: hidden;
}
+ .dot {
+ display: inline-block;
+ width: 8px;
+ height: 8px;
+ border-radius: 50%;
+ background-color: #d1d5db;
+ cursor: pointer;
+ transition: all 0.3s ease;
+ margin: 0 4px;
+ }
+
+ .dot-active {
+ @apply bg-PRIMARY;
+ transform: scale(1.2);
+ }
+
.input {
@apply flex h-14 rounded-[2px] p-4 focus:ring-2 border-0 focus:outline-none focus:ring-white transition-all hover:ring-white ring-slate-300 ring-[1px] bg-[#E3E8E5] text-base file:border-0 file:bg-SECONDARY_CONTAINER file:outline-none file:text-sm file:w-fit file:text-ON_SECONDARY_CONTAINER file:font-medium focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50;
}
diff --git a/components/page/layout-with-sidebar.tsx b/components/page/LayoutWithSidebar.tsx
similarity index 100%
rename from components/page/layout-with-sidebar.tsx
rename to components/page/LayoutWithSidebar.tsx
diff --git a/components/shared/Events.tsx b/components/shared/Events.tsx
index 43f8d70..0432b29 100644
--- a/components/shared/Events.tsx
+++ b/components/shared/Events.tsx
@@ -22,7 +22,7 @@ const events = [
];
export const Events = async ({ lang }: { lang: string }) => {
- const data = await getEvents(lang);
+ // const data = await getEvents(lang);
const btnText =
lang === "en" ? "Show more" : lang === "ru" ? "Показать еще" : "Show more";
@@ -37,7 +37,7 @@ export const Events = async ({ lang }: { lang: string }) => {
{title} Turkmen
- Expo
+ Expo 2025
{/*
{
const dispatch = useAppDispatch();
@@ -26,7 +25,6 @@ export const Header = () => {
const { burgerOpen } = useAppSelector(selectBurger);
const { activeLang } = useAppSelector(selectHeader);
const [activeLink, setActiveLink] = useState("");
- const pathname = usePathname();
const toggleMenu = () => {
dispatch(setBurgerOpen(!burgerOpen));
diff --git a/components/shared/Slider.tsx b/components/shared/Slider.tsx
index f3a573f..32e9ade 100644
--- a/components/shared/Slider.tsx
+++ b/components/shared/Slider.tsx
@@ -59,7 +59,7 @@ export const Slider = ({ lang }: { lang: string }) => {
{
target="_blank"
className="size-full"
>
-
+ {item.image.includes(".mp4") ? (
+
+ ) : (
+
+ )}
))}
diff --git a/components/ui/burger-menu.tsx b/components/ui/burger-menu.tsx
index a2837c4..9b6d76e 100644
--- a/components/ui/burger-menu.tsx
+++ b/components/ui/burger-menu.tsx
@@ -11,7 +11,7 @@ import { activeLangType, setActiveLang } from "@/redux/slices/headerSlice";
import clsx from "clsx";
import { burgerMenu, burgerMenu2 } from "@/lib/database/header";
import { useRouter } from "next/navigation";
-import { lang } from "./lang-menu";
+import { lang } from "./LangMenu";
interface flagTypes {
// title: 'Ру' | 'En' | 'Tm';
diff --git a/components/ui/lang-menu.tsx b/components/ui/lang-menu.tsx
deleted file mode 100644
index 9af3b16..0000000
--- a/components/ui/lang-menu.tsx
+++ /dev/null
@@ -1,123 +0,0 @@
-"use client";
-
-import React, { useEffect, useRef, useState } from "react";
-import Image from "next/image";
-import clsx from "clsx";
-import { motion, AnimatePresence } from "framer-motion";
-
-import triangle from "@/public/assets/icons/drop-icon.svg";
-import { useAppSelector, useAppDispatch } from "@/redux/hooks";
-import { activeLangType, selectHeader } from "@/redux/slices/headerSlice";
-import { setActiveLang } from "@/redux/slices/headerSlice";
-import { usePathname, useRouter, useSearchParams } from "next/navigation";
-
-export const lang = [
- {
- title: "Русский",
- localization: "ru",
- },
- // {
- // title: 'Tm',
- // localization: 'tm',
- // },
- {
- title: "English",
- localization: "en",
- },
-];
-
-export const LangMenu = () => {
- const { activeLang } = useAppSelector(selectHeader);
- const { refresh } = useRouter();
- const [active, setActive] = useState(false);
- const dispatch = useAppDispatch();
- const menuRef = useRef(null);
- const setLang = (lang: activeLangType) => {
- // Устанавливаем cookie через document.cookie
- document.cookie = `lang=${lang.localization}; path=/; max-age=31536000`;
- dispatch(setActiveLang(lang));
- refresh();
- };
-
- useEffect(() => {
- const cookieLang = document.cookie
- .split("; ")
- .find((row) => row.startsWith("lang="))
- ?.split("=")[1];
-
- if (cookieLang) {
- const foundLang = lang.find((l) => l.localization === cookieLang);
- if (foundLang) dispatch(setActiveLang(foundLang));
- }
- }, [dispatch]);
-
- useEffect(() => {
- const handleClick = (e: MouseEvent) => {
- if (menuRef.current && !menuRef.current.contains(e.target as Node)) {
- setActive(false);
- }
- };
-
- document.addEventListener("click", handleClick);
-
- return () => document.removeEventListener("click", handleClick);
- }, []);
-
- return (
- {
- setActive(!active);
- }}
- >
-
-
- {active && (
-
- {lang
- .filter((item) => item.title !== activeLang.title)
- .map((item, i) => (
- setLang(item)}
- className={clsx(
- "p-3 pr-[22px] py-4 text-extraSm transition-all",
- {
- "hover:bg-ON_SECONDARY_CONTAINER/[8%]":
- item.title === item.title,
- }
- )}
- >
- {item.title}
-
- ))}
-
- )}
-
-
- );
-};
diff --git a/components/ui/title.tsx b/components/ui/title.tsx
index 0e8ac0d..a42e5e0 100644
--- a/components/ui/title.tsx
+++ b/components/ui/title.tsx
@@ -1,8 +1,20 @@
+import clsx from "clsx";
import React from "react";
-export const Title = ({ text }: { text: string | boolean }) => {
+export const Title = ({
+ text,
+ className,
+}: {
+ text: string | boolean;
+ className?: string;
+}) => {
return (
-
+
{text}
);