Files
Aislo/B11_Status/B11_Status_UI_Page.ts
T
eomsangdonandClaude Sonnet 5.5 25adc2f0e7 refactor(공개화면): A01~A09 · B10 · B11 을 공개 화면 틀 · 카드 · 알림 · 배지 · 체크 · 접이 부품으로 (PLAN 553-7)
- A01~A05 hero 다섯 벌 · 구역 제목 복제 CSS 걷고 공개 화면 틀 한 벌(wide 옵션 · 구역 제목 가운데 · 머리 아랫줄은 자리 안 먹는 그림자)
- 카드 = 카드 부품(로그인 · 가입 · 지원 · 약관 · 기능 카드 · 소식 줄 · B11 단계 카드) · 지원 성공 · B10 안내 = 띠 알림 · 태그 = 배지
- A07 약관 날 체크 · 날 details = 체크 + 접이 부품 · A08 날 textarea = 입력 여러 줄 · 빈 소식 = 빈 상태
- 죽은 A07_Register_UI_Page · 쓰이지 않는 CSS 걷음 · 띠 알림 hidden 받음
- 지킴 시험 test_553_7_public_pages

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 21:56:42 +09:00

57 lines
1.9 KiB
TypeScript

import { createBadge } from "@ui/ui_template_badge";
import { createButton, createCard } from "@ui/ui_template_elements";
import { section } from "@ui/ui_template_general_blocks";
import { createGeneralLayout } from "@ui/ui_template_general_layout";
import { currentLanguageIndex, ui_locales } from "@ui/ui_template_locale";
import "./B11_Status_UI_Style.css";
function L(key: keyof typeof ui_locales): string {
return ui_locales[key][currentLanguageIndex];
}
function buildStatusFlow(): HTMLElement {
const flow = document.createElement("div");
flow.className = "b11-status__flow";
flow.setAttribute("role", "list");
const steps = [
L("B11_Status_Step_Request"),
L("B11_Status_Step_Issue"),
L("B11_Status_Step_Deposit"),
L("B11_Status_Step_Complete"),
];
for (const label of steps) {
const title = document.createElement("strong");
title.textContent = label;
const item = createCard({
body: [title, createBadge(L("B11_Status_NotStarted"), "neutral")],
pad: 16,
});
item.classList.add("b11-status__step");
item.setAttribute("role", "listitem");
flow.append(item);
}
return flow;
}
export function renderB11Status(root: HTMLElement): void {
const downloadBody = document.createElement("div");
downloadBody.className = "b11-status__download";
const description = document.createElement("p");
description.textContent = L("B11_Status_Download_Description");
downloadBody.append(
description,
createButton({ label: L("Common_Btn_Download"), variant: "ghost", disabled: true }),
);
const layout = createGeneralLayout({
pageClass: "b11-status",
title: L("B11_Status_Title"),
subtitle: L("B11_Status_Subtitle"),
content: [
section(L("B11_Status_Flow_Title"), buildStatusFlow(), true),
section(L("B11_Status_Download_Title"), downloadBody, true),
],
});
root.replaceChildren(layout.root);
}