status, page_id, related_pages, last_updated
status
page_id
related_pages
last_updated
draft
A08_Support
2026-07-12
A08_Support — Frontend
기술지원 문의 폼. 이름·이메일·연락처·제목·문의내용(textarea) 입력 후 제출.
파일 구조
파일
위치
역할
A08_Support_UI_Page.ts
A08_Support/A08_Support_UI_Page.ts:1-217
문의 폼 렌더링 + 제출 로직
A08_Support_UI_Style.css
A08_Support/A08_Support_UI_Style.css:1-64
스타일 (theme.css 변수만 사용)
컴포넌트 / 함수
함수
위치
역할
renderA08Support(root)
A08_Support/A08_Support_UI_Page.ts:69
카드+폼 조립, 세션 정보 자동 채움
onA08_Support_Submit_Click(event)
A08_Support/A08_Support_UI_Page.ts:133
제출 핸들러(검증→fetch POST)
createTextAreaField(label, placeholder)
A08_Support/A08_Support_UI_Page.ts:32
여러 줄 textarea 필드(에러 슬롯 포함) 생성
제출 로직
필수값 검사(name/email/subject/message), 이메일 형식 검사
fetch("/api/a08/support", POST) 직접 호출 (별도 Api_Fetch 파일 없음)
성공: 폼 리셋 + 성공 메시지(A08_Support_Success) 표시
실패: nameField에 오류 메시지 표시
세션 자동 채움
로컬라이제이션
모든 텍스트는 ui_templates 에서 로드. 하드코딩 금지.
UI 요소
로케일 키
제목/부제
A08_Support_Title, A08_Support_Subtitle
필드
A08_Support_Field_Name, _Email, _Phone, _Subject, _Message (+각 Placeholder)
제출
A08_Support_Submit
성공
A08_Support_Success
오류
A08_Support_Error_Required, A08_Support_Error_Email
스타일 (CSS)
.a08-support__card — 카드 (max-width: 520px)
.a08-support__success — 성공 메시지(success 색, mist-violet 배경), 기본 hidden
.a08-support__form — flex 열 (gap: spacing-16)
.a08-support__textarea — resize vertical, min-height 120px
.a08-support__submit — 전체 너비 버튼
이벤트 핸들러
함수
위치
동작
onA08_Support_Submit_Click()
A08_Support/A08_Support_UI_Page.ts:133
문의 검증·제출
의존성
참고
문의 폼은 로그인/비로그인 모두 사용 가능 (세션 있으면 name/email 자동 입력)
textarea는 공통 컴포넌트에 없어 createTextAreaField로 자체 구현 (.ui-field/.ui-input 스타일 상속)