6ef687378d
fix(components): CSS 변수명 수정 + dead code 제거
...
- --border-line → --line (5개 컴포넌트 8곳)
- --gradient-accent → --grad-accent (FAB)
- --text-default → --text (MobileSheet)
- useSwipe.js 삭제 (미사용 dead code)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-23 15:15:55 +09:00
ca9929faac
fix(a11y): 글로벌 prefers-reduced-motion 추가 + Blog 버튼 위치 수정
...
- App.css: 글로벌 reduced-motion 블록 (모든 animation/transition 비활성화)
- index.css: scroll-behavior: smooth → auto (reduced-motion)
- BlogMarketing.css: 스피너 reduced-motion 처리
- Blog.css: 플로팅 토글 버튼 bottom-nav 위로 재배치
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-23 15:12:24 +09:00
0198fec43c
refactor(responsive): Phase 3 코드 품질 개선
...
- Blog/BlogMarketing/Subscription/MusicStudio: 미사용 useIsMobile 제거
- Subscription: 미사용 Link import 제거
- Blog.css: 중복 display:block 제거
- BlogMarketing: dead prop onGenerate 제거
- Todo: 카드 버튼 터치 타겟 26→36px 확대
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-23 15:06:56 +09:00
901cfd7e1b
fix(responsive): Phase 3 spec compliance 수정
...
- Blog: 태그 필터 칩 바 모바일 가로 스크롤 추가
- BlogMarketing: FAB 전 탭에서 표시 + 대시보드 480px 1컬럼
- Subscription: PullToRefresh refreshKey 패턴 적용, FAB→공고 목록 탭 이동
- Todo: FAB 라벨 "할일 추가"로 spec 일치
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-23 15:02:12 +09:00
c7cad9da61
feat(effect-lab): 모바일 반응형 — SwordStream 터치 대응
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 14:55:50 +09:00
28a80b5bd7
feat(agent-office): 모바일 반응형 — 바텀시트 에이전트 상세
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 14:55:40 +09:00
00f8e00436
feat(todo): 모바일 반응형 — 스와이프 칸반 + FAB + 바텀시트 입력
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 14:55:05 +09:00
326d54c73f
feat(music): 모바일 반응형 — FAB + 풀다운 리프레시 + 1컬럼 라이브러리
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 14:54:04 +09:00
5c10952e39
feat(subscription): 모바일 반응형 — 바텀시트 필터 + FAB
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 14:53:12 +09:00
2b826ed700
feat(blog): 모바일 반응형 — FAB + 풀다운 리프레시 + 칩 필터
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 14:52:36 +09:00
d5ef77ad17
fix(lotto): 모바일 볼 크기 36px→32px 수정
2026-04-23 14:49:06 +09:00
033b89f87d
feat(travel): 모바일 반응형 — 풀다운 리프레시 + 풀스크린 라이트박스
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 14:47:01 +09:00
e7427ff1d5
feat(stock): 모바일 반응형 — 캐러셀 지표 + 스와이프 탭 + FAB
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 14:46:58 +09:00
fd13f65faa
feat(lotto): 모바일 반응형 — 스와이프 탭 전환
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 14:46:54 +09:00
2c2011659a
feat(home): 모바일 반응형 — 스와이프 TODO + 풀다운 리프레시
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 14:46:51 +09:00
0922261c74
feat: 앱 셸 모바일 레이아웃 — BottomNav 통합 + 사이드바 조건부 렌더링
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 14:38:49 +09:00
d53108f1c9
feat: MobileSheet 바텀시트 모달 컴포넌트
2026-04-23 14:36:43 +09:00
80921563be
feat: FAB 플로팅 액션 버튼 컴포넌트
2026-04-23 14:36:38 +09:00
6875a28e92
feat: SwipeableView 스와이프 탭 전환 컴포넌트
2026-04-23 14:36:35 +09:00
2db0c1b3eb
feat: PullToRefresh 풀다운 새로고침 컴포넌트
2026-04-23 14:36:32 +09:00
bce5ae9fac
feat: BottomNav 모바일 하단 네비게이션 컴포넌트
2026-04-23 14:34:32 +09:00
a053cf2d71
feat: react-swipeable 설치 + useIsMobile/useSwipe 훅 추가
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 14:33:15 +09:00
08efaa722a
style(responsive): standardize RealEstate breakpoints
...
- RealEstate.css: 1100px → 1024px; merge 900px into 768px block
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-23 14:30:19 +09:00
2cdecd918e
style(responsive): standardize Subscription, MusicStudio, BlogMarketing breakpoints
...
- Subscription.css: 1100px → 1024px; merge 900px into 768px block
- MusicStudio.css: 960px → 1024px; both 640px blocks → 480px
- BlogMarketing.css: 640px → 480px
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-23 14:30:07 +09:00
1e60524cfc
style(responsive): standardize breakpoints for Home, Lotto, Travel, Blog
...
- Home.css: 960px → 1024px
- Lotto.css: merge 900px into 768px block; both 640px blocks → 480px
- Travel.css: merge 900px into 768px block; both 640px blocks → 480px
- Blog.css: merge 900px into 768px block (preserving all styles)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-23 14:29:34 +09:00
75d1558508
style(responsive): add viewport-fit=cover and safe area CSS variables
...
Add viewport-fit=cover to meta tag for notched devices.
Add --bottom-nav-h / --safe-area-bottom tokens and body padding-bottom
for mobile bottom navigation safe area support.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-23 14:28:22 +09:00
188a714372
docs: 로또 페이지 3탭 구조 + 브리핑 API 반영
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-15 08:36:08 +09:00
064c983ca1
feat(lotto): 3탭 구조 재배치(브리핑/분석/구매)
2026-04-15 08:33:08 +09:00
bf1c23e66a
feat(lotto): 브리핑 컴포넌트 + CSS
2026-04-15 08:31:35 +09:00
a922dd12c0
feat(lotto): useBriefing·useCuratorUsage 훅
2026-04-15 08:30:45 +09:00
1344967118
feat(lotto): 브리핑·큐레이터 API 헬퍼
2026-04-15 08:30:33 +09:00
2840ad7df6
feat(stock): 증권사별 보유 현황에 총 매입 금액 추가 표기
...
종목수 · 총 매입 · 평가 · 손익 · 예수금 순으로 노출.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-15 02:17:32 +09:00
ad0a123d0f
fix(stock): 브로커 총 매입 금액을 매입가 단순 합계로 수정
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-15 02:10:17 +09:00
18d2cd5a51
feat(stock): 포트폴리오 매입가/평균단가 분리 + 총 매입 금액 반영
...
- 기존 카드의 "매입가" → "평균단가" (avg_price) 로 라벨 변경
- 신규 "매입가" (purchase_price) 컬럼 추가. 추가/수정 폼에 입력 필드 노출
(미입력 시 평균단가 값으로 자동 설정)
- 브로커별 총 매입 금액은 purchase_price × quantity 합계 기준
- 손익/수익률은 평균단가(avg_price) 기준 유지
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-15 01:58:10 +09:00
104a34912f
feat(agent-office): 모바일 반응형 세로 스택 + 작업 시간 표기 개선
...
- 768px 이하에서 대시보드 세로 스택 + 에이전트 카드 아코디언 토글
- waiting/알림 있을 때 자동 펼침 및 좌측 강조 바
- 픽셀 오피스 캔버스 모바일 높이 140px로 축소 후 상단 배치
- 최근 작업 시간: completed_at 우선 + 오늘/어제/MM-DD HH:MM 포맷
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-15 00:19:32 +09:00
be46da0a1f
feat(subscription): 종료 청약 일괄 삭제 버튼 추가
...
AnnouncementsTab 툴바에 '🗑 종료 청약 삭제' 버튼 추가.
확인 다이얼로그 → DELETE /api/realestate/announcements/closed 호출 →
삭제 건수 알림 후 목록 새로고침.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-13 04:14:50 +09:00
6728b2269e
feat(agent-office): Blog + Realestate 에이전트 UI 추가
...
- AGENT_META/IDS에 blog/realestate 추가 (4 컬럼 대시보드)
- SpriteSheet: 블로그(노트북 액센트)/청약(서류가방 액센트) 픽셀 캐릭터
- office-map: 사무실 책상 4개로 확장, blog_desk/realestate_desk waypoint 추가
- AgentColumn/ChatPanel: 에이전트별 퀵 명령 버튼 (키워드 리서치, 매칭 리포트 등)
- CommandColumn: 타겟 선택지 4명, 빠른 명령 6개, 아이콘 맵핑
- DocumentPanel: 에이전트별 탭 4개
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-13 03:06:19 +09:00
cfc45fc43f
feat(agent-office): AI 토큰 사용량 뱃지 표시
...
- api.js: getAgentTokenUsage 헬퍼 추가
- AgentColumn: 헤더에 오늘 토큰 사용량 뱃지 (🧮 N,NNN)
- 30초 폴링 + state 변경 시 즉시 갱신
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-13 01:44:37 +09:00
a165d6271f
refactor(agent-office): dashboard layout with agent columns + CEO command panel
...
- Restructure layout: dashboard (top, 3 columns) + office canvas (bottom, 280px)
- AgentColumn: per-agent status, quick commands, approval UI, task history
- CommandColumn: CEO command input with agent selector, quick shortcuts, history
- Remove overlay panels (ChatPanel/DocumentPanel) - integrated into dashboard
- Office canvas shrunk to compact strip at bottom
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-11 15:32:07 +09:00
deb285695a
feat(agent-office): notification badges + CEO desk document panel + telegram test
...
- Add notification state management with badge counts in useAgentManager
- Render exclamation badge on agent sprites (separate from status icons)
- Add CEO desk document icon with click-to-open activity panel
- Create DocumentPanel with unified activity feed + per-agent detail tabs
- Add telegram test button to stock agent ChatPanel
- Remove TaskHistory + bottom toolbar (replaced by DocumentPanel)
- Add getActivityFeed API helper
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-11 15:19:14 +09:00
25715a2198
feat: Agent Office — AI 에이전트 가상 오피스 ( #2 )
...
## Summary
- Canvas 2D 픽셀아트 오피스 렌더링 (SpriteSheet + TileMap + AgentSprite)
- WebSocket 실시간 에이전트 상태 동기화 (useAgentManager)
- ChatPanel (명령/승인) + TaskHistory (작업 이력) UI
- 다크 테마 + glassmorphism 패널
## Changes (7 commits)
- API helpers + route + Lab entry
- Canvas engine: SpriteSheet, TileMap, AgentSprite, OfficeRenderer
- React hooks: useAgentManager, useOfficeCanvas
- Components: ChatPanel, TaskHistory
- Main page + CSS
- Code review fixes: claude agent 참조 제거, rejected 배지 추가
Reviewed-on: #2
2026-04-11 13:35:35 +09:00
7fc2d3aaf7
feat(music-lab): Suno API 전체 기능 확장 — Phase 1~3 UI
2026-04-09 07:34:21 +09:00
b215a93c89
fix(music-lab): RemixTab default_param_flag 로직 수정
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-08 09:19:48 +09:00
1f00866694
feat(music-lab): Phase 3 UI — RemixTab + 뮤직비디오 생성
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-08 09:14:18 +09:00
0849c70644
feat(music-lab): Phase 2 UI — StemModal, SyncedLyricsPlayer, Style Boost, WAV 변환
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-08 09:05:07 +09:00
7a591bb0f1
feat(music-lab): Phase 1 UI — 보컬 성별, 제외 스타일, weight 슬라이더, 더보기 메뉴, CoverArtModal
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-08 08:53:47 +09:00
312677e624
refactor(music-lab): 컴포넌트 분할 — AudioPlayer, LyricsTab, CreditsBadge 추출
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-08 08:48:35 +09:00
6786f8c883
feat(realestate): 청약 가점 현황 카드 + 매칭 가점 비교
...
- 내 프로필 탭: 가점 현황 카드 (무주택/부양가족/통장 프로그레스 바)
- 매칭 결과 탭: 상단에 내 가점 뱃지, 각 카드에 가점 표시
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-08 00:27:57 +09:00
45b74e672a
feat(realestate): 공고 카드 매칭 점수 + 매칭 결과 탭 강화
...
- 공고 카드에 매칭 점수 뱃지 표시 (70+녹색, 40+주황, 기본회색)
- 상세 패널 헤더에 매칭 점수 + 자격 유형 태그 표시
- 매칭 결과 카드에 D-day + 접수일정 + 매칭 사유 표시 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-07 23:51:09 +09:00
bf5c7ba54e
feat(realestate): 즐겨찾기 + D-day 오차 수정 + 가격 표시 + 필드명 수정
...
- D-day 계산 로컬 타임존 통일 (UTC 파싱 → 로컬 Date 파싱, 1일 오차 해결)
- 즐겨찾기 토글 (카드 ☆/★ + 상세 패널 버튼 + 즐겨찾기 필터)
- 대시보드에 즐겨찾기 섹션 + 가격 표시
- 모델 필드명 수정: supply_price→top_amount, exclusive_area→supply_area
- 카드에 가격 범위 표시 (억/만원 자동 포맷)
- 매칭 결과 필드명 수정: score→match_score, status→ann_status, matched_at→created_at
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-07 23:39:02 +09:00