o2o-infinith-demo/supporters/scripts/gate/layout-baseline.json
Haewon Kam e40f9ceb94 feat(supporters): 회복 일정 플래너 /plan · /en/plan · 시술별 회복 규칙표, 큐레이션 장소, 예약 딥링크, 헤더 내비 연결
- src/pages/plan.astro, src/pages/en/plan.astro: 한국어·영어 페이지, hreflang 상호 연결
- src/components/Planner.astro: 5단계 흐름(언어·국적 → 시술·수술일 → 선호 → 일정표 → 예약·저장), 브라우저 안 계산, URL 해시 공유, ICS 저장
- src/lib/plan.ts: 입국 권장일·출국 가능 최소일·외출 등급·식사 단계·추천 점수·딥링크·ICS 순수 함수
- src/data/procedures.json: 시술 8종 규칙표. 값마다 clinic/provisional 표시, 병원 확인 전 잠정값은 화면 배지
- src/data/places.json: 신논현역 기준 큐레이션 31곳 (구글 지도·예약 사이트 검색 링크만)
- src/data/planStrings.json: UI 문자열 ko/en
- scripts/gate/plan.test.mjs: 계산·데이터 정합성 검증 11건
- Base.astro: lang·alternates prop, 내비 '회복 일정', 푸터 링크. 구조 기준선 갱신(haewon 승인)
- visit.astro: 플래너 진입 CTA 카드. sitemap에 /plan, /en/plan 추가
- 설계 근거: docs/INFINITH_Viewclinic_Supporters_Site_Design_v0.2.md §13

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-10 16:00:33 +09:00

755 lines
9.2 KiB
JSON

{
"/index.html": [
"div.sample-banner",
"header.site-header",
"div.bar.wrap-wide",
"a.brand",
"img.brand-logo",
"span.brand-sep",
"span.brand-text",
"small",
"div.right",
"nav.nav",
"a",
"a",
"a",
"a",
"a",
"a",
"a.cta",
"main",
"section.hero-light",
"div.a.blob",
"div.b.blob",
"div.inner.wrap-wide",
"div",
"div.eyebrow",
"h1",
"span.accent",
"p.lede",
"div.chips",
"span.chip",
"span.dot",
"span.chip",
"span.dot",
"div..actions.hero",
"a.btn.primary",
"a.btn.secondary",
"div.collage.hero-img",
"img",
"section.section.tint",
"div.wrap-wide",
"div.sec-head",
"div.eyebrow",
"h2",
"p.sub",
"div.grid",
"a.card.entry",
"div.cat",
"h3",
"p",
"span.more",
"a.card.entry",
"div.cat",
"h3",
"p",
"span.more",
"a.card.entry",
"div.cat",
"h3",
"p",
"span.more",
"section.dark.section",
"div.wrap-wide",
"div.sec-head",
"div.eyebrow",
"h2",
"p.sub",
"div.stats",
"div.stat",
"b",
"span.label",
"span.desc",
"div.stat",
"b",
"span.label",
"span.desc",
"div.stat",
"b",
"span.label",
"span.desc",
"section.light.section",
"div.wrap-wide",
"div.sec-head",
"div.row",
"div",
"div.eyebrow",
"h2",
"p.sub",
"a",
"div.grid",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"section.section.tint",
"div.wrap-wide",
"div.sec-head",
"div.eyebrow",
"h2",
"p.sub",
"div.video-grid",
"figure.compact.yt",
"button.yt-btn",
"img",
"span.play",
"figcaption",
"strong",
"span",
"iframe",
"figure.compact.yt",
"button.yt-btn",
"img",
"span.play",
"figcaption",
"strong",
"span",
"figure.compact.yt",
"button.yt-btn",
"img",
"span.play",
"figcaption",
"strong",
"span",
"section.light.section",
"div.wrap-wide",
"div.sec-head",
"div.eyebrow",
"h2",
"p.sub",
"div.cols-3.gallery",
"figure.figure",
"img",
"figcaption",
"figure.figure",
"img",
"figcaption",
"figure.figure",
"img",
"figcaption",
"figure.figure",
"img",
"figcaption",
"figure.figure",
"img",
"figcaption",
"figure.figure",
"img",
"figcaption",
"p",
"section.dark.section",
"div.wrap-wide",
"div.sec-head",
"div.eyebrow",
"h2",
"p.sub",
"div.grid",
"div.card",
"h3",
"p",
"div.card",
"h3",
"p",
"div.card",
"h3",
"p",
"a",
"section.section.tint",
"div.wrap-wide",
"div.sec-head",
"div.eyebrow",
"h2",
"p.sub",
"aside.fact-block",
"h2",
"dl",
"dt",
"dd",
"dt",
"dd",
"dt",
"dd",
"a",
"dt",
"dd",
"dt",
"dd",
"dt",
"dd",
"dt",
"dd",
"p",
"a",
"a",
"button.totop",
"footer.site-footer",
"div.cols.wrap-wide",
"div",
"p",
"strong",
"p",
"p",
"p",
"a",
"a",
"a",
"a",
"a",
"a",
"a",
"a",
"div",
"p",
"img",
"p",
"strong",
"p",
"p",
"a",
"a",
"a",
"div.powered.wrap-wide"
],
"/posts/anesthesia-choice.html": [
"div.sample-banner",
"header.site-header",
"div.bar.wrap-wide",
"a.brand",
"img.brand-logo",
"span.brand-sep",
"span.brand-text",
"small",
"div.right",
"nav.nav",
"a",
"a",
"a",
"a",
"a",
"a",
"a.cta",
"div.backbar-wrap",
"div.backbar.wrap-wide",
"a.backbtn",
"main",
"article.wrap",
"header.article-head",
"div.eyebrow",
"h1",
"div.meta",
"span",
"span",
"span",
"span",
"section.summary",
"h2",
"ol",
"li",
"li",
"li",
"figure.yt",
"button.yt-btn",
"img",
"span.play",
"figcaption",
"strong",
"span",
"iframe",
"div.doctor-strip",
"img",
"div",
"div.name",
"span",
"p.creds",
"a",
"h2",
"table",
"thead",
"tr",
"th",
"th",
"th",
"tbody",
"tr",
"td",
"td",
"td",
"tr",
"td",
"td",
"td",
"tr",
"td",
"td",
"td",
"tr",
"td",
"td",
"td",
"tr",
"td",
"td",
"td",
"p",
"h2",
"p",
"h2",
"ol",
"li",
"li",
"li",
"p",
"h2",
"p",
"div.cols-2.gallery",
"figure.figure",
"img",
"figcaption",
"figure.figure",
"img",
"figcaption",
"section",
"h2",
"div.video-grid",
"figure.compact.yt",
"button.yt-btn",
"img",
"span.play",
"figcaption",
"strong",
"span",
"figure.compact.yt",
"button.yt-btn",
"img",
"span.play",
"figcaption",
"strong",
"span",
"figure.compact.yt",
"button.yt-btn",
"img",
"span.play",
"figcaption",
"strong",
"span",
"section.faq",
"h2",
"details",
"summary",
"p",
"details",
"summary",
"p",
"details",
"summary",
"p",
"details",
"summary",
"p",
"details",
"summary",
"p",
"section.review-box",
"img",
"div",
"div",
"strong",
"a",
"a",
"div",
"strong",
"span.badge.reviewed",
"div",
"section.sources",
"h2",
"ul",
"li",
"span.stype",
"a",
"span",
"li",
"span.stype",
"a",
"span",
"li",
"span.stype",
"a",
"span",
"li",
"span.stype",
"a",
"span",
"li",
"span.stype",
"a",
"span",
"p",
"section.history",
"h2",
"ul",
"li",
"time",
"li",
"time",
"aside.fact-block",
"h2",
"dl",
"dt",
"dd",
"dt",
"dd",
"dt",
"dd",
"a",
"dt",
"dd",
"dt",
"dd",
"p",
"a",
"a",
"p.disclosure",
"button.totop",
"footer.site-footer",
"div.cols.wrap-wide",
"div",
"p",
"strong",
"p",
"p",
"p",
"a",
"a",
"a",
"a",
"a",
"a",
"a",
"a",
"div",
"p",
"img",
"p",
"strong",
"p",
"p",
"a",
"a",
"a",
"div.powered.wrap-wide"
],
"/posts.html": [
"div.sample-banner",
"header.site-header",
"div.bar.wrap-wide",
"a.brand",
"img.brand-logo",
"span.brand-sep",
"span.brand-text",
"small",
"div.right",
"nav.nav",
"a",
"a",
"a",
"a",
"a",
"a",
"a.cta",
"div.backbar-wrap",
"div.backbar.wrap-wide",
"a.backbtn",
"main",
"div.wrap-wide",
"header.article-head",
"div.eyebrow",
"h1.serif",
"p",
"div.cat-grid",
"section.cat.span-1",
"div.section-title",
"h2",
"span",
"div.grid",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"section.cat.span-1",
"div.section-title",
"h2",
"span",
"div.grid",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"section.cat.span-1",
"div.section-title",
"h2",
"span",
"div.grid",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"section.cat.span-3",
"div.section-title",
"h2",
"span",
"div.grid",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"section.cat.span-2",
"div.section-title",
"h2",
"span",
"div.grid",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"section.cat.span-1",
"div.section-title",
"h2",
"span",
"div.grid",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"section.cat.span-1",
"div.section-title",
"h2",
"span",
"div.grid",
"article.card.has-thumb",
"a.thumb",
"img",
"div.body",
"div.cat",
"h3",
"a",
"p",
"div.foot",
"button.totop",
"footer.site-footer",
"div.cols.wrap-wide",
"div",
"p",
"strong",
"p",
"p",
"p",
"a",
"a",
"a",
"a",
"a",
"a",
"a",
"a",
"div",
"p",
"img",
"p",
"strong",
"p",
"p",
"a",
"a",
"a",
"div.powered.wrap-wide"
]
}