|
|
/* 아리 — '오늘의 여정' 데이터 (클린 화이트 테마)
|
|
|
하루를 4단계 흐름으로 보고, 작업↔사람↔미팅을 의미 있는 링크로 연결한다.
|
|
|
링크는 DOM 위치를 측정해 실시간 베지어 곡선으로 그린다. */
|
|
|
(function () {
|
|
|
/* 클린 화이트 팔레트 */
|
|
|
const C = {
|
|
|
blue: "#4f72e0", coral: "#df7256", green: "#4e9b66",
|
|
|
violet: "#8b6fd4", amber: "#e0a23c", ink: "#29241f",
|
|
|
};
|
|
|
|
|
|
/* ---------- 사람 ---------- */
|
|
|
const people = [
|
|
|
{ id: "jiwoo", name: "지우", ini: "지", c: C.blue, me: true, tasks: 4, role: "나 · PM" },
|
|
|
{ id: "hyunwoo", name: "현우", ini: "현", c: C.violet, tasks: 2, role: "디자인" },
|
|
|
{ id: "minseo", name: "민서", ini: "민", c: C.green, tasks: 2, role: "팀 운영" },
|
|
|
{ id: "jaeho", name: "재호", ini: "재", c: C.coral, tasks: 2, role: "데이터" },
|
|
|
{ id: "sua", name: "수아", ini: "수", c: C.ink, tasks: 3, role: "리서치" },
|
|
|
];
|
|
|
const P = Object.fromEntries(people.map((p) => [p.id, p]));
|
|
|
|
|
|
/* ---------- 4단계 ---------- */
|
|
|
const stages = [
|
|
|
{ id: "s1", title: "아침 준비", time: "06:40 – 09:00", c: C.blue, n: "2" },
|
|
|
{ id: "s2", title: "오전 집중", time: "09:00 – 13:00", c: C.coral, n: "4" },
|
|
|
{ id: "s3", title: "오후 협업", time: "13:00 – 17:00", c: C.violet, n: "4" },
|
|
|
{ id: "s4", title: "마무리 & 내일", time: "17:00 – 23:00", c: C.ink, n: "4" },
|
|
|
];
|
|
|
|
|
|
/* ---------- 단계별 카드 ---------- */
|
|
|
const cards = {
|
|
|
s1: [
|
|
|
{ node: "m-sleep", kind: "routine", ic: "moon", title: "수면 7시간 12분", meta: "평소만큼 푹 잔 밤", tag: "컨디션 좋음", tool: "tick", toolC: "ok" },
|
|
|
{ node: "m-brief", kind: "routine", ic: "sun", title: "아침 브리핑 확인", meta: "맑음 24° · 출근 23분", tag: "4분 빠름", tool: "cal" },
|
|
|
],
|
|
|
s2: [
|
|
|
{ node: "t-report", kind: "task", title: "분기 리포트 초안 마무리", meta: "경영 전략 · 우선", who: "jiwoo", done: false },
|
|
|
{ node: "t-wire", kind: "task", title: "온보딩 와이어프레임 피드백", meta: "온보딩 · 우선", who: "hyunwoo", done: false },
|
|
|
{ node: "t-interview", kind: "task", title: "사용자 인터뷰 5건 정리", meta: "온보딩 · 리서치", who: "sua", done: false },
|
|
|
{ node: "t-welcome", kind: "task", title: "신규 입사자 환영 메일", meta: "팀 운영", who: "minseo", done: true },
|
|
|
],
|
|
|
s3: [
|
|
|
{ node: "k-stand", kind: "meet", time: "13:00", title: "팀 데일리 스탠드업", meta: "프로덕트 · 15분", who: "minseo" },
|
|
|
{ node: "k-design", kind: "meet", time: "14:00", title: "디자인 리뷰", meta: "온보딩 · 45분", who: "hyunwoo" },
|
|
|
{ node: "k-strat", kind: "meet", time: "15:00", title: "분기 전략 미팅", meta: "경영진 · 60분", who: "jaeho", soon: true },
|
|
|
{ node: "k-11", kind: "meet", time: "16:30", title: "1:1 — 민서님", meta: "팀 · 30분", who: "minseo" },
|
|
|
],
|
|
|
s4: [
|
|
|
{ node: "w-focus", kind: "tile", hi: true, ic: "target", tt: "지금 집중", ts: "분기 리포트 마무리" },
|
|
|
{ node: "w-retro", kind: "tile", ic: "send", tt: "회고 배포", ts: "팀 채널 공유" },
|
|
|
{ node: "w-health", kind: "tile", ic: "heart", tt: "운동 30분", ts: "주 3/4회" },
|
|
|
{ node: "w-next", kind: "tile", ic: "cal", tt: "내일 준비", ts: "일정 4건" },
|
|
|
],
|
|
|
};
|
|
|
|
|
|
/* ---------- 의미 있는 흐름 링크 (from → to, 둘 다 node) ---------- */
|
|
|
const links = [
|
|
|
{ from: "m-brief", to: "t-report", c: C.blue },
|
|
|
{ from: "t-report", to: "k-strat", c: C.coral },
|
|
|
{ from: "t-wire", to: "k-design", c: C.violet },
|
|
|
{ from: "t-interview", to: "k-11", c: C.green, dash: true },
|
|
|
{ from: "t-welcome", to: "k-stand", c: C.green, dash: true },
|
|
|
{ from: "k-strat", to: "w-focus", c: C.ink },
|
|
|
{ from: "k-design", to: "w-retro", c: C.violet, dash: true },
|
|
|
{ from: "k-11", to: "w-next", c: C.green, dash: true },
|
|
|
];
|
|
|
|
|
|
/* ---------- 하단 작업 테이블 ---------- */
|
|
|
const rows = [
|
|
|
{ star: true, node: "t-report", nm: "분기 리포트 초안", st: "prog", stt: "진행중", date: "09:00", who: "jiwoo" },
|
|
|
{ node: "t-wire", nm: "온보딩 와이어프레임 피드백", st: "review", stt: "검토", date: "11:00", who: "hyunwoo" },
|
|
|
{ node: "t-interview", nm: "사용자 인터뷰 5건 정리", st: "prog", stt: "진행중", date: "13:30", who: "sua" },
|
|
|
{ star: true, node: "t-welcome", nm: "신규 입사자 환영 메일", st: "done", stt: "완료", date: "08:30", who: "minseo" },
|
|
|
{ node: "t-card", nm: "구독 결제 카드 갱신", st: "sched", stt: "예정", date: "18:00", who: "jiwoo" },
|
|
|
];
|
|
|
|
|
|
window.AriJourney = { C, people, P, stages, cards, links, rows };
|
|
|
})();
|