Commit Graph

203 Commits

Author SHA1 Message Date
2fd2ea33c7 feat(screener): useScreenerMode hook (form|canvas + localStorage) 2026-05-13 21:38:31 +09:00
c60c32b7f2 feat(screener): add canvas layout constants (11 nodes, 16 edges) 2026-05-13 21:35:27 +09:00
ca248891c2 feat(stock): 스크리너 모바일 카드 레이아웃 + 비교 적용
데스크탑은 기존 테이블 유지, <768px에서는 종목별 카드로 전환:
- 카드 헤더: #순위 | 종목명+코드 | 총점
- 비교 모드 ON 시: 순위Δ/점수Δ 두 줄
- 노드 칩 (가로 wrap)
- 진입/손절/익절/위험 2×2 그리드 (라벨 + 원 단위)
- 빠진 종목(OUT)도 카드로 회색 표시

CSS: .screener-mobile-list / .screener-mcard / .screener-result-head /
.screener-warn 추가. useIsMobile 훅으로 분기.
2026-05-13 12:26:16 +09:00
55d2adeaf5 feat(stock): 미리보기 결과 세션 히스토리 + 결과 비교 컬럼
- useScreenerRun: 실행 시마다 previewHistory에 누적 (최대 10, 메모리만 —
  새로고침 시 사라짐, DB 부하 없음). top_ticker/score 요약 포함.
- RunHistoryList: '이번 세션 미리보기'와 '저장된 실행' 두 섹션으로 분리.
  미리보기 항목은 클릭으로 결과 표 로드 + '비교' 버튼으로 비교 대상 지정.
- ResultTable: compareWith prop으로 비교 모드. 순위Δ(▲▼NEW)·점수Δ
  컬럼 추가, 이번엔 빠진 종목은 'OUT'으로 별도 섹션에 회색 표시.
- 헤더에 'vs HH:MM:SS (통과 X)' 라벨로 비교 대상 명시.
2026-05-13 08:16:21 +09:00
6fd70dd802 feat(stock): 스크리너 노드/컬럼 hover 설명 추가
- ScoreChips: 아이콘 제거, 풀 라벨 표시 (외국인/거래량급증/20일모멘텀/
  52주신고가/RS레이팅/이평선정배열/VCP수축). title에 노드 의미 + 70점
  강조 안내.
- ResultTable: 각 컬럼 헤더에 ⓘ 마커 + 의미 hover 설명. 진입/손절/익절
  컬럼명에 '(원)' 명시. 상단에 hover 가이드 한 줄 추가.
2026-05-13 07:52:14 +09:00
e6659a416a style(stock): 스크리너 모바일 적층 + 표 가로 스크롤 2026-05-12 14:23:16 +09:00
3abd46c0fd docs(stock): CLAUDE.md 스크리너 API 표 추가 + Stock 페이지 링크 2026-05-12 14:22:18 +09:00
c42d3fe8d4 feat(stock): ResultTable 본구현 + ScoreChips (노드 칩 + 70점 강조) 2026-05-12 14:21:05 +09:00
1e8542f6c7 feat(stock): GatePanel 자동 폼 + GlobalControls (TopN/ATR/RR + 3버튼) 2026-05-12 14:19:36 +09:00
a11475db57 feat(stock): NodeCard 자동 폼 (param_schema 기반) + NodePanel 통합 2026-05-12 14:18:22 +09:00
bc2c020f71 feat(stock): /stock/screener 페이지 골격 + hooks 4개 + 컴포넌트 stub 6개 2026-05-12 14:15:36 +09:00
cd6072727f feat(stock): /stock/screener 라우트 + 임시 placeholder 2026-05-12 14:13:26 +09:00
a20315ce34 feat(stock): 포트폴리오 현재가에 NXT 시간외 거래 뱃지
백엔드 응답의 price_session에 따라 NXT 프리마켓/애프터마켓 거래 중인
종목에 작은 'NXT' / 'NXT 프리' 뱃지를 표시. 툴팁에 거래 시각 노출.
정규장 마감 후에도 평가금액이 자연스럽게 이어지는 흐름을 시각적으로 보강.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 19:32:26 +09:00
baf34dd7aa feat(lotto): 구매탭 4주 추세 차트(너 vs 큐레이터 평균 일치) 2026-05-11 09:06:54 +09:00
4ef76f6cce feat(lotto): 구매탭에 자동 채점 일치수 배지 + 4등↑ 플래그 2026-05-11 09:05:22 +09:00
0bf1233e96 feat(lotto): 분석탭 → 자료실 라벨 + 첫 진입 모든 패널 접힘 2026-05-11 09:03:10 +09:00
ff7ac48c6b feat(lotto): DecisionCard + BulkPurchaseButton, BriefingTab 단일 화면 재구성 2026-05-11 09:00:59 +09:00
329141c732 feat(lotto): DecisionCard 하위 컴포넌트(Pick/Tier/Toggle/Retro) + 스타일 2026-05-11 08:59:00 +09:00
cd3c538eb7 feat(lotto): useReview 훅 + useBriefing 4계층 정규화 2026-05-11 08:57:14 +09:00
95edc9d232 feat(web-ui): 배치 장르 목록 동적 fetch (POOLS 추가 시 자동 반영) 2026-05-10 23:53:49 +09:00
a80b869878 feat(web-ui): Create 탭 배치 생성 섹션 + BatchProgress 폴링 2026-05-10 19:00:42 +09:00
93d5f49cdb feat(web-ui): PipelineStartModal '원하는 이미지 분위기' 메인 필드로 노출 2026-05-10 16:17:36 +09:00
3f5cd32c77 feat(web-ui): SetupTab visual_defaults 6옵션 확장 2026-05-09 13:36:26 +09:00
120c39a3ef feat(web-ui): PipelineDetailModal + 카드 mini 미리보기 2026-05-09 13:34:54 +09:00
08fce2d4f6 feat(web-ui): PipelineStartModal Mix 입력 라디오 + 고급 옵션 2026-05-09 13:32:23 +09:00
9c12de4593 feat(web-ui): CompileTab '영상 만들기' 버튼 + createPipeline payload 시그니처 2026-05-09 13:30:31 +09:00
53e9938903 fix(web-ui): PipelineStartModal에 initialTrackId 전달 2026-05-07 17:44:00 +09:00
522b7695aa feat(web-ui): YouTube 6 서브탭 + Library 영상 파이프라인 트리거 2026-05-07 17:31:37 +09:00
9ffd7889e7 feat(web-ui): PipelineTab — 진행 중 파이프라인 카드 보드 2026-05-07 17:28:14 +09:00
5bba880c23 feat(web-ui): SetupTab — YouTube 자동화 구성 허브 2026-05-07 17:25:53 +09:00
d38ee553c3 fix(stock): 포트폴리오 카드 모바일 금액 줄바꿈 방지
천만원 단위 이상에서 '원'이 다음 줄로 넘어가던 문제 해결.
값 길이별 폰트 단계 축소(is-fit-sm/xs) + nowrap 적용.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 03:54:20 +09:00
f3b0b2c109 feat(music): YouTube 탭 컴파일 서브탭 추가 (다중 트랙 FFmpeg concat)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 16:58:40 +09:00
4281c1873f feat(music): Create 탭 트랙 제목 직접 입력 추가 2026-05-01 15:49:56 +09:00
8a7b5e8a38 fix(music): setTimeout 정리 + useCallback 폴링 deps
- TrendsTab: useRef로 타이머 ID 추적 후 언마운트 시 clearTimeout 호출 (stale setState 방지)
- VideoProjectsTab: loadProjects를 useCallback으로 감싸고 폴링 useEffect deps에 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 15:13:04 +09:00
08981a292a feat(youtube-tab): MusicStudio YouTube 탭 연결 + CSS + Library 버튼
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 15:08:15 +09:00
ed95f6678f fix(music): TrendsTab 리포트 이력 메타데이터 장르/추천수 표시
리포트 목록 행의 메타 정보를 insights 미리보기에서 장르/추천 개수로 교체.
이제 list 응답에 top_genres·recommended_styles가 포함되므로 클릭 시
장르 차트와 Suno 프롬프트가 정상 표시됨.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 15:03:34 +09:00
1847771ad2 fix(music): TrendsTab 로딩상태·에러피드백·메타데이터 수정
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 15:01:38 +09:00
0f0ca8610d fix(music): TrendsTab 리포트 selected_styles 표시 + created_at 시간 포맷
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 14:56:47 +09:00
3f2fdb095c feat(youtube-tab): TrendsTab 시장 트렌드 서브탭 2026-05-01 14:51:10 +09:00
3e54b2c98d feat(youtube-tab): RevenueTab 수익 추적 서브탭 2026-05-01 14:48:47 +09:00
16b8cc59ae feat(youtube-tab): VideoProjectsTab 영상 제작 서브탭 2026-05-01 14:46:27 +09:00
a89de57b79 feat(youtube-tab): YoutubeTab 서브탭 shell 컴포넌트 + 스텁 탭 추가 2026-05-01 14:44:21 +09:00
d1526af32c feat(subscription): 청약 일정 캘린더 뷰 추가
공고 목록 탭에 📅 캘린더 토글 버튼 추가.
캘린더 모드: 월간 그리드, 접수 시작일 기준 도트 표시 (상태별 색상).
날짜 클릭 시 해당일 공고 목록 패널 표시, 항목 클릭 시 상세 뷰로 전환.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 10:35:44 +09:00
abd8762b5c feat(subscription): 프로필 완성도 힌트 배너 추가
소득·면적·예산·자치구 티어 중 미입력 항목이 있으면
프로필 패널 상단에 입력 권장 안내 배너 표시.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 10:31:37 +09:00
8514232775 feat(subscription): 소득 기준 힌트 표시 + input 범위 제한
income_level 입력 필드에 특별공급별 소득 기준(%)'을 안내 텍스트로 표시.
미입력 시 검증 생략됨을 명시.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 10:12:34 +09:00
7cbdbe6e8b feat(subscription): 5축 점수 breakdown 시각화 + 알림 대상 카운트
- AnnouncementDetail: 5축(지역/유형/면적/가격/자격) progress bar 추가
- MatchesTab: 카드마다 미니 5축 비례 바 추가 (색상 구분)
- ProfileTab: 마운트 시 dashboard도 함께 fetch → pass_count 취득
- NotificationSettings: passCount prop → "현재 N건 대상" 인라인 표시
- Subscription.css: .ns-pass-count 스타일 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 08:56:36 +09:00
573c0364bb style(subscription): 5티어/드래그/토글/슬라이더 다크 네온 테마 정렬
- 5티어 뱃지: light pastel → 페이지 accent 팔레트 + neon glow
  S=rose / A=orange / B=mint / C=cyan / D=purple (모두 반투명 bg + bright text + glow)
- DistrictTierEditor: surface-card glass + rose dragOver glow
- 자치구 칩: surface-raised + rose hover lift/glow
- sub-toggle: 다크 호환 + rose 활성 glow
- ns-slider: custom thumb (rose + glow + scale on hover)
- 매칭 분석: surface-card + rose 사이드 그라데이션 + 점수 text-shadow
- 모든 텍스트는 --text/--text-bright/--text-dim/--text-muted 토큰
- font-family: --font-display(--font-body)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 08:36:01 +09:00
1c331f209a fix(subscription): CLAUDE.md districts shape + dragLeave 정확도
preferred_districts 문서 형태를 백엔드 실제 구조(tier-keyed Dict[str, List[str]])로 수정.
onDragLeave가 자식 요소로 커서 이동 시 flicker 발생하던 문제 수정(relatedTarget 체크).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 20:31:24 +09:00
80fcb07fc0 feat(subscription): MatchesTab 카드에 district + 5티어 뱃지
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 20:26:15 +09:00
a9a6808005 feat(subscription): AnnouncementDetail에 매칭 분석 섹션
match_score가 있는 공고에 한해 매칭 분석 섹션을 상세 패널 하단에 노출.
점수·매칭 사유·신청 자격 타입을 조건부 렌더링.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 11:08:10 +09:00