fix(lms): refine saved map labels and modal actions

This commit is contained in:
2026-09-01 17:51:57 +09:00
parent 342fcaeb34
commit b051ac75cf
4 changed files with 11 additions and 8 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "lms", "name": "lms",
"version": "1.1.17", "version": "1.1.18",
"description": "Autonomy Studio LMS Electron app", "description": "Autonomy Studio LMS Electron app",
"main": "./out/main/index.js", "main": "./out/main/index.js",
"author": { "author": {
+1 -3
View File
@@ -861,9 +861,7 @@ function LocalPcWorkspaceMockup({
.map((map) => ({ .map((map) => ({
...map, ...map,
key: `${map.key}:simulation`, key: `${map.key}:simulation`,
description: map.runtimeKind === 'PLATFORM_3D' description: '저장된 SLAM 결과 맵',
? '저장된 3D SLAM 결과를 복셀 Gazebo 환경에서 사용합니다.'
: '저장된 2D SLAM 결과 맵을 Gazebo 환경에서 사용합니다.',
worldFile: 'empty_world.world', worldFile: 'empty_world.world',
scope: 'simulation' as const, scope: 'simulation' as const,
gazeboWorldFromMap: true, gazeboWorldFromMap: true,
@@ -521,7 +521,7 @@ export default function WorldEditorModal({ workspaceRoot, onClose, onSaved }: Wo
<footer className="flex h-12 shrink-0 items-center justify-between border-t border-white/10 bg-[#162238] px-4"> <footer className="flex h-12 shrink-0 items-center justify-between border-t border-white/10 bg-[#162238] px-4">
<span className="text-[10px] font-medium text-white/38">저장 위치: world-layout.json</span> <span className="text-[10px] font-medium text-white/38">저장 위치: world-layout.json</span>
<div className="flex items-center gap-2"><button type="button" onClick={onClose} className="h-8 cursor-pointer rounded-md px-3 text-[11px] font-semibold text-white/58 transition hover:bg-white/8 hover:text-white">취소</button><button type="button" disabled={saving || loading} onClick={() => void save()} className="flex h-8 cursor-pointer items-center gap-1.5 rounded-md bg-[#3b7ffa] px-3 text-[11px] font-bold text-white transition hover:bg-[#4a89ff] disabled:cursor-default disabled:opacity-55">{saving ? <LoaderCircle size={14} className="animate-spin" /> : <Save size={14} />}저장</button></div> <div className="flex items-center gap-2"><button type="button" onClick={onClose} className="h-8 cursor-pointer rounded-md border border-white/12 bg-[#1c2a42] px-3 text-[11px] font-semibold text-white/72 transition hover:bg-[#263a59] hover:text-white">취소</button><button type="button" disabled={saving || loading} onClick={() => void save()} className="flex h-8 cursor-pointer items-center gap-1.5 rounded-md bg-[#3b7ffa] px-3 text-[11px] font-bold text-white transition hover:bg-[#4a89ff] disabled:cursor-default disabled:opacity-55">{saving ? <LoaderCircle size={14} className="animate-spin" /> : <Save size={14} />}저장</button></div>
</footer> </footer>
{error && <div className="absolute bottom-14 left-4 rounded border border-red-400/25 bg-[#3a1f29] px-3 py-2 text-[11px] font-semibold text-red-200">{error}</div>} {error && <div className="absolute bottom-14 left-4 rounded border border-red-400/25 bg-[#3a1f29] px-3 py-2 text-[11px] font-semibold text-red-200">{error}</div>}
</section> </section>
@@ -296,9 +296,14 @@ export default function WorldMapSelectorModal({ weekNumber, initialScope = 'simu
커스텀 맵 커스텀 맵
</button> </button>
)} )}
<button type="button" disabled={!pendingMap} onClick={() => pendingMap && onSelect(pendingMap)} className="ml-auto h-8 cursor-pointer rounded-md bg-[#2563eb] px-3 text-[12px] font-bold text-white transition hover:bg-[#1d5ed8] disabled:cursor-default disabled:opacity-45"> <div className="ml-auto flex items-center gap-2">
<button type="button" onClick={onClose} className="h-8 cursor-pointer rounded-md border border-white/12 px-3 text-[12px] font-bold text-white/70 transition hover:bg-white/8 hover:text-white">
취소
</button>
<button type="button" disabled={!pendingMap} onClick={() => pendingMap && onSelect(pendingMap)} className="h-8 cursor-pointer rounded-md bg-[#2563eb] px-3 text-[12px] font-bold text-white transition hover:bg-[#1d5ed8] disabled:cursor-default disabled:opacity-45">
확인 확인
</button> </button>
</div>
</footer> </footer>
</section> </section>
</div> </div>