Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
12c08e5
refactor: common 컴포넌트를 폴더 단위로 재구성
KyeongJooni Jul 5, 2026
a7a70a6
refactor: introductions 컴포넌트를 폴더 단위로 재구성
KyeongJooni Jul 5, 2026
5801475
refactor: projects 컴포넌트를 폴더 단위로 재구성
KyeongJooni Jul 5, 2026
b78b2b2
refactor: gen-index.ts를 재귀 구조로 변경
KyeongJooni Jul 5, 2026
9d9eca8
feat: 파트너 이미지 박스 컴포넌트 추가
KyeongJooni Jul 5, 2026
f41d9a0
feat: 이미지 업로드 박스 컴포넌트 추가
KyeongJooni Jul 5, 2026
a259249
feat: 이미지 박스 썸네일에 size variant 추가
KyeongJooni Jul 5, 2026
d916fc1
chore: Storybook 설정 및 배포 workflow 추가
KyeongJooni Jul 5, 2026
8fcc6f7
test: common 컴포넌트 스토리 추가
KyeongJooni Jul 5, 2026
e63ca03
test: introductions 컴포넌트 스토리 추가
KyeongJooni Jul 5, 2026
c94b19a
test: projects 컴포넌트 스토리 추가
KyeongJooni Jul 5, 2026
299e698
fix: Tailwind 반경 토큰의 shadcn 잔재 제거
KyeongJooni Jul 5, 2026
930ca1a
style: Button 컴포넌트 주석 간략화
KyeongJooni Jul 5, 2026
d7723ec
chore: 미사용 shadcn 설정 및 placeholder 파일 제거
KyeongJooni Jul 5, 2026
dacb60a
docs: tv.ts, utils.ts 주석 한국어로 정리
KyeongJooni Jul 5, 2026
2d8653b
chore: .agents 디렉터리 gitignore 처리
KyeongJooni Jul 5, 2026
ae41cda
fix: Storybook 배포 workflow의 checkout 자격증명 유지 방지
KyeongJooni Jul 5, 2026
37007f0
fix: 파트너 이미지 박스 hover 오버레이 키보드 접근성 수정
KyeongJooni Jul 5, 2026
527d217
refactor: 이미지 파일 입력 로직을 공용 훅으로 분리
KyeongJooni Jul 6, 2026
83c2918
test: 파트너 이미지 박스, 이미지 업로드 박스 유닛 테스트 추가
KyeongJooni Jul 6, 2026
96e618e
fix: 숨긴 파일 input이 Tab 순서에 남지 않도록 수정
KyeongJooni Jul 6, 2026
e4be435
Merge remote-tracking branch 'origin/main' into feat/image-box-compon…
KyeongJooni Jul 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions .github/workflows/deploy-storybook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Deploy Storybook

on:
push:
branches:
- main

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: 'pages'
cancel-in-progress: true

jobs:
build-and-deploy:
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Checkout code
uses: actions/checkout@v4
Comment thread
coderabbitai[bot] marked this conversation as resolved.
with:
persist-credentials: false

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10
run_install: false

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build Storybook
run: pnpm build-storybook
env:
STORYBOOK_BASE_PATH: /makers-admin-fe/

- name: Setup Pages
uses: actions/configure-pages@v4

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: storybook-static

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
30 changes: 30 additions & 0 deletions .storybook/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import path from 'path'
import { fileURLToPath } from 'node:url'
import tailwindcss from '@tailwindcss/vite'
import type { StorybookConfig } from '@storybook/react-vite'

const dirname = path.dirname(fileURLToPath(import.meta.url))

const config: StorybookConfig = {
stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
addons: ['@storybook/addon-a11y', '@storybook/addon-docs'],
framework: '@storybook/react-vite',
viteFinal: (viteConfig) => {
viteConfig.plugins ??= []
viteConfig.plugins.push(tailwindcss())
viteConfig.resolve ??= {}
viteConfig.resolve.alias = {
'@': path.resolve(dirname, '../src'),
'@api': path.resolve(dirname, '../src/api'),
'@components': path.resolve(dirname, '../src/components'),
'@hooks': path.resolve(dirname, '../src/hooks'),
'@lib': path.resolve(dirname, '../src/lib'),
'@pages': path.resolve(dirname, '../src/pages'),
}
if (process.env.STORYBOOK_BASE_PATH) {
viteConfig.base = process.env.STORYBOOK_BASE_PATH
}
return viteConfig
},
}
export default config
15 changes: 15 additions & 0 deletions .storybook/preview.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import type { Preview } from '@storybook/react-vite'
import '../src/index.css'

const preview: Preview = {
parameters: {
controls: {
matchers: {
color: /(background|color)$/i,
date: /Date$/i,
},
},
},
}

export default preview
25 changes: 0 additions & 25 deletions components.json

This file was deleted.

12 changes: 10 additions & 2 deletions eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@ import jsxA11y from 'eslint-plugin-jsx-a11y'
import tseslint from 'typescript-eslint'
import { defineConfig, globalIgnores } from 'eslint/config'
import prettierConfig from 'eslint-config-prettier'
import storybook from 'eslint-plugin-storybook'

export default defineConfig([
globalIgnores([
'dist',
'build',
'storybook-static',
'node_modules',
'coverage',
'playwright-report',
Expand All @@ -31,7 +33,12 @@ export default defineConfig([
files: ['**/*.{jsx,tsx}'],
},
{
files: ['*.config.{ts,js}', 'e2e/**/*.ts', '.claude/hooks/**/*.mjs'],
files: [
'*.config.{ts,js}',
'e2e/**/*.ts',
'.claude/hooks/**/*.mjs',
'.storybook/**/*.{ts,tsx}',
],
languageOptions: {
globals: {
...globals.node,
Expand All @@ -51,7 +58,7 @@ export default defineConfig([
},
},
{
files: ['src/**/*.{ts,tsx}', 'scripts/**/*.ts'],
files: ['src/**/*.{ts,tsx}', 'scripts/**/*.ts', '.storybook/**/*.{ts,tsx}'],
extends: [...tseslint.configs.strictTypeChecked, ...tseslint.configs.stylisticTypeChecked],
languageOptions: {
globals: {
Expand All @@ -76,4 +83,5 @@ export default defineConfig([
},
},
prettierConfig,
...storybook.configs['flat/recommended'],
])
11 changes: 8 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@
"test": "vitest",
"test:ui": "vitest --ui",
"test:coverage": "vitest run --coverage",
"test:e2e": "playwright test"
"test:e2e": "playwright test",
"storybook": "storybook dev -p 6006",
"build-storybook": "storybook build"
},
"dependencies": {
"@base-ui/react": "^1.4.1",
Expand All @@ -33,10 +35,8 @@
"react-dom": "^19.2.6",
"react-hook-form": "^7.76.0",
"react-router": "^8.1.0",
"shadcn": "^4.7.0",
"tailwind-merge": "^3.6.0",
"tailwind-variants": "^3.2.2",
"tw-animate-css": "^1.4.0",
"zod": "^4.4.3",
"zustand": "^5.0.13"
},
Expand All @@ -45,6 +45,9 @@
"@commitlint/config-conventional": "^21.2.0",
"@eslint/js": "^10.0.1",
"@playwright/test": "^1.60.0",
"@storybook/addon-a11y": "10.4.6",
"@storybook/addon-docs": "10.4.6",
"@storybook/react-vite": "10.4.6",
"@svgr/core": "^8.1.0",
"@svgr/plugin-jsx": "^8.1.0",
"@svgr/plugin-svgo": "^8.1.0",
Expand All @@ -61,12 +64,14 @@
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-react-hooks": "^7.1.1",
"eslint-plugin-react-refresh": "^0.5.2",
"eslint-plugin-storybook": "10.4.6",
"globals": "^17.6.0",
"happy-dom": "^20.9.0",
"husky": "^8.0.0",
"lint-staged": "^16.4.0",
"prettier": "^3.8.3",
"prettier-plugin-tailwindcss": "^0.8.0",
"storybook": "10.4.6",
"tailwindcss": "^4.3.0",
"tsx": "^4.22.4",
"typescript": "~6.0.2",
Expand Down
Loading
Loading