From d1556fd77d9f419827d616a055b8c2490b298cf5 Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Tue, 16 Sep 2025 19:48:22 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=EA=B2=B0=EC=A0=9C=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=84=B0=ED=86=B5=EB=B3=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + pnpm-lock.yaml | 91 +++++++------- src/entities/home/ui/home-notice-list.tsx | 1 - .../ui/data-notification-notify-content.tsx | 71 +++++++++++ .../payment/ui/data-notification-wrap.tsx | 117 ++++++++++++++---- src/entities/payment/ui/info-item.tsx | 1 + src/entities/payment/ui/info-wrap.tsx | 1 + .../data-notification-page.tsx | 8 +- src/pages/payment/info/info-page.tsx | 18 ++- src/pages/support/notice/list-page.tsx | 1 - 10 files changed, 239 insertions(+), 71 deletions(-) create mode 100644 src/entities/payment/ui/data-notification-notify-content.tsx diff --git a/package.json b/package.json index 9cacfea..946a72b 100644 --- a/package.json +++ b/package.json @@ -78,6 +78,7 @@ "react-player": "^3.3.2", "react-router": "^7.8.2", "react-router-dom": "^7.8.2", + "react-slidedown": "^2.4.7", "react-tabs": "^6.1.0", "react-toastify": "^11.0.5", "react-tooltip": "^5.29.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7116727..b849fbd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -88,10 +88,10 @@ importers: version: 24.3.1 '@vitejs/plugin-legacy': specifier: ^7.2.1 - version: 7.2.1(terser@5.43.1)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + version: 7.2.1(terser@5.44.0)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)) '@vitejs/plugin-react-swc': specifier: ^3.11.0 - version: 3.11.0(@swc/helpers@0.5.17)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + version: 3.11.0(@swc/helpers@0.5.17)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)) '@webview-bridge/react': specifier: ^1.7.8 version: 1.7.8(@webview-bridge/web@1.7.8)(react@19.1.1) @@ -209,6 +209,9 @@ importers: react-router-dom: specifier: ^7.8.2 version: 7.8.2(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + react-slidedown: + specifier: ^2.4.7 + version: 2.4.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1) react-tabs: specifier: ^6.1.0 version: 6.1.0(react@19.1.1) @@ -253,13 +256,13 @@ importers: version: 19.5.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) vite-plugin-checker: specifier: ^0.10.3 - version: 0.10.3(eslint@9.35.0(jiti@2.5.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + version: 0.10.3(eslint@9.35.0(jiti@2.5.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + version: 5.1.4(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/node@24.3.1)(jiti@2.5.1)(jsdom@26.1.0)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + version: 3.2.4(@types/node@24.3.1)(jiti@2.5.1)(jsdom@26.1.0)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1) zustand: specifier: ^5.0.8 version: 5.0.8(@types/react@19.1.12)(immer@10.1.3)(react@19.1.1)(use-sync-external-store@1.5.0(react@19.1.1)) @@ -269,7 +272,7 @@ importers: version: 9.35.0 '@tanstack/router-plugin': specifier: ^1.131.41 - version: 1.131.41(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(webpack@5.101.0(@swc/core@1.13.5(@swc/helpers@0.5.17))) + version: 1.131.41(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))(webpack@5.101.0(@swc/core@1.13.5(@swc/helpers@0.5.17))) '@types/react': specifier: ^19.1.12 version: 19.1.12 @@ -284,7 +287,7 @@ importers: version: 8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) '@vitejs/plugin-react': specifier: ^4.7.0 - version: 4.7.0(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + version: 4.7.0(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)) autoprefixer: specifier: ^10.4.21 version: 10.4.21(postcss@8.5.6) @@ -320,7 +323,7 @@ importers: version: 5.9.2 vite: specifier: ^7.1.5 - version: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + version: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1) packages: @@ -4940,6 +4943,12 @@ packages: react-dom: optional: true + react-slidedown@2.4.7: + resolution: {integrity: sha512-HGDfrqo70r1WVE0DwrySPdCT27/2wcZaJYh5kOnmuPSCtjDDJrNkDdn4Ep/cma2VVfwupeAGhbc2pbrGThU6VQ==} + peerDependencies: + react: ^16.3.0 || 17 + react-dom: ^16.3.0 || 17 + react-tabs@6.1.0: resolution: {integrity: sha512-6QtbTRDKM+jA/MZTTefvigNxo0zz+gnBTVFw2CFVvq+f2BuH0nF0vDLNClL045nuTAdOoK/IL1vTP0ZLX0DAyQ==} peerDependencies: @@ -5594,11 +5603,6 @@ packages: uglify-js: optional: true - terser@5.43.1: - resolution: {integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==} - engines: {node: '>=10'} - hasBin: true - terser@5.44.0: resolution: {integrity: sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==} engines: {node: '>=10'} @@ -8173,7 +8177,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.131.41(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))(webpack@5.101.0(@swc/core@1.13.5(@swc/helpers@0.5.17)))': + '@tanstack/router-plugin@1.131.41(@tanstack/react-router@1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))(webpack@5.101.0(@swc/core@1.13.5(@swc/helpers@0.5.17)))': dependencies: '@babel/core': 7.28.4 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) @@ -8191,7 +8195,7 @@ snapshots: zod: 3.25.76 optionalDependencies: '@tanstack/react-router': 1.131.41(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1) webpack: 5.101.0(@swc/core@1.13.5(@swc/helpers@0.5.17)) transitivePeerDependencies: - supports-color @@ -8468,7 +8472,7 @@ snapshots: native-promise-only: 0.8.1 weakmap-polyfill: 2.0.4 - '@vitejs/plugin-legacy@7.2.1(terser@5.43.1)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': + '@vitejs/plugin-legacy@7.2.1(terser@5.44.0)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))': dependencies: '@babel/core': 7.28.4 '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.4) @@ -8482,20 +8486,20 @@ snapshots: magic-string: 0.30.19 regenerator-runtime: 0.14.1 systemjs: 6.15.1 - terser: 5.43.1 - vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + terser: 5.44.0 + vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react-swc@3.11.0(@swc/helpers@0.5.17)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': + '@vitejs/plugin-react-swc@3.11.0(@swc/helpers@0.5.17)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.27 '@swc/core': 1.13.5(@swc/helpers@0.5.17) - vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1) transitivePeerDependencies: - '@swc/helpers' - '@vitejs/plugin-react@4.7.0(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': + '@vitejs/plugin-react@4.7.0(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))': dependencies: '@babel/core': 7.28.4 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.4) @@ -8503,7 +8507,7 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.27 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1) transitivePeerDependencies: - supports-color @@ -8515,13 +8519,13 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1))': + '@vitest/mocker@3.2.4(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.19 optionalDependencies: - vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1) '@vitest/pretty-format@3.2.4': dependencies: @@ -11469,6 +11473,12 @@ snapshots: optionalDependencies: react-dom: 19.1.1(react@19.1.1) + react-slidedown@2.4.7(react-dom@19.1.1(react@19.1.1))(react@19.1.1): + dependencies: + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + tslib: 2.8.1 + react-tabs@6.1.0(react@19.1.1): dependencies: clsx: 2.1.1 @@ -12210,18 +12220,11 @@ snapshots: jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 - terser: 5.43.1 + terser: 5.44.0 webpack: 5.101.0(@swc/core@1.13.5(@swc/helpers@0.5.17)) optionalDependencies: '@swc/core': 1.13.5(@swc/helpers@0.5.17) - terser@5.43.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.15.0 - commander: 2.20.3 - source-map-support: 0.5.21 - terser@5.44.0: dependencies: '@jridgewell/source-map': 0.3.11 @@ -12498,13 +12501,13 @@ snapshots: dependencies: '@vimeo/player': 2.29.0 - vite-node@3.2.4(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1): + vite-node@3.2.4(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1): dependencies: cac: 6.7.14 debug: 4.4.1(supports-color@10.2.2) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - jiti @@ -12519,7 +12522,7 @@ snapshots: - tsx - yaml - vite-plugin-checker@0.10.3(eslint@9.35.0(jiti@2.5.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)): + vite-plugin-checker@0.10.3(eslint@9.35.0(jiti@2.5.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)): dependencies: '@babel/code-frame': 7.27.1 chokidar: 4.0.3 @@ -12529,7 +12532,7 @@ snapshots: strip-ansi: 7.1.2 tiny-invariant: 1.3.3 tinyglobby: 0.2.15 - vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1) vscode-uri: 3.1.0 optionalDependencies: eslint: 9.35.0(jiti@2.5.1) @@ -12537,18 +12540,18 @@ snapshots: optionator: 0.9.4 typescript: 5.9.2 - vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)): + vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)): dependencies: debug: 4.4.1(supports-color@10.2.2) globrex: 0.1.2 tsconfck: 3.1.6(typescript@5.9.2) optionalDependencies: - vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1) transitivePeerDependencies: - supports-color - typescript - vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1): + vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1): dependencies: esbuild: 0.25.9 fdir: 6.5.0(picomatch@4.0.3) @@ -12563,15 +12566,15 @@ snapshots: lightningcss: 1.30.1 sass: 1.92.1 sass-embedded: 1.92.1 - terser: 5.43.1 + terser: 5.44.0 tsx: 4.20.5 yaml: 2.8.1 - vitest@3.2.4(@types/node@24.3.1)(jiti@2.5.1)(jsdom@26.1.0)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1): + vitest@3.2.4(@types/node@24.3.1)(jiti@2.5.1)(jsdom@26.1.0)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1)) + '@vitest/mocker': 3.2.4(vite@7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -12589,8 +12592,8 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) - vite-node: 3.2.4(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.5)(yaml@2.8.1) + vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1) + vite-node: 3.2.4(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.30.1)(sass-embedded@1.92.1)(sass@1.92.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 24.3.1 diff --git a/src/entities/home/ui/home-notice-list.tsx b/src/entities/home/ui/home-notice-list.tsx index 30baef9..f9e7219 100644 --- a/src/entities/home/ui/home-notice-list.tsx +++ b/src/entities/home/ui/home-notice-list.tsx @@ -37,7 +37,6 @@ export const HomeNoticeList = () => { }; noticeList(listParams).then((rs) => { - console.log(rs) setResultList(rs.content); }); }; diff --git a/src/entities/payment/ui/data-notification-notify-content.tsx b/src/entities/payment/ui/data-notification-notify-content.tsx new file mode 100644 index 0000000..6492c50 --- /dev/null +++ b/src/entities/payment/ui/data-notification-notify-content.tsx @@ -0,0 +1,71 @@ +import moment from 'moment'; +import { useEffect, useState } from 'react'; +import { SlideDown } from 'react-slidedown'; +import 'react-slidedown/lib/slidedown.css'; + +export interface DataNotificationNotifyContentProps { + paymentMethodName: string; + startDate?: string; + adminEmail?: string; + urlIp?: string; + retransmissionInterval?: string; + retransmissionCount?: string; + okCheck?: string; + encryptionStatus?: string; + isChildOpen: boolean; + setIsChildOpen: (isChildOpen: boolean) => void; +}; +export const DataNotificationNotifyContent = ({ + paymentMethodName, + startDate, + adminEmail, + urlIp, + retransmissionInterval, + retransmissionCount, + okCheck, + encryptionStatus, + isChildOpen, + setIsChildOpen +}: DataNotificationNotifyContentProps) => { + + const [isOpen, setIsOpen] = useState(false); + + const openNotifyContent = () => { + setIsOpen(!isOpen); + setIsChildOpen(!isOpen); + }; + + useEffect(() => { + console.log('useEffect ', isChildOpen) + if(!!isChildOpen){ + //setIsOpen(false); + } + }, [isChildOpen]) + + return ( + <> +
openNotifyContent() } + > + { paymentMethodName } + +
+ + { isOpen && +
+
    +
  • 시작일자 : { moment(startDate).format('YYYY-MM-DD') }
  • +
  • 관리자 메일 : { adminEmail }
  • +
  • URL/IP : { urlIp }
  • +
  • 재전송 간격 : { retransmissionInterval }
  • +
  • 재전송 횟수 : { retransmissionCount }
  • +
  • OK 체크 : { okCheck }
  • +
  • 암호화 전송여부 : { encryptionStatus }
  • +
+
+ } +
+ + ); +}; \ No newline at end of file diff --git a/src/entities/payment/ui/data-notification-wrap.tsx b/src/entities/payment/ui/data-notification-wrap.tsx index 0bcc2b8..d912ce5 100644 --- a/src/entities/payment/ui/data-notification-wrap.tsx +++ b/src/entities/payment/ui/data-notification-wrap.tsx @@ -1,11 +1,45 @@ -import { PaymentNotificationDataResponse } from '../model/types'; +import { useEffect, useState } from 'react'; +import { DataNotificationNotifyContent } from './data-notification-notify-content'; +import { + MerchantInfo, + CreditCard, + AccountTransfer, + VirtualAccount, + MobilePayment, + EscrowPayment, + PaymentNotificationDataResponse +} from '../model/types'; export interface DataNotificationWrapProps { paymentNotificationData?: PaymentNotificationDataResponse; }; +export enum DataNotificationNotifyContentKey { + CreditCard = 'CreditCard', + AccountTransfer = 'AccountTransfer', + VirtualAccount = 'VirtualAccount', + MobilePayment = 'MobilePayment', + EscrowPayment = 'EscrowPayment', +}; export const DataNotificationWrap = ({ paymentNotificationData }: DataNotificationWrapProps) => { + const [merchantInfo, setMerchantInfo] = useState>(); + const [creditCard, setCreditCard] = useState>(); + const [accountTransfer, setAccountTransfer] = useState>(); + const [virtualAccount, setVirtualAccount] = useState>(); + const [mobilePayment, setMobilePayment] = useState>(); + const [escrowPayment, setEscrowPayment] = useState>(); + + const [isChildOpen, setIsChildOpen] = useState(false); + + useEffect(() => { + setMerchantInfo(paymentNotificationData?.merchantInfo); + setCreditCard(paymentNotificationData?.creditCard.detail); + setAccountTransfer(paymentNotificationData?.accountTransfer.detail); + setVirtualAccount(paymentNotificationData?.virtualAccount.detail); + setMobilePayment(paymentNotificationData?.mobilePayment.detail); + setEscrowPayment(paymentNotificationData?.escrowPayment.detail); + }, []); return ( <> @@ -23,37 +57,78 @@ export const DataNotificationWrap = ({
  • -
    - 신용카드 - -
    +
  • -
    - 계좌이체 - -
    +
  • -
    - 가상계좌 - -
    +
  • -
    - 휴대폰 - -
    +
  • +
  • -
    - 에스크로 결제 - -
    +
diff --git a/src/entities/payment/ui/info-item.tsx b/src/entities/payment/ui/info-item.tsx index 58e9f18..a92abb0 100644 --- a/src/entities/payment/ui/info-item.tsx +++ b/src/entities/payment/ui/info-item.tsx @@ -1,6 +1,7 @@ import { InfoItemProps } from '../model/types'; export const InfoItem = ({ + type, payName, payImage, infoLink diff --git a/src/entities/payment/ui/info-wrap.tsx b/src/entities/payment/ui/info-wrap.tsx index 2f6a66b..4070b5e 100644 --- a/src/entities/payment/ui/info-wrap.tsx +++ b/src/entities/payment/ui/info-wrap.tsx @@ -92,6 +92,7 @@ export const InfoWrap = ({ { getList(PaymentInfoItemType.NoInterest) } + ); }; \ No newline at end of file diff --git a/src/pages/payment/data-notification/data-notification-page.tsx b/src/pages/payment/data-notification/data-notification-page.tsx index aa74a3c..be766cc 100644 --- a/src/pages/payment/data-notification/data-notification-page.tsx +++ b/src/pages/payment/data-notification/data-notification-page.tsx @@ -52,9 +52,11 @@ export const DataNotificationPage = () => {
- + { !!paymentNotificationDataResult && + + }
diff --git a/src/pages/payment/info/info-page.tsx b/src/pages/payment/info/info-page.tsx index 3ad1db0..5577318 100644 --- a/src/pages/payment/info/info-page.tsx +++ b/src/pages/payment/info/info-page.tsx @@ -3,7 +3,7 @@ import { PATHS } from '@/shared/constants/paths'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { PaymentTab } from '@/entities/payment/ui/payment-tab'; import { InfoWrap } from '@/entities/payment/ui/info-wrap'; -import { PaymentCardResponse, PaymentNonCardResponse, PaymentTabKeys } from '@/entities/payment/model/types'; +import { PaymentCardResponse, PaymentInstallmentResponse, PaymentNonCardResponse, PaymentTabKeys } from '@/entities/payment/model/types'; import { usePaymentCardMutation } from '@/entities/payment/api/use-payment-card-mutation'; import { usePaymentNonCardMutation } from '@/entities/payment/api/use-payment-non-card-mutation'; import { HeaderType } from '@/entities/common/model/types'; @@ -13,18 +13,21 @@ import { useSetFooterMode, useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; +import { usePaymentInstallmentMutation } from '@/entities/payment/api/use-payment-installment-mutation'; export const InfoPage = () => { const { navigate } = useNavigate(); const { mutateAsync: paymentCard } = usePaymentCardMutation(); const { mutateAsync: paymentNonCard } = usePaymentNonCardMutation(); + const { mutateAsync: paymentInstallment } = usePaymentInstallmentMutation(); const [activeTab, setActiveTab] = useState(PaymentTabKeys.Info); const [mid, setMid] = useState('nictest00g'); const [paymentCardResult, setPaymentCardResult] = useState(); const [paymentNonCardResult, setPaymentNonCardResult] = useState(); + const [paymentInstallmentResult, setPaymentInstallResult] = useState(); useSetHeaderTitle('결제 관리'); useSetHeaderType(HeaderType.LeftArrow); @@ -55,10 +58,22 @@ export const InfoPage = () => { setPaymentNonCardResult(rs); }); }; + const callPaymentIntallment = () => { + let params = { + mid: mid, + paymentMethod: 'CREDIT_CARD' + }; + + paymentInstallment(params).then((rs) => { + console.log(rs); + setPaymentInstallResult(rs); + }); + }; useEffect(() => { callPaymentCard(); callPaymentNonCard(); + callPaymentIntallment(); }, []); return ( @@ -70,6 +85,7 @@ export const InfoPage = () => { diff --git a/src/pages/support/notice/list-page.tsx b/src/pages/support/notice/list-page.tsx index 66b81bb..af9342a 100644 --- a/src/pages/support/notice/list-page.tsx +++ b/src/pages/support/notice/list-page.tsx @@ -66,7 +66,6 @@ export const NoticeListPage = () => { callList(); }, []); - return ( <>
From feab94633399c7d400be8e7a76e332b8bd6340f8 Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Wed, 17 Sep 2025 09:55:35 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EA=B2=B0=EC=A0=9C=20=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=84=B0=20=ED=86=B5=EB=B3=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entities/payment/model/types.ts | 7 ++++ .../ui/data-notification-notify-content.tsx | 30 +++++++++------ .../payment/ui/data-notification-wrap.tsx | 38 +++++++++---------- 3 files changed, 45 insertions(+), 30 deletions(-) diff --git a/src/entities/payment/model/types.ts b/src/entities/payment/model/types.ts index 25d5e9a..61763a3 100644 --- a/src/entities/payment/model/types.ts +++ b/src/entities/payment/model/types.ts @@ -9,6 +9,13 @@ export enum PaymentInfoItemType { export interface PaymentTabProps { activeTab: PaymentTabKeys; }; +export enum DataNotificationNotifyContentKey { + CreditCard = 'CreditCard', + AccountTransfer = 'AccountTransfer', + VirtualAccount = 'VirtualAccount', + MobilePayment = 'MobilePayment', + EscrowPayment = 'EscrowPayment', +}; export interface InfoItemProps { type?: PaymentInfoItemType; payName?: string; diff --git a/src/entities/payment/ui/data-notification-notify-content.tsx b/src/entities/payment/ui/data-notification-notify-content.tsx index 6492c50..cc374f4 100644 --- a/src/entities/payment/ui/data-notification-notify-content.tsx +++ b/src/entities/payment/ui/data-notification-notify-content.tsx @@ -2,9 +2,11 @@ import moment from 'moment'; import { useEffect, useState } from 'react'; import { SlideDown } from 'react-slidedown'; import 'react-slidedown/lib/slidedown.css'; +import { DataNotificationNotifyContentKey } from '../model/types'; export interface DataNotificationNotifyContentProps { paymentMethodName: string; + type: DataNotificationNotifyContentKey; startDate?: string; adminEmail?: string; urlIp?: string; @@ -12,11 +14,12 @@ export interface DataNotificationNotifyContentProps { retransmissionCount?: string; okCheck?: string; encryptionStatus?: string; - isChildOpen: boolean; - setIsChildOpen: (isChildOpen: boolean) => void; + openChild: DataNotificationNotifyContentKey | null; + setOpenChild: (openChild: DataNotificationNotifyContentKey | null) => void; }; export const DataNotificationNotifyContent = ({ paymentMethodName, + type, startDate, adminEmail, urlIp, @@ -24,23 +27,28 @@ export const DataNotificationNotifyContent = ({ retransmissionCount, okCheck, encryptionStatus, - isChildOpen, - setIsChildOpen + openChild, + setOpenChild }: DataNotificationNotifyContentProps) => { const [isOpen, setIsOpen] = useState(false); const openNotifyContent = () => { - setIsOpen(!isOpen); - setIsChildOpen(!isOpen); + const staus = !isOpen; + setIsOpen(staus); + if(!!staus){ + setOpenChild(type); + } + else { + setOpenChild(null) + } }; useEffect(() => { - console.log('useEffect ', isChildOpen) - if(!!isChildOpen){ - //setIsOpen(false); - } - }, [isChildOpen]) + if(!!openChild && openChild !== type){ + setIsOpen(false); + } + }, [openChild]) return ( <> diff --git a/src/entities/payment/ui/data-notification-wrap.tsx b/src/entities/payment/ui/data-notification-wrap.tsx index d912ce5..b2931b2 100644 --- a/src/entities/payment/ui/data-notification-wrap.tsx +++ b/src/entities/payment/ui/data-notification-wrap.tsx @@ -8,18 +8,13 @@ import { VirtualAccount, MobilePayment, EscrowPayment, + DataNotificationNotifyContentKey, PaymentNotificationDataResponse } from '../model/types'; export interface DataNotificationWrapProps { paymentNotificationData?: PaymentNotificationDataResponse; }; -export enum DataNotificationNotifyContentKey { - CreditCard = 'CreditCard', - AccountTransfer = 'AccountTransfer', - VirtualAccount = 'VirtualAccount', - MobilePayment = 'MobilePayment', - EscrowPayment = 'EscrowPayment', -}; + export const DataNotificationWrap = ({ paymentNotificationData }: DataNotificationWrapProps) => { @@ -30,7 +25,7 @@ export const DataNotificationWrap = ({ const [mobilePayment, setMobilePayment] = useState>(); const [escrowPayment, setEscrowPayment] = useState>(); - const [isChildOpen, setIsChildOpen] = useState(false); + const [openChild, setOpenChild] = useState(null); useEffect(() => { setMerchantInfo(paymentNotificationData?.merchantInfo); @@ -40,7 +35,7 @@ export const DataNotificationWrap = ({ setMobilePayment(paymentNotificationData?.mobilePayment.detail); setEscrowPayment(paymentNotificationData?.escrowPayment.detail); }, []); - + return ( <>
@@ -59,6 +54,7 @@ export const DataNotificationWrap = ({