diff --git a/offline/OfflineApp.svelte b/offline/OfflineApp.svelte index 15d8f3a..5263063 100644 --- a/offline/OfflineApp.svelte +++ b/offline/OfflineApp.svelte @@ -69,6 +69,13 @@ 배치 분석 조합 탐색 사용자 데이터 + 실측값 제보 @@ -92,6 +99,7 @@ display: flex; align-items: center; justify-content: space-between; + gap: 10px; width: min(var(--page-max-width), calc(100% - var(--page-gutter))); min-height: 62px; margin: 0 auto; @@ -105,23 +113,31 @@ text-decoration: none; } - nav { display: flex; align-items: center; gap: 4px; } + nav { display: flex; min-width: 0; flex: 1; align-items: center; justify-content: flex-end; gap: 4px; overflow-x: auto; scrollbar-width: none; } + nav::-webkit-scrollbar { display: none; } nav a { + flex: 0 0 auto; padding: 8px 12px; border-radius: 9px; color: #929cad; font-size: 13px; font-weight: 750; text-decoration: none; + white-space: nowrap; } nav a:hover { color: #e2e6ed; background: rgb(255 255 255 / 5%); } nav a[aria-current='page'] { color: #f1a1c3; background: rgb(239 139 182 / 12%); } + .report-link { flex: 0 0 auto; padding: 8px 12px; border: 1px solid #ef8bb6; border-radius: 9px; color: #21121a; background: linear-gradient(135deg, #f3a3c5, #e77ead); box-shadow: 0 0 18px rgb(239 139 182 / 18%); font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; } + .report-link:hover { color: #160d12; background: linear-gradient(135deg, #f8bad3, #ee94ba); box-shadow: 0 0 22px rgb(239 139 182 / 30%); } + .report-link span { margin-left: 2px; font-size: 11px; } a:focus-visible { outline: 3px solid rgb(239 139 182 / 28%); outline-offset: 2px; } @media (max-width: 560px) { :global(:root) { --page-gutter: 24px; } .nav-inner { width: calc(100% - 24px); min-height: 54px; } - .brand { font-size: 15px; } - nav a { padding: 7px 9px; font-size: 14px; } + .brand { font-size: 13px; } + nav { gap: 2px; } + nav a { padding: 7px 7px; font-size: 12px; } + .report-link { padding: 7px 8px; font-size: 12px; } } diff --git a/release-notes/1.0.7.md b/release-notes/1.0.7.md index 244233a..558e0e5 100644 --- a/release-notes/1.0.7.md +++ b/release-notes/1.0.7.md @@ -17,7 +17,7 @@ - 점수 계수가 보정된 채보와 복수 기수 카드의 보드 보너스는 이전 버전과 계산 결과가 달라질 수 있습니다. - 현재 실측 점수 계수가 등록된 채보는 일부입니다. 계산 정확도 향상을 위해 대부분의 악곡에서 실측값 제보가 필요합니다. -- 실측값 제보: `[제보 링크 입력]` +- 실측값 제보: [Google Form](https://docs.google.com/forms/d/1bShzsxNN-iTk0uU3RfMfmLkYXYmUTmIWMmCtQmfl_Ik) - 연결 카드 최적화는 결과를 확인한 뒤 적용할 때만 사용자 데이터의 배치를 변경하며, 적용 직후에는 이전 배치로 복원할 수 있습니다. ## 다운로드 diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index f632e85..600eba1 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -11,6 +11,13 @@ 배치 분석 조합 탐색 사용자 데이터 + 실측값 제보 @@ -34,6 +41,7 @@ display: flex; align-items: center; justify-content: space-between; + gap: 10px; width: min(var(--page-max-width), calc(100% - var(--page-gutter))); min-height: 62px; margin: 0 auto; @@ -47,25 +55,33 @@ text-decoration: none; } - nav { display: flex; align-items: center; gap: 4px; } + nav { display: flex; min-width: 0; flex: 1; align-items: center; justify-content: flex-end; gap: 4px; overflow-x: auto; scrollbar-width: none; } + nav::-webkit-scrollbar { display: none; } nav a { + flex: 0 0 auto; padding: 8px 12px; border-radius: 9px; color: #929cad; font-size: 13px; font-weight: 750; text-decoration: none; + white-space: nowrap; } nav a:hover { color: #e2e6ed; background: rgb(255 255 255 / 5%); } nav a[aria-current='page'] { color: #f1a1c3; background: rgb(239 139 182 / 12%); } + .report-link { flex: 0 0 auto; padding: 8px 12px; border: 1px solid #ef8bb6; border-radius: 9px; color: #21121a; background: linear-gradient(135deg, #f3a3c5, #e77ead); box-shadow: 0 0 18px rgb(239 139 182 / 18%); font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; } + .report-link:hover { color: #160d12; background: linear-gradient(135deg, #f8bad3, #ee94ba); box-shadow: 0 0 22px rgb(239 139 182 / 30%); } + .report-link span { margin-left: 2px; font-size: 11px; } a:focus-visible { outline: 3px solid rgb(239 139 182 / 28%); outline-offset: 2px; } @media (max-width: 560px) { :global(:root) { --page-gutter: 24px; } .nav-inner { width: calc(100% - 24px); min-height: 54px; } - .brand { font-size: 15px; } - nav a { padding: 7px 9px; font-size: 14px; } + .brand { font-size: 13px; } + nav { gap: 2px; } + nav a { padding: 7px 7px; font-size: 12px; } + .report-link { padding: 7px 8px; font-size: 12px; } } diff --git a/src/routes/analysis/+page.svelte b/src/routes/analysis/+page.svelte index dfe3304..a17f780 100644 --- a/src/routes/analysis/+page.svelte +++ b/src/routes/analysis/+page.svelte @@ -768,6 +768,9 @@
특정 악곡과 카드 조합에서 최고 점수를 낼 수 있는 스페셜 발동 순서와 빈도 감소 조합을 찾습니다.
+ {#if selectedChart && selectedChart.scoreCalibrationSource !== 'measured'} +추정 점수 안내 이 악곡의 점수 계수는 실측값이 아니므로 실제 점수와 오차가 크게 발생할 수 있습니다.
+ {/if}악곡과 고정 멤버 조건을 바탕으로 최고 점수 조합과 스페셜 발동 순서를 함께 찾습니다.
+ {#if selectedChart && selectedChart.scoreCalibrationSource !== 'measured'} +추정 점수 안내 이 악곡의 점수 계수는 실측값이 아니므로 실제 점수와 오차가 크게 발생할 수 있습니다.
+ {/if}기준 조합은 배치 분석 결과가 저장되어 있고, 저장된 악곡과 난이도가 현재 탐색 조건과 같을 때 표시됩니다.