diff --git a/.github/workflows/deploy-dev.yml b/.github/workflows/deploy-dev.yml index dd70de77..aed3c0ff 100644 --- a/.github/workflows/deploy-dev.yml +++ b/.github/workflows/deploy-dev.yml @@ -43,6 +43,7 @@ jobs: SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} NEXT_PUBLIC_CDN_BASE_URL=${{ secrets.DEV_CDN_BASE_URL }} NEXT_PUBLIC_GOOGLE_CLIENT_ID=${{ secrets.GOOGLE_CLIENT_ID_DEV }} + NEXT_PUBLIC_TOSS_PAYMENTS_CLIENT_KEY=${{ secrets.TOSS_PAYMENTS_CLIENT_KEY_DEV }} NODE_ENV=production NEXT_PUBLIC_BASE_URL=https://dev.kokomen.kr NEXT_PUBLIC_API_BASE_URL=https://api-dev.kokomen.kr/api/v1 @@ -78,6 +79,7 @@ jobs: echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> .env echo "NEXT_PUBLIC_CDN_BASE_URL=${{ secrets.DEV_CDN_BASE_URL }}" >> .env echo "NEXT_PUBLIC_GOOGLE_CLIENT_ID=${{ secrets.GOOGLE_CLIENT_ID_DEV }}" >> .env + echo "NEXT_PUBLIC_TOSS_PAYMENTS_CLIENT_KEY=${{ secrets.TOSS_PAYMENTS_CLIENT_KEY_DEV }}" >> .env echo "NODE_ENV=production" >> .env echo "NEXT_PUBLIC_BASE_URL=https://dev.kokomen.kr" >> .env echo "NEXT_PUBLIC_API_BASE_URL=https://api-dev.kokomen.kr/api/v1" >> .env diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a4d14916..97f1c2c7 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -43,6 +43,7 @@ jobs: SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} NEXT_PUBLIC_CDN_BASE_URL=${{ secrets.PROD_CDN_BASE_URL }} NEXT_PUBLIC_GOOGLE_CLIENT_ID=${{ secrets.GOOGLE_CLIENT_ID_PROD }} + NEXT_PUBLIC_TOSS_PAYMENTS_CLIENT_KEY=${{ secrets.TOSS_PAYMENTS_CLIENT_KEY_PROD }} NODE_ENV=production NEXT_PUBLIC_BASE_URL=https://kokomen.kr NEXT_PUBLIC_API_BASE_URL=https://api.kokomen.kr/api/v1 @@ -78,6 +79,7 @@ jobs: echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> .env echo "NEXT_PUBLIC_CDN_BASE_URL=${{ secrets.PROD_CDN_BASE_URL }}" >> .env echo "NEXT_PUBLIC_GOOGLE_CLIENT_ID=${{ secrets.GOOGLE_CLIENT_ID_PROD }}" >> .env + echo "NEXT_PUBLIC_TOSS_PAYMENTS_CLIENT_KEY=${{ secrets.TOSS_PAYMENTS_CLIENT_KEY_PROD }}" >> .env echo "NODE_ENV=production" >> .env echo "NEXT_PUBLIC_BASE_URL=https://kokomen.kr" >> .env echo "NEXT_PUBLIC_API_BASE_URL=https://api.kokomen.kr/api/v1" >> .env diff --git a/apps/client/Dockerfile b/apps/client/Dockerfile index fcc27c89..991f84db 100644 --- a/apps/client/Dockerfile +++ b/apps/client/Dockerfile @@ -25,6 +25,7 @@ ARG NEXT_PUBLIC_POSTHOG_KEY ARG NEXT_PUBLIC_POSTHOG_HOST ARG NEXT_PUBLIC_CDN_BASE_URL ARG NEXT_PUBLIC_GOOGLE_CLIENT_ID +ARG NEXT_PUBLIC_TOSS_PAYMENTS_CLIENT_KEY ARG SENTRY_AUTH_TOKEN ARG NODE_ENV diff --git a/apps/client/env.d.ts b/apps/client/env.d.ts index 10a6aad1..cd269f67 100644 --- a/apps/client/env.d.ts +++ b/apps/client/env.d.ts @@ -13,5 +13,6 @@ declare const process: { NEXT_PUBLIC_V3_API_BASE_URL: string; NEXT_PUBLIC_CDN_BASE_URL: string; NEXT_PUBLIC_GOOGLE_CLIENT_ID: string; + NEXT_PUBLIC_TOSS_PAYMENTS_CLIENT_KEY: string; }; }; diff --git a/apps/client/src/domains/purchase/components/PurchaseSection.tsx b/apps/client/src/domains/purchase/components/PurchaseSection.tsx index 66fe7c99..72dd998b 100644 --- a/apps/client/src/domains/purchase/components/PurchaseSection.tsx +++ b/apps/client/src/domains/purchase/components/PurchaseSection.tsx @@ -123,7 +123,7 @@ function PurchaseMode({ useEffect(() => { const fetchTossPayments = async () => { const tossPayments = await loadTossPayments( - "test_gck_docs_Ovk5rk1EwkEbP0W43n07xlzm" + (process.env.NEXT_PUBLIC_TOSS_PAYMENTS_CLIENT_KEY as string) || "" ); const widgets = tossPayments.widgets({ customerKey: ANONYMOUS diff --git a/apps/client/src/pages/server-sitemap.xml/index.tsx b/apps/client/src/pages/server-sitemap.xml/index.tsx index 29124e41..cfba079e 100644 --- a/apps/client/src/pages/server-sitemap.xml/index.tsx +++ b/apps/client/src/pages/server-sitemap.xml/index.tsx @@ -1,10 +1,22 @@ import { getServerSideSitemapIndexLegacy } from "next-sitemap"; import { GetServerSideProps } from "next"; +import { getPaginatedRankList } from "@/domains/members/api"; + +const MAX_RANK_COUNT = 100000; export const getServerSideProps: GetServerSideProps = async (ctx) => { + const rankList = await getPaginatedRankList(0, MAX_RANK_COUNT).then( + (res) => res.data + ); + + const memberSitemaps = rankList.map( + (rank) => + `${process.env.NEXT_PUBLIC_BASE_URL}/members/${rank.id}/sitemap.xml` + ); + return getServerSideSitemapIndexLegacy(ctx, [ - `${process.env.NEXT_PUBLIC_BASE_URL}/sitemap/members.xml`, - `${process.env.NEXT_PUBLIC_BASE_URL}/sitemap/rank.xml` + `${process.env.NEXT_PUBLIC_BASE_URL}/sitemap/rank.xml`, + ...memberSitemaps ]); }; diff --git a/apps/client/src/pages/sitemap/members.xml.tsx b/apps/client/src/pages/sitemap/members.xml.tsx deleted file mode 100644 index a6af1588..00000000 --- a/apps/client/src/pages/sitemap/members.xml.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { getServerSideSitemapIndexLegacy } from "next-sitemap"; -import { GetServerSideProps } from "next"; -import { getPaginatedRankList } from "@/domains/members/api"; - -const MAX_RANK_COUNT = 100000; -export const getServerSideProps: GetServerSideProps = async (ctx) => { - const rankList = await getPaginatedRankList(0, MAX_RANK_COUNT).then( - (res) => res.data - ); - return getServerSideSitemapIndexLegacy( - ctx, - rankList.map((rank) => { - return `${process.env.NEXT_PUBLIC_BASE_URL}/members/${rank.id}/sitemap.xml`; - }) - ); -}; - -// Default export to prevent next.js errors -export default function Sitemap() {} diff --git a/packages/ui/src/components/domains/purchase/tokenHistory.tsx b/packages/ui/src/components/domains/purchase/tokenHistory.tsx index 93f886c0..d945f2c6 100644 --- a/packages/ui/src/components/domains/purchase/tokenHistory.tsx +++ b/packages/ui/src/components/domains/purchase/tokenHistory.tsx @@ -21,9 +21,7 @@ export default function TokenHistory({