last update

This commit is contained in:
Ehsan
2025-05-11 12:13:23 +03:30
parent f2e880c721
commit e4771c4e2f
13 changed files with 79 additions and 84 deletions
+1 -2
View File
@@ -1,9 +1,8 @@
function AnimationTextHead({ name, text, children }) { function AnimationTextHead({ text, children }) {
return ( return (
<div className="flex justify-center items-start relative w-fit"> <div className="flex justify-center items-start relative w-fit">
<div className="overflow-hidden mb-[4px] md:mb-[5px] lg:mb-[6px]"> <div className="overflow-hidden mb-[4px] md:mb-[5px] lg:mb-[6px]">
<p <p
data-aos={name}
className="text-[#3B3B3B] text-nowrap overflow-hidden text-[14px] sm:text-[16px] md:text-[18px] lg:text-[20px] font-bold" className="text-[#3B3B3B] text-nowrap overflow-hidden text-[14px] sm:text-[16px] md:text-[18px] lg:text-[20px] font-bold"
> >
{text} {text}
+2 -2
View File
@@ -2,7 +2,7 @@ import Image from "next/image";
import Link from "next/link"; import Link from "next/link";
import React from "react"; import React from "react";
function Logo({ isAbsolute }) { function Logo({ isAbsolute, matchedCity }) {
return ( return (
<Link href="/" className={isAbsolute ? "absolute right-[32px] top-0" : ""}> <Link href="/" className={isAbsolute ? "absolute right-[32px] top-0" : ""}>
<div className="flex items-center justify-start gap-[5px]"> <div className="flex items-center justify-start gap-[5px]">
@@ -14,7 +14,7 @@ function Logo({ isAbsolute }) {
alt="logo" alt="logo"
/> />
<p className="text-[#526CAC] text-[14px] lg:text-[16px] font-bold font-kalame"> <p className="text-[#526CAC] text-[14px] lg:text-[16px] font-bold font-kalame">
نوبت ۷۲۴ {matchedCity?.site_name || 'نوبت ۷۲۴'}
</p> </p>
</div> </div>
</Link> </Link>
+1
View File
@@ -2,6 +2,7 @@ import HomePage from "@/components/home";
import Layout from "@/components/layout"; import Layout from "@/components/layout";
export default function Home() { export default function Home() {
return ( return (
<Layout title="خانه" name=""> <Layout title="خانه" name="">
<HomePage /> <HomePage />
+1 -1
View File
@@ -15,7 +15,7 @@ function Services() {
return ( return (
<div className="mt-[16px] sm:mt-[24px] md:mt-[32px] lg:mt-[40px] px-[16px] sm:px-[12%]"> <div className="mt-[16px] sm:mt-[24px] md:mt-[32px] lg:mt-[40px] px-[16px] sm:px-[12%]">
<div className="flex justify-center"> <div className="flex justify-center">
<AnimationTextHead name="zoom-in-up" text="خدمات ما"> <AnimationTextHead text="خدمات ما">
<UnderlineLG /> <UnderlineLG />
</AnimationTextHead> </AnimationTextHead>
</div> </div>
+1 -1
View File
@@ -7,7 +7,7 @@ import AddComment from "./AddComment";
function CommentUser({ data, loading }) { function CommentUser({ data, loading }) {
return ( return (
<div className="mt-[12px] sm:mt-[16px] md:mt-[20px] lg:mt-[24px]"> <div className="mt-[12px] sm:mt-[16px] md:mt-[20px] lg:mt-[24px]">
<AnimationTextHead name="zoom-in-up" text="نظرات"> <AnimationTextHead text="نظرات">
<Underline /> <Underline />
</AnimationTextHead> </AnimationTextHead>
<AddComment /> <AddComment />
+1 -1
View File
@@ -6,7 +6,7 @@ import Item from "./Item";
function RelatedContent({ data, loading }) { function RelatedContent({ data, loading }) {
return ( return (
<div className="p-[12px] w-full lg:w-fit md:p-[14px] lg:p-[16px] bg-[#FFF] rounded-[8px] shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)]"> <div className="p-[12px] w-full lg:w-fit md:p-[14px] lg:p-[16px] bg-[#FFF] rounded-[8px] shadow-[0px_1px_24.8px_0px_rgba(204,_204,_204,_0.18)]">
<AnimationTextHead name="fade-up" text="مطالب مرتبط"> <AnimationTextHead text="مطالب مرتبط">
<UnderlineLG /> <UnderlineLG />
</AnimationTextHead> </AnimationTextHead>
<ul className="flex w-full lg:w-fit flex-col justify-start items-start"> <ul className="flex w-full lg:w-fit flex-col justify-start items-start">
-3
View File
@@ -6,11 +6,8 @@ import WhatsappC from "../icons/WhatsappC";
import ContentContact from "./ContentContact"; import ContentContact from "./ContentContact";
function Call() { function Call() {
// const openURL = url => window.open(url);
return ( return (
<div <div
data-aos="flip-left"
className="lg:min-w-[calc(50%_+_70px)] bg-banner-about !bg-center !bg-no-repeat !bg-cover lg:pl-[18%] h-fit pt-[16px] sm:pt-[29px] md:pt-[42px] lg:pt-[55px] className="lg:min-w-[calc(50%_+_70px)] bg-banner-about !bg-center !bg-no-repeat !bg-cover lg:pl-[18%] h-fit pt-[16px] sm:pt-[29px] md:pt-[42px] lg:pt-[55px]
bg-contact rounded-[8px] pb-[30px] sm:pb-[42px] md:pb-[55px] bg-contact rounded-[8px] pb-[30px] sm:pb-[42px] md:pb-[55px]
overflow-hidden lg:pb-[171px] px-[16px] sm:px-[27px] md:px-[39px] lg:px-[48px]" overflow-hidden lg:pb-[171px] px-[16px] sm:px-[27px] md:px-[39px] lg:px-[48px]"
+1 -1
View File
@@ -9,7 +9,7 @@ function Connect() {
className="lg:min-w-[calc(50%_+_70px)] w-full lg:translate-x-[140px] bg-[#FFF] lg:p-[32px] className="lg:min-w-[calc(50%_+_70px)] w-full lg:translate-x-[140px] bg-[#FFF] lg:p-[32px]
shadow-[0px_0px_28.6px_0px_rgba(147,_147,_147,_0.25)] mt-[16px] lg:mt-0 p-[16px] sm:p-[21px] md:p-[27px]" shadow-[0px_0px_28.6px_0px_rgba(147,_147,_147,_0.25)] mt-[16px] lg:mt-0 p-[16px] sm:p-[21px] md:p-[27px]"
> >
<div data-aos="zoom-in"> <div>
<div className="flex flex-col justify-center items-center gap-[10px]"> <div className="flex flex-col justify-center items-center gap-[10px]">
<p className="text-[#3B3B3B] text-[16px] font-bold"> <p className="text-[#3B3B3B] text-[16px] font-bold">
با ما در ارتباط باشید با ما در ارتباط باشید
+58
View File
@@ -0,0 +1,58 @@
"use client";
import { Button } from "@mui/material";
import Logo from "@/app/component/Logo";
import Link from "next/link";
import Row from "./list/Row";
import Col from "./list/col";
import ButtonMenu from "./list/col/ButtonMenu";
import BgGray from "./list/col/BgGray";
import UserLogin from "@/components/icons/UserLogin";
import { useState } from "react";
function Content({ matchedCity }) {
const [isActive, setIsActive] = useState(false);
return (
<div
className={`
px-[8px] sm:px-[16px] md:px-[24px] lg:px-[32px] py-[4px] sm:py-[8px] md:py-[12px] lg:py-[16px]
flex transition-all duration-500 overflow-hidden justify-between items-center flex-nowrap
${isActive ? "!pr-0" : "!px-4"}
`}
>
<div>
<BgGray isActive={isActive} setIsActive={setIsActive} />
<Col name={name} isActive={isActive} setIsActive={setIsActive} />
<div className="relative flex flex-row-reverse gap-2">
<Logo matchedCity={matchedCity} />
<div className="flex lg:hidden z-20">
<ButtonMenu isActive={isActive} setIsActive={setIsActive} />
<Logo isAbsolute={true} matchedCity={matchedCity} />
</div>
</div>
</div>
<Row name={name} />
<Link href="/login">
<Button
className="!hidden lg:!flex"
variant="outlined"
color="primary"
>
ورود | ثبت نام
</Button>
<Button
className={`!flex lg:!hidden !p-2 !rounded-full transition-all duration-500 !bg-[#EFEFEF]`}
variant="text"
color="primary"
>
<div className="flex lg:hidden">
<UserLogin />
</div>
</Button>
</Link>
</div>
)
}
export default Content
+6 -49
View File
@@ -1,57 +1,14 @@
"use client"; import Content from "./Content";
// import { getStateInfo } from "@/lib/getStateInfo";
import { Button } from "@mui/material";
import Logo from "@/app/component/Logo";
import Link from "next/link";
import Row from "./list/Row";
import Col from "./list/col";
import ButtonMenu from "./list/col/ButtonMenu";
import { useState } from "react";
import BgGray from "./list/col/BgGray";
import UserLogin from "@/components/icons/UserLogin";
function Header({ name }) { function Header({ name }) {
const [isActive, setIsActive] = useState(false); // const { matchedCity } = getStateInfo();
return ( return (
<div className="bg-[#FFF] rounded-lg w-full mx-auto"> <div className="bg-[#FFF] rounded-lg w-full mx-auto">
<div <Content
className={` // matchedCity={matchedCity}
px-[8px] sm:px-[16px] md:px-[24px] lg:px-[32px] py-[4px] sm:py-[8px] md:py-[12px] lg:py-[16px] flex transition-all duration-500 overflow-hidden justify-between items-center flex-nowrap />
${isActive ? "!pr-0" : "!px-4"}
`}
>
<div>
<BgGray isActive={isActive} setIsActive={setIsActive} />
<Col name={name} isActive={isActive} setIsActive={setIsActive} />
<div className="relative flex flex-row-reverse gap-2">
<Logo />
<div className="flex lg:hidden z-20">
<ButtonMenu isActive={isActive} setIsActive={setIsActive} />
<Logo isAbsolute={true} />
</div>
</div>
</div>
<Row name={name} />
<Link href="/login">
<Button
className="!hidden lg:!flex"
variant="outlined"
color="primary"
>
ورود | ثبت نام
</Button>
<Button
className={`!flex lg:!hidden !p-2 !rounded-full transition-all duration-500 !bg-[#EFEFEF]`}
variant="text"
color="primary"
>
<div className="flex lg:hidden">
<UserLogin />
</div>
</Button>
</Link>
</div>
</div> </div>
); );
} }
+5 -13
View File
@@ -1,12 +1,7 @@
"use client"; import { getStateInfo } from "@/lib/getStateInfo";
import Footer from "./footer"; import Footer from "./footer";
import Header from "./header"; import Header from "./header";
// AOS
import Aos from "aos";
import "aos/dist/aos.css";
import { useEffect } from "react";
import Sidebar from "./sidebar"; import Sidebar from "./sidebar";
function Layout({ function Layout({
@@ -23,9 +18,7 @@ function Layout({
value, value,
setValue, setValue,
}) { }) {
useEffect(() => { const { matchedCity } = getStateInfo();
Aos.init({ duration: 1000 });
}, []);
return ( return (
<div> <div>
@@ -41,10 +34,9 @@ function Layout({
<section <section
className={` className={`
opacity-page -mt-[calc(48px_+_12px)] sm:-mt-[calc(56px_+_21px)] md:-mt-[calc(64px_+_30px)] lg:-mt-[calc(80px_+_40px)] opacity-page -mt-[calc(48px_+_12px)] sm:-mt-[calc(56px_+_21px)] md:-mt-[calc(64px_+_30px)] lg:-mt-[calc(80px_+_40px)]
${ ${isSidebar &&
isSidebar && "padding-responsive min-h-screen flex items-stretch justify-center gap-[12px] lg:gap-[24px] pt-[76px] sm:pt-[109px] mt:pt-[142px] lg:pt-[176px]"
"padding-responsive min-h-screen flex items-stretch justify-center gap-[12px] lg:gap-[24px] pt-[76px] sm:pt-[109px] mt:pt-[142px] lg:pt-[176px]" }
}
`} `}
> >
{isSidebar && ( {isSidebar && (
+2
View File
@@ -1,3 +1,5 @@
"use client"
import CardD from "@/components/icons/CardD"; import CardD from "@/components/icons/CardD";
import LogoutD from "@/components/icons/LogoutD"; import LogoutD from "@/components/icons/LogoutD";
import CalndarD from "@/components/icons/CalndarD"; import CalndarD from "@/components/icons/CalndarD";
-11
View File
@@ -1,19 +1,8 @@
"use client";
import { useEffect } from "react";
import Header from "./header"; import Header from "./header";
import Sidebar from "./sidebar"; import Sidebar from "./sidebar";
import UserDetail from "./userDetail"; import UserDetail from "./userDetail";
// AOS
import Aos from "aos";
import "aos/dist/aos.css";
function LayoutPanel({ children, data }) { function LayoutPanel({ children, data }) {
useEffect(() => {
Aos.init({ duration: 1000 });
}, []);
return ( return (
<div className="flex min-h-screen"> <div className="flex min-h-screen">
<Sidebar /> <Sidebar />