Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
a148941
settings: package-lock.json 업데이트 (#26)
seoyoonyi Mar 28, 2025
dcce800
settings: mockServiceWorker 업데이트 (#26)
seoyoonyi Mar 28, 2025
910a25e
remove: 사용하지 않는 NotFoundLayout 삭제 (#26)
seoyoonyi Mar 28, 2025
e271861
fix: 타입스크립트 빌드 에러 수정 및 @types/node 추가 (#26)
seoyoonyi Mar 28, 2025
b4c1a45
Merge pull request #30 from seoyoonyi/reafactor/layout-#26
seoyoonyi Mar 30, 2025
8ecd54b
feat: Storybook 기본 설정 추가 (#31)
seoyoonyi Apr 2, 2025
3386d22
settings: Storybook 관련 ESLint 설정 추가 (#31)
seoyoonyi Apr 2, 2025
be31346
chore: Chromatic 자동 배포용 GitHub Actions 워크플로우 추가 (#31)
seoyoonyi Apr 2, 2025
384047c
chore: .gitignore에 Storybook 관련 경로 추가 (#31)
seoyoonyi Apr 2, 2025
cbd4839
feat: 기본 테스트용 Storybook 스토리 추가 (#31)
seoyoonyi Apr 2, 2025
47c7f15
fix: import React 제거 (#31)
seoyoonyi Apr 2, 2025
baaf58d
feat: PR에 코멘트를 달기 위한 권한 허용 (#31)
seoyoonyi Apr 2, 2025
408d87d
chore: Chromatic PR 코멘트 설정 추가 (#31)
seoyoonyi Apr 2, 2025
c27ec66
chore: Chromatic용 전체 git 히스토리(fetch-depth: 0) 설정 추가 (#31)
seoyoonyi Apr 2, 2025
9fc7eb2
refactor: chromatic.yml 수정 (#31)
seoyoonyi Apr 10, 2025
6baf051
refactor: 주석제거, 배포주소 메시지 추가 (#31)
seoyoonyi Apr 10, 2025
81e4d54
refactor: PR에서만 Chromatic 댓글 달도록 워크플로우 트리거 수정 (#31)
seoyoonyi Apr 10, 2025
efef78a
Merge pull request #32 from seoyoonyi/feat/stroybook-31
ssuminii Apr 10, 2025
e4e3b08
feat: 버튼 컴포넌트 Playground 스토리북 스토리 추가 (#33)
seoyoonyi Apr 17, 2025
77e3788
remove: 테스트 스토리 제거 (#33)
seoyoonyi Apr 17, 2025
10a561b
Merge pull request #34 from seoyoonyi/feat/button-storybook-#33
ssuminii Apr 17, 2025
d3ef61c
fix: home 랭킹 top5 프로필 이미지 -> 아바타 컴포넌트 적용 (#27)
jizerozz Apr 21, 2025
c5ffa0c
fix: 일간분석, 월간분석 staleTime 추가 (#27)
jizerozz Apr 21, 2025
03eb92d
refactor: 일간분석, 월간분석 데이터 매핑함수 분리 (#27)
jizerozz Apr 21, 2025
6f223f0
refactor: 전략 상태 및 권한 체크 로직 유틸 함수화 (#27)
jizerozz Apr 21, 2025
cfa8a91
fix: user상태 없을 때 에러 처리 제거 (#27)
jizerozz Apr 22, 2025
3d4a74b
feat: 페이지네이션 스토리북 추가 (#37)
jizerozz Apr 22, 2025
edc4bac
Merge pull request #38 from seoyoonyi/feat/story-pagination-#37
jizerozz Apr 22, 2025
f5355f5
fix: meta property 추가 (#27)
jizerozz May 1, 2025
48f9820
refactor: 승률 테이블 RateItem 컴포넌트 분리 (#27)
jizerozz May 1, 2025
87d51a8
refactor: 홈에 쓰이는 이미지 에셋 png -> webp로 변환 적용 (#27)
jizerozz May 1, 2025
22851af
fix: 없는 전략 id로 접근시 404 navigate (#27)
jizerozz May 1, 2025
ade751b
refactor: 조건문 교체 (#27)
jizerozz May 1, 2025
5ad5eee
fix: build error (#27)
jizerozz May 1, 2025
bad5d2e
Merge pull request #39 from seoyoonyi/refactor/chart-#27
jizerozz May 2, 2025
426d7ea
refactor: BaseInput, Input 컴포넌트 계층 구조 개선 (#40)
seoyoonyi Nov 25, 2025
90083ad
feat: TextField 컴포넌트 추가 (#40)
seoyoonyi Nov 25, 2025
ac6b79d
refactor: ProfileInput 새 구조에 맞게 수정 (#40)
seoyoonyi Nov 25, 2025
c55ce74
refactor: Input 컴포넌트에서 search 아이콘 제거 (#40)
seoyoonyi Nov 25, 2025
cf779bf
chore: TextField 불필요한 주석 제거 (#40)
seoyoonyi Nov 25, 2025
d46d1b0
feat: SignIn/SignUp 페이지에 TextField 컴포넌트 적용 (#40)
seoyoonyi Nov 25, 2025
d367745
style: SignUpForm 인증번호 메시지 위치 조정 (#40)
seoyoonyi Nov 25, 2025
fe8ccde
fix: SignUpPage 진입 시 닉네임 상태 초기화 (#40)
seoyoonyi Nov 25, 2025
db382bb
chore: InputTestPage 미사용 변수 제거 (#40)
seoyoonyi Nov 25, 2025
a34e013
Merge pull request #41 from seoyoonyi/fix/refactor-input-to-pure-#40
seoyoonyi Dec 3, 2025
f5d7a4b
fix: 이미지 로딩 실패 시 대체 UI 처리 (#42)
seoyoonyi Sep 8, 2026
5c687e5
feat: 전략 아이콘을 로컬 SVG와 API 유형에 매핑 (#42)
seoyoonyi Sep 8, 2026
b1684b0
fix: 전략 목록·상세·관리자 화면에 로컬 아이콘 적용 (#42)
seoyoonyi Sep 8, 2026
54d68fe
test: 이미지 실패 복구와 API 아이콘 매핑 검증 (#42)
seoyoonyi Sep 8, 2026
64a7a4d
chore: MSW 서비스 워커를 2.15.0으로 갱신
seoyoonyi Sep 8, 2026
a1a318b
fix: 누락된 전략 아이콘 매핑 파일 추가 (#42)
seoyoonyi Sep 8, 2026
a4e8927
Merge pull request #43 from seoyoonyi/fix/image-fallback-#42
seoyoonyi Sep 8, 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
12 changes: 1 addition & 11 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,7 @@ module.exports = {
es2021: true,
node: true,
},
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:react/recommended',
'plugin:react-hooks/recommended',
'plugin:jsx-a11y/recommended',
'plugin:prettier/recommended',
'plugin:import/recommended',
'plugin:import/typescript',
'plugin:@tanstack/query/recommended',
],
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:react/recommended', 'plugin:react-hooks/recommended', 'plugin:jsx-a11y/recommended', 'plugin:prettier/recommended', 'plugin:import/recommended', 'plugin:import/typescript', 'plugin:@tanstack/query/recommended', 'plugin:storybook/recommended'],
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaFeatures: {
Expand Down
27 changes: 27 additions & 0 deletions .github/workflows/chromatic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: 'Chromatic Deployment'

on: pull_request

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 issue (security): workflow에서 GITHUB_TOKENpull-requests: write 권한을 선언하지 않았습니다. 따라서 기본 읽기 전용 토큰을 사용하는 저장소에서는 PR 댓글을 생성하거나 업데이트할 수 없고, Chromatic이 성공하더라도 마지막 단계가 실패합니다.

트리거: 저장소의 workflow 토큰이 기본적으로 읽기 전용 권한을 사용할 때 발생합니다.

권장 수정: 최상위에 permissions: pull-requests: write를 선언하거나 필요한 job 수준 권한을 설정하세요.

Suggested change
on: pull_request
on: pull_request
permissions:
pull-requests: write
Original comment in English

🚨 issue (security): The workflow does not declare pull-requests: write permissions for GITHUB_TOKEN, so repositories using the default read-only token cannot create or update the PR comment and the final step fails despite Chromatic succeeding.

Triggers: When the repository's workflow token defaults to read-only permissions.

Suggested fix: Add a top-level permissions: pull-requests: write declaration, or configure the required job-level permission.

Suggested change
on: pull_request
on: pull_request
permissions:
pull-requests: write


jobs:
chromatic:
name: 'Run Chromatic'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- run: yarn

- uses: chromaui/action@latest
id: chromatic
with:
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
token: ${{ secrets.GITHUB_TOKEN }}

- name: comment PR
uses: thollander/actions-comment-pull-request@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
message: '🚀storybook: ${{ steps.chromatic.outputs.storybookUrl }}'
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,9 @@ dist-ssr
.env.local
# Local Netlify folder
.netlify

# TypeScript build cache
*.tsbuildinfo


*storybook.log
15 changes: 15 additions & 0 deletions .storybook/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import type { StorybookConfig } from '@storybook/react-vite';

const config: StorybookConfig = {
stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
addons: [
'@storybook/addon-essentials',
'@storybook/addon-onboarding',
'@chromatic-com/storybook',
],
framework: {
name: '@storybook/react-vite',
options: {},
},
};
export default config;
14 changes: 14 additions & 0 deletions .storybook/preview.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import type { Preview } from '@storybook/react';

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

export default preview;
4 changes: 4 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
<link rel="mask-icon" href="/src/assets/images/favicon/safari-pinned-tab.svg" color="#0D9488" />
<link rel="manifest" href="/src/assets/images/manifest.json" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta
property="description"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick: 페이지 설명이 표준 name="description" 대신 property="description"으로 선언되어 있습니다. 따라서 브라우저와 검색 크롤러가 이를 문서의 meta description으로 인식하지 못합니다.

권장 수정: 속성을 name="description"으로 변경하세요.

Suggested change
property="description"
name="description"
Original comment in English

nitpick: The page description is declared with property="description" instead of the standard name="description", so browsers and search crawlers do not recognize it as the document meta description.

Suggested fix: Change the attribute to name="description".

Suggested change
property="description"
name="description"

content="트레들리는 체계적이고 효율적인 투자 전략을 제공합니다. 지금 바로 시작해 보세요!"
/>
<title>트레들리 | 체계적인 투자 전략 플랫폼</title>

<meta property="og:title" content="트레들리 | 체계적인 투자 전략 플랫폼" />
Expand Down
Loading
Loading