AhaCard
첫 “아하” 카드: 사실만 말하는 제목, 큰 날짜, 원문.
- 출시 화면에서 사용
개요
미리보기
On your calendar 2 weeks ago
Tuesday
고객사 워크숍 · Client workshop
Open details예시
상태
정지
On your calendar 2 weeks ago
Tuesday
고객사 워크숍 · Client workshop
Open details도착(브랜드 모먼트)
On your calendar 2 weeks ago
Tuesday
고객사 워크숍 · Client workshop
Open details원문 열 수 없음
On your calendar 2 weeks ago
Tuesday
고객사 워크숍 · Client workshop
Open details
쓰임 예
메일
On your calendar 3 weeks ago
Tuesday
Re: 9월 워크숍 일정 확정
Open details
이렇게 · 이렇게 하지 않기
- 이렇게 제목은 사실만 말한다(“2주 전 캘린더에 있던 일”). 도착 모션은 계정당 한 번이고 동작 줄이기에서는 바로 보인다.
- 이렇게 하지 않기 “기억나세요?”처럼 기억을 단정하거나 “당신이 이끈 회의”처럼 기여를 추정하지 않는다. 초대는 참석이 아니다. 도착할 때 초점을 옮기지 않는다.
토큰과 속성
| 이름 | 타입 | 기본값 | 설명 |
|---|---|---|---|
phase? | 'arriving' | 'static' | static | arriving은 브랜드 모먼트 하나(계정당 1회, 서버 플래그). 카드가 처음 보이는 순간 재생한다. 미리보기에서는 값을 바꾸면 다시 재생된다. |
weeksAgo? | number | — | 기록과 오늘 사이 주 수 → “2주 전 캘린더에 있던 일”. |
date | string | 2026-10-06T15:00 | 기록 날짜(크게). |
sourceTitle | string | 고객사 워크숍 · Client workshop | 원문 제목. 번역하지 않는다. |
service? | 'gmail' | 'calendar' | 'drive' | 'slack' | 'notion' | calendar | 출처 서비스. |
href? | string | ?item=rec-1 | 상세 주소. 주 행동 하나. |
exception? | 'none' | 'source-unavailable' | none | 원문을 열 수 없어도 카드는 보이고 라벨이 붙는다. |
onArrive? | () => void | — | 모먼트가 시작될 때. 여기서 계정의 ahaPlayedAt을 서버에 쓴다(로컬 저장소 금지). |
| 그 밖의 속성 | — | — | <article> 속성(id, aria-*)이 전달된다. |
접근성
키보드: “자세히 보기” 링크 Enter. 도착해도 초점은 그대로.
- 도착 알림은 ImportProgress의 “첫 결과” 알림 하나로 합친다. 이 카드는 따로 알리지 않는다.
- 모션: 불투명도 + 12px 상승(move), 이어서 빛 1600ms 유지 후 사라짐. reduce = 120ms 페이드, 빛 위치 고정. 입력이 있으면 빛만 바로 퇴장.