last update
This commit is contained in:
@@ -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,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>
|
||||||
|
|||||||
@@ -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 />
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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 />
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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]"
|
||||||
|
|||||||
@@ -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">
|
||||||
با ما در ارتباط باشید
|
با ما در ارتباط باشید
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 && (
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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 />
|
||||||
|
|||||||
Reference in New Issue
Block a user