diff --git a/.github/workflows/chromatic.yml b/.github/workflows/chromatic.yml deleted file mode 100644 index 8a0db36..0000000 --- a/.github/workflows/chromatic.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: "Chromatic" - -on: push - -jobs: - chromatic: - name: Run Chromatic - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - uses: actions/setup-node@v4 - with: - node-version: 22.12.0 - - - name: Install pnpm - run: npm install -g pnpm - - - name: Install dependencies - run: pnpm install - - - name: Run Chromatic - uses: chromaui/action@latest - with: - projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..afd4ae3 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,72 @@ +name: Deploy Next.js to Server + +on: + push: + branches: [ deploy/19-cicd ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18' + + - name: Create .env + run: | + echo "${{ secrets.ENV }}" > .env + + - name: Install dependencies + run: npm install + + - name: Build Next.js + run: npm run build + + - name: Upload build files + uses: actions/upload-artifact@v4 + with: + name: nextjs-build + path: | + .next/ + public + package.json + .env + include-hidden-files: true + + deploy: + needs: build + runs-on: ubuntu-latest + + steps: + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: nextjs-build + path: nextjs-build + + - name: Deploy build files to server + uses: appleboy/scp-action@master + with: + host: ${{ secrets.SSH_HOST }} + username: ${{ secrets.SSH_USER }} + password: ${{ secrets.SSH_PASSWORD }} + port: ${{ secrets.SSH_PORT }} + source: "nextjs-build/*" + target: "/home/ubuntu/travloom-frontend" + + - name: Restart Next.js + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ secrets.SSH_HOST }} + username: ${{ secrets.SSH_USER }} + password: ${{ secrets.SSH_PASSWORD }} + port: ${{ secrets.SSH_PORT }} + script: | + cd /home/ubuntu/travloom-frontend/nextjs-build + fuser -k 3000/tcp || true + nohup npm run start > app.log 2>&1 < /dev/null & \ No newline at end of file diff --git a/.storybook/main.ts b/.storybook/main.ts deleted file mode 100644 index 248feba..0000000 --- a/.storybook/main.ts +++ /dev/null @@ -1,45 +0,0 @@ -import type { StorybookConfig } from '@storybook/nextjs'; - -const config: StorybookConfig = { - "stories": [ - "../src/**/*.mdx", - "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)" - ], - "addons": [ - "@storybook/addon-essentials", - "@storybook/addon-onboarding", - "@chromatic-com/storybook", - "@storybook/experimental-addon-test" - ], - "framework": { - "name": "@storybook/nextjs", - "options": { - fastRefresh: true - } - }, - "staticDirs": [ - "../public" - ], - webpackFinal: async config => { - const imageRule = config.module?.rules?.find(rule => { - const test = (rule as { test: RegExp }).test - - if (!test) { - return false - } - - return test.test('.svg') - }) as { [key: string]: any } - - imageRule.exclude = /\.svg$/ - - config.module?.rules?.push({ - test: /\.svg$/, - use: ['@svgr/webpack'] - }) - - return config - } - -}; -export default config; \ No newline at end of file diff --git a/.storybook/preview.ts b/.storybook/preview.ts deleted file mode 100644 index f6ce660..0000000 --- a/.storybook/preview.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { Preview } from '@storybook/react' -import '../src/styles/globals.css' - -const preview: Preview = { - parameters: { - controls: { - matchers: { - color: /(background|color)$/i, - date: /Date$/i, - }, - }, - }, -}; - -export default preview; \ No newline at end of file diff --git a/.storybook/vitest.setup.ts b/.storybook/vitest.setup.ts deleted file mode 100644 index 2ce752d..0000000 --- a/.storybook/vitest.setup.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { beforeAll } from 'vitest'; -import { setProjectAnnotations } from '@storybook/experimental-nextjs-vite'; -import * as projectAnnotations from './preview'; - -// This is an important step to apply the right configuration when testing your stories. -// More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations -const project = setProjectAnnotations([projectAnnotations]); - -beforeAll(project.beforeAll); \ No newline at end of file diff --git a/package.json b/package.json index 3b3b4cb..1eb9984 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,7 @@ "dev": "next dev --turbopack", "build": "next build", "start": "next start", - "lint": "next lint", - "storybook": "dotenv -e .env -- storybook dev -p 6006", - "build-storybook": "dotenv -e .env -- storybook build", - "chromatic": "npx chromatic --project-token=chpt_f2897a40bf07024" + "lint": "next lint" }, "dependencies": { "@fullcalendar/core": "^6.1.17", @@ -40,16 +37,7 @@ "zustand": "^5.0.4" }, "devDependencies": { - "@chromatic-com/storybook": "3", "@eslint/eslintrc": "^3", - "@storybook/addon-essentials": "8.6.12", - "@storybook/addon-onboarding": "8.6.12", - "@storybook/blocks": "8.6.12", - "@storybook/experimental-addon-test": "8.6.12", - "@storybook/experimental-nextjs-vite": "8.6.12", - "@storybook/nextjs": "^8.6.12", - "@storybook/react": "8.6.12", - "@storybook/test": "8.6.12", "@tailwindcss/postcss": "^4", "@types/lodash": "^4.17.17", "@types/navermaps": "^3.7.9", @@ -60,21 +48,13 @@ "@types/react-grid-layout": "^1.3.5", "@vitest/browser": "^3.1.2", "@vitest/coverage-v8": "^3.1.2", - "chromatic": "^11.28.2", "dotenv-cli": "^8.0.0", "eslint": "^9", "eslint-config-next": "15.3.1", - "eslint-plugin-storybook": "^0.12.0", "playwright": "^1.52.0", - "storybook": "8.6.12", "tailwindcss": "^4", "typescript": "^5", "vitest": "^3.1.2" }, - "eslintConfig": { - "extends": [ - "plugin:storybook/recommended" - ] - }, "proxy": "http://localhost:8080" } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5760438..58a3c86 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -87,36 +87,9 @@ importers: specifier: ^5.0.4 version: 5.0.4(@types/react@19.1.2)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)) devDependencies: - '@chromatic-com/storybook': - specifier: '3' - version: 3.2.6(react@19.1.0)(storybook@8.6.12) '@eslint/eslintrc': specifier: ^3 version: 3.3.1 - '@storybook/addon-essentials': - specifier: 8.6.12 - version: 8.6.12(@types/react@19.1.2)(storybook@8.6.12) - '@storybook/addon-onboarding': - specifier: 8.6.12 - version: 8.6.12(storybook@8.6.12) - '@storybook/blocks': - specifier: 8.6.12 - version: 8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12) - '@storybook/experimental-addon-test': - specifier: 8.6.12 - version: 8.6.12(@vitest/browser@3.1.2)(@vitest/runner@3.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12)(vitest@3.1.2) - '@storybook/experimental-nextjs-vite': - specifier: 8.6.12 - version: 8.6.12(@babel/core@7.26.10)(@storybook/test@8.6.12(storybook@8.6.12))(next@15.3.1(@babel/core@7.26.10)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.40.0)(storybook@8.6.12)(typescript@5.8.3)(vite@6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)) - '@storybook/nextjs': - specifier: ^8.6.12 - version: 8.6.12(esbuild@0.25.3)(next@15.3.1(@babel/core@7.26.10)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12)(type-fest@2.19.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)(webpack@5.99.7(esbuild@0.25.3)) - '@storybook/react': - specifier: 8.6.12 - version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.12))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12)(typescript@5.8.3) - '@storybook/test': - specifier: 8.6.12 - version: 8.6.12(storybook@8.6.12) '@tailwindcss/postcss': specifier: ^4 version: 4.1.4 @@ -147,9 +120,7 @@ importers: '@vitest/coverage-v8': specifier: ^3.1.2 version: 3.1.2(@vitest/browser@3.1.2)(vitest@3.1.2) - chromatic: - specifier: ^11.28.2 - version: 11.28.2 + dotenv-cli: specifier: ^8.0.0 version: 8.0.0 @@ -159,15 +130,9 @@ importers: eslint-config-next: specifier: 15.3.1 version: 15.3.1(eslint@9.25.0(jiti@2.4.2))(typescript@5.8.3) - eslint-plugin-storybook: - specifier: ^0.12.0 - version: 0.12.0(eslint@9.25.0(jiti@2.4.2))(typescript@5.8.3) playwright: specifier: ^1.52.0 version: 1.52.0 - storybook: - specifier: 8.6.12 - version: 8.6.12 tailwindcss: specifier: ^4 version: 4.1.4 @@ -756,12 +721,6 @@ packages: resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} - '@chromatic-com/storybook@3.2.6': - resolution: {integrity: sha512-FDmn5Ry2DzQdik+eq2sp/kJMMT36Ewe7ONXUXM2Izd97c7r6R/QyGli8eyh/F0iyqVvbLveNYFyF0dBOJNwLqw==} - engines: {node: '>=16.0.0', yarn: '>=1.22.18'} - peerDependencies: - storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@emnapi/core@1.4.3': resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==} @@ -1503,12 +1462,6 @@ packages: '@lottiefiles/dotlottie-web@0.46.0': resolution: {integrity: sha512-wirTuVcR/cu9HTckgrXjQggeO4sap4QPBLWDUyBDEQJugY3CLHm4lECrDtLBtIzUJZXTeyidvTOY9lZIQ5qdTw==} - '@mdx-js/react@3.1.0': - resolution: {integrity: sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==} - peerDependencies: - '@types/react': '>=16' - react: '>=16' - '@napi-rs/wasm-runtime@0.2.9': resolution: {integrity: sha512-OKRBiajrrxB9ATokgEQoG87Z25c67pCpYcCwmXYX8PBftC9pBfN18gnm/fh1wurSLEKIAt+QRFLFCQISrb66Jg==} @@ -1760,248 +1713,6 @@ packages: '@rushstack/eslint-patch@1.11.0': resolution: {integrity: sha512-zxnHvoMQVqewTJr/W4pKjF0bMGiKJv1WX7bSrkl46Hg0QjESbzBROWK0Wg4RphzSOS5Jiy7eFimmM3UgMrMZbQ==} - '@storybook/addon-actions@8.6.12': - resolution: {integrity: sha512-B5kfiRvi35oJ0NIo53CGH66H471A3XTzrfaa6SxXEJsgxxSeKScG5YeXcCvLiZfvANRQ7QDsmzPUgg0o3hdMXw==} - peerDependencies: - storybook: ^8.6.12 - - '@storybook/addon-backgrounds@8.6.12': - resolution: {integrity: sha512-lmIAma9BiiCTbJ8YfdZkXjpnAIrOUcgboLkt1f6XJ78vNEMnLNzD9gnh7Tssz1qrqvm34v9daDjIb+ggdiKp3Q==} - peerDependencies: - storybook: ^8.6.12 - - '@storybook/addon-controls@8.6.12': - resolution: {integrity: sha512-9VSRPJWQVb9wLp21uvpxDGNctYptyUX0gbvxIWOHMH3R2DslSoq41lsC/oQ4l4zSHVdL+nq8sCTkhBxIsjKqdQ==} - peerDependencies: - storybook: ^8.6.12 - - '@storybook/addon-docs@8.6.12': - resolution: {integrity: sha512-kEezQjAf/p3SpDzLABgg4fbT48B6dkT2LiZCKTRmCrJVtuReaAr4R9MMM6Jsph6XjbIj/SvOWf3CMeOPXOs9sg==} - peerDependencies: - storybook: ^8.6.12 - - '@storybook/addon-essentials@8.6.12': - resolution: {integrity: sha512-Y/7e8KFlttaNfv7q2zoHMPdX6hPXHdsuQMAjYl5NG9HOAJREu4XBy4KZpbcozRe4ApZ78rYsN/MO1EuA+bNMIA==} - peerDependencies: - storybook: ^8.6.12 - - '@storybook/addon-highlight@8.6.12': - resolution: {integrity: sha512-9FITVxdoycZ+eXuAZL9ElWyML/0fPPn9UgnnAkrU7zkMi+Segq/Tx7y+WWanC5zfWZrXAuG6WTOYEXeWQdm//w==} - peerDependencies: - storybook: ^8.6.12 - - '@storybook/addon-measure@8.6.12': - resolution: {integrity: sha512-tACmwqqOvutaQSduw8SMb62wICaT1rWaHtMN3vtWXuxgDPSdJQxLP+wdVyRYMAgpxhLyIO7YRf++Hfha9RHgFg==} - peerDependencies: - storybook: ^8.6.12 - - '@storybook/addon-onboarding@8.6.12': - resolution: {integrity: sha512-/cgxaLy6tr6xO0+QO+qV5rPZS5/c15Daywvg/F03lifLGkMuyn/JDuhu0J5i1LbFsL1RYdf4sjrTOmLXbOT6+Q==} - peerDependencies: - storybook: ^8.6.12 - - '@storybook/addon-outline@8.6.12': - resolution: {integrity: sha512-1ylwm+n1s40S91No0v9T4tCjZORu3GbnjINlyjYTDLLhQHyBQd3nWR1Y1eewU4xH4cW9SnSLcMQFS/82xHqU6A==} - peerDependencies: - storybook: ^8.6.12 - - '@storybook/addon-toolbars@8.6.12': - resolution: {integrity: sha512-HEcSzo1DyFtIu5/ikVOmh5h85C1IvK9iFKSzBR6ice33zBOaehVJK+Z5f487MOXxPsZ63uvWUytwPyViGInj+g==} - peerDependencies: - storybook: ^8.6.12 - - '@storybook/addon-viewport@8.6.12': - resolution: {integrity: sha512-EXK2LArAnABsPP0leJKy78L/lbMWow+EIJfytEP5fHaW4EhMR6h7Hzaqzre6U0IMMr/jVFa1ci+m0PJ0eQc2bw==} - peerDependencies: - storybook: ^8.6.12 - - '@storybook/blocks@8.6.12': - resolution: {integrity: sha512-DohlTq6HM1jDbHYiXL4ZvZ00VkhpUp5uftzj/CZDLY1fYHRjqtaTwWm2/OpceivMA8zDitLcq5atEZN+f+siTg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - storybook: ^8.6.12 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - - '@storybook/builder-vite@8.6.12': - resolution: {integrity: sha512-Gju21ud/3Qw4v2vLNaa5SuJECsI9ICNRr2G0UyCCzRvCHg8jpA9lDReu2NqhLDyFIuDG+ZYT38gcaHEUoNQ8KQ==} - peerDependencies: - storybook: ^8.6.12 - vite: ^4.0.0 || ^5.0.0 || ^6.0.0 - - '@storybook/builder-webpack5@8.6.12': - resolution: {integrity: sha512-Z7RsQ/1+HbxdbM69JrEFcTL+pnVKUTMmeURMn5/eOvYTGjBtM18vbQTj0LjCUDIjC+v9U+uX8ZJEUVxFbGcxBw==} - peerDependencies: - storybook: ^8.6.12 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@storybook/components@8.6.12': - resolution: {integrity: sha512-FiaE8xvCdvKC2arYusgtlDNZ77b8ysr8njAYQZwwaIHjy27TbR2tEpLDCmUwSbANNmivtc/xGEiDDwcNppMWlQ==} - peerDependencies: - storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - - '@storybook/core-webpack@8.6.12': - resolution: {integrity: sha512-TiE+KOm0hxb/p0JxeGHKxqTNX+xnTOFsBh6uloCSuvodutJ5pR/XpxKVxwo1gtSc0Uq3qpgbMhW6qYlYQetnKA==} - peerDependencies: - storybook: ^8.6.12 - - '@storybook/core@8.6.12': - resolution: {integrity: sha512-t+ZuDzAlsXKa6tLxNZT81gEAt4GNwsKP/Id2wluhmUWD/lwYW0uum1JiPUuanw8xD6TdakCW/7ULZc7aQUBLCQ==} - peerDependencies: - prettier: ^2 || ^3 - peerDependenciesMeta: - prettier: - optional: true - - '@storybook/csf-plugin@8.6.12': - resolution: {integrity: sha512-6s8CnP1aoKPb3XtC0jRLUp8M5vTA8RhGAwQDKUsFpCC7g89JR9CaKs9FY2ZSzsNbjR15uASi7b3K8BzeYumYQg==} - peerDependencies: - storybook: ^8.6.12 - - '@storybook/csf@0.1.13': - resolution: {integrity: sha512-7xOOwCLGB3ebM87eemep89MYRFTko+D8qE7EdAAq74lgdqRR5cOUtYWJLjO2dLtP94nqoOdHJo6MdLLKzg412Q==} - - '@storybook/experimental-addon-test@8.6.12': - resolution: {integrity: sha512-auc8Ql0buH0WeaKVuSSuabxIiBWvqvAyxtXCm1sVMkL68GwrX3cmpNMwviz3mvKvM//F8zKi/31HMl1PZ5UnIA==} - peerDependencies: - '@vitest/browser': ^2.1.1 || ^3.0.0 - '@vitest/runner': ^2.1.1 || ^3.0.0 - storybook: ^8.6.12 - vitest: ^2.1.1 || ^3.0.0 - peerDependenciesMeta: - '@vitest/browser': - optional: true - '@vitest/runner': - optional: true - vitest: - optional: true - - '@storybook/experimental-nextjs-vite@8.6.12': - resolution: {integrity: sha512-GleItZB9oAzHJzUs5KiVpkLVNn4k2IfPCWNr1hFTcysMPfKARli96BWwVCBTnt4GDUgO3fy78waheG/uhefwJg==} - engines: {node: '>=18.0.0'} - peerDependencies: - '@storybook/test': 8.6.12 - next: ^14.1.0 || ^15.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.12 - typescript: '*' - vite: ^5.0.0 || ^6.0.0 - peerDependenciesMeta: - typescript: - optional: true - - '@storybook/global@5.0.0': - resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} - - '@storybook/icons@1.4.0': - resolution: {integrity: sha512-Td73IeJxOyalzvjQL+JXx72jlIYHgs+REaHiREOqfpo3A2AYYG71AUbcv+lg7mEDIweKVCxsMQ0UKo634c8XeA==} - engines: {node: '>=14.0.0'} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - - '@storybook/instrumenter@8.6.12': - resolution: {integrity: sha512-VK5fYAF8jMwWP/u3YsmSwKGh+FeSY8WZn78flzRUwirp2Eg1WWjsqPRubAk7yTpcqcC/km9YMF3KbqfzRv2s/A==} - peerDependencies: - storybook: ^8.6.12 - - '@storybook/manager-api@8.6.12': - resolution: {integrity: sha512-O0SpISeJLNTQvhSBOsWzzkCgs8vCjOq1578rwqHlC6jWWm4QmtfdyXqnv7rR1Hk08kQ+Dzqh0uhwHx0nfwy4nQ==} - peerDependencies: - storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - - '@storybook/nextjs@8.6.12': - resolution: {integrity: sha512-I9y5xpOOSCo91IK4jf8nT/V9R0sPiJblKc0gJg0sOSSNgsswGxJq9anah6PEbYhlZtbptmhGOL6IeUR+pI6Qzw==} - engines: {node: '>=18.0.0'} - peerDependencies: - next: ^13.5.0 || ^14.0.0 || ^15.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.12 - typescript: '*' - webpack: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - webpack: - optional: true - - '@storybook/preset-react-webpack@8.6.12': - resolution: {integrity: sha512-aCCHjR/jsVPVThRH7nK70wS0Od44M6hqkkakg3xr7LETZZGj99heen6t4VHvz8gcQYT9l6R/oZwCl7f/PQ3ZBQ==} - engines: {node: '>=18.0.0'} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.12 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@storybook/preview-api@8.6.12': - resolution: {integrity: sha512-84FE3Hrs0AYKHqpDZOwx1S/ffOfxBdL65lhCoeI8GoWwCkzwa9zEP3kvXBo/BnEDO7nAfxvMhjASTZXbKRJh5Q==} - peerDependencies: - storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0': - resolution: {integrity: sha512-KUqXC3oa9JuQ0kZJLBhVdS4lOneKTOopnNBK4tUAgoxWQ3u/IjzdueZjFr7gyBrXMoU6duutk3RQR9u8ZpYJ4Q==} - peerDependencies: - typescript: '>= 4.x' - webpack: '>= 4' - - '@storybook/react-dom-shim@8.6.12': - resolution: {integrity: sha512-51QvoimkBzYs8s3rCYnY5h0cFqLz/Mh0vRcughwYaXckWzDBV8l67WBO5Xf5nBsukCbWyqBVPpEQLww8s7mrLA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.12 - - '@storybook/react-vite@8.6.12': - resolution: {integrity: sha512-UA2Kule99oyFgHdhcuhrRwCKyWu/yMbqbl9U7NwowFHNwWWFjVMMir/AmfShb/H1C1DQ3LqOad6/QwJyPLjP8g==} - engines: {node: '>=18.0.0'} - peerDependencies: - '@storybook/test': 8.6.12 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.12 - vite: ^4.0.0 || ^5.0.0 || ^6.0.0 - peerDependenciesMeta: - '@storybook/test': - optional: true - - '@storybook/react@8.6.12': - resolution: {integrity: sha512-NzxlHLA5DkDgZM/dMwTYinuzRs6rsUPmlqP+NIv6YaciQ4NGnTYyOC7R/SqI6HHFm8ZZ5eMYvpfiFmhZ9rU+rQ==} - engines: {node: '>=18.0.0'} - peerDependencies: - '@storybook/test': 8.6.12 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.6.12 - typescript: '>= 4.2.x' - peerDependenciesMeta: - '@storybook/test': - optional: true - typescript: - optional: true - - '@storybook/test@8.6.12': - resolution: {integrity: sha512-0BK1Eg+VD0lNMB1BtxqHE3tP9FdkUmohtvWG7cq6lWvMrbCmAmh3VWai3RMCCDOukPFpjabOr8BBRLVvhNpv2w==} - peerDependencies: - storybook: ^8.6.12 - - '@storybook/theming@8.6.12': - resolution: {integrity: sha512-6VjZg8HJ2Op7+KV7ihJpYrDnFtd9D1jrQnUS8LckcpuBXrIEbaut5+34ObY8ssQnSqkk2GwIZBBBQYQBCVvkOw==} - peerDependencies: - storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@svgr/babel-plugin-add-jsx-attribute@8.0.0': resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} engines: {node: '>=14'} @@ -2263,9 +1974,6 @@ packages: '@types/lodash@4.17.17': resolution: {integrity: sha512-RRVJ+J3J+WmyOTqnz3PiBLA501eKwXl2noseKOrNo/6+XEHjTAxO4xHvxQB6QuNm+s4WRbn6rSiap8+EA+ykFQ==} - '@types/mdx@2.0.13': - resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} - '@types/navermaps@3.7.9': resolution: {integrity: sha512-5ZazQfVRq9P1+QbpJ8PA5W9CnsdtWQEiGG6ZWTJuNXzu4iQXov9rRMaWIdD5g+eIKZ2cI1CDE49zYUwUAXNqQQ==} @@ -2296,9 +2004,6 @@ packages: '@types/semver@7.7.0': resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} - '@types/uuid@9.0.8': - resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} - '@typescript-eslint/eslint-plugin@8.30.1': resolution: {integrity: sha512-v+VWphxMjn+1t48/jO4t950D6KR8JaJuNXzi33Ve6P8sEmPr5k6CEXjdGwT6+LodVnEa91EQCtwjWNUCPweo+Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2867,18 +2572,6 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - chromatic@11.28.2: - resolution: {integrity: sha512-aCmUPcZUs4/p9zRZdMreOoO/5JqO2DiJC3md1/vRx8dlMRcmR/YI5ZbgXZcai2absVR+6hsXZ5XiPxV2sboTuQ==} - hasBin: true - peerDependencies: - '@chromatic-com/cypress': ^0.*.* || ^1.0.0 - '@chromatic-com/playwright': ^0.*.* || ^1.0.0 - peerDependenciesMeta: - '@chromatic-com/cypress': - optional: true - '@chromatic-com/playwright': - optional: true - chrome-trace-event@1.0.4: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} @@ -3370,12 +3063,6 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-storybook@0.12.0: - resolution: {integrity: sha512-Lg5I0+npTgiYgZ4KSvGWGDFZi3eOCNJPaWX0c9rTEEXC5wvooOClsP9ZtbI4hhFKyKgYR877KiJxbRTSJq9gWA==} - engines: {node: '>= 18'} - peerDependencies: - eslint: '>=8' - eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} @@ -3497,10 +3184,6 @@ packages: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} - filesize@10.1.6: - resolution: {integrity: sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==} - engines: {node: '>= 10.4.0'} - fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -4196,9 +3879,6 @@ packages: resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} engines: {node: '>=6'} - map-or-similar@1.5.0: - resolution: {integrity: sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==} - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -4220,9 +3900,6 @@ packages: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} - memoizerific@1.11.3: - resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==} - merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -4678,12 +4355,6 @@ packages: '@types/react': optional: true - react-confetti@6.4.0: - resolution: {integrity: sha512-5MdGUcqxrTU26I2EU7ltkWPwxvucQTuqMm8dUz72z2YMqTD6s9vMcDUysk7n9jnC+lXuCPeJJ7Knf98VEYE9Rg==} - engines: {node: '>=16'} - peerDependencies: - react: ^16.3.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 - react-datepicker@8.4.0: resolution: {integrity: sha512-6nPDnj8vektWCIOy9ArS3avus9Ndsyz5XgFCJ7nBxXASSpBdSL6lG9jzNNmViPOAOPh6T5oJyGaXuMirBLECag==} peerDependencies: @@ -5017,15 +4688,6 @@ packages: std-env@3.9.0: resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} - storybook@8.6.12: - resolution: {integrity: sha512-Z/nWYEHBTLK1ZBtAWdhxC0l5zf7ioJ7G4+zYqtTdYeb67gTnxNj80gehf8o8QY9L2zA2+eyMRGLC2V5fI7Z3Tw==} - hasBin: true - peerDependencies: - prettier: ^2 || ^3 - peerDependenciesMeta: - prettier: - optional: true - stream-browserify@3.0.0: resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} @@ -5248,9 +4910,6 @@ packages: tty-browserify@0.0.1: resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} - tween-functions@1.2.0: - resolution: {integrity: sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA==} - type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -5345,23 +5004,11 @@ packages: resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} hasBin: true - uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - vite-node@3.1.2: resolution: {integrity: sha512-/8iMryv46J3aK13iUXsei5G/A3CUlW4665THCPS+K8xAaqrVWiGB4RfXMQXCLjpK9P2eK//BczrVkn5JLAk6DA==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite-plugin-storybook-nextjs@1.1.5: - resolution: {integrity: sha512-doFAXLvfEtIgMbDA+0VzyanoWoAUAwMLMfTpFnv3rxaN/tGHtWAwyhK73OA3UJzyXrp6rDPTqbjWUYJ6noxNww==} - peerDependencies: - '@storybook/test': ^8.3.0 - next: ^14.1.0 || ^15.0.0 - storybook: ^8.3.0 - vite: ^5.0.0 || ^6.0.0 - vite@6.3.3: resolution: {integrity: sha512-5nXH+QsELbFKhsEfWLkHrvgRpTdGJzqOZ+utSdmPTvwHmvU6ITTm3xx+mRusihkcI8GeC7lCDyn3kDtiki9scw==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} @@ -6334,19 +5981,6 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} - '@chromatic-com/storybook@3.2.6(react@19.1.0)(storybook@8.6.12)': - dependencies: - chromatic: 11.28.2 - filesize: 10.1.6 - jsonfile: 6.1.0 - react-confetti: 6.4.0(react@19.1.0) - storybook: 8.6.12 - strip-ansi: 7.1.0 - transitivePeerDependencies: - - '@chromatic-com/cypress' - - '@chromatic-com/playwright' - - react - '@emnapi/core@1.4.3': dependencies: '@emnapi/wasi-threads': 1.0.2 @@ -7073,12 +6707,6 @@ snapshots: '@lottiefiles/dotlottie-web@0.46.0': {} - '@mdx-js/react@3.1.0(@types/react@19.1.2)(react@19.1.0)': - dependencies: - '@types/mdx': 2.0.13 - '@types/react': 19.1.2 - react: 19.1.0 - '@napi-rs/wasm-runtime@0.2.9': dependencies: '@emnapi/core': 1.4.3 @@ -7245,402 +6873,6 @@ snapshots: '@rushstack/eslint-patch@1.11.0': {} - '@storybook/addon-actions@8.6.12(storybook@8.6.12)': - dependencies: - '@storybook/global': 5.0.0 - '@types/uuid': 9.0.8 - dequal: 2.0.3 - polished: 4.3.1 - storybook: 8.6.12 - uuid: 9.0.1 - - '@storybook/addon-backgrounds@8.6.12(storybook@8.6.12)': - dependencies: - '@storybook/global': 5.0.0 - memoizerific: 1.11.3 - storybook: 8.6.12 - ts-dedent: 2.2.0 - - '@storybook/addon-controls@8.6.12(storybook@8.6.12)': - dependencies: - '@storybook/global': 5.0.0 - dequal: 2.0.3 - storybook: 8.6.12 - ts-dedent: 2.2.0 - - '@storybook/addon-docs@8.6.12(@types/react@19.1.2)(storybook@8.6.12)': - dependencies: - '@mdx-js/react': 3.1.0(@types/react@19.1.2)(react@19.1.0) - '@storybook/blocks': 8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12) - '@storybook/csf-plugin': 8.6.12(storybook@8.6.12) - '@storybook/react-dom-shim': 8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - storybook: 8.6.12 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - '@types/react' - - '@storybook/addon-essentials@8.6.12(@types/react@19.1.2)(storybook@8.6.12)': - dependencies: - '@storybook/addon-actions': 8.6.12(storybook@8.6.12) - '@storybook/addon-backgrounds': 8.6.12(storybook@8.6.12) - '@storybook/addon-controls': 8.6.12(storybook@8.6.12) - '@storybook/addon-docs': 8.6.12(@types/react@19.1.2)(storybook@8.6.12) - '@storybook/addon-highlight': 8.6.12(storybook@8.6.12) - '@storybook/addon-measure': 8.6.12(storybook@8.6.12) - '@storybook/addon-outline': 8.6.12(storybook@8.6.12) - '@storybook/addon-toolbars': 8.6.12(storybook@8.6.12) - '@storybook/addon-viewport': 8.6.12(storybook@8.6.12) - storybook: 8.6.12 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - '@types/react' - - '@storybook/addon-highlight@8.6.12(storybook@8.6.12)': - dependencies: - '@storybook/global': 5.0.0 - storybook: 8.6.12 - - '@storybook/addon-measure@8.6.12(storybook@8.6.12)': - dependencies: - '@storybook/global': 5.0.0 - storybook: 8.6.12 - tiny-invariant: 1.3.3 - - '@storybook/addon-onboarding@8.6.12(storybook@8.6.12)': - dependencies: - storybook: 8.6.12 - - '@storybook/addon-outline@8.6.12(storybook@8.6.12)': - dependencies: - '@storybook/global': 5.0.0 - storybook: 8.6.12 - ts-dedent: 2.2.0 - - '@storybook/addon-toolbars@8.6.12(storybook@8.6.12)': - dependencies: - storybook: 8.6.12 - - '@storybook/addon-viewport@8.6.12(storybook@8.6.12)': - dependencies: - memoizerific: 1.11.3 - storybook: 8.6.12 - - '@storybook/blocks@8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12)': - dependencies: - '@storybook/icons': 1.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - storybook: 8.6.12 - ts-dedent: 2.2.0 - optionalDependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - - '@storybook/builder-vite@8.6.12(storybook@8.6.12)(vite@6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0))': - dependencies: - '@storybook/csf-plugin': 8.6.12(storybook@8.6.12) - browser-assert: 1.2.1 - storybook: 8.6.12 - ts-dedent: 2.2.0 - vite: 6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0) - - '@storybook/builder-webpack5@8.6.12(esbuild@0.25.3)(storybook@8.6.12)(typescript@5.8.3)': - dependencies: - '@storybook/core-webpack': 8.6.12(storybook@8.6.12) - '@types/semver': 7.7.0 - browser-assert: 1.2.1 - case-sensitive-paths-webpack-plugin: 2.4.0 - cjs-module-lexer: 1.4.3 - constants-browserify: 1.0.0 - css-loader: 6.11.0(webpack@5.99.7(esbuild@0.25.3)) - es-module-lexer: 1.7.0 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.99.7(esbuild@0.25.3)) - html-webpack-plugin: 5.6.3(webpack@5.99.7(esbuild@0.25.3)) - magic-string: 0.30.17 - path-browserify: 1.0.1 - process: 0.11.10 - semver: 7.7.1 - storybook: 8.6.12 - style-loader: 3.3.4(webpack@5.99.7(esbuild@0.25.3)) - terser-webpack-plugin: 5.3.14(esbuild@0.25.3)(webpack@5.99.7(esbuild@0.25.3)) - ts-dedent: 2.2.0 - url: 0.11.4 - util: 0.12.5 - util-deprecate: 1.0.2 - webpack: 5.99.7(esbuild@0.25.3) - webpack-dev-middleware: 6.1.3(webpack@5.99.7(esbuild@0.25.3)) - webpack-hot-middleware: 2.26.1 - webpack-virtual-modules: 0.6.2 - optionalDependencies: - typescript: 5.8.3 - transitivePeerDependencies: - - '@rspack/core' - - '@swc/core' - - esbuild - - uglify-js - - webpack-cli - - '@storybook/components@8.6.12(storybook@8.6.12)': - dependencies: - storybook: 8.6.12 - - '@storybook/core-webpack@8.6.12(storybook@8.6.12)': - dependencies: - storybook: 8.6.12 - ts-dedent: 2.2.0 - - '@storybook/core@8.6.12(storybook@8.6.12)': - dependencies: - '@storybook/theming': 8.6.12(storybook@8.6.12) - better-opn: 3.0.2 - browser-assert: 1.2.1 - esbuild: 0.25.3 - esbuild-register: 3.6.0(esbuild@0.25.3) - jsdoc-type-pratt-parser: 4.1.0 - process: 0.11.10 - recast: 0.23.11 - semver: 7.7.1 - util: 0.12.5 - ws: 8.18.1 - transitivePeerDependencies: - - bufferutil - - storybook - - supports-color - - utf-8-validate - - '@storybook/csf-plugin@8.6.12(storybook@8.6.12)': - dependencies: - storybook: 8.6.12 - unplugin: 1.16.1 - - '@storybook/csf@0.1.13': - dependencies: - type-fest: 2.19.0 - - '@storybook/experimental-addon-test@8.6.12(@vitest/browser@3.1.2)(@vitest/runner@3.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12)(vitest@3.1.2)': - dependencies: - '@storybook/global': 5.0.0 - '@storybook/icons': 1.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@storybook/instrumenter': 8.6.12(storybook@8.6.12) - '@storybook/test': 8.6.12(storybook@8.6.12) - polished: 4.3.1 - prompts: 2.4.2 - storybook: 8.6.12 - ts-dedent: 2.2.0 - optionalDependencies: - '@vitest/browser': 3.1.2(playwright@1.52.0)(vite@6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0))(vitest@3.1.2) - '@vitest/runner': 3.1.2 - vitest: 3.1.2(@types/node@20.17.30)(@vitest/browser@3.1.2)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0) - transitivePeerDependencies: - - react - - react-dom - - '@storybook/experimental-nextjs-vite@8.6.12(@babel/core@7.26.10)(@storybook/test@8.6.12(storybook@8.6.12))(next@15.3.1(@babel/core@7.26.10)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.40.0)(storybook@8.6.12)(typescript@5.8.3)(vite@6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0))': - dependencies: - '@storybook/builder-vite': 8.6.12(storybook@8.6.12)(vite@6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)) - '@storybook/react': 8.6.12(@storybook/test@8.6.12(storybook@8.6.12))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12)(typescript@5.8.3) - '@storybook/react-vite': 8.6.12(@storybook/test@8.6.12(storybook@8.6.12))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.40.0)(storybook@8.6.12)(typescript@5.8.3)(vite@6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)) - '@storybook/test': 8.6.12(storybook@8.6.12) - next: 15.3.1(@babel/core@7.26.10)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - storybook: 8.6.12 - styled-jsx: 5.1.6(@babel/core@7.26.10)(react@19.1.0) - vite: 6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0) - vite-plugin-storybook-nextjs: 1.1.5(@storybook/test@8.6.12(storybook@8.6.12))(next@15.3.1(@babel/core@7.26.10)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(storybook@8.6.12)(vite@6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)) - optionalDependencies: - sharp: 0.33.5 - typescript: 5.8.3 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - - rollup - - supports-color - - '@storybook/global@5.0.0': {} - - '@storybook/icons@1.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - - '@storybook/instrumenter@8.6.12(storybook@8.6.12)': - dependencies: - '@storybook/global': 5.0.0 - '@vitest/utils': 2.1.9 - storybook: 8.6.12 - - '@storybook/manager-api@8.6.12(storybook@8.6.12)': - dependencies: - storybook: 8.6.12 - - '@storybook/nextjs@8.6.12(esbuild@0.25.3)(next@15.3.1(@babel/core@7.26.10)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12)(type-fest@2.19.0)(typescript@5.8.3)(webpack-hot-middleware@2.26.1)(webpack@5.99.7(esbuild@0.25.3))': - dependencies: - '@babel/core': 7.26.10 - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.10) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.10) - '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.10) - '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.10) - '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.10) - '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.10) - '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.10) - '@babel/plugin-transform-runtime': 7.26.10(@babel/core@7.26.10) - '@babel/preset-env': 7.26.9(@babel/core@7.26.10) - '@babel/preset-react': 7.26.3(@babel/core@7.26.10) - '@babel/preset-typescript': 7.27.0(@babel/core@7.26.10) - '@babel/runtime': 7.27.0 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.16(react-refresh@0.14.2)(type-fest@2.19.0)(webpack-hot-middleware@2.26.1)(webpack@5.99.7(esbuild@0.25.3)) - '@storybook/builder-webpack5': 8.6.12(esbuild@0.25.3)(storybook@8.6.12)(typescript@5.8.3) - '@storybook/preset-react-webpack': 8.6.12(@storybook/test@8.6.12(storybook@8.6.12))(esbuild@0.25.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12)(typescript@5.8.3) - '@storybook/react': 8.6.12(@storybook/test@8.6.12(storybook@8.6.12))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12)(typescript@5.8.3) - '@storybook/test': 8.6.12(storybook@8.6.12) - '@types/semver': 7.7.0 - babel-loader: 9.2.1(@babel/core@7.26.10)(webpack@5.99.7(esbuild@0.25.3)) - css-loader: 6.11.0(webpack@5.99.7(esbuild@0.25.3)) - find-up: 5.0.0 - image-size: 1.2.1 - loader-utils: 3.3.1 - next: 15.3.1(@babel/core@7.26.10)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - node-polyfill-webpack-plugin: 2.0.1(webpack@5.99.7(esbuild@0.25.3)) - pnp-webpack-plugin: 1.7.0(typescript@5.8.3) - postcss: 8.5.3 - postcss-loader: 8.1.1(postcss@8.5.3)(typescript@5.8.3)(webpack@5.99.7(esbuild@0.25.3)) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - react-refresh: 0.14.2 - resolve-url-loader: 5.0.0 - sass-loader: 14.2.1(webpack@5.99.7(esbuild@0.25.3)) - semver: 7.7.1 - storybook: 8.6.12 - style-loader: 3.3.4(webpack@5.99.7(esbuild@0.25.3)) - styled-jsx: 5.1.6(@babel/core@7.26.10)(react@19.1.0) - ts-dedent: 2.2.0 - tsconfig-paths: 4.2.0 - tsconfig-paths-webpack-plugin: 4.2.0 - optionalDependencies: - sharp: 0.33.5 - typescript: 5.8.3 - webpack: 5.99.7(esbuild@0.25.3) - transitivePeerDependencies: - - '@rspack/core' - - '@swc/core' - - '@types/webpack' - - babel-plugin-macros - - esbuild - - node-sass - - sass - - sass-embedded - - sockjs-client - - supports-color - - type-fest - - uglify-js - - webpack-cli - - webpack-dev-server - - webpack-hot-middleware - - webpack-plugin-serve - - '@storybook/preset-react-webpack@8.6.12(@storybook/test@8.6.12(storybook@8.6.12))(esbuild@0.25.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12)(typescript@5.8.3)': - dependencies: - '@storybook/core-webpack': 8.6.12(storybook@8.6.12) - '@storybook/react': 8.6.12(@storybook/test@8.6.12(storybook@8.6.12))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12)(typescript@5.8.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.99.7(esbuild@0.25.3)) - '@types/semver': 7.7.0 - find-up: 5.0.0 - magic-string: 0.30.17 - react: 19.1.0 - react-docgen: 7.1.1 - react-dom: 19.1.0(react@19.1.0) - resolve: 1.22.10 - semver: 7.7.1 - storybook: 8.6.12 - tsconfig-paths: 4.2.0 - webpack: 5.99.7(esbuild@0.25.3) - optionalDependencies: - typescript: 5.8.3 - transitivePeerDependencies: - - '@storybook/test' - - '@swc/core' - - esbuild - - supports-color - - uglify-js - - webpack-cli - - '@storybook/preview-api@8.6.12(storybook@8.6.12)': - dependencies: - storybook: 8.6.12 - - '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.99.7(esbuild@0.25.3))': - dependencies: - debug: 4.4.0 - endent: 2.1.0 - find-cache-dir: 3.3.2 - flat-cache: 3.2.0 - micromatch: 4.0.8 - react-docgen-typescript: 2.2.2(typescript@5.8.3) - tslib: 2.8.1 - typescript: 5.8.3 - webpack: 5.99.7(esbuild@0.25.3) - transitivePeerDependencies: - - supports-color - - '@storybook/react-dom-shim@8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12)': - dependencies: - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - storybook: 8.6.12 - - '@storybook/react-vite@8.6.12(@storybook/test@8.6.12(storybook@8.6.12))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.40.0)(storybook@8.6.12)(typescript@5.8.3)(vite@6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0))': - dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.5.0(typescript@5.8.3)(vite@6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)) - '@rollup/pluginutils': 5.1.4(rollup@4.40.0) - '@storybook/builder-vite': 8.6.12(storybook@8.6.12)(vite@6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)) - '@storybook/react': 8.6.12(@storybook/test@8.6.12(storybook@8.6.12))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12)(typescript@5.8.3) - find-up: 5.0.0 - magic-string: 0.30.17 - react: 19.1.0 - react-docgen: 7.1.1 - react-dom: 19.1.0(react@19.1.0) - resolve: 1.22.10 - storybook: 8.6.12 - tsconfig-paths: 4.2.0 - vite: 6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0) - optionalDependencies: - '@storybook/test': 8.6.12(storybook@8.6.12) - transitivePeerDependencies: - - rollup - - supports-color - - typescript - - '@storybook/react@8.6.12(@storybook/test@8.6.12(storybook@8.6.12))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12)(typescript@5.8.3)': - dependencies: - '@storybook/components': 8.6.12(storybook@8.6.12) - '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.6.12(storybook@8.6.12) - '@storybook/preview-api': 8.6.12(storybook@8.6.12) - '@storybook/react-dom-shim': 8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12) - '@storybook/theming': 8.6.12(storybook@8.6.12) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - storybook: 8.6.12 - optionalDependencies: - '@storybook/test': 8.6.12(storybook@8.6.12) - typescript: 5.8.3 - - '@storybook/test@8.6.12(storybook@8.6.12)': - dependencies: - '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.6.12(storybook@8.6.12) - '@testing-library/dom': 10.4.0 - '@testing-library/jest-dom': 6.5.0 - '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) - '@vitest/expect': 2.0.5 - '@vitest/spy': 2.0.5 - storybook: 8.6.12 - - '@storybook/theming@8.6.12(storybook@8.6.12)': - dependencies: - storybook: 8.6.12 - '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.26.10)': dependencies: '@babel/core': 7.26.10 @@ -7906,8 +7138,6 @@ snapshots: '@types/lodash@4.17.17': {} - '@types/mdx@2.0.13': {} - '@types/navermaps@3.7.9': dependencies: '@types/geojson': 7946.0.16 @@ -7941,8 +7171,6 @@ snapshots: '@types/semver@7.7.0': {} - '@types/uuid@9.0.8': {} - '@typescript-eslint/eslint-plugin@8.30.1(@typescript-eslint/parser@8.30.1(eslint@9.25.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.25.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 @@ -8638,8 +7866,6 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chromatic@11.28.2: {} - chrome-trace-event@1.0.4: {} cipher-base@1.0.6: @@ -9294,16 +8520,6 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-storybook@0.12.0(eslint@9.25.0(jiti@2.4.2))(typescript@5.8.3): - dependencies: - '@storybook/csf': 0.1.13 - '@typescript-eslint/utils': 8.30.1(eslint@9.25.0(jiti@2.4.2))(typescript@5.8.3) - eslint: 9.25.0(jiti@2.4.2) - ts-dedent: 2.2.0 - transitivePeerDependencies: - - supports-color - - typescript - eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 @@ -9443,8 +8659,6 @@ snapshots: dependencies: flat-cache: 4.0.1 - filesize@10.1.6: {} - fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -10157,8 +9371,6 @@ snapshots: dependencies: p-defer: 1.0.0 - map-or-similar@1.5.0: {} - math-intrinsics@1.1.0: {} md5.js@1.3.5: @@ -10180,10 +9392,6 @@ snapshots: dependencies: fs-monkey: 1.0.6 - memoizerific@1.11.3: - dependencies: - map-or-similar: 1.5.0 - merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -10663,11 +9871,6 @@ snapshots: optionalDependencies: '@types/react': 19.1.2 - react-confetti@6.4.0(react@19.1.0): - dependencies: - react: 19.1.0 - tween-functions: 1.2.0 - react-datepicker@8.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@floating-ui/react': 0.27.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -11121,14 +10324,6 @@ snapshots: std-env@3.9.0: {} - storybook@8.6.12: - dependencies: - '@storybook/core': 8.6.12(storybook@8.6.12) - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - stream-browserify@3.0.0: dependencies: inherits: 2.0.4 @@ -11359,8 +10554,6 @@ snapshots: tty-browserify@0.0.1: {} - tween-functions@1.2.0: {} - type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -11484,8 +10677,6 @@ snapshots: uuid@11.1.0: {} - uuid@9.0.1: {} - vite-node@3.1.2(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0): dependencies: cac: 6.7.14 @@ -11507,18 +10698,6 @@ snapshots: - tsx - yaml - vite-plugin-storybook-nextjs@1.1.5(@storybook/test@8.6.12(storybook@8.6.12))(next@15.3.1(@babel/core@7.26.10)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(storybook@8.6.12)(vite@6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)): - dependencies: - '@next/env': 15.3.1 - '@storybook/test': 8.6.12(storybook@8.6.12) - image-size: 2.0.2 - magic-string: 0.30.17 - module-alias: 2.2.3 - next: 15.3.1(@babel/core@7.26.10)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - storybook: 8.6.12 - ts-dedent: 2.2.0 - vite: 6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0) - vite@6.3.3(@types/node@20.17.30)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0): dependencies: esbuild: 0.25.3 diff --git a/src/apis/plan.ts b/src/apis/plan.ts index 86039a4..7f954d1 100644 --- a/src/apis/plan.ts +++ b/src/apis/plan.ts @@ -36,7 +36,7 @@ export const getPlansRequest = async ({ before, after, year, month }: { before?: // 장소 추천받아 플랜 생성 export const planRecommendRequest = async (Plan: PlanType) => { - const response = await axiosInstance.post(`/proxy/api/places`, { + const response = await axiosInstance.post(`${process.env.NEXT_PUBLIC_DOMAIN}/api/places`, { title: Plan.title, startDate: Plan.startDate, endDate: Plan.endDate, diff --git a/src/app/(afterLogin)/[planId]/page.tsx b/src/app/(afterLogin)/[planId]/page.tsx index fdf79c0..034e662 100644 --- a/src/app/(afterLogin)/[planId]/page.tsx +++ b/src/app/(afterLogin)/[planId]/page.tsx @@ -18,11 +18,13 @@ import usePageAnimateRouter from "@/hooks/common/usePageAnimateRouter"; import usePageStore from "@/stores/usePageStore"; import { ErrorResponse } from "@/types/error/type"; import TagButton from "@/components/common/TagButton"; +import useInitPage from "@/hooks/common/useInitPage"; const PlanPage = () => { const { authorEmail, + title, tags, isInfoPending, } = usePlanStore(); @@ -126,6 +128,8 @@ const PlanPage = () => { } }, [isCollaborator, collabError]) + useInitPage(title); + return ( {!isPagePending && !isInfoPending && !isCollabPending && diff --git a/src/app/(afterLogin)/layout.tsx b/src/app/(afterLogin)/layout.tsx index 509b6f5..8d386c1 100644 --- a/src/app/(afterLogin)/layout.tsx +++ b/src/app/(afterLogin)/layout.tsx @@ -1,5 +1,6 @@ 'use client' +import useInitPage from "@/hooks/common/useInitPage"; import usePageAnimateRouter from "@/hooks/common/usePageAnimateRouter"; import usePageStore from "@/stores/usePageStore"; import useUserStore from "@/stores/useUserStore"; @@ -23,6 +24,8 @@ export default function AfterLoginLayout({ children }: { children: React.ReactNo } }, [isLoggedIn, isPagePending]) + useInitPage("마이페이지"); + return ( <> {children} diff --git a/src/app/(afterLogin)/mypage/page.tsx b/src/app/(afterLogin)/mypage/page.tsx index 7738b55..5eb749c 100644 --- a/src/app/(afterLogin)/mypage/page.tsx +++ b/src/app/(afterLogin)/mypage/page.tsx @@ -3,6 +3,7 @@ import { logOutRequest } from "@/apis/user"; import Motion from "@/components/motion/Motion"; import PlanList from "@/components/mypage/PlanList"; +import useInitPage from "@/hooks/common/useInitPage"; import usePageAnimateRouter from "@/hooks/common/usePageAnimateRouter"; import usePageStore from "@/stores/usePageStore"; import useUserStore from "@/stores/useUserStore"; @@ -27,6 +28,8 @@ export default function Mypage() { setUser(null) pageAnimateRouter.replace('/') } + + useInitPage("마이페이지"); return ( diff --git a/src/app/page.tsx b/src/app/page.tsx index 18317b6..b31b053 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -15,6 +15,7 @@ import { useEffect, useState } from "react"; import { useMutation } from "@tanstack/react-query"; import LoadingModal from "@/components/home/LodingModal"; import { isAxiosError } from "axios"; +import useInitPage from "@/hooks/common/useInitPage"; export default function Home() { @@ -75,6 +76,8 @@ export default function Home() { } }) + useInitPage(null); + return ( {!isPagePending && diff --git a/src/app/providers.tsx b/src/app/providers.tsx index f713701..bcd2176 100644 --- a/src/app/providers.tsx +++ b/src/app/providers.tsx @@ -4,29 +4,19 @@ import NoticeModal from "@/components/common/NoticeModal"; import Header from "@/components/layout/Header"; import Sidebar from "@/components/layout/Sidebar"; import Motion from "@/components/motion/Motion"; -import useInitPage from "@/hooks/common/useInitPage"; import usePageStore from "@/stores/usePageStore"; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; import { AnimatePresence } from "framer-motion"; -import { usePathname } from "next/navigation"; -import { useEffect } from "react"; import { HashLoader } from "react-spinners"; export default function Providers({ children }: { children: React.ReactNode }) { const queryClient = new QueryClient(); - const pathName = usePathname(); - const { isPagePending } = usePageStore(); - useEffect(() => { - }, [pathName]) - - useInitPage(null); - return (
diff --git a/src/components/common/TagButton.tsx b/src/components/common/TagButton.tsx index d5fe37d..ab5185a 100644 --- a/src/components/common/TagButton.tsx +++ b/src/components/common/TagButton.tsx @@ -99,8 +99,6 @@ const TagButton: React.FC = ({ ) })} - - {isHover && isHome && (!isEditing ? ( {isMobile ? (dayDiff ? `${dayDiff}박 ${dayDiff+1}일` : label) : (value || label)}

+ }} ref={pRef} className={`mt-0.5 transition-all-300-out flex justify-center items-center`}>{isMobile ? (dayDiff ? `${dayDiff - 1}박 ${dayDiff}일` : label) : (value || label)}

); } diff --git a/src/components/date-picker/CustomDatePicker.tsx b/src/components/date-picker/CustomDatePicker.tsx index 36e0f74..4985229 100644 --- a/src/components/date-picker/CustomDatePicker.tsx +++ b/src/components/date-picker/CustomDatePicker.tsx @@ -20,8 +20,6 @@ const CustomDatePicker = () => { setEndDate(end); } - - return (
{
)}> - {/*
*/}
) diff --git a/src/components/layout/Header.tsx b/src/components/layout/Header.tsx index 16596eb..705972e 100644 --- a/src/components/layout/Header.tsx +++ b/src/components/layout/Header.tsx @@ -71,9 +71,10 @@ const Header = () => { {isLoggedIn !== null ? ( - + {(user ? ( user.profileImageUrl as string} className={`lg:w-10 w-8 cursor-pointer rounded-full object-cover aspect-square`} src={user.profileImageUrl as string} width={1000} diff --git a/src/components/plan/map/SearchHeader.tsx b/src/components/plan/map/SearchHeader.tsx index 15de6ef..dd8e1e4 100644 --- a/src/components/plan/map/SearchHeader.tsx +++ b/src/components/plan/map/SearchHeader.tsx @@ -30,11 +30,8 @@ const SearchHeader = () => { try { const results = await google.maps.places.Place.searchByText(request); - console.log(results.places) const convertedPlaces = results?.places?.map(place => convertToPlaceType(place)).filter(Boolean); - console.log(convertedPlaces) - setPlaces('searchList', convertedPlaces) const firstPlaceLocation = results?.places?.[0].location; diff --git a/src/hooks/common/useInitPage.ts b/src/hooks/common/useInitPage.ts index 44bf6f4..bcecec4 100644 --- a/src/hooks/common/useInitPage.ts +++ b/src/hooks/common/useInitPage.ts @@ -1,23 +1,17 @@ import usePageStore from "@/stores/usePageStore"; -import { usePathname } from "next/navigation"; import { useEffect } from "react"; const useInitPage = (title: string | null) => { - const pathName = usePathname(); - const { setIsPagePending, setPageTitle, } = usePageStore(); - useEffect(() => { - setIsPagePending(false); - }, [pathName]) - useEffect(() => { setPageTitle(title); - }, [pathName, title]) + setIsPagePending(false); + }, []) } export default useInitPage; \ No newline at end of file diff --git a/src/hooks/common/usePageAnimateRouter.ts b/src/hooks/common/usePageAnimateRouter.ts index c6bd06d..0fe3cd7 100644 --- a/src/hooks/common/usePageAnimateRouter.ts +++ b/src/hooks/common/usePageAnimateRouter.ts @@ -1,5 +1,6 @@ import usePageStore from "@/stores/usePageStore"; import { usePathname, useRouter } from "next/navigation"; +import { useEffect } from "react"; const usePageAnimateRouter = () => { @@ -8,10 +9,12 @@ const usePageAnimateRouter = () => { const { setIsPagePending, + setPageTitle, } = usePageStore(); const push = (url: string) => { if (pathName !== url){ + setPageTitle(null) setIsPagePending(true) setTimeout(() => { router.push(url) @@ -28,6 +31,10 @@ const usePageAnimateRouter = () => { } } + useEffect(() => { + setIsPagePending(false); + }, [pathName]) + return { push, replace } } diff --git a/src/hooks/schedule/useAddScheduleBox.ts b/src/hooks/schedule/useAddScheduleBox.ts index 6507c5d..cfb5526 100644 --- a/src/hooks/schedule/useAddScheduleBox.ts +++ b/src/hooks/schedule/useAddScheduleBox.ts @@ -13,7 +13,6 @@ export const useAddScheduleBox = (day: number, layout: CustomLayout[], setLayout const x = Math.max(Math.floor(offsetX / colWidth), 0); const y = Math.min(Math.max(Math.floor((offsetY - 10) / (SCHEDULE_HEIGHT + 20)), 0), day-1); - console.log(x, y) const isOccupied = layout.some(item => ( diff --git a/src/stories/assets/accessibility.png b/src/stories/assets/accessibility.png deleted file mode 100644 index 6ffe6fe..0000000 Binary files a/src/stories/assets/accessibility.png and /dev/null differ diff --git a/src/stories/assets/accessibility.svg b/src/stories/assets/accessibility.svg deleted file mode 100644 index 107e93f..0000000 --- a/src/stories/assets/accessibility.svg +++ /dev/null @@ -1 +0,0 @@ -Accessibility \ No newline at end of file diff --git a/src/stories/assets/addon-library.png b/src/stories/assets/addon-library.png deleted file mode 100644 index 95deb38..0000000 Binary files a/src/stories/assets/addon-library.png and /dev/null differ diff --git a/src/stories/assets/assets.png b/src/stories/assets/assets.png deleted file mode 100644 index cfba681..0000000 Binary files a/src/stories/assets/assets.png and /dev/null differ diff --git a/src/stories/assets/avif-test-image.avif b/src/stories/assets/avif-test-image.avif deleted file mode 100644 index 530709b..0000000 Binary files a/src/stories/assets/avif-test-image.avif and /dev/null differ diff --git a/src/stories/assets/context.png b/src/stories/assets/context.png deleted file mode 100644 index e5cd249..0000000 Binary files a/src/stories/assets/context.png and /dev/null differ diff --git a/src/stories/assets/discord.svg b/src/stories/assets/discord.svg deleted file mode 100644 index d638958..0000000 --- a/src/stories/assets/discord.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/stories/assets/docs.png b/src/stories/assets/docs.png deleted file mode 100644 index a749629..0000000 Binary files a/src/stories/assets/docs.png and /dev/null differ diff --git a/src/stories/assets/figma-plugin.png b/src/stories/assets/figma-plugin.png deleted file mode 100644 index 8f79b08..0000000 Binary files a/src/stories/assets/figma-plugin.png and /dev/null differ diff --git a/src/stories/assets/github.svg b/src/stories/assets/github.svg deleted file mode 100644 index dc51352..0000000 --- a/src/stories/assets/github.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/stories/assets/share.png b/src/stories/assets/share.png deleted file mode 100644 index 8097a37..0000000 Binary files a/src/stories/assets/share.png and /dev/null differ diff --git a/src/stories/assets/styling.png b/src/stories/assets/styling.png deleted file mode 100644 index d341e82..0000000 Binary files a/src/stories/assets/styling.png and /dev/null differ diff --git a/src/stories/assets/testing.png b/src/stories/assets/testing.png deleted file mode 100644 index d4ac39a..0000000 Binary files a/src/stories/assets/testing.png and /dev/null differ diff --git a/src/stories/assets/theming.png b/src/stories/assets/theming.png deleted file mode 100644 index 1535eb9..0000000 Binary files a/src/stories/assets/theming.png and /dev/null differ diff --git a/src/stories/assets/tutorials.svg b/src/stories/assets/tutorials.svg deleted file mode 100644 index b492a9c..0000000 --- a/src/stories/assets/tutorials.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/stories/assets/youtube.svg b/src/stories/assets/youtube.svg deleted file mode 100644 index a7515d7..0000000 --- a/src/stories/assets/youtube.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/stories/calandar/Calandar.stories.ts b/src/stories/calandar/Calandar.stories.ts deleted file mode 100644 index 8e30903..0000000 --- a/src/stories/calandar/Calandar.stories.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react'; - -import CustomCalendar from '@/components/calandar/CustomCalendar'; - -const meta = { - title: 'Calandar/Calandar', - component: CustomCalendar, - tags: ['autodocs'], - parameters: { - }, -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -export const Share: Story = { -}; \ No newline at end of file diff --git a/src/stories/ex/Button.stories.ts b/src/stories/ex/Button.stories.ts deleted file mode 100644 index 2a05e01..0000000 --- a/src/stories/ex/Button.stories.ts +++ /dev/null @@ -1,53 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react'; -import { fn } from '@storybook/test'; - -import { Button } from './Button'; - -// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export -const meta = { - title: 'Example/Button', - component: Button, - parameters: { - // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout - layout: 'centered', - }, - // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs - tags: ['autodocs'], - // More on argTypes: https://storybook.js.org/docs/api/argtypes - argTypes: { - backgroundColor: { control: 'color' }, - }, - // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args - args: { onClick: fn() }, -} satisfies Meta; - -export default meta; -type Story = StoryObj; - -// More on writing stories with args: https://storybook.js.org/docs/writing-stories/args -export const Primary: Story = { - args: { - primary: true, - label: 'Button', - }, -}; - -export const Secondary: Story = { - args: { - label: 'Button', - }, -}; - -export const Large: Story = { - args: { - size: 'large', - label: 'Button', - }, -}; - -export const Small: Story = { - args: { - size: 'small', - label: 'Button', - }, -}; diff --git a/src/stories/ex/Button.tsx b/src/stories/ex/Button.tsx deleted file mode 100644 index 25c0c38..0000000 --- a/src/stories/ex/Button.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import React from 'react'; - -import './button.css'; - -export interface ButtonProps { - /** Is this the principal call to action on the page? */ - primary?: boolean; - /** What background color to use */ - backgroundColor?: string; - /** How large should the button be? */ - size?: 'small' | 'medium' | 'large'; - /** Button contents */ - label: string; - /** Optional click handler */ - onClick?: () => void; -} - -/** Primary UI component for user interaction */ -export const Button = ({ - primary = false, - size = 'medium', - backgroundColor, - label, - ...props -}: ButtonProps) => { - const mode = primary ? 'storybook-button--primary' : 'storybook-button--secondary'; - return ( - - ); -}; diff --git a/src/stories/ex/button.css b/src/stories/ex/button.css deleted file mode 100644 index 4e3620b..0000000 --- a/src/stories/ex/button.css +++ /dev/null @@ -1,30 +0,0 @@ -.storybook-button { - display: inline-block; - cursor: pointer; - border: 0; - border-radius: 3em; - font-weight: 700; - line-height: 1; - font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; -} -.storybook-button--primary { - background-color: #555ab9; - color: white; -} -.storybook-button--secondary { - box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset; - background-color: transparent; - color: #333; -} -.storybook-button--small { - padding: 10px 16px; - font-size: 12px; -} -.storybook-button--medium { - padding: 11px 20px; - font-size: 14px; -} -.storybook-button--large { - padding: 12px 24px; - font-size: 16px; -} diff --git a/vitest.config.ts b/vitest.config.ts index f1e7628..a4b4dba 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,35 +1,5 @@ import path from 'node:path'; import { fileURLToPath } from 'node:url'; -import { defineConfig } from 'vitest/config'; - -import { storybookTest } from '@storybook/experimental-addon-test/vitest-plugin'; - const dirname = typeof __dirname !== 'undefined' ? __dirname : path.dirname(fileURLToPath(import.meta.url)); - -// More info at: https://storybook.js.org/docs/writing-tests/test-addon -export default defineConfig({ - test: { - workspace: [ - { - extends: true, - plugins: [ - // The plugin will run tests for the stories defined in your Storybook config - // See options at: https://storybook.js.org/docs/writing-tests/test-addon#storybooktest - storybookTest({ configDir: path.join(dirname, '.storybook') }), - ], - test: { - name: 'storybook', - browser: { - enabled: true, - headless: true, - name: 'chromium', - provider: 'playwright' - }, - setupFiles: ['.storybook/vitest.setup.ts'], - }, - }, - ], - }, -});