Improve drawing symbols and sample popup

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
CopilotandCopilot committed 2026-11-05 17:30:24 +09:00
1 parent 7efe9097ce
commit a0ec74b09b
11 files changed
+108 -21

No files matched your search

+11 -1
View File
@@ -5,6 +5,7 @@ import { createLandingGuide } from './landing-guide';
import { createHeroMotion, heroMotionMarkup } from './landing-motion';
import './landing-white.css';
import './landing-typography.css';
import './sample-library-popup.css';
import { createDrawingPopup, drawingPopupMarkup } from './drawing-popup';
const appRoot = document.querySelector<HTMLDivElement>('.app');
@@ -81,6 +82,10 @@ const landingPanelMarkup = `
</div>
</article>
<article class="landing-card" data-card="sample">
<div><div class="landing-card-top"><div class="landing-card-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M3 20V8l6-4 6 4 6-4v16H3zM9 4v16M15 8v12"/></svg></div><span class="landing-card-number">03 / EXPLORE</span></div><span class="landing-card-eyebrow">Design Library</span><h3>기설계교량 라이브러리</h3><p>기존 설계 프로젝트의 교각·지형·지도를 살펴보고 불러옵니다.</p></div>
<div class="landing-card-actions"><span class="landing-card-note">12개 설계 프로젝트</span><button class="landing-primary" type="button" aria-haspopup="dialog">설계 라이브러리 불러오기</button></div>
</article>
</section>
<footer class="landing-footer">
@@ -89,7 +94,7 @@ const landingPanelMarkup = `
</footer>
</section>
${sampleExplorerMarkup}
<dialog class="sample-library-popup" aria-label="기설계교량 라이브러리"><button type="button" class="sample-library-close" aria-label="설계 라이브러리 닫기">×</button>${sampleExplorerMarkup}</dialog>
<section id="landing-excel-panel" class="landing-panel" aria-label="엑셀 입력 패널">
<div class="landing-panel-head">
<h3>엑셀 입력</h3>
@@ -135,6 +140,7 @@ const closePanels = (): void => {
};
const showApp = (): void => {
landingOverlay.querySelector<HTMLDialogElement>('.sample-library-popup')?.close();
landingGuide.close(false);
if (appRoot) {
appRoot.hidden = false;
@@ -262,6 +268,10 @@ document.querySelectorAll<HTMLButtonElement>('[data-pick-file]').forEach((button
bindFilePicker(document.querySelector('[data-pick-file="excel"]') as HTMLButtonElement, 'landing-excel-input', 'landing-excel-name');
const libraryPopup=landingOverlay.querySelector<HTMLDialogElement>('.sample-library-popup')!;
landingOverlay.querySelector<HTMLButtonElement>('[data-card="sample"] button')!.addEventListener('click',()=>{landingGuide.close(false);landingGuide.dismissHint();if(!libraryPopup.open)libraryPopup.showModal();});
libraryPopup.querySelector('.sample-library-close')!.addEventListener('click',()=>libraryPopup.close());
libraryPopup.addEventListener('close',()=>{requestAnimationFrame(()=>{landingOverlay.querySelectorAll<HTMLElement>('.landing-shell,.landing-hero').forEach(element=>element.scrollTo(0,0));landingOverlay.querySelector<HTMLButtonElement>('[data-card=sample] button')?.focus({preventScroll:true});});});
createSampleExplorer(landingOverlay,(sample:Sample)=>loadSampleIntoApp(sample,showApp,showLanding));
if (homeButton) {