feat : solid box-shadows

This commit is contained in:
alij
2024-06-16 01:25:20 +04:30
parent db5840e0b7
commit eb91223ed8
6 changed files with 22 additions and 18 deletions

View File

@@ -3,9 +3,9 @@ import { ButtonProps } from "../../types/props";
function Button({ children, extra, active,...attrs }: ButtonProps) { function Button({ children, extra, active,...attrs }: ButtonProps) {
return ( return (
<button <button
className={`px-4 py-1 md:px-5 md:py-2 rounded-md transition duration-300 ease-in-out transform bg-white text-[#333] hover:bg-gray-600 hover:text-white shadow-lg hover:!shadow-gray-600 ${ className={`px-4 py-1 md:px-5 md:py-2 rounded-md transition duration-300 ease-in-out transform bg-white text-[#333] hover:bg-gray-600 hover:text-white !shadow-lg ${
active active
? "!bg-secondTheme shadow-secondTheme shadow-lg hover:!shadow-gray-600" ? "!bg-secondTheme !shadow-lg hover:!shadow-inner"
: "" : ""
} ${extra}`} } ${extra}`}
type="button" type="button"

View File

@@ -5,13 +5,15 @@ import MobileMenu from "./MobileMenu";
import NavbarLink from "./NavbarLink"; import NavbarLink from "./NavbarLink";
import router from "../../../../routes/routes"; import router from "../../../../routes/routes";
import Button from "../../../button"; import Button from "../../../button";
import { Link } from "react-router-dom"; import { useNavigate } from "react-router-dom";
import { Route } from "../../../../types/props"; import { Route } from "../../../../types/props";
import { isAuthenticated } from "../../../../utils/auth";
const Navbar = () => { const Navbar = () => {
const [isOpen, setIsOpen] = useState<boolean>(false); const [isOpen, setIsOpen] = useState<boolean>(false);
const auth = isAuthenticated();
const [routes] = useState<Route[]>(router); const [routes] = useState<Route[]>(router);
const navigate = useNavigate();
const toggleMenu = () => { const toggleMenu = () => {
setIsOpen(!isOpen); setIsOpen(!isOpen);
@@ -41,9 +43,11 @@ const Navbar = () => {
); );
})} })}
</div> </div>
<Button> {auth ? (
<Link to="/profile"> پروفایل </Link> <Button onClick={() => navigate("/profile")}>پروفایل</Button>
</Button> ) : (
<Button onClick={() => navigate("/login")}>ورود</Button>
)}
<div className="md:hidden"> <div className="md:hidden">
<MobileMenuButton isOpen={isOpen} onClick={toggleMenu} /> <MobileMenuButton isOpen={isOpen} onClick={toggleMenu} />
</div> </div>

View File

@@ -24,7 +24,7 @@ const Input = ({
type={type} type={type}
name={name} name={name}
id={id} id={id}
className="outline-none border-none sm:text-sm rounded-lg block w-full p-2.5 md:p-3 bg-gray-700 border-gray-600 placeholder-gray-400 text-white" className={`outline-none border-none sm:text-sm rounded-lg block w-full p-2.5 md:p-3 bg-gray-700 border-gray-600 placeholder-gray-400 text-white ${extra}`}
placeholder={placeholder} placeholder={placeholder}
{...attrs} {...attrs}
/> />

View File

@@ -2,7 +2,7 @@ const Info = () => {
return ( return (
<div className="relative w-full h-full flex flex-col px-4 py-4 text-start"> <div className="relative w-full h-full flex flex-col px-4 py-4 text-start">
<h1 className="font-bold text-xl md:text-2xl text-center">درباره ما</h1> <h1 className="font-bold text-xl md:text-2xl text-center">درباره ما</h1>
<p className="font-normal text-sm mt-2 md:text-lg"> <p className="font-normal text-sm mt-2 md:text-lg !leading-10">
با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است،
چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و
برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود

View File

@@ -25,7 +25,7 @@ const ConfigItem = ({ dateBuy, configName, isDisabled }: ConfigItemProps) => {
<div className="relative w-full h-full rounded-md"> <div className="relative w-full h-full rounded-md">
{isDisabled && ( {isDisabled && (
<div className="absolute inset-0 flex items-center justify-center bg-opacity-50 rounded-md backdrop-blur-sm z-10"> <div className="absolute inset-0 flex items-center justify-center bg-opacity-50 rounded-md backdrop-blur-sm z-10">
<div className="text-white font-bold p-1 bg-red-600 text-xs md:text-base rounded-md shadow-md shadow-red-600"> <div className="text-white font-bold p-1 bg-red-600 text-xs md:text-base rounded-md shadow-md">
کانفیگ <span className="text-secondTheme">{configName}</span> غیر کانفیگ <span className="text-secondTheme">{configName}</span> غیر
فعال است .{" "} فعال است .{" "}
<Button <Button
@@ -43,7 +43,7 @@ const ConfigItem = ({ dateBuy, configName, isDisabled }: ConfigItemProps) => {
}`} }`}
> >
<p className="max-md:hidden">تاریخ خرید : {dateBuy}</p> <p className="max-md:hidden">تاریخ خرید : {dateBuy}</p>
<li className="px-2 py-1 bg-secondTheme shadow-md shadow-secondTheme rounded-md w-auto h-auto text-gray-900 font-bold list-none"> <li className="px-2 py-1 bg-secondTheme shadow-md rounded-md w-auto h-auto text-gray-900 font-bold list-none">
{configName} {configName}
</li> </li>
<div className="max-md:hidden flex flex-row-reverse gap-2 justify-end items-center"> <div className="max-md:hidden flex flex-row-reverse gap-2 justify-end items-center">
@@ -51,7 +51,7 @@ const ConfigItem = ({ dateBuy, configName, isDisabled }: ConfigItemProps) => {
کپی کپی
<IoCopy /> <IoCopy />
</Button> </Button>
<Button extra="!m-0 !px-2 !py-1.5 shadow-md shadow-white"> <Button extra="!m-0 !px-2 !py-1.5 shadow-md">
آموزش آموزش
</Button> </Button>
<Dropdown isOpen={isOpenDropDown} setIsOpen={setIsOpenDropDown}> <Dropdown isOpen={isOpenDropDown} setIsOpen={setIsOpenDropDown}>
@@ -60,7 +60,7 @@ const ConfigItem = ({ dateBuy, configName, isDisabled }: ConfigItemProps) => {
data-dropdown-toggle="dropdown" data-dropdown-toggle="dropdown"
type="button" type="button"
onClick={handleToggle} onClick={handleToggle}
extra="!m-0 !px-2 !py-1.5 shadow-md shadow-white" extra="!m-0 !px-2 !py-1.5 shadow-md"
> >
حجم حجم
</Button> </Button>
@@ -71,7 +71,7 @@ const ConfigItem = ({ dateBuy, configName, isDisabled }: ConfigItemProps) => {
</div> </div>
<div className="md:hidden flex flex-row-reverse gap-2 justify-end items-center"> <div className="md:hidden flex flex-row-reverse gap-2 justify-end items-center">
<Button <Button
extra="!m-0 !px-2 !py-1 shadow-md shadow-white" extra="!m-0 !px-2 !py-1 shadow-md"
onClick={() => setIsOpen(true)} onClick={() => setIsOpen(true)}
> >
مشاهده جزئیات مشاهده جزئیات

View File

@@ -30,21 +30,21 @@ const ListRules = () => {
<ul> <ul>
<li className="flex flex-row mt-2 gap-2 w-full bg-gray-800 p-2 rounded-md items-center"> <li className="flex flex-row mt-2 gap-2 w-full bg-gray-800 p-2 rounded-md items-center">
<img src={Warning} alt="warning" className=" w-[2rem]" /> <img src={Warning} alt="warning" className=" w-[2rem]" />
<p className="font-normal text-sm md:text-lg text-start"> <p className="font-normal max-sm:text-xs max-md:text-sm md:text-lg text-start">
هرگونه استفاده غیر مجاز و غیر قانونی به عهده شخص استفاده‌کننده هرگونه استفاده غیر مجاز و غیر قانونی به عهده شخص استفاده‌کننده
می‌باشد. می‌باشد.
</p> </p>
</li> </li>
<li className="flex flex-row mt-2 gap-2 w-full bg-gray-800 p-2 rounded-md items-center"> <li className="flex flex-row mt-2 gap-2 w-full bg-gray-800 p-2 rounded-md items-center">
<img src={Warning} alt="warning" className="w-[2rem]" /> <img src={Warning} alt="warning" className="w-[2rem]" />
<p className="font-normal text-sm md:text-lg text-start"> <p className="font-normal max-sm:text-xs max-md:text-sm md:text-lg text-start">
در صورتی که سرویس خریداری شده یک کاربره باشد و اگر سرویس خود را در در صورتی که سرویس خریداری شده یک کاربره باشد و اگر سرویس خود را در
اختیار شخص دیگری قرار دهید سرویس شما به صورت خودکار مسدود خواهد شد.{" "} اختیار شخص دیگری قرار دهید سرویس شما به صورت خودکار مسدود خواهد شد.{" "}
</p> </p>
</li> </li>
<li className="flex flex-row mt-2 gap-2 w-full bg-gray-800 p-2 rounded-md items-center"> <li className="flex flex-row mt-2 gap-2 w-full bg-gray-800 p-2 rounded-md items-center">
<img src={Warning} alt="warning" className="w-[2rem]" /> <img src={Warning} alt="warning" className="w-[2rem]" />
<p className="font-normal text-sm md:text-lg text-start"> <p className="font-normal max-sm:text-xs max-md:text-sm md:text-lg text-start">
در صورتی که مشکلی برای سرویس‌ها به وجود بیاید تمام سعی خود را در صورتی که مشکلی برای سرویس‌ها به وجود بیاید تمام سعی خود را
می‌کنیم تا هر چه سریع‌تر مشکل را برطرف کنیم. بازه زمانی بین 10 دقیقه می‌کنیم تا هر چه سریع‌تر مشکل را برطرف کنیم. بازه زمانی بین 10 دقیقه
الی حداکثر 24 ساعت می‌باشد.{" "} الی حداکثر 24 ساعت می‌باشد.{" "}
@@ -52,7 +52,7 @@ const ListRules = () => {
</li> </li>
<li className="flex flex-row mt-2 gap-2 w-full bg-gray-800 p-2 rounded-md items-center"> <li className="flex flex-row mt-2 gap-2 w-full bg-gray-800 p-2 rounded-md items-center">
<img src={Warning} alt="warning" className="w-[2rem]" /> <img src={Warning} alt="warning" className="w-[2rem]" />
<p className="font-normal text-sm md:text-lg text-start"> <p className="font-normal max-sm:text-xs max-md:text-sm md:text-lg text-start">
تمامی سرویس‌های ما مخصوص بازی می‌باشد و برای کاهش پینگ در بازی‌های تمامی سرویس‌های ما مخصوص بازی می‌باشد و برای کاهش پینگ در بازی‌های
آنلاین و عبور از تحریم بازی‌ها استفاده می‌شود و هرگونه استفاده غیر آنلاین و عبور از تحریم بازی‌ها استفاده می‌شود و هرگونه استفاده غیر
مجاز از سرویس‌ها به عنوان V.p.n و استفاده‌های دیگر ممنوع می‌باشد و مجاز از سرویس‌ها به عنوان V.p.n و استفاده‌های دیگر ممنوع می‌باشد و