fuck this shit i'm out

features/layout-changes
WindFall 2024-05-11 14:57:29 +03:00
parent 6de7de2676
commit 80a8defbe8
12 changed files with 107 additions and 24 deletions

View File

@ -0,0 +1,3 @@
<svg width="21" height="21" viewBox="0 0 3 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect y="21" width="21" height="3" rx="1.5" transform="rotate(-90 0 21)" fill="#141414"/>
</svg>

After

Width:  |  Height:  |  Size: 192 B

View File

@ -0,0 +1,3 @@
<svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.5 0C10.8481 0 11.1819 0.138281 11.4281 0.384423C11.6742 0.630564 11.8125 0.964403 11.8125 1.3125V9.1875H19.6875C20.0356 9.1875 20.3694 9.32578 20.6156 9.57192C20.8617 9.81806 21 10.1519 21 10.5C21 10.8481 20.8617 11.1819 20.6156 11.4281C20.3694 11.6742 20.0356 11.8125 19.6875 11.8125H11.8125V19.6875C11.8125 20.0356 11.6742 20.3694 11.4281 20.6156C11.1819 20.8617 10.8481 21 10.5 21C10.1519 21 9.81806 20.8617 9.57192 20.6156C9.32578 20.3694 9.1875 20.0356 9.1875 19.6875V11.8125H1.3125C0.964403 11.8125 0.630564 11.6742 0.384423 11.4281C0.138281 11.1819 0 10.8481 0 10.5C0 10.1519 0.138281 9.81806 0.384423 9.57192C0.630564 9.32578 0.964403 9.1875 1.3125 9.1875H9.1875V1.3125C9.1875 0.964403 9.32578 0.630564 9.57192 0.384423C9.81806 0.138281 10.1519 0 10.5 0Z" fill="#151515"/>
</svg>

After

Width:  |  Height:  |  Size: 901 B

BIN
public/ringrace.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

BIN
public/ringrace.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 687 KiB

View File

@ -37,7 +37,10 @@ const OrderInfo = (props: OrderInfoProps) => {
{/*<span>{String(totalProductPriceQs.data ? _.sum(totalProductPriceQs.data.data!.items.map(item => item.cart.product.price.BASE * item.cart.quantity)) : 0).replace(/\B(?=(\d{3})+(?!\d))/g, " ")} ₽</span>*/} {/*<span>{String(totalProductPriceQs.data ? _.sum(totalProductPriceQs.data.data!.items.map(item => item.cart.product.price.BASE * item.cart.quantity)) : 0).replace(/\B(?=(\d{3})+(?!\d))/g, " ")} ₽</span>*/}
</div> </div>
<form className="flex justify-between h-[50px] mb-2"> <form className="flex justify-between h-[50px] mb-2">
<Input isDisabled={totalProductPriceQs.data && couponApplied && _.some(totalProductPriceQs.data.data!.items, "discount")} isInvalid={totalProductPriceQs.data && couponApplied && _.every(totalProductPriceQs.data.data!.items, ["discount", null])} type="text" label="Введите промокод" variant={"bordered"} <Input
isDisabled={totalProductPriceQs.data && couponApplied && _.some(totalProductPriceQs.data.data!.items, "discount")}
isInvalid={totalProductPriceQs.data && couponApplied && _.every(totalProductPriceQs.data.data!.items, ["discount", null])}
type="text" label="Введите промокод" variant={"bordered"}
className={"border-[#1E1E1E] mr-4"} onChange={(e) => setCoupon(e.target.value)}/> className={"border-[#1E1E1E] mr-4"} onChange={(e) => setCoupon(e.target.value)}/>
<Button isDisabled={couponApplied} className={"flex-auto h-full"} <Button isDisabled={couponApplied} className={"flex-auto h-full"}
color={'primary'} onClick={() => setCouponApplied(true)}><ChevronRightIcon/></Button> color={'primary'} onClick={() => setCouponApplied(true)}><ChevronRightIcon/></Button>
@ -52,7 +55,8 @@ const OrderInfo = (props: OrderInfoProps) => {
<div className="flex justify-between mb-2 items-center"> <div className="flex justify-between mb-2 items-center">
<span>Итого: </span> <span>Итого: </span>
<span className={"text-title-3 font-bold"}>{String(totalProductPriceQs.data ? totalProductPriceQs.data.data!.total : 0).replace(/\B(?=(\d{3})+(?!\d))/g, " ")} </span> <span
className={"text-title-3 font-bold"}>{String(totalProductPriceQs.data ? totalProductPriceQs.data.data!.total : 0).replace(/\B(?=(\d{3})+(?!\d))/g, " ")} </span>
</div> </div>
<div className="flex justify-between mb-8 text-[#808080] text-subtitle-5"> <div className="flex justify-between mb-8 text-[#808080] text-subtitle-5">
@ -64,7 +68,9 @@ const OrderInfo = (props: OrderInfoProps) => {
props.setIsDisabled(!props.isDisabled) props.setIsDisabled(!props.isDisabled)
}} }}
className={"[&_span:last-child]:!text-[#808080] [&_span:last-child]:text-subtitle-5 [&_span:last-child]:leading-normal mb-6"}>Нажимая className={"[&_span:last-child]:!text-[#808080] [&_span:last-child]:text-subtitle-5 [&_span:last-child]:leading-normal mb-6"}>Нажимая
кнопку «Оформить заказ», я даю согласие на <Link className={"text-primary"} href={"https://tehnohimgrupp.ru/upload/Согласие на ОПД Технохим.pdf"}>обработку моих персональных данных</Link></Checkbox> кнопку «Оформить заказ», я даю согласие на <Link className={"text-primary"}
href={"https://tehnohimgrupp.ru/upload/Согласие на ОПД Технохим.pdf"}>обработку
моих персональных данных</Link></Checkbox>
</div> </div>
) )

View File

@ -0,0 +1,40 @@
import {
Accordion,
AccordionItem
} from "@nextui-org/react";
import Plus from "@/../public/plus_icon_turned.svg"
import Minus from "@/../public/minus_icon_turned.svg"
const AccordSupp = () => {
return (
<Accordion
itemClasses={{
base:"!bg-gray-card",
content:"text-gray-3 bg-white p-6 rounded-[8px]",
indicator:"bg-primary p-[22px] rounded-[4px]"
}}
variant="splitted"
>
<AccordionItem key="1" aria-label="Accordion 1" title="Accordion 1"
indicator={({ isOpen})=> (isOpen ? <Minus /> : <Plus/>)}
>
daassdad
</AccordionItem>
<AccordionItem key="2" aria-label="Accordion 2" title="Accordion 2" indicator={({ isOpen})=> (isOpen ? <Minus /> : <Plus/>)}>
daaAsdasdaaaaaaaaaaaaaa
</AccordionItem>
<AccordionItem key="3" aria-label="Accordion 3" title="Accordion 3" indicator={({ isOpen})=> (isOpen ? <Minus /> : <Plus/>)}>
daaAsdasdaaaaaaaaaaaaaa
</AccordionItem>
<AccordionItem key="4" aria-label="Accordion 4" title="Accordion 4" indicator={({ isOpen})=> (isOpen ? <Minus /> : <Plus/>)}>
daaAsdasdaaaaaaaaaaaaaa
</AccordionItem>
<AccordionItem key="5" aria-label="Accordion 5" title="Accordion 5" indicator={({ isOpen})=> (isOpen ? <Minus /> : <Plus/>)}>
daaAsdasdaaaaaaaaaaaaaa
</AccordionItem>
</Accordion>
)
}
export default AccordSupp

View File

@ -1,21 +1,30 @@
import { import {
Button, Button, Link,
} from "@nextui-org/react"; } from "@nextui-org/react";
import DocIcon from "../../../public/docdownload.svg" import DocIcon from "../../../public/docdownload.svg"
type DocProps = {
name: string,
link: string,
}
const LinkDoc = () => { const LinkDoc = (props:DocProps) => {
return ( return (
<Button <Button
className="flex flex-row p-7 text-base justify-between shadow-lg rounded-xl whitespace-normal gap-5 border-0 h-[70px] sm:w-full" className="flex flex-row p-7 text-base justify-between shadow-lg rounded-xl whitespace-normal gap-5 border-0 h-[70px] sm:w-full"
variant="bordered" variant="bordered"
href={props.link ?? ''}
as={Link}
// onPress={() => {
// window.location.href ={props.link};
// }}
> >
<div className="flex items-center gap-3"> <div className="flex items-center gap-3">
<DocIcon className="fill-primary"/> <DocIcon className="fill-primary"/>
<span className="text-base ">Учредительный договор ООО Энергострой.doc</span> <div className="text-base ">{props.name}</div>
</div> </div>
<span className="text-xs font-light text-gray-3">542 КБ</span> {/*<span className="text-xs font-light text-gray-3">{props.weight}</span>*/}
</Button> </Button>
) )
} }

View File

@ -15,7 +15,7 @@ const LinkSupport = () => {
> >
<div className="flex items-center justify-center gap-3"> <div className="flex items-center justify-center gap-3">
<DocIcon className="fill-gray-3" /> <DocIcon className="fill-gray-3" />
<span className="text-base ">Учредительный договор ООО Энергострой.doc</span> <span className="text-base "></span>
</div> </div>
<span className="!text-xs font-light text-gray-3">542 КБ</span> <span className="!text-xs font-light text-gray-3">542 КБ</span>
</Button> </Button>

View File

@ -172,8 +172,9 @@ const OilCard = ({product}: InferGetStaticPropsType<typeof getStaticProps>) => {
<h2 className={"text-title-3 font-semibold mb-4"}>Документация</h2> <h2 className={"text-title-3 font-semibold mb-4"}>Документация</h2>
<div className="pb-4"> <div className="pb-4 flex flex-row">
<LinkDoc/> {isClient && product.properties.documents && <LinkDoc name={product.properties.documents[0]} link={"relynolli.ru/upload/"+ product.properties.documents[0]}/>}
{isClient && product.properties.documents && <LinkDoc name={product.properties.documents[1]} link={"relynolli.ru/upload/"+product.properties.documents[1]}/>}
</div> </div>
</div> </div>
</section> </section>

View File

@ -11,15 +11,21 @@ const Personalization = () => {
<div className="content text-base [&_h2]:text-2xl [&_section]:mb-10 [&_h2]:xl:text-4xl [&_h2]:mb-6 [&_h2]:font-bold [&_p]:xl:text-xl [&_p]:mb-9 [&_ul>li]:xl:text-xl [&_ul]:list-disc [&_li]:mb-2"> <div className="content text-base [&_h2]:text-2xl [&_section]:mb-10 [&_h2]:xl:text-4xl [&_h2]:mb-6 [&_h2]:font-bold [&_p]:xl:text-xl [&_p]:mb-9 [&_ul>li]:xl:text-xl [&_ul]:list-disc [&_li]:mb-2">
<section> <section>
<p>На базе собственного Научно-технического центра (НТЦ ООО «ТД Технохим Групп) наша компания готова доработать линейку продукции или услуги под запросы конкретного клиента.</p> <p>На базе собственного Научно-технического центра (НТЦ ООО «ТД Технохим Групп) наша компания готова доработать линейку продукции или услуги под запросы конкретного клиента.</p>
<a href="" className="img-block relative flex justify-center">
<div className="img-block relative">
<Img src={"/motocross.png"} alt="motocross"></Img> <Img src={"/motocross.png"} alt="motocross"></Img>
</div> </a>
</section>
<section>
<a className="img-block relative flex justify-center">
<Img src={"/ringrace.png"} alt="ringrace"></Img>
</a>
</section> </section>
<section> <section>
<h2>Приборостроение, НИОКР</h2> <h2>Приборостроение, НИОКР</h2>
<a className="img-block relative flex justify-center">
<Img src={"/niokr.png"} alt="niokr"></Img> <Img src={"/niokr.png"} alt="niokr"></Img>
</a>
</section> </section>
<section> <section>
<FormPersonalization/> <FormPersonalization/>

View File

@ -1,12 +1,15 @@
import Wrapper from "@/components/reusable/wrapper" import Wrapper from "@/components/reusable/wrapper"
import LinkSupport from "@/components/reusable/linkSupport"; import LinkSupport from "@/components/reusable/linkSupport";
import FormSupport from "@/components/reusable/formSupport"; import FormSupport from "@/components/reusable/formSupport";
import AccordSupp from "@/components/reusable/accordSupport";
import {Button} from "@nextui-org/react";
import ChevronBannerIcon from "../../public/banner_arr_btn.svg.svg";
const Support = () => { const Support = () => {
return (<Wrapper title="Поддержка продукции Relynolli® ООО «ТД Технохим Групп»" return (<Wrapper title="Поддержка продукции Relynolli® ООО «ТД Технохим Групп»"
breadcrumbs={[{ name: "Поддержка и рекламация", link: "/personalization" }]}> breadcrumbs={[{ name: "Поддержка и рекламация", link: "/personalization" }]}>
<div className="content text-base [&_h2]:text-2xl [&_section]:mb-10 [&_h2]:xl:text-4xl [&_h2]:mb-6 [&_h2]:font-bold [&_p]:xl:text-xl [&_p]:mb-9 [&_ul>li]:xl:text-xl [&_ul]:list-disc [&_li]:mb-2"> <div className="content text-base [&_h2]:text-2xl [&_section]:mb-10 [&_h2]:xl:text-4xl [&_h2]:font-bold [&_p]:xl:text-xl [&_p]:mb-9 [&_ul>li]:xl:text-xl [&_ul]:list-disc [&_li]:mb-2 bg-white">
<section> <section>
<p>Мы всегда готовы ответить на вопросы, связанные с качеством выпускаемых смазочных материалов. Если у Вас возникли вопросы, то вы можете обратиться в службу технической поддержки компании ООО «ТД Технохим Групп»</p> <p>Мы всегда готовы ответить на вопросы, связанные с качеством выпускаемых смазочных материалов. Если у Вас возникли вопросы, то вы можете обратиться в службу технической поддержки компании ООО «ТД Технохим Групп»</p>
<div className="grid gap-4 xl:grid-cols-3 lg:grid-cols-2 sm:grid-cols-1 h-auto [&>*]:h-[70px] [&_span]:text-sm [&_span]:md:text-base [&_span]:leading-[110%]"> <div className="grid gap-4 xl:grid-cols-3 lg:grid-cols-2 sm:grid-cols-1 h-auto [&>*]:h-[70px] [&_span]:text-sm [&_span]:md:text-base [&_span]:leading-[110%]">
@ -19,8 +22,8 @@ const Support = () => {
</div> </div>
</section> </section>
<section> <section className="!mb-16">
<h2>Важно</h2> <h2 className="mb-10">Важно</h2>
<ul className="list-disc list-inside"> <ul className="list-disc list-inside">
<li>Данные о партии и сроке хранения продукции смотрите на этикетке канистры.</li> <li>Данные о партии и сроке хранения продукции смотрите на этикетке канистры.</li>
<li>Перед началом работы следует внимательно ознакомиться с инструкцией по эксплуатации. </li> <li>Перед началом работы следует внимательно ознакомиться с инструкцией по эксплуатации. </li>
@ -33,10 +36,21 @@ const Support = () => {
</section> </section>
<section> <section>
<h2>Часто задаваемые вопросы</h2> <h2 className="mb-10">Часто задаваемые вопросы</h2>
<AccordSupp/>
</section> </section>
</div> </div>
<div className="bg-black-4 w-full flex flex-wrap justify-center">
<div className="bg-black bg-opacity-20 flex flex-wrap flex-col justify-center text-white">
<h2 className="text-4xl">У вас остались вопросы?</h2>
<p>Вы можете обратиться в службу технической поддержки компании ООО «ТД Технохим Групп» и мы ответим
на все Ваши вопросы!</p>
<Button className="text-black text-xl font-extrabold h-[70px] uppercase gap-5 "
color={"primary"} endContent={<ChevronBannerIcon className={"stroke-[3px] stroke-black"}/>}>
<i>Задать вопрос</i>
</Button>
</div>
</div>
</Wrapper> </Wrapper>
) )
} }

View File

@ -5,6 +5,7 @@ const {nextui} = require("@nextui-org/react");
const config: Config = { const config: Config = {
content: [ content: [
"./src/pages/**/*.{js,ts,jsx,tsx,mdx}", "./src/pages/**/*.{js,ts,jsx,tsx,mdx}",
"./src/components/**/*.{js,ts,jsx,tsx,mdx}", "./src/components/**/*.{js,ts,jsx,tsx,mdx}",
"./src/app/**/*.{js,ts,jsx,tsx,mdx}", "./src/app/**/*.{js,ts,jsx,tsx,mdx}",