feat : solid box-shadows
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -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">
|
||||||
با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است،
|
با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است،
|
||||||
چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و
|
چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و
|
||||||
برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود
|
برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود
|
||||||
|
|||||||
@@ -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)}
|
||||||
>
|
>
|
||||||
مشاهده جزئیات
|
مشاهده جزئیات
|
||||||
|
|||||||
@@ -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 و استفادههای دیگر ممنوع میباشد و
|
||||||
|
|||||||
Reference in New Issue
Block a user