UI 개선
Deploy EG-BIM QA Gateway / deploy (push) Successful in 34s

This commit is contained in:
root
2026-09-21 19:07:45 +09:00
parent c0c28f6349
commit 33aeda6c4a
3 changed files with 55 additions and 17 deletions
+7 -15
View File
@@ -8,16 +8,6 @@
const CATEGORY_CODES = { '오류문의': 'ERROR_QNA', '개선문의': 'IMPROVEMENT_QNA', '일반문의': 'GENERAL_QNA' };
let authReady;
const seedPosts = [
{ id: 'EG-1048', category: '오류문의', company: '바론컨설턴트', department: '기술연구팀', author: '홍길동', title: '도면 내보내기 중 프로그램이 종료됩니다.', date: '2026-09-17', status: '문의접수', secret: false, content: '도면 내보내기 버튼을 누르면 프로그램이 종료되는 현상이 있습니다.\n재현 절차와 사용 중인 버전을 함께 확인 부탁드립니다.' },
{ id: 'EG-1047', category: '개선문의', company: '한맥기술', department: 'BIM팀', author: '김민지', title: '층별 도면을 한 번에 선택할 수 있으면 좋겠습니다.', date: '2026-09-16', status: '문의검토', secret: false, content: '층별 도면을 일괄 선택하여 내보낼 수 있는 기능을 제안드립니다.' },
{ id: 'EG-1046', category: '일반문의', company: '삼안', department: '설계1팀', author: '이도윤', title: 'EG-BIM 라이선스와 설치 환경을 문의드립니다.', date: '2026-09-15', status: '답변완료', secret: true, content: '설치 가능한 운영체제와 라이선스 정책을 확인하고 싶습니다.' },
{ id: 'EG-1045', category: '오류문의', company: '바론컨설턴트', department: '디지털전환팀', author: '박서준', title: '프로젝트 파일을 열 때 로딩이 오래 걸립니다.', date: '2026-09-12', status: '정밀검토', secret: false, content: '최근 프로젝트 파일을 열 때 약 2분 이상 로딩이 지속됩니다.' },
{ id: 'EG-1044', category: '공지사항', company: '관리자', department: '-', author: '관리자', title: 'EG-BIM Q&A 게시판 운영 안내', date: '2026-09-10', status: '', secret: false, content: 'EG-BIM 사용 중 궁금한 점이나 개선 의견을 남겨주세요.' },
{ id: 'EG-1043', category: '개선문의', company: '한맥기술', department: '사업관리팀', author: '최유진', title: '검색 결과에서 도면 미리보기를 제공해주세요.', date: '2026-09-09', status: '문의접수', secret: false, content: '검색 결과에 도면 미리보기 썸네일이 있으면 확인이 더 편리할 것 같습니다.' },
{ id: 'EG-1042', category: '일반문의', company: '외부 사용자', department: '-', author: '정하늘', title: '교육 자료를 어디서 확인할 수 있나요?', date: '2026-09-08', status: '답변완료', secret: false, content: 'EG-BIM 기본 교육 자료와 사용 가이드 위치를 알려주세요.' }
];
function qs(selector, root) { return (root || document).querySelector(selector); }
function qsa(selector, root) { return Array.prototype.slice.call((root || document).querySelectorAll(selector)); }
function escapeHtml(value) {
@@ -31,10 +21,7 @@
}
function getPosts() {
const saved = readJson(STORAGE_KEY, []);
return saved.concat(seedPosts.filter(function (seed) {
return !saved.some(function (post) { return post.id === seed.id; });
}));
return readJson(STORAGE_KEY, []).filter(function (post) { return post.category !== '공지사항'; });
}
function savePost(post) {
@@ -361,7 +348,12 @@
const detail = qs('#detail');
if (!detail) return;
const id = new URLSearchParams(window.location.search).get('id') || 'EG-1048';
const post = getPosts().find(function (item) { return item.id === id; }) || seedPosts[0];
const post = getPosts().find(function (item) { return item.id === id; });
if (!post) {
qs('[data-detail-title]').textContent = '문의 내용을 찾을 수 없습니다.';
qs('[data-detail-content]').textContent = '목록에 등록된 문의가 없습니다.';
return;
}
qs('[data-detail-category]').textContent = post.category;
qs('[data-detail-title]').textContent = post.title;
qs('[data-detail-status]').textContent = post.status || '공지';
+10
View File
@@ -9,6 +9,16 @@
</head>
<body>
<main class="qa-list-page">
<header class="site-header">
<div class="header-inner">
<a class="brand" href="index.html" aria-label="EG-BIM Q&amp;A 홈"><span class="brand-mark" aria-hidden="true">e</span><span>EG-BIM</span></a>
<div class="header-tools"><div class="locale"><span aria-hidden="true"></span><a href="#" aria-current="page">KR</a><span>/</span><a href="#">EN</a></div><a class="login-link" href="/auth/login" aria-label="로그인"><span class="user-icon" aria-hidden="true"></span><span data-auth-name>로그인</span></a></div>
</div>
</header>
<section class="page-hero">
<div class="hero-inner"><span class="hero-kicker">EG-BIM SUPPORT</span><h1>Q&amp;A</h1><p>EG-BIM 관련 문의하기</p></div>
<nav class="sub-nav" aria-label="EG-BIM 지원 메뉴"><div class="sub-nav-inner"><a href="index.html" aria-current="page">문의하기(Q&amp;A)</a><a href="#" aria-disabled="true" class="disabled-tab">원격지원</a></div></nav>
</section>
<section class="page-shell">
<div class="qa-list-heading"><h1>문의하기(Q&amp;A)</h1></div>
<form class="filter-panel" id="searchForm">