UI 수정 요약

발행: (2026년 2월 3일 오후 11:26 GMT+9)
7 min read
원문: Dev.to

Source: Dev.to

번역할 텍스트를 제공해 주시면 한국어로 번역해 드리겠습니다.

개요

사용자 경험을 향상하고 깨진 기능을 수정하기 위해 여러 UI 개선을 구현했습니다.

구현된 변경 사항

1. Background Settings – “Add First Color” 버튼 제거

Location: src/components/layout/BackgroundSettingsPanel.tsx

Change: 캔버스에 배경이 없을 때 나타나는 깨진 “Add First Color” 버튼을 제거했습니다.

Before:

  • “Add First Color” 라는 노란‑주황색 그라디언트 버튼이 눈에 띄게 표시되었습니다.

After:

  • 간단한 안내 메시지: “Canvas has transparent background”(캔버스에 투명 배경이 있습니다) 를 표시합니다.
  • “아래의 ‘Add Gradient Layer’를 클릭하여 시작하세요” 라고 사용자에게 안내합니다.
  • 이제 사용자는 하단에 있는 기존 “Add Gradient Layer” 버튼을 사용합니다.

Benefit: 깨진 첫 번째 색상 기능을 제거하고 사용자 안내를 명확히 합니다.

2. Layout Bar – “Save”를 “Download”로 이름 변경

Location: src/components/layout/LayoutBar.tsx

Change: 하단 레이아웃 바의 “Save” 버튼을 “Download”로 이름을 바꾸었습니다.

Before:

  • 버튼에 Save 아이콘과 텍스트 “Save”가 표시되었습니다.

After:

  • 버튼에 Download 아이콘과 텍스트 “Download”가 표시됩니다.
  • 툴팁이 “Save Project”에서 “Download Project”로 변경되었습니다.

Technical Details:

  • 아이콘 import를 Save에서 Download로 변경했습니다.
  • 버튼 텍스트와 title 속성을 업데이트했습니다.
  • 기능은 동일하게 유지되며 라벨링만 더 명확해졌습니다.

Benefit: 수행되는 동작을 보다 정확하게 설명합니다.

3. Layout Bar – Exit 버튼 추가

Location: src/components/layout/LayoutBar.tsx

Change: 하단 레이아웃 바의 Tutorial 버튼 옆에 “Exit” 버튼을 추가했습니다.

Features:

  • LogOut 아이콘이 있는 빨간색 테마 버튼.
  • Tutorial 버튼 뒤에 배치.
  • 다른 액션 버튼과 일관된 스타일 적용 (borderbackgroundred-500/10, red-500/20, red-500/30 사용).

Props Added:

onExitToHome?: () => void

Exit 동작을 처리하기 위한 콜백.

Integration: DesignModeLayout.tsx를 업데이트하여 onExitToHome prop을 LayoutBar에 전달하고, 이를 상위 컴포넌트의 exit 기능에 연결했습니다.

Benefit: 편집기 하단 바에서 빠르게 에디터를 종료할 수 있습니다.

4. Layers Panel – Save/Exit 버튼 제거

Location: src/components/design-tool/LayersPanel.tsx

Change: 레이어 패널 상단에서 Save와 Exit 버튼을 제거했습니다.

Before:

  • 헤더에 녹색 “Save” 버튼, 빨간색 “Exit” 버튼, 자동 저장 카운트다운이 포함되어 있었습니다.

After:

  • 자동 저장 카운트다운만 오른쪽 정렬된 깔끔한 헤더가 표시됩니다.
  • Save와 Exit 기능은 Layout Bar(하단)로 이동했습니다.

Code Changes:

  • 버튼 요소와 해당 컨테이너를 삭제했습니다.
  • 자동 저장 카운트다운 기능은 그대로 유지했습니다.
  • 헤더 레이아웃을 단일 행으로 단순화했습니다.

Benefit: 레이어 패널의 복잡성을 줄이고 프로젝트 관련 액션을 하단 바에 집중시켰습니다.

5. Default Project Background

Status: 이미 올바르게 설정되어 있음.

Verification: 프로젝트는 createDefaultBackground()를 통해 빈 배경으로 초기화되며, 반환값은 다음과 같습니다:

{
  enabled: false,
  layers: []
}

Location: src/types/background.ts

변경 사항은 필요하지 않으며, 프로젝트는 기본적으로 색상이 없는 상태로 시작합니다.

Files Modified

  • src/components/layout/BackgroundSettingsPanel.tsx – “Add First Color” 버튼을 제거하고, 빈 상태 메시지를 업데이트했습니다.
  • src/components/layout/LayoutBar.tsx – Save를 Download로 이름 변경; Exit 버튼 추가; onExitToHome prop 추가.
  • src/components/layout/modes/DesignModeLayout.tsxonExitToHome prop을 LayoutBar에 전달.
  • src/components/design-tool/LayersPanel.tsx – 헤더에서 Save와 Exit 버튼을 제거; 상단 네비게이션 섹션을 간소화했습니다.

빌드 상태

  • ✅ 모든 변경 사항이 오류 없이 성공적으로 컴파일되었습니다.
  • ✅ TypeScript 타입이 올바르게 업데이트되었습니다.
  • ✅ 컴포넌트 prop 체인이 올바르게 연결되었습니다.

테스트 권장 사항

배경 설정

  • 빈 상태에 올바른 메시지가 표시되는지 확인합니다.
  • “Add Gradient Layer” 버튼이 예상대로 작동하는지 확인합니다.
  • 제거된 버튼 없이 사용자가 레이어를 추가할 수 있는지 확인합니다.

레이아웃 바

  • “Download” 버튼이 정상적으로 작동하는지 확인합니다.
  • Exit 버튼이 올바르게 이동하는지 테스트합니다.
  • 버튼 스타일링 및 배치를 확인합니다.

레이어 패널

  • 자동 저장 카운트다운이 여전히 올바르게 표시되는지 확인합니다.
  • 제거된 버튼 없이 레이아웃이 깔끔하게 보이는지 확인합니다.
  • 새로운 위치에서 저장/종료 기능이 작동하는지 테스트합니다.

새 프로젝트

  • 프로젝트가 투명 캔버스로 시작되는지 확인합니다.
  • 기본 배경 색상이 적용되지 않는지 확인합니다.

사용자 영향

긍정적인 변화

  • 더 깔끔하고 덜 복잡한 인터페이스.
  • 더 나은 액션 조직 (프로젝트 수준 액션이 하단 바에 배치됨).
  • 깨진 배경 기능을 수정함.
  • 버튼 라벨링이 더 정확해짐.
  • 일관된 종료 버튼 위치.

파괴적인 변경 없음

  • 기존 모든 기능이 유지됨.
  • 더 나은 조직을 통한 UX 향상.
Back to Blog

관련 글

더 보기 »

TypeScript 또는 눈물

프론트엔드 품질 게이트 또 보기: 백엔드 품질 게이트 백엔드 린터는 async footguns를 잡아냅니다. Type checkers는 runtime explosions를 방지합니다. 이제는 프론트엔드의…

Hybrid developer란 무엇인가?

Hybrid Developer란 무엇인가? 오늘날 빠르게 진화하는 기술 세계에서, Hybrid Developer는 여러 기술이나 플랫폼에 능숙한 소프트웨어 개발자를 의미한다, enab…