diff --git a/docs/update.md b/docs/update.md index 50b831c..1e960e1 100644 --- a/docs/update.md +++ b/docs/update.md @@ -1,5 +1,10 @@ # 업데이트 로그 +## 2026-04-01 v1.3.38 +- Settings 화면 오른쪽 사이드의 테마 설정 패널은 다시 쓰기 전까지 숨김 처리하고, 현재 기본 다크모드를 유지한 채 다른 화면과 동일하게 스폰서 광고만 노출되도록 정리함. +- 관리자 아이템 모달에서 템플릿에 사용 중인 게임 배지는 다크모드에서도 읽히는 텍스트 색으로 맞추고, hover/focus 전환 효과를 추가해 상호작용이 더 분명하게 보이도록 보강함. +- 관리자 아이템 모달은 데스크톱에서 최소 폭을 800px로 늘리고 최대 높이를 뷰포트 안으로 제한했으며, 16:9 이미지는 높이 상한을 둬서 모달이 넓어질 때도 이미지와 하단 버튼이 과하게 뭉개지지 않도록 정리함. + ## 2026-04-01 v1.3.37 - 가이드 모달은 모바일에서 왼쪽 단계 목록 대신 현재 단계만 선택하는 셀렉트형 피커를 중심으로 쓰도록 높이와 내부 스크롤 구조를 다시 잡아, 작은 화면에서도 내용이 잘리지 않고 조작할 수 있게 정리함. - 관리자 아이템 상세 모달은 가이드 모달과 같은 큰 2단 셸 문법으로 다시 묶어, 왼쪽 게임 선택 패널과 오른쪽 이미지·메타·액션 영역이 더 넓고 여유 있게 보이도록 재구성함. diff --git a/frontend/src/App.vue b/frontend/src/App.vue index bb37736..3f78bba 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -128,7 +128,7 @@ const isGuidePrevDisabled = computed(() => guideStepIndex.value <= 0) const isGuideNextDisabled = computed(() => guideStepIndex.value >= guideSteps.length - 1) const isLightTheme = computed(() => themeMode.value === 'light') const themeToggleLabel = computed(() => (isLightTheme.value ? '다크 모드' : '라이트 모드')) -const showSettingsThemePanel = computed(() => route.name === 'profile') +const showSettingsThemePanel = computed(() => false && route.name === 'profile') const showGameHubViewToggle = computed(() => route.name === 'gameHub') const gameHubViewMode = computed(() => (route.query.view === 'list' ? 'list' : 'grid')) const leftBottomPrimaryAction = computed(() => { diff --git a/frontend/src/views/AdminView.vue b/frontend/src/views/AdminView.vue index 76a24a0..ae8ee9c 100644 --- a/frontend/src/views/AdminView.vue +++ b/frontend/src/views/AdminView.vue @@ -3288,6 +3288,7 @@ async function saveFeaturedOrder() { .customItemModal__image { width: 100%; aspect-ratio: 16 / 9; + max-height: min(360px, 34dvh); object-fit: cover; border-radius: 24px; background: radial-gradient(circle at top, rgba(77, 127, 233, 0.18), rgba(255, 255, 255, 0.02) 52%), rgba(255, 255, 255, 0.03); @@ -3354,7 +3355,9 @@ async function saveFeaturedOrder() { } .modalCard--customItem { width: min(1360px, calc(100vw - 40px)); + min-width: min(800px, calc(100vw - 40px)); height: min(820px, calc(100dvh - 40px)); + max-height: calc(100dvh - 40px); padding: 0; overflow: hidden; border-radius: 28px; @@ -3843,6 +3846,7 @@ async function saveFeaturedOrder() { border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.12); background: var(--theme-surface-soft); + color: var(--theme-text); font-size: 12px; font-weight: 800; } @@ -3851,6 +3855,22 @@ async function saveFeaturedOrder() { background: rgba(251, 191, 36, 0.12); color: rgba(253, 230, 138, 0.96); } +.pill--link { + color: var(--theme-text); + cursor: pointer; + transition: background 160ms ease, border-color 160ms ease, transform 160ms ease, color 160ms ease, box-shadow 160ms ease; +} +.pill--link:hover { + color: var(--theme-text-strong); + border-color: rgba(96, 165, 250, 0.4); + background: color-mix(in srgb, var(--theme-surface-soft) 76%, rgba(96, 165, 250, 0.2)); + box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18); + transform: translateY(-1px); +} +.pill--link:focus-visible { + outline: 2px solid rgba(96, 165, 250, 0.42); + outline-offset: 2px; +} .tierAdminSection { display: grid; gap: 10px;