Add admin distribution editor
Some checks failed
Build / release (macos-latest) (push) Has been cancelled
Build / release (ubuntu-latest) (push) Has been cancelled
Build / release (windows-latest) (push) Has been cancelled
Windows Smoke Test / windows-smoke (push) Has been cancelled

This commit is contained in:
2026-05-05 19:16:09 +09:00
parent c4cdd0ceba
commit e266387784
11 changed files with 417 additions and 1652 deletions

View File

@@ -99,20 +99,17 @@
</div>
<div class="fieldGrid">
<label class="fieldBlock fieldBlockFull">
<span>distribution.json 경로 또는 URL</span>
<span>distribution 파일</span>
<div class="uploadField">
<input id="field-distributionUrl" type="text" autocomplete="off">
<button type="button" class="secondaryAction uploadButton" data-upload-target="distributionUrl" data-upload-accept=".json,application/json">파일 업로드</button>
<button type="button" class="secondaryAction uploadButton" data-upload-target="distributionUrl" data-upload-accept=".json,application/json">JSON 업로드</button>
<button type="button" id="editDistributionButton" class="secondaryAction">JSON 편집</button>
<button type="button" id="createDistributionButton" class="secondaryAction">새로 만들기</button>
</div>
</label>
<label class="fieldBlock">
<span>기본 접속 주소</span>
<input id="field-defaultServerAddress" type="text" autocomplete="off" placeholder="example.com:25565">
</label>
<label class="toggleBlock">
<input id="field-allowCustomServerAddress" type="checkbox">
<span>사용자가 라이브러리에서 주소를 바꿀 수 있음</span>
</label>
<div class="fieldHelpText fieldBlockFull">
distribution.json은 여기서 직접 업로드하거나 JSON 편집기로 새로 만들 수 있습니다.
</div>
</div>
</section>
@@ -184,6 +181,24 @@
</main>
</div>
<div id="distributionEditorModal" class="modalBackdrop" hidden>
<div class="modalPanel">
<div class="modalHeader">
<div>
<span class="eyebrow">Distribution Editor</span>
<h3>distribution.json 편집</h3>
<p id="distributionEditorHint">프로필에 연결할 distribution.json 내용을 사이트 안에서 직접 관리합니다.</p>
</div>
<button type="button" id="closeDistributionEditorButton" class="secondaryAction">닫기</button>
</div>
<textarea id="distributionEditorTextarea" class="distributionTextarea" spellcheck="false"></textarea>
<div class="modalActions">
<button type="button" id="loadDistributionTemplateButton" class="secondaryAction">샘플 불러오기</button>
<button type="button" id="saveDistributionFileButton" class="primaryAction">distribution 저장</button>
</div>
</div>
</div>
<script src="./app.js"></script>
</body>
</html>