@@ -1,13 +1,11 @@
import { getContacts } from "@/src/shared/api/requests";
import RulesPageBlock from "@/src/shared/components/pages_components/rules_page/RulesPageBlock";
-import FeedbackBlock from "@/src/shared/components/shared_components/FeedbackBlock/FeedbackBlock";
+// import FeedbackBlock from "@/src/shared/components/shared_components/FeedbackBlock/FeedbackBlock";
import Footer from "@/src/shared/components/shared_components/Footer/Footer";
import Header from "@/src/shared/components/shared_components/Header/Header";
import UpperBlock from "@/src/shared/components/shared_components/Header/UpperBlock";
import QuestionButton from "@/src/shared/components/shared_components/QuestionButton/QuestionButton";
-import { contacts } from "@/src/shared/utils/staticMockData";
-
export const dynamic = "force-dynamic"
export default async function page() {
@@ -17,13 +15,14 @@ export default async function page() {
-
+
+ {/* */}
@@ -11,7 +11,7 @@ import NewWayBlock from "@/src/shared/components/pages_components/main_page/NewW
// import { products } from "@/src/shared/utils/staticMockData";
import ReadyImagesBlock from "@/src/shared/components/pages_components/main_page/ReadyImagesBlock";
import FaqBlock from "@/src/shared/components/shared_components/FaqBlock/FaqBlock";
-import FeedbackBlock from "@/src/shared/components/shared_components/FeedbackBlock/FeedbackBlock";
+// import FeedbackBlock from "@/src/shared/components/shared_components/FeedbackBlock/FeedbackBlock";
import Footer from "@/src/shared/components/shared_components/Footer/Footer";
import QuestionButton from "@/src/shared/components/shared_components/QuestionButton/QuestionButton";
@@ -42,7 +42,8 @@ export default async function Home() {
-
+
+ {/*
*/}
@@ -11,11 +11,11 @@ interface IProps {
}
export default function NewWayBlock({ products, contacts }: IProps) {
- const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
+ // const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
return (
- {isModalFeedbackOpened &&
}
+ {/* {isModalFeedbackOpened &&
} */}
новый способ проявить себя
Наша главная цель - ваш идеальный образ, который будет говорить за себя. Тот имидж, который позволит не только привлечь больше внимания, но и придаст уверенности, где бы и с кем бы, вы не находились.
@@ -28,8 +28,9 @@ export default function NewWayBlock({ products, contacts }: IProps) {
description={item.description}
period={item.period}
price={item.price}
- isModalFeedbackOpened={isModalFeedbackOpened}
- setIsModalFeedbackOpened={setIsModalFeedbackOpened}
+ contacts={contacts}
+ // isModalFeedbackOpened={isModalFeedbackOpened}
+ // setIsModalFeedbackOpened={setIsModalFeedbackOpened}
/>
))}
@@ -21,7 +21,7 @@ interface IProps {
}
export default function PortfolioBlock({ contacts, portfolioItems }: IProps) {
- const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
+ // const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
const [hasPadding, setHasPadding] = useState(true); // Управляем padding только в начале
const { height, width } = useWindowSize()
@@ -41,7 +41,7 @@ export default function PortfolioBlock({ contacts, portfolioItems }: IProps) {
return (
- {isModalFeedbackOpened &&
}
+ {/* {isModalFeedbackOpened &&
} */}
наше портфолио
{portfolioItems.map((item, idx) => (
-
+
))}
@@ -18,15 +18,15 @@ interface IProps {
export default function PriceListBlock({ priceList, contacts }: IProps) {
const [value, setValue] = useState
(-1);
- const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
-
+ // const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
+
const handleChange = (event: React.SyntheticEvent, newValue: number) => {
setValue(newValue);
};
return (
- {isModalFeedbackOpened &&
}
+ {/* {isModalFeedbackOpened &&
} */}
прайс-лист
@@ -46,7 +46,7 @@ export default function PriceListBlock({ priceList, contacts }: IProps) {
{item.title ? item.title : ""}
{priceList[idx].products.map((item) => (
-
+
))}
@@ -57,7 +57,7 @@ export default function PriceListBlock({ priceList, contacts }: IProps) {
{priceList[value]?.title ? priceList[value]?.title : ""}
{priceList[value]?.products?.map((item) => (
-
+
))}
@@ -13,11 +13,11 @@ interface IProps {
}
export default function WelcomeBlock({ contacts }: IProps) {
- const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
+ // const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
return (
-
+ {/*
*/}
@@ -37,7 +37,10 @@ export default function WelcomeBlock({ contacts }: IProps) {
- { setIsModalFeedbackOpened(true) }} className="flex justify-center items-center w-full h-[64px] bg-red-main active:bg-red-mainClick lg:hidden">
+
{
+ window.open(contacts?.whatsapp, '_blank');
+ // setIsModalFeedbackOpened(true)
+ }} className="flex justify-center items-center w-full h-[64px] bg-red-main active:bg-red-mainClick lg:hidden">
заказать пошив
@@ -21,11 +21,11 @@ interface IProps {
}
export default function Footer(props: IProps) {
- const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
+ // const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
return (
@@ -15,7 +15,6 @@ import Link from 'next/link'
import { useEffect, useState } from 'react'
import SideMenu from '../SideMenu/SideMenu'
import { IContacts } from '@/src/shared/models/models'
-import { useRouter } from 'next/navigation'
import dynamic from 'next/dynamic';
import { prettifyPhoneNumber } from "@/src/shared/utils/funcs/prettifyPhoneNumber";
@@ -28,8 +27,7 @@ interface IProps {
export default function Header(props: IProps) {
const [isSidebarOpened, setIsSidebarOpened] = useState
(false);
- const router = useRouter()
- const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
+ // const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
useEffect(() => {
if (isSidebarOpened) {
@@ -46,7 +44,7 @@ export default function Header(props: IProps) {
return (
- {isModalFeedbackOpened && }
+ {/* {isModalFeedbackOpened && } */}
@@ -69,7 +67,10 @@ export default function Header(props: IProps) {
-
{ setIsModalFeedbackOpened(true) }} className='flex items-center gap-[5px] mt-[10px] lg:hidden'>
+
{
+ window.open(props?.contacts?.whatsapp, '_blank');
+ // setIsModalFeedbackOpened(true)
+ }} className='flex items-center gap-[5px] mt-[10px] lg:hidden'>
Связь
@@ -79,7 +80,10 @@ export default function Header(props: IProps) {
{props.contacts.phone && prettifyPhoneNumber(props.contacts.phone)}
-
{ setIsModalFeedbackOpened(true) }} className='hidden justify-center items-center border-[2px] border-red-main w-[170px] h-[50px] hover:cursor-pointer lg:flex'>
+
{
+ window.open(props?.contacts?.whatsapp, '_blank');
+ // setIsModalFeedbackOpened(true)
+ }} className='hidden justify-center items-center border-[2px] border-red-main w-[170px] h-[50px] hover:cursor-pointer lg:flex'>
Связаться
@@ -95,7 +99,7 @@ export default function Header(props: IProps) {
Снятие мерок онлайн
Прайс-лист
Частые вопросы
-
Контакты
+ {/*
Контакты */}
)
@@ -9,12 +9,15 @@ import { IContacts } from "@/src/shared/models/models";
const ModalFeedback = dynamic(() => import('@/src/shared/components/shared_components/Modals/ModalFeedback/ModalFeedback'));
export default function UpperBlock({ contacts }: { contacts: IContacts }) {
- const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
+ // const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
return (
<>
- {isModalFeedbackOpened &&
}
-
{ setIsModalFeedbackOpened(true) }} className="z-[6] fixed top-0 w-full flex justify-center items-center gap-[6px] text-white text-[8px] pt-[8px] pb-[6px] uppercase bg-red-main lg:pt-[6px] lg:pb-[5px] lg:text-[10px] hover:cursor-pointer">
+ {/* {isModalFeedbackOpened &&
} */}
+
{
+ window.open(contacts?.whatsapp, '_blank');
+ // setIsModalFeedbackOpened(true)
+ }} className="z-[6] fixed top-0 w-full flex justify-center items-center gap-[6px] text-white text-[8px] pt-[8px] pb-[6px] uppercase bg-red-main lg:pt-[6px] lg:pb-[5px] lg:text-[10px] hover:cursor-pointer">
дарим Скидку -10% на первый заказ в нашем Шоурум-Ателье!
@@ -1,5 +1,5 @@
import Image from "next/image"
-import { IPortfolioItem } from "@/src/shared/models/models"
+import { IContacts, IPortfolioItem } from "@/src/shared/models/models"
import Skeleton from 'react-loading-skeleton'
import 'react-loading-skeleton/dist/skeleton.css'
@@ -7,16 +7,20 @@ import { Dispatch, SetStateAction, useState } from "react"
interface IProps {
item: IPortfolioItem,
- setIsModalFeedbackOpened: Dispatch
>
+ contacts: IContacts
+ // setIsModalFeedbackOpened: Dispatch>
}
-export default function PortfolioItem({item, setIsModalFeedbackOpened}:IProps) {
+export default function PortfolioItem({ item, contacts }: IProps) {
const [isLoaded, setIsLoaded] = useState(false)
return (
{!isLoaded &&
}
{ setIsLoaded(true) }} src={item.image} width={280} height={360} alt="Suit" className={`z-[1] absolute top-0 left-0 w-full h-full object-cover opacity-0 ${isLoaded && "opacity-100"}`} />
- {setIsModalFeedbackOpened(true)}} className="z-[3] absolute bottom-0 left-0 flex justify-center items-center w-full h-[50px] bg-red-main opacity-0 transition-opacity duration-150 ease-in-out group-hover:opacity-100 hover:cursor-pointer hover:bg-red-mainHover active:bg-red-mainClick">
+
{
+ window.open(contacts?.whatsapp, '_blank');
+ // setIsModalFeedbackOpened(true)
+ }} className="z-[3] absolute bottom-0 left-0 flex justify-center items-center w-full h-[50px] bg-red-main opacity-0 transition-opacity duration-150 ease-in-out group-hover:opacity-100 hover:cursor-pointer hover:bg-red-mainHover active:bg-red-mainClick">
заказать пошив
@@ -1,18 +1,19 @@
'use client'
import React from "react"
-import { IProduct } from "@/src/shared/models/models"
+import { IContacts, IProduct } from "@/src/shared/models/models"
import setDotsForPrice from "@/src/shared/utils/funcs/setDotsForPrice"
import { Dispatch, SetStateAction } from "react"
interface IProps extends IProduct {
- isModalFeedbackOpened: boolean,
- setIsModalFeedbackOpened: Dispatch>
+ contacts: IContacts
+ // isModalFeedbackOpened: boolean,
+ // setIsModalFeedbackOpened: Dispatch>
}
-export default function ProductComponent({ title, description, period, price, isModalFeedbackOpened, setIsModalFeedbackOpened }: IProps) {
+export default function ProductComponent({ title, description, period, price, contacts }: IProps) {
return (
{
- setIsModalFeedbackOpened(true)
+ window.open(contacts?.whatsapp, '_blank');
}} className="group flex flex-col py-[20px] border-b-[1px] border-[#D9D9D9] lg:py-[30px] lg:flex-row lg:justify-between hover:text-red-main hover:cursor-pointer">
{title ? title : ""}
@@ -24,13 +24,13 @@ interface IProps {
}
export default function SideMenu({ isSidebarOpened, setIsSidebarOpened, contacts }: IProps) {
- const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
+ // const [isModalFeedbackOpened, setIsModalFeedbackOpened] = useState(false);
return (
- {isModalFeedbackOpened &&
}
+ {/* {isModalFeedbackOpened &&
} */}
{ setIsSidebarOpened(false) }} className="flex gap-[5px] mt-[20px]">
@@ -52,11 +52,12 @@ export default function SideMenu({ isSidebarOpened, setIsSidebarOpened, contacts
Снятие мерок онлайн
Прайс-лист
Частые вопросы
- {
+ {
setIsSidebarOpened(false)
- setIsModalFeedbackOpened(true)
+ window.open(contacts?.whatsapp, '_blank');
+ // setIsModalFeedbackOpened(true)
}} className="block text-[24px] font-semibold text-white uppercase">Обратная связь
- Контакты
+ {/* Контакты */}