From e669ab84d90a9f3b0dcb3539a0b475bb42018185 Mon Sep 17 00:00:00 2001 From: soheil khaledabadi Date: Sun, 18 Oct 2026 00:01:41 +0330 Subject: [PATCH] Load terms dynamically and link checkout to terms page --- src/pages/rule/section/Rules.tsx | 131 ++++++++---------- .../productList/components/ModalBuy.tsx | 2 +- 2 files changed, 55 insertions(+), 78 deletions(-) diff --git a/src/pages/rule/section/Rules.tsx b/src/pages/rule/section/Rules.tsx index 3d4ed00..4e2f285 100644 --- a/src/pages/rule/section/Rules.tsx +++ b/src/pages/rule/section/Rules.tsx @@ -1,86 +1,63 @@ +import { useQuery } from "@tanstack/react-query"; import Warning from "../../../assets/gifs/warning.gif"; +import useAxios from "../../../hooks/useAxios"; +import Alert from "../../../components/alert/Alert"; +import Button from "../../../components/button"; + +type TermsContent = { + title: string; + introduction: string; + notice: string; + preamble: string; + clauses: string[]; +}; const Rules = () => { + const axios = useAxios(); + const { data, isLoading, isError, refetch } = useQuery({ + queryKey: ["siteTerms"], + queryFn: async () => { + const response = await axios.get<{ result: TermsContent }>("/home/terms"); + return response.data.result; + }, + staleTime: 0, + }); + + if (isLoading) { + return

در حال دریافت قوانین و مقررات...

; + } + + if (isError || !data) { + return ( +
+ دریافت قوانین و مقررات انجام نشد. دوباره تلاش کنید. + +
+ ); + } + return ( -
-

- قوانین و مقررات -

-

- لطفا با دقت زیاد متن توضیح زیر را بخوانید :
- قوانین پرشین پینگ لطفا قبل از خریداری به نکاتی که در زیر گفته شده دقت - کنید و با آگاهی به این شرایط خرید بفرمایید: -

-

- این سرویس تابع قوانین ایران می‌باشد -

-

- با تهیه و استفاده از اکانت پرشین پینگ می‌پذیرید: -

- +
+

{data.title}

+ {data.introduction && ( +

{data.introduction}

+ )} + {data.notice && ( +

{data.notice}

+ )} + {data.preamble && ( +

{data.preamble}

+ )} +
    + {data.clauses.map((clause, index) => ( +
  • + +

    {clause}

    +
  • + ))} +
); }; export default Rules; - -const ListRules = () => { - return ( -
-
    -
  • - warning -

    - هرگونه استفاده غیر مجاز و غیر قانونی به عهده شخص استفاده‌کننده - می‌باشد. -

    -
  • -
  • - warning -

    - در صورتی که سرویس خریداری شده یک کاربره باشد و اگر سرویس خود را در - اختیار شخص دیگری قرار دهید سرویس شما به صورت خودکار مسدود خواهد شد.{" "} -

    -
  • -
  • - warning -

    - در صورتی که مشکلی برای سرویس‌ها به وجود بیاید تمام سعی خود را - می‌کنیم تا هر چه سریع‌تر مشکل را برطرف کنیم. بازه زمانی بین 10 دقیقه - الی حداکثر 24 ساعت می‌باشد.{" "} -

    -
  • -
  • - warning -

    - تمامی سرویس‌های ما مخصوص بازی می‌باشد و برای کاهش پینگ در بازی‌های - آنلاین و عبور از تحریم بازی‌ها استفاده می‌شود و هرگونه استفاده غیر - مجاز از سرویس‌ها به عنوان V.p.n و استفاده‌های دیگر ممنوع می‌باشد و - در صورت مشاهده سرویس شما مسدود می‌گردد و هزینه‌ای هم برگشت داده - نخواهد شد. -

    -
  • -
  • - warning -

    - به‌دلیل برخی پروتکل‌های امنیتی و به‌منظور جلوگیری از سوءاستفاده، - برای خریدهای با مبلغ بیش از ۲۰ میلیون تومان، احراز هویت پیشرفته - انجام می‌شود. -

    -
  • -
  • - warning -

    - ⚠️ اتصال سرویس‌ها -
    - با توجه به شرایط فعلی، هیچ تضمینی برای اتصال دائمی سرویس‌ها وجود ندارد. ممکن است اتصال مجدداً قطع شود یا حتی در برخی مواقع امکان برقراری آن فراهم نشود. در حال حاضر، وضعیت کاملاً مشخص و قابل پیش‌بینی نیست. -
    - با این حال، ما مانند همیشه تمام تلاش خود را به کار می‌گیریم. خوشبختانه تا این لحظه، تلاش‌هایمان بی‌نتیجه نبوده و هر بار پس از بروز مشکل، توانسته‌ایم اتصال را مجدداً برقرار کرده و پایداری سرویس‌ها را حفظ کنیم. -
    - از همراهی و صبوری شما سپاسگزاریم. -

    -
  • -
-
- ); -}; diff --git a/src/pages/shop/section/productList/components/ModalBuy.tsx b/src/pages/shop/section/productList/components/ModalBuy.tsx index 3e71009..75522b3 100644 --- a/src/pages/shop/section/productList/components/ModalBuy.tsx +++ b/src/pages/shop/section/productList/components/ModalBuy.tsx @@ -503,7 +503,7 @@ const ModalBuy = ({ isOpen, setIsOpen, configId }: ModalBuyProps) => { )} {data?.data?.result?.max_config !== 0 && !isLoading && !isFetching && (

- با خرید، قوانین و مقررات را + با خرید، قوانین و مقررات را می‌پذیرید.

)}