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 (
<div className="flex justify-center items-start relative w-fit">
<div className="overflow-hidden mb-[4px] md:mb-[5px] lg:mb-[6px]">
<p
data-aos={name}
className="text-[#3B3B3B] text-nowrap overflow-hidden text-[14px] sm:text-[16px] md:text-[18px] lg:text-[20px] font-bold"
>
{text}
+2 -2
View File
@@ -2,7 +2,7 @@ import Image from "next/image";
import Link from "next/link";
import React from "react";
function Logo({ isAbsolute }) {
function Logo({ isAbsolute, matchedCity }) {
return (
<Link href="/" className={isAbsolute ? "absolute right-[32px] top-0" : ""}>
<div className="flex items-center justify-start gap-[5px]">
@@ -14,7 +14,7 @@ function Logo({ isAbsolute }) {
alt="logo"
/>
<p className="text-[#526CAC] text-[14px] lg:text-[16px] font-bold font-kalame">
نوبت ۷۲۴
{matchedCity?.site_name || 'نوبت ۷۲۴'}
</p>
</div>
</Link>
+1
View File
@@ -2,6 +2,7 @@ import HomePage from "@/components/home";
import Layout from "@/components/layout";
export default function Home() {
return (
<Layout title="خانه" name="">
<HomePage />
+1 -1
View File
@@ -15,7 +15,7 @@ function Services() {
return (
<div className="mt-[16px] sm:mt-[24px] md:mt-[32px] lg:mt-[40px] px-[16px] sm:px-[12%]">
<div className="flex justify-center">
<AnimationTextHead name="zoom-in-up" text="خدمات ما">
<AnimationTextHead text="خدمات ما">
<UnderlineLG />
</AnimationTextHead>
</div>
+1 -1
View File
@@ -7,7 +7,7 @@ import AddComment from "./AddComment";
function CommentUser({ data, loading }) {
return (
<div className="mt-[12px] sm:mt-[16px] md:mt-[20px] lg:mt-[24px]">
<AnimationTextHead name="zoom-in-up" text="نظرات">
<AnimationTextHead text="نظرات">
<Underline />
</AnimationTextHead>
<AddComment />
+1 -1
View File
@@ -6,7 +6,7 @@ import Item from "./Item";
function RelatedContent({ data, loading }) {
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)]">
<AnimationTextHead name="fade-up" text="مطالب مرتبط">
<AnimationTextHead text="مطالب مرتبط">
<UnderlineLG />
</AnimationTextHead>
<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";
function Call() {
// const openURL = url => window.open(url);
return (
<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]
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]"
+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]
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]">
<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 { 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";
import Content from "./Content";
// import { getStateInfo } from "@/lib/getStateInfo";
function Header({ name }) {
const [isActive, setIsActive] = useState(false);
// const { matchedCity } = getStateInfo();
return (
<div className="bg-[#FFF] rounded-lg w-full mx-auto">
<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 />
<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>
<Content
// matchedCity={matchedCity}
/>
</div>
);
}
+5 -13
View File
@@ -1,12 +1,7 @@
"use client";
import { getStateInfo } from "@/lib/getStateInfo";
import Footer from "./footer";
import Header from "./header";
// AOS
import Aos from "aos";
import "aos/dist/aos.css";
import { useEffect } from "react";
import Sidebar from "./sidebar";
function Layout({
@@ -23,9 +18,7 @@ function Layout({
value,
setValue,
}) {
useEffect(() => {
Aos.init({ duration: 1000 });
}, []);
const { matchedCity } = getStateInfo();
return (
<div>
@@ -41,10 +34,9 @@ function Layout({
<section
className={`
opacity-page -mt-[calc(48px_+_12px)] sm:-mt-[calc(56px_+_21px)] md:-mt-[calc(64px_+_30px)] lg:-mt-[calc(80px_+_40px)]
${
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]"
}
${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]"
}
`}
>
{isSidebar && (
+2
View File
@@ -1,3 +1,5 @@
"use client"
import CardD from "@/components/icons/CardD";
import LogoutD from "@/components/icons/LogoutD";
import CalndarD from "@/components/icons/CalndarD";
-11
View File
@@ -1,19 +1,8 @@
"use client";
import { useEffect } from "react";
import Header from "./header";
import Sidebar from "./sidebar";
import UserDetail from "./userDetail";
// AOS
import Aos from "aos";
import "aos/dist/aos.css";
function LayoutPanel({ children, data }) {
useEffect(() => {
Aos.init({ duration: 1000 });
}, []);
return (
<div className="flex min-h-screen">
<Sidebar />