From f40f2daddedfc86c300d2b623a756be7d78d29c7 Mon Sep 17 00:00:00 2001 From: Ardeman Date: Thu, 13 Mar 2025 06:13:43 +0800 Subject: [PATCH] refactor: rename subscription references to subscribe plan and update related imports --- app/apis/common/get-subscribe-plan.ts | 28 +++++++++++++++++++ app/apis/common/get-subscriptions.ts | 26 ----------------- app/components/popup/success-modal.tsx | 2 +- app/layouts/news/default.tsx | 6 ++-- app/layouts/news/form-register.tsx | 10 +++---- ...bscription.tsx => form-subscribe-plan.tsx} | 10 +++---- app/layouts/news/header-menu-mobile.tsx | 2 +- app/layouts/news/header-menu.tsx | 2 +- app/pages/dashboard-subscribe-plan/index.tsx | 24 ++++++++-------- ...admin._dashboard.subscribe-plan._index.tsx | 6 ++-- ...n._dashboard.subscribe-plan.update.$id.tsx | 4 +-- app/routes/_news.tsx | 6 ++-- app/routes/actions.subscribe.ts | 2 +- 13 files changed, 66 insertions(+), 62 deletions(-) create mode 100644 app/apis/common/get-subscribe-plan.ts delete mode 100644 app/apis/common/get-subscriptions.ts rename app/layouts/news/{form-subscription.tsx => form-subscribe-plan.tsx} (91%) diff --git a/app/apis/common/get-subscribe-plan.ts b/app/apis/common/get-subscribe-plan.ts new file mode 100644 index 0000000..bad3d8f --- /dev/null +++ b/app/apis/common/get-subscribe-plan.ts @@ -0,0 +1,28 @@ +import { z } from 'zod' + +import { HttpServer, type THttpServer } from '~/libs/http-server' + +const subscribePlanSchema = z.object({ + id: z.string(), + code: z.string(), + name: z.string(), + length: z.number(), + price: z.number(), + status: z.number(), +}) + +const subscribePlanResponseSchema = z.object({ + data: z.array(subscribePlanSchema), +}) + +export type TSubscribePlanSchema = z.infer + +export const getSubscribePlan = async (parameters?: THttpServer) => { + try { + const { data } = await HttpServer(parameters).get(`/api/subscribe-plan`) + return subscribePlanResponseSchema.parse(data) + } catch (error) { + // eslint-disable-next-line unicorn/no-useless-promise-resolve-reject + return Promise.reject(error) + } +} diff --git a/app/apis/common/get-subscriptions.ts b/app/apis/common/get-subscriptions.ts deleted file mode 100644 index b2dcee1..0000000 --- a/app/apis/common/get-subscriptions.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { z } from 'zod' - -import { HttpServer, type THttpServer } from '~/libs/http-server' - -const subscriptionResponseSchema = z.object({ - data: z.array( - z.object({ - id: z.string(), - code: z.string(), - name: z.string(), - length: z.number(), - price: z.number(), - status: z.number(), - }), - ), -}) - -export const getSubscriptions = async (parameters?: THttpServer) => { - try { - const { data } = await HttpServer(parameters).get(`/api/subscribe-plan`) - return subscriptionResponseSchema.parse(data) - } catch (error) { - // eslint-disable-next-line unicorn/no-useless-promise-resolve-reject - return Promise.reject(error) - } -} diff --git a/app/components/popup/success-modal.tsx b/app/components/popup/success-modal.tsx index b86e85b..9bec192 100644 --- a/app/components/popup/success-modal.tsx +++ b/app/components/popup/success-modal.tsx @@ -117,7 +117,7 @@ export const SuccessModal = ({ isOpen, onClose }: ModalProperties) => { setIsSubscribeOpen(true) }} > - Select Subscription + Select Subscribe Plan ) : ( - ), + 6: (value: string, _type: unknown, data: TSubscribePlanSchema) => + data.code !== 'basic' && ( + + ), } return (
diff --git a/app/routes/_admin.lg-admin._dashboard.subscribe-plan._index.tsx b/app/routes/_admin.lg-admin._dashboard.subscribe-plan._index.tsx index e2b2d6d..ae6b7a3 100644 --- a/app/routes/_admin.lg-admin._dashboard.subscribe-plan._index.tsx +++ b/app/routes/_admin.lg-admin._dashboard.subscribe-plan._index.tsx @@ -1,13 +1,13 @@ import { isRouteErrorResponse } from 'react-router' -import { getSubscriptions } from '~/apis/common/get-subscriptions' +import { getSubscribePlan } from '~/apis/common/get-subscribe-plan' import { SubscribePlanPage } from '~/pages/dashboard-subscribe-plan' import type { Route } from './+types/_admin.lg-admin._dashboard.subscribe-plan._index' export const loader = async ({}: Route.LoaderArgs) => { - const { data: subscriptionsData } = await getSubscriptions() - return { subscriptionsData } + const { data: subscribePlanData } = await getSubscribePlan() + return { subscribePlanData } } export const ErrorBoundary = ({ error }: Route.ErrorBoundaryProps) => { diff --git a/app/routes/_admin.lg-admin._dashboard.subscribe-plan.update.$id.tsx b/app/routes/_admin.lg-admin._dashboard.subscribe-plan.update.$id.tsx index 19878f5..473f14d 100644 --- a/app/routes/_admin.lg-admin._dashboard.subscribe-plan.update.$id.tsx +++ b/app/routes/_admin.lg-admin._dashboard.subscribe-plan.update.$id.tsx @@ -1,12 +1,12 @@ import { isRouteErrorResponse } from 'react-router' -import { getSubscriptions } from '~/apis/common/get-subscriptions' +import { getSubscribePlan } from '~/apis/common/get-subscribe-plan' import { FormSubscribePlanPage } from '~/pages/form-subscribe-plan' import type { Route } from './+types/_admin.lg-admin._dashboard.subscribe-plan.update.$id' export const loader = async ({ params }: Route.LoaderArgs) => { - const { data: subscribePlansData } = await getSubscriptions() + const { data: subscribePlansData } = await getSubscribePlan() const { id } = params const subscribePlanData = subscribePlansData.find( (subscribePlan) => subscribePlan.id === id, diff --git a/app/routes/_news.tsx b/app/routes/_news.tsx index 6bbb011..6666bec 100644 --- a/app/routes/_news.tsx +++ b/app/routes/_news.tsx @@ -3,7 +3,7 @@ import { XiorError } from 'xior' import { getAds } from '~/apis/common/get-ads' import { getCategories } from '~/apis/common/get-categories' -import { getSubscriptions } from '~/apis/common/get-subscriptions' +import { getSubscribePlan } from '~/apis/common/get-subscribe-plan' import { getUser } from '~/apis/news/get-user' import { NewsProvider } from '~/contexts/news' import { NewsDefaultLayout } from '~/layouts/news/default' @@ -25,13 +25,13 @@ export const loader = async ({ request }: Route.LoaderArgs) => { } } } - const { data: subscriptionsData } = await getSubscriptions() + const { data: subscribePlanData } = await getSubscribePlan() const { data: categoriesData } = await getCategories() const { data: adsData } = await getAds() return { userData, - subscriptionsData, + subscribePlanData, categoriesData, adsData, } diff --git a/app/routes/actions.subscribe.ts b/app/routes/actions.subscribe.ts index 6686137..e27badf 100644 --- a/app/routes/actions.subscribe.ts +++ b/app/routes/actions.subscribe.ts @@ -7,7 +7,7 @@ import { getUser } from '~/apis/news/get-user' import { subscribeSchema, type TSubscribeSchema, -} from '~/layouts/news/form-subscription' +} from '~/layouts/news/form-subscribe-plan' import { handleCookie } from '~/libs/cookies' import type { Route } from './+types/actions.subscribe'