Files
CODE_ASSISTANT/docs/design/light-palette-preview.html
T
2026-09-16 17:22:14 +09:00

118 lines
69 KiB
HTML

<!doctype html>
<html lang="ko" data-palette="blue">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="color-scheme" content="light">
<title>CodeAssist · 밝은 테마 디자인 미리보기</title>
<style>
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2")}
:root{--canvas:#f5f7f8;--surface:#ffffff;--rail:#f7f9f9;--ink:#232b2b;--muted:#606d6d;--line:#e1e7e7;--accent:#16776d;--soft:#eaf5f2;--hover:#f0f4f3;--code:#f8fafa;--keyword:#216d69;--string:#77532d;--radius:12px;font-family:Geist,"Segoe UI","Malgun Gothic",sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}
:root[data-palette="blue"]{--canvas:#f5f7fa;--rail:#f7f9fc;--ink:#242c39;--muted:#606d7f;--line:#e1e6ee;--accent:#034ea2;--soft:#edf3fc;--hover:#f0f3f8;--code:#f8faff;--keyword:#034ea2}
:root[data-palette="graphite"]{--canvas:#f6f6f6;--rail:#f8f8f8;--ink:#292b2e;--muted:#696b70;--line:#e4e5e7;--accent:#42464d;--soft:#eef0f2;--hover:#f1f2f3;--code:#f9f9fa;--keyword:#454d60}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;white-space:nowrap}button,textarea,input{color:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;border-radius:7px;transition:background .16s,color .16s}button:hover{background:var(--hover)}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}svg{width:18px;height:18px;flex:none;stroke-width:1.7}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.mono,code,pre{font-family:Consolas,"Cascadia Code",monospace}.review{max-width:1360px;margin:auto;padding:32px 36px 24px}.review-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.eyebrow{font-size:12px;color:var(--muted);margin-bottom:10px;letter-spacing:.04em}h1{font-size:26px;letter-spacing:-1px;font-weight:600;line-height:1.3}.intro{font-size:13px;line-height:1.8;color:var(--muted);margin-top:10px}.preview-label{font-size:11px;border:1px solid var(--line);border-radius:5px;padding:6px 9px;color:var(--muted);background:var(--surface)}.choices{display:flex;gap:8px;flex-wrap:wrap;margin-top:23px}.palette{justify-content:flex-start;padding:11px 15px;border:1px solid var(--line);background:var(--surface);font-size:12px;gap:10px}.palette[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);color:var(--accent)}.palette .dot{width:13px;height:13px;border-radius:50%;background:var(--chip)}.palette small{font-size:10px;color:var(--muted)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:27px;margin-bottom:11px}.view-tabs{display:flex;gap:4px}.view-tabs button{padding:7px 11px;font-size:12px;color:var(--muted)}.view-tabs button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #232b2b12}.size-toggle{font-size:12px;color:var(--muted);padding:7px 9px}.window{width:100%;height:690px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 45px -24px #25363530;margin:0 auto;container-type:inline-size}.window.compact{max-width:460px}.titlebar{height:35px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-left:16px;font-size:11px;color:var(--muted);background:var(--rail)}.window-chrome{display:flex;align-items:center;gap:23px;padding-right:15px}.window-chrome svg{width:12px;height:12px}.app-header{height:59px;display:flex;align-items:center;justify-content:space-between;padding:0 23px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;letter-spacing:-.3px}.brand-mark{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;background:var(--accent);color:white}.brand-mark svg{width:18px;height:18px}.header-actions{display:flex;gap:8px}.icon-button{width:32px;height:32px;color:var(--muted)}.new-chat{font-size:12px;padding:8px 10px}.app-body{display:flex;height:calc(100% - 94px)}.rail{width:210px;flex:none;background:var(--rail);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:20px 12px 12px}.rail-label{font-size:11px;font-weight:500;color:var(--muted);padding:0 9px;margin-bottom:13px;display:flex;justify-content:space-between}.rail-label svg{width:14px;height:14px}.clip{padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);margin-bottom:25px}.clip p{font-size:11px;color:var(--muted);margin-bottom:8px}.clip code{font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clip small{display:block;font-size:10px;margin-top:10px;color:var(--muted)}.source-button{width:100%;justify-content:flex-start;padding:10px;font-size:11px;color:var(--accent);background:var(--soft)}.source-button svg{width:15px;height:15px}.source-button span:last-child{margin-left:auto;font-size:10px}.rail-empty{font-size:11px;line-height:1.9;padding:0 9px;color:var(--muted)}.rail-foot{margin-top:auto;border-top:1px solid var(--line);padding:14px 8px 1px;font-size:10px;color:var(--muted);line-height:1.8}.workarea{flex:1;min-width:0;display:flex;flex-direction:column}.chat-heading{height:57px;flex:none;padding:0 26px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line)}.chat-heading h2{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-label{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:3px 6px}.messages{overflow:auto;flex:1;padding:26px clamp(22px,5cqw,65px) 20px;scrollbar-width:thin}.user-message{background:var(--soft);padding:13px 17px;border-radius:12px 12px 3px 12px;font-size:13px;line-height:1.8;margin:0 0 24px auto;max-width:85%;width:fit-content}.assistant-name{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;margin-bottom:12px;color:var(--accent)}.assistant-name svg{width:17px;height:17px}.answer{font-size:13px;line-height:1.9}.answer strong{font-weight:600}.code-block{border:1px solid var(--line);border-radius:9px;overflow:hidden;margin:15px 0 12px;background:var(--code)}.code-heading{height:35px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted)}.copy-code{font-size:10px;padding:4px 6px}.copy-code svg{width:12px;height:12px}pre{margin:0;padding:15px 18px;font-size:12px;line-height:1.85;overflow:auto;tab-size:2}.kw{color:var(--keyword);font-weight:600}.str{color:var(--string)}.comment{color:var(--muted)}.answer-note{font-size:12px;line-height:1.8;color:var(--muted)}.answer-actions{display:flex;gap:3px;margin-top:9px}.answer-actions button{font-size:10px;padding:5px 7px;color:var(--muted)}.answer-actions svg{width:13px;height:13px}.composer-wrap{padding:10px clamp(22px,5cqw,65px) 15px;background:var(--surface)}.composer{border:1px solid #b9c7c5;border-radius:12px;padding:13px 14px 10px;box-shadow:0 2px 6px #232b2b05}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--soft)}textarea{display:block;resize:none;min-height:45px;width:100%;border:0;background:transparent;outline:none!important;font-size:13px;line-height:1.7}textarea::placeholder{color:var(--muted)}.composer-actions{display:flex;align-items:center;justify-content:space-between}.composer-tools{display:flex;align-items:center;gap:7px}.composer-tools span{font-size:10px;color:var(--muted)}.send{width:31px;height:31px;background:var(--accent);color:white;border-radius:8px}.send:hover{background:var(--accent);filter:brightness(.92)}.send:disabled{opacity:.38;cursor:default}.send:disabled:active{transform:none}.composer-note{text-align:center;font-size:10px;color:var(--muted);margin-top:9px}.welcome{flex:1;overflow:auto;padding:60px 30px 30px;text-align:center}.welcome .welcome-mark{display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:19px}.welcome-mark svg{width:33px;height:33px}.welcome h2{font-size:27px;font-weight:500;letter-spacing:-1px;line-height:1.45}.welcome p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:12px}.suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:28px}.suggestions button{border:1px solid var(--line);padding:9px 12px;font-size:11px}.suggestions svg{width:14px;height:14px}.history{flex:1;overflow:auto;padding:36px clamp(22px,5cqw,65px)}.history h2{font-size:24px;font-weight:500;letter-spacing:-.7px}.history p{font-size:12px;color:var(--muted);margin-top:9px}.search{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:25px 0 23px;color:var(--muted)}.search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:12px}.history-label{font-size:11px;color:var(--muted);margin:17px 0 8px}.history-item{display:flex;width:100%;justify-content:space-between;text-align:left;padding:15px 11px;border-bottom:1px solid var(--line);border-radius:0;font-size:12px}.history-item span{display:block;font-size:11px;color:var(--muted);margin-top:6px;font-weight:400}.history-item strong{font-weight:500}.history-item time{font-size:10px;color:var(--muted)}.palette-notes{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:23px;padding-bottom:12px}.palette-notes h2{font-size:14px;font-weight:500;margin-bottom:9px}.palette-notes p{font-size:12px;color:var(--muted);line-height:1.85;max-width:54ch}.swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.swatch-color{height:30px;border-radius:5px;border:1px solid var(--line);margin-bottom:7px}.swatches span{display:block;font-size:10px;color:var(--muted)}.swatches code{display:block;font-size:10px;margin-top:3px}.footnote{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted);border-top:1px solid var(--line);margin-top:12px;padding-top:16px}.status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:11px 18px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:0 4px 20px #232b2b18;font-size:12px;z-index:2;max-width:calc(100% - 32px);text-align:center}.skip{position:absolute;left:12px;top:-60px;background:white;padding:10px;z-index:3;color:var(--ink)}.skip:focus{top:12px}
.window{height:770px}.messages{padding-top:20px;padding-bottom:12px}.user-message{margin-bottom:18px}.assistant-name{margin-bottom:9px}.code-block{margin-top:12px;margin-bottom:9px}pre{padding-top:12px;padding-bottom:12px;line-height:1.7}.answer-actions{margin-top:6px}
@container(max-width:650px){.rail{display:none}.app-header{padding:0 17px}.chat-heading{padding:0 19px}.messages{padding:20px}.composer-wrap{padding:10px 18px 14px}.welcome{padding:65px 20px 25px}.welcome h2{font-size:24px}.user-message{max-width:96%}.context-label{display:none}.composer-note{font-size:9px}.answer{font-size:12px}pre{font-size:11px}.welcome p{font-size:11px}}
@media(max-width:700px){.review{padding:23px 16px}.review-heading{gap:12px}h1{font-size:23px}.preview-label{font-size:9px}.intro{font-size:12px}.choices{gap:7px}.palette{padding:10px 12px}.palette small{display:none}.toolbar{margin-top:22px}.size-toggle{font-size:0;gap:0}.size-toggle svg{width:18px}.palette-notes{grid-template-columns:1fr;gap:21px}.window{height:710px}.footnote{flex-direction:column;gap:7px}.view-tabs button{font-size:11px;padding:7px 9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
</style>
</head>
<body>
<a class="skip" href="#preview">목업으로 이동</a>
<main class="review">
<header class="review-heading"><div><p class="eyebrow">CodeAssist / Color study</p><h1>밝게, 또렷하게. 편안한 작업 화면.</h1><p class="intro">배경은 가볍게, 색은 필요한 곳에만.<br>같은 화면에서 세 가지 조합을 비교해 봐.</p></div><span class="preview-label">디자인 미리보기</span></header>
<div class="choices" role="group" aria-label="색 조합 선택">
<button class="palette" data-color="teal" aria-pressed="true" style="--chip:#16776d"><span class="dot"></span>01 · 소프트 틸 <small>추천</small></button>
<button class="palette" data-color="blue" aria-pressed="false" style="--chip:#034ea2"><span class="dot"></span>02 · 클린 블루</button>
<button class="palette" data-color="graphite" aria-pressed="false" style="--chip:#42464d"><span class="dot"></span>03 · 페이퍼 그레이</button>
</div>
<div class="toolbar"><div class="view-tabs" role="group" aria-label="미리볼 화면"><button data-view="chat" aria-pressed="true">대화 화면</button><button data-view="new" aria-pressed="false">새 대화</button><button data-view="history" aria-pressed="false">대화 목록</button></div><button class="size-toggle" id="size-toggle" aria-pressed="false" aria-label="좁은 창으로 보기"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg><span>좁은 창으로 보기</span></button></div>
<section class="window" id="preview" aria-label="CodeAssist 화면 목업">
<div class="titlebar"><span>CodeAssist</span><div class="window-chrome" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-minus" aria-hidden="true"><path d="M5 12h14"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></div></div>
<header class="app-header"><div class="brand"><span class="brand-mark"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg></span>Chat Everywhere</div><div class="header-actions"><button class="icon-button" id="history-button" aria-label="대화 목록"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-history" aria-hidden="true"><path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"></path><path d="M3 3v5h5"></path><path d="M12 7v5l4 2"></path></svg></button><button class="new-chat" id="new-button"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg>새 대화</button></div></header>
<div class="app-body">
<aside class="rail" aria-label="코드 탐색"><div class="rail-label">클립보드 이력 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard" aria-hidden="true"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></svg></div><div class="clip"><p>최근 복사한 코드</p><code>SELECT FROM mara FIELDS ...</code><small>목업 예시 · ABAP</small></div><div class="rail-label">이 대화의 코드 <span id="code-count">1</span></div><button class="source-button" id="source-button"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg>자재 조회 <span>ABAP</span></button><p class="rail-empty" id="rail-empty" hidden>대화에 코드가 생기면<br>여기에서 바로 찾아볼 수 있어.</p><div class="rail-foot">코드를 선택하면<br>해당 위치로 바로 이동해.</div></aside>
<div class="workarea">
<div class="chat-heading" id="chat-heading"><h2 id="conversation-title">자재 마스터 조회 코드 개선</h2><span class="context-label">ABAP 도우미</span></div>
<div class="messages" id="messages" aria-label="예시 대화">
<div class="user-message">자재 마스터에서 자재번호와 자재유형을 조회하는<br>ABAP 코드를 작성해 줘.</div>
<article class="assistant-message"><div class="assistant-name"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg>CodeAssist</div><p class="answer">필요한 필드만 선택해서 조회하면 돼.<br>아래는 <strong>최대 100건을 가져오는 Open SQL 예시</strong>야.</p>
<div class="code-block" id="code-block"><div class="code-heading"><span class="mono">ABAP · 자재 마스터 조회</span><button class="copy-code" id="copy-code"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg><span>복사</span></button></div><pre><code id="abap-code"><span class="comment">" 자재번호와 자재유형 조회</span>
<span class="kw">SELECT FROM</span> mara
<span class="kw">FIELDS</span> matnr, mtart
<span class="kw">ORDER BY</span> matnr
<span class="kw">INTO TABLE</span> @<span class="kw">DATA</span>(lt_materials)
<span class="kw">UP TO</span> 100 <span class="kw">ROWS</span>.</code></pre></div>
<p class="answer-note">특정 자재유형만 필요하면 WHERE 조건을 추가할 수 있어.</p><div class="answer-actions"><button id="helpful" aria-pressed="false"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-thumbs-up" aria-hidden="true"><path d="M7 10v12"></path><path d="M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z"></path></svg>도움이 됐어</button><button id="followup"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-corner-down-right" aria-hidden="true"><polyline points="15 10 20 15 15 20"></polyline><path d="M4 4v7a4 4 0 0 0 4 4h12"></path></svg>조건 추가하기</button></div>
</article>
</div>
<section class="welcome" id="welcome" hidden><div class="welcome-mark"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg></div><h2>어떤 코드를 함께 볼까?</h2><p>코드를 붙여 넣거나 궁금한 내용을 적어 줘.<br>ABAP 작성부터 오류 분석까지 함께할게.</p><div class="suggestions"><button data-prompt="이 ABAP 코드의 동작을 설명해 줘."><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg>코드 설명</button><button data-prompt="ABAP 오류 원인을 분석해 줘."><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-scan-line" aria-hidden="true"><path d="M3 7V5a2 2 0 0 1 2-2h2"></path><path d="M17 3h2a2 2 0 0 1 2 2v2"></path><path d="M21 17v2a2 2 0 0 1-2 2h-2"></path><path d="M7 21H5a2 2 0 0 1-2-2v-2"></path><path d="M7 12h10"></path></svg>오류 분석</button><button data-prompt="이 조회 코드의 성능을 개선해 줘."><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-gauge" aria-hidden="true"><path d="m12 14 4-4"></path><path d="M3.34 19a10 10 0 1 1 17.32 0"></path></svg>성능 개선</button></div></section>
<section class="history" id="history" hidden><h2>이전 대화</h2><p>작업하던 코드와 이야기를 이어가.</p><label class="search"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search" aria-hidden="true"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><input id="search" aria-label="대화 검색" placeholder="대화 제목으로 검색"></label><div class="history-label">오늘 · 예시 대화</div><div id="history-items"><button class="history-item" data-title="자재 마스터 조회 코드 개선"><strong>자재 마스터 조회 코드 개선<span>필요한 필드만 선택하는 Open SQL</span></strong><time>14:32</time></button><button class="history-item" data-title="ALV 필드 카탈로그 설정"><strong>ALV 필드 카탈로그 설정<span>컬럼 이름과 출력 길이 정리</span></strong><time>11:08</time></button><button class="history-item" data-title="내부 테이블 중복 제거"><strong>내부 테이블 중복 제거<span>SORT와 DELETE ADJACENT DUPLICATES</span></strong><time>09:41</time></button></div><p id="no-results" hidden>일치하는 대화가 없어. 다른 검색어로 찾아봐.</p></section>
<div class="composer-wrap" id="composer-wrap"><form class="composer" id="composer"><textarea id="message-input" aria-label="메시지" placeholder="코드나 질문을 입력해 줘" rows="2"></textarea><div class="composer-actions"><div class="composer-tools"><button class="icon-button" type="button" id="attach" aria-label="파일 첨부"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-paperclip" aria-hidden="true"><path d="m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48"></path></svg></button><span id="attachment-label">ABAP 도우미</span><input type="file" id="file-input" hidden></div><button class="send" id="send" aria-label="메시지 보내기" disabled><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up" aria-hidden="true"><path d="m5 12 7-7 7 7"></path><path d="M12 19V5"></path></svg></button></div></form><p class="composer-note">디자인 확인용 예시 화면 · 메시지는 서버로 전송되지 않아.</p></div>
</div>
</div>
</section>
<section class="palette-notes" aria-label="선택한 색 조합 설명"><div><h2 id="palette-title">01 · 소프트 틸</h2><p id="palette-description">화이트와 옅은 회색을 바탕으로, 선택한 항목과 전송 버튼에만 청록을 넣었어. 긴 코드와 대화를 읽을 때 색이 먼저 튀지 않는 조합이야.</p></div><div class="swatches"><div><div class="swatch-color" style="background:var(--surface)"></div><span>작업 영역</span><code>#FFFFFF</code></div><div><div class="swatch-color" style="background:var(--rail)"></div><span>사이드 영역</span><code id="rail-hex">#F7F9F9</code></div><div><div class="swatch-color" style="background:var(--ink)"></div><span>본문</span><code id="ink-hex">#232B2B</code></div><div><div class="swatch-color" style="background:var(--accent)"></div><span>포인트</span><code id="accent-hex">#16776D</code></div></div></section>
<footer class="footnote"><span>검토 범위: 색 조합과 표면 대비 · 앱 반영 전 독립 HTML 목업</span><span>색 조합을 바꿔도 같은 화면이 유지돼.</span></footer>
</main>
<div class="status" id="status" role="status" hidden></div>
<script>
const $ = id => document.getElementById(id);
const palettes = {
teal: ['01 · 소프트 틸', '화이트와 옅은 회색을 바탕으로, 선택한 항목과 전송 버튼에만 청록을 넣었어. 긴 코드와 대화를 읽을 때 색이 먼저 튀지 않는 조합이야.', '#F7F9F9', '#232B2B', '#16776D'],
blue: ['02 · 클린 블루', '차가운 기운이 아주 조금 도는 흰색과 절제된 블루. 익숙한 업무 도구 느낌이고, 선택한 항목과 버튼이 명확하게 구분돼.', '#F7F9FC', '#242C39', '#034EA2'],
graphite: ['03 · 페이퍼 그레이', '색을 거의 덜어낸 흰색과 중성 회색. 버튼은 짙은 차콜로 잡고, 대화와 코드 자체에 집중하도록 만든 가장 담백한 조합이야.', '#F8F8F8', '#292B2E', '#42464D']
};
document.querySelectorAll('[data-color]').forEach(button => button.addEventListener('click', () => {
document.documentElement.dataset.palette = button.dataset.color;
document.querySelectorAll('[data-color]').forEach(b => b.setAttribute('aria-pressed', String(b === button)));
const values = palettes[button.dataset.color];
['palette-title','palette-description','rail-hex','ink-hex','accent-hex'].forEach((id,i) => $(id).textContent = values[i]);
}));
document.querySelector('[data-color=blue]').click();
let currentView = 'chat';
function setView(view) {
currentView = view;
$('messages').hidden = view !== 'chat'; $('welcome').hidden = view !== 'new'; $('history').hidden = view !== 'history';
$('composer-wrap').hidden = view === 'history'; $('chat-heading').hidden = view !== 'chat';
$('source-button').hidden = view !== 'chat'; $('rail-empty').hidden = view === 'chat'; $('code-count').textContent = view === 'chat' ? '1' : '0';
document.querySelectorAll('[data-view]').forEach(b => b.setAttribute('aria-pressed', String(b.dataset.view === view)));
}
document.querySelectorAll('[data-view]').forEach(b => b.addEventListener('click', () => setView(b.dataset.view)));
$('new-button').addEventListener('click', () => {setView('new'); $('message-input').focus()});
$('history-button').addEventListener('click', () => setView('history'));
$('size-toggle').addEventListener('click', () => {
const compact = $('preview').classList.toggle('compact');
$('size-toggle').setAttribute('aria-pressed', String(compact));
$('size-toggle').setAttribute('aria-label', compact ? '넓은 창으로 보기' : '좁은 창으로 보기');
$('size-toggle').querySelector('span').textContent = compact ? '넓은 창으로 보기' : '좁은 창으로 보기';
});
let timer;
function notify(message) { clearTimeout(timer); $('status').textContent = message; $('status').hidden = false; timer = setTimeout(() => $('status').hidden = true, 3200); }
$('source-button').addEventListener('click', () => $('code-block').scrollIntoView({block:'nearest', behavior:matchMedia('(prefers-reduced-motion: reduce)').matches ? 'instant' : 'smooth'}));
$('copy-code').addEventListener('click', async () => {
try { await navigator.clipboard.writeText($('abap-code').innerText); notify('코드를 복사했어.'); }
catch { const selection = window.getSelection(); const range = document.createRange(); range.selectNodeContents($('abap-code')); selection.removeAllRanges(); selection.addRange(range); notify('코드를 선택했어. Ctrl+C로 복사할 수 있어.'); }
});
$('helpful').addEventListener('click', () => {const pressed = $('helpful').getAttribute('aria-pressed') !== 'true'; $('helpful').setAttribute('aria-pressed', String(pressed)); $('helpful').style.color = pressed ? 'var(--accent)' : ''; notify(pressed ? '도움이 됐어 선택됨 · 목업 안에서만 반영돼.' : '선택을 해제했어.');});
function fillPrompt(text) { $('message-input').value = text; $('send').disabled = false; $('message-input').focus(); }
$('followup').addEventListener('click', () => fillPrompt('자재유형이 FERT인 항목만 조회하도록 조건을 추가해 줘.'));
document.querySelectorAll('[data-prompt]').forEach(b => b.addEventListener('click', () => fillPrompt(b.dataset.prompt)));
$('message-input').addEventListener('input', () => $('send').disabled = !$('message-input').value.trim());
$('composer').addEventListener('submit', event => {
event.preventDefault(); const value = $('message-input').value.trim(); if (!value) return;
if (currentView !== 'chat') setView('chat');
const bubble = document.createElement('div'); bubble.className = 'user-message'; bubble.textContent = value;
const reply = document.createElement('p'); reply.className = 'answer-note'; reply.textContent = '입력한 메시지의 표시 예시야. 이 목업은 AI에 연결되어 있지 않아.';
$('messages').append(bubble, reply); $('messages').scrollTop = $('messages').scrollHeight;
$('message-input').value = ''; $('send').disabled = true;
});
$('message-input').addEventListener('keydown', event => {if (event.key === 'Enter' && !event.shiftKey && !event.isComposing) {event.preventDefault(); $('composer').requestSubmit();}});
$('attach').addEventListener('click', () => $('file-input').click());
$('file-input').addEventListener('change', () => {const file = $('file-input').files[0]; if(file){$('attachment-label').textContent = file.name.length > 24 ? file.name.slice(0,21) + '…' : file.name; notify('파일 이름만 미리 보여줘. 업로드는 하지 않아.');}});
$('search').addEventListener('input', () => {let found = 0; document.querySelectorAll('.history-item').forEach(item => {item.hidden = !item.textContent.toLowerCase().includes($('search').value.trim().toLowerCase()); if (!item.hidden) found++;}); $('no-results').hidden = found > 0;});
document.querySelectorAll('.history-item').forEach(item => item.addEventListener('click', () => {setView('chat'); $('conversation-title').textContent = '자재 마스터 조회 코드 개선'; if(item.dataset.title !== '자재 마스터 조회 코드 개선') notify('목업에는 자재 조회 대화 한 개가 준비되어 있어.');}));
</script>
</body>
</html>