Commit Graph

174 Commits

Author SHA1 Message Date
c82a386b5b fix: 포스터 메뉴 제거 2026-09-07 13:41:36 +09:00
487d0f6d6a fix(poster): P2V 서버 미연결 상태에서 무빙포스터·스타일링 상호작용 임시 비활성화 2026-08-24 14:35:16 +09:00
8ba5546f85 Merge branch 'feature-ssulbox-ado2-ds' into feature-ssulbox 2026-08-24 14:12:19 +09:00
94b39a44bd feat(ssulbox): 썰박스 상세에 공식 링크 오버레이 추가 2026-08-24 13:45:16 +09:00
3bcca23e97 Merge branch 'main': 공식 링크 오버레이·업체 직접입력 링크 반영, 랜딩 제거 유지 2026-08-24 11:20:57 +09:00
1128712170 Merge branch 'feature/video-official-site-overlay': 영상 종료 전 공식 링크 오버레이 2026-08-21 11:46:37 +09:00
e328fc950c feat: 업체 직접 입력 시 공식 홈페이지 링크 입력란 추가
- BusinessNameInputModal에 선택 입력 URL 필드 추가 (프로토콜 미입력 시 https:// 보정)
- onManualInput 콜백 체인(officialSiteUrl) 확장
- POST /marketing 요청 body에 official_site_url 전달 (미입력 시 null)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DKTAqpFj8pbWzgvq7MRDHk
2026-08-21 10:56:39 +09:00
547dd415c5 fix: 영상 링크 오버레이 문구를 '자세히 보기'로 변경
official_site_url이 네이버 플레이스/인스타그램 등 업체 대표 링크일 수 있어
중립적인 문구로 조정

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DKTAqpFj8pbWzgvq7MRDHk
2026-08-21 10:50:23 +09:00
cea60e70db feat: 영상 종료 3초 전 공식 홈페이지 링크 오버레이 표시
- VideoDetailItem/VideoListItem에 official_site_url 필드 추가
- 플레이어 onTimeUpdate로 잔여 3초 감지, 링크 카드 오버레이 노출
- official_site_url이 null이면 오버레이 미렌더링

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DKTAqpFj8pbWzgvq7MRDHk
2026-08-21 10:45:15 +09:00
0d3167c1a2 fix: 공유하기 수정 2026-08-20 16:35:17 +09:00
Haewon Kam
efc6e45070 fix: 진입 화면 로고가 폼 열 밖으로 넘치지 않게 한다
화면이 커질수록 로고를 350 → 400 → 500 → 554px 로 키우고 있었는데,
정작 아래 폼 열은 375px 고정이라 데스크톱에서 로고만 좌우로 90px 씩
삐져나왔다. 로고가 탭·입력과 축이 맞지 않아 화면이 불안정해 보인다.

브레이크포인트 4단을 지우고 `width: min(100%, 280px)` 하나로 바꾼다.
열 폭과 상한을 동시에 걸어 어느 화면 폭에서도 열을 넘지 않는다 —
나중에 브레이크포인트를 손대도 다시 어긋나지 않는다.

로고 아래 여백도 16 → 20px 으로 올려 "묶음 사이" 간격 체계에 맞춘다.

측정: 1280px 화면 로고 280 / 열 375, 375px 화면 로고 280 / 열 343 — 양쪽 다 포함.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 15:01:29 +09:00
8be95778f3 fix: 네이티브 공유 시 설명 텍스트 제거 2026-08-20 13:21:46 +09:00
Haewon Kam
40895207ee docs: 배포 요청서를 브랜치에 남긴다
이 브랜치를 dev-ssul 에 올릴 때 필요한 것을 한 곳에 모았다.
A(DS·네비게이션)와 B(포스터 파이프라인)를 나눠 배포할 수 있다는 점,
B 의 선행조건 5개, P2V 환경변수, 검증 절차를 담았다.

특히 두 가지는 문서 없이는 배포에서 반드시 걸린다:
- P2V 를 HTTPS 로 서빙해야 한다 — dev-ssul 이 HTTPS 라 HTTP 면 mixed content 로 전부 차단된다
- P2V 저장소가 templates/*.jpg 를 gitignore 해서, 서버에서 클론하면 F2 썸네일이 전부 깨진다

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 13:07:43 +09:00
Haewon Kam
0ca2140b98 feat: 썰박스 DS 통일과 Poster to Video 통합, 진입 화면 네비게이션 개편
썰박스를 ADO2 디자인 시스템으로 맞추고, 포스터 파이프라인 두 종을 파이프라인
탭에 추가한다. 탭이 4개가 되면서 진입 화면 네비게이션도 함께 손봤다.

## 썰박스 DS 통일
시나리오별 팔레트(조선=파랑·삼국지=빨강·그리스=녹·오디세이=청)와 이모지, 앰버
강조색(--color-ssul-accent)을 걷어냈다. 선택 표시는 castad 표준 문법(민트 테두리
+ 민트 틴트), 스피너는 퍼플, CTA는 퍼플 단색으로 통일했다. 색으로 구분하던 것을
없앤 대신 상태(선택)만 색으로 남긴다.

## Poster to Video 통합 (내부 시연 범위)
- 무빙 포스터(F1): 업로드 → 분석 → **검수 게이트** → 생성 → 완성 5단계 위저드.
  검수에서 나레이션·모션·메타태그를 포스터와 대조해 고치고 승인해야 렌더가 이어진다.
- 포스터 스타일링(F2): 위저드가 아닌 한 화면 도구. 여러 스타일을 갈아 끼우며
  비교하는 작업이라 단계를 나누면 왕복만 늘어난다.

P2V 서버(:8010)를 castad 백엔드가 아니라 **직접 호출**한다. 검증된 scripts를
subprocess로 감싼 단일 워커라 castad 백엔드에 흡수하려면 실행 환경(Higgsfield
CLI·ffmpeg·모델 키)을 통째로 이식해야 하기 때문이다. 호출은 utils/p2vApi.ts 한
파일에 격리했다 — 대외 공개 시 castad 백엔드에 /p2v/* 프록시를 세우고 카카오 인증·
크레딧 차감을 얹을 때 갈아끼울 지점이 여기 하나다.

인증은 단일 팀 키(P2V_ACCESS_KEY)다. 다른 오리진이라 쿠키가 실리지 않아 정적
산출물(영상·이미지·다운로드)은 p2vFile()이 ?key= 로 태운다.

F2는 영화 포스터 레퍼런스가 저작권 자산이라 **결과물의 외부 공개·상업 사용을
금한다**(퍼블릭 도메인 명화 제외). 화면 상단 고지 + 템플릿별 배포 등급 배지 +
내부 전용을 고른 순간에만 뜨는 경고로 표시한다.

## 진입 화면 네비게이션
- 밑줄 탭 → 아이콘 타일 + 기능명. 탭이 4개가 되자 "무빙 포스터"와 "포스터 스타일링"이
  글자로는 갈라지지 않아, 형태로 구분되게 했다. 아이콘은 ADO2 Design System 규칙
  (24×24 · fill none · stroke currentColor 2 · round)을 따르고 색은 넣지 않는다.
- 고른 기능의 한 줄 설명을 탭 아래에 붙였다.
- 간격 체계를 8px 그리드로 다시 잡았다(묶음 안 8~12 / 묶음 사이 20 / 섹션 28~32).
  이전에는 전부 10~24px이라 근접성으로 구조가 읽히지 않아 답답했다. 타일 간격은
  터치 타겟 최소 8dp를 지킨다.

## 버그 수정
- 진입 화면 세로 넘침 잘림: justify-content:center + overflow:hidden 조합이라
  콘텐츠가 길어지면 위로 넘친 부분에 스크롤로도 닿을 수 없었다(무빙 포스터에서
  로고 밴드 47px 잘림). 자식의 margin:auto 0 중앙정렬로 바꿔 해소.
- 사라진 P2V 잡: 404를 문구가 아니라 상태 코드로 판정한다(P2vNotFoundError).
  서버에서 지워진 잡 ID가 남으면 빈 진행 화면에서 멈췄다.
- 검수 화면 모바일: 좌우 여백 0(부모 위저드 컨테이너에 패딩이 없다) → 16px 부여.
  대조할 포스터를 편집 위로 올리고, 승인 CTA를 하단 탭바 위에 sticky로 고정.
- 한글 단어 중간 줄바꿈("애니메이/션") → word-break: keep-all.
- 입력·안내·제출 박스 높이를 48px로 통일.

## 카피
가게→업체, 크롤링→수집으로 어휘 통일.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 12:55:06 +09:00
17319e950e fix: 공유하기 및 UI 수정 2026-08-20 10:34:14 +09:00
4dff60c1ba refactor: main 머지로 복구된 랜딩을 다시 제거한다.
ADO2 콘텐츠를 첫 화면으로 되돌린다.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 16:31:36 +09:00
82b9fef3a1 chore: 튜토리얼 오버레이와 관련 문구를 제거
랜딩·업로드에서 자동 안내가 더 이상 뜨지 않게 한다.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 15:31:44 +09:00
4fe065378f Merge branch 'main' into feature-ssulbox
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 15:15:53 +09:00
bdb581459d feat(social): 업로드 폼에 저장된 영상 SEO 메타데이터를 표시
값이 있으면 DB 결과를 바로 채우고, 없으면 video_id 기준으로 한 번만 생성한다.
2026-08-19 10:19:54 +09:00
63d60caabd fix: 이전 공유하기 기능 제거 2026-08-18 17:23:42 +09:00
e400884eb7 fix: 공통으로 공유하기 사용하도록 변경 2026-08-18 14:56:38 +09:00
3566c1f7bc feat: 영상 공유·포스터 썸네일·좋아요 상태를 서버 연동으로 전환 2026-08-18 11:02:29 +09:00
9c0c3de35f UI 수정 2026-08-14 15:29:39 +09:00
3b8298bba2 fix(ssulbox): 업장 선택 후 변경 버튼 제거 및 사이드바 라벨 단순화 2026-08-13 11:29:50 +09:00
fde7c8f6e1 style: 최소 폰트 크기를 14px 로 통일하고 하단 탭바 높이 상향 2026-08-12 17:26:05 +09:00
1f6921c587 fix: 썰박스 생성 소요 시간 안내를 약 5~6분으로 구체화 2026-08-12 17:26:00 +09:00
cdddb913a0 Merge branch 'main' into feature-ssulbox 2026-08-12 15:42:15 +09:00
1cdb47ec2e perf: 이미지 미리보기를 축소 썸네일로 전환
- 원본 대신 400px 썸네일을 렌더해 디코딩/메모리 부담 감소
- 중복 파일은 추가하지 않고 안내
- 이미지 개수 카운터(n/100) 표시
- objectURL 해제 누락 지점 보완
2026-08-12 10:58:13 +09:00
23938871b0 feat: 이미지 업로드를 압축 후 순차 전송 방식으로 전환 2026-08-11 17:07:57 +09:00
18b5271110 fix: 로그인 유도 모달 개편과 공유 메뉴 방향·다운로드 파일명·정렬 수정 2026-08-11 14:57:35 +09:00
1c01dab748 fix: 영상 상세 모달을 social-posting-modal 구조로 통일하고 video 삐져나옴 버그 수정 2026-08-11 14:57:35 +09:00
40ebe2cca0 fix: 브랜드 분석 화면의 사이드바 collapsed 잔재 정리 2026-08-11 14:57:34 +09:00
b9fd77fb51 refactor: 생성 완료 화면을 CompletionView 로 통일 2026-08-11 14:57:34 +09:00
3701490728 feat(ssulbox): 업장 검색을 ADO2 자동완성 방식으로 전환 2026-08-11 14:57:34 +09:00
bda4c267dd refactor: 랜딩·튜토리얼·헤더 제거 2026-08-11 14:57:34 +09:00
741539a023 feat(ssulbox): 상세·공유 화면과 좋아요·댓글·업로드 연동 2026-08-11 14:57:34 +09:00
7b1e691715 refactor: 오버레이 닫기 동작을 useOverlayClose 로 통일 2026-08-11 14:57:33 +09:00
54e5d14127 feat: 모바일 하단 내비게이션·설정 패널 도입 2026-08-11 14:57:33 +09:00
bb0ab91bcc feat(ssulbox): 썰박스 진입 탭·생성 플로우와 통합 콘텐츠 목록 분기 2026-08-11 14:57:33 +09:00
c4c46db0d9 안내문구 수정 2026-07-28 16:06:24 +09:00
f19cba7d75 fix: Meta 클릭 ID(fbc) 폴백 및 이벤트 ID 생성 폴백 추가 2026-07-28 12:00:34 +09:00
f36fd5a3cb feat: Meta 픽셀 및 전환 추적 연동
- index.html에 Meta Pixel 스크립트 및 noscript 폴백 추가 (PageView 자동 추적)
- 전환 추적 유틸 추가 (trackViewContent, trackCompleteRegistration,
  trackFirstVideoCreated) — 서버 CAPI와 동일 event_id로 픽셀 발화해 중복제거
- 랜딩 진입 시 UTM 파라미터 first-touch 캡처 (localStorage 보존,
  가입 전환 시 서버로 전달 후 제거)
- 카카오 로그인 콜백에서 is_new_user 판정 시 CompleteRegistration 발화
  (토큰 리다이렉트 경로 + code 콜백 경로 모두 처리)
- 영상 생성 완료 시 FirstVideoCreated 발화
- KakaoCallbackResponse 타입을 백엔드 LoginResponse 구조에 맞게 수정
  (user 객체 제거, is_new_user 평탄화)
- logout이 refresh_token을 body로 전달하도록 수정, 실패해도
  로컬 데이터는 항상 삭제되도록 try/finally 처리

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 10:28:51 +09:00
a853c714fd url입력 정제 추가 2026-07-22 15:52:45 +09:00
5512d90a9e 도메인 변경 2026-07-15 11:34:26 +09:00
e2b22bd8e9 붙여넣기 시 url만 추출 기능 추가 2026-07-14 09:22:33 +09:00
5b7eba9540 ui 수정 2026-07-10 14:00:35 +09:00
e7d6d89fe5 영상카드에 공유하기 좋아요 클릭 추가 2026-07-08 10:50:13 +09:00
bd92eb2226 직접입력시 업종 추가 2026-07-03 16:00:37 +09:00
2f720dfa92 프로그래스바 수정, 이미지 분류 추가 및 UI 수정 2026-07-03 11:49:16 +09:00
8a39a34630 범용 프롬프트 적용 2026-06-29 15:06:25 +09:00