Skip to content

feat(dashboard): 손익 카드 이번 달/전체 · 토글 자리·비율 통일 · 전환 흔들림 제거 - #468

Merged
Jay722J merged 3 commits into
mainfrom
feat/pnl-card-scope
Sep 16, 2026
Merged

Jay722J merged 3 commits into
mainfrom
feat/pnl-card-scope

Conversation

@Jay722J

@Jay722J Jay722J commented Sep 16, 2026 •

Copy link
Copy Markdown
Collaborator

① 손익 카드도 이번 달/전체

영업 성과처럼 토글을 단다. 이번 달과 전체를 한 번에 받아 두고 화면에서만 바꾼다 —
누를 때마다 다시 부르면 기다림이 생긴다. 줄은 싣지 않는다(GET /pnl/summary) —
수백 줄을 내려보내고 화면에서 더하는 쪽이 오히려 무겁다.

「입력 필요」는 달과 상관없다 — 아직 어느 달에도 안 들어간 건이라 토글을 눌러도 그대로다.
셈은 손익 탭과 같은 함수(sumP)이고 삭제한 줄은 빼고 센다.

⚠️ /summary 를 /:quoteId 보다 먼저 둔다. 뒤에 두면 'summary' 가 견적 id 로 읽힌다.

② 토글 자리·비율 통일

제목 옆에 두니 카드마다 자리가 달랐다 — 「영업 성과」(4자)와 「손익」(2자)의 길이 차이만큼 어긋났다.
이제 카드 조작·곁수치는 오른쪽 끝, 「열기」 바로 왼쪽에 붙는다(실측: 두 카드 모두 578px).
앞으로 붙는 카드도 이 자리를 쓴다 — Card 의 extra 자리가 그 약속이다.

칸은 글자 수와 무관하게 정확히 반이다(flex: 1 1 0, 실측 66px·66px).
마이페이지 고르개도 같은 규칙으로 맞췄다.

③ 전환할 때 일그러지던 것

두 가지가 겹쳐 있었다.

  • 기간 토글 — 새 값을 부르는 동안 앞의 숫자를 지웠다. 카드 속이 한 줄로 쪼그라들었다가
    도로 커지며 아래 카드가 통째로 밀려 올라갔다 내려왔다
  • 마이페이지 고르개 — 판마다 카드 묶음이 달라 열쇠가 없으면 React 가 자리로 짝을 맞춘다.
    같은 카드인데 자리가 달라졌다는 이유로 다시 만들어져 빈 채로 떴다가 채워졌다

고친 방법: 카드마다 고정 열쇠 · 값이 오기 전에는 같은 뼈대를 그린다(숫자만 「—」) ·
기간을 바꾸는 중에는 앞의 숫자를 그대로 둔다.

높이를 minHeight 로 짐작해 맞추지 않았다 — 화면 폭마다 어긋난다(휴대폰에서는 칸이 접혀 키가 달라진다).
뼈대를 그리는 것만이 어느 폭에서든 정확히 같은 자리를 차지한다.

실측: 판을 다섯 번 오가며 바꾼 직후와 1.2초 뒤의 높이가 한 번도 달라지지 않는다
(878·842·878·984·878). 기간 토글도 카드 높이 130px 고정(전·중·후).

DB

변경 없음.

검증

  • 백엔드 926개 · shared 347개 전부 통과 — 요약 검사 추가(이번 달/전체 가르기, 삭제한 줄 제외, 보기 권한)
  • 프론트 빌드·타입·영문화·접근성·UI 규칙 통과

🤖 Generated with Claude Code

Closes #467

준성의 Macbook Pro and others added 3 commits September 16, 2026 17:30
영업 성과처럼 토글을 단다(지시).

이번 달과 전체를 **한 번에 받아** 두고 화면에서만 바꾼다 — 누를 때마다 다시 부르면 기다림이 생긴다.
줄은 싣지 않는다(`GET /pnl/summary`) — 수백 줄을 내려보내고 화면에서 더하는 쪽이 오히려 무겁다.

「입력 필요」는 달과 상관없다 — 아직 어느 달에도 안 들어간 건이라 토글을 눌러도 그대로다.

셈은 손익 탭과 **같은 함수**(`sumP`)이고 삭제한 줄은 빼고 센다 — 두 화면 숫자가 갈릴 수 없다.

⚠️ `/summary` 를 `/:quoteId` **보다 먼저** 둔다. 뒤에 두면 'summary' 가 견적 id 로 읽힌다.

검사: 이번 달에 넣은 건과 아주 지난 달에 넣은 건이 각각 어디에 잡히는지, 삭제하면 둘 다에서
빠지는지, 요약도 보기 권한이 있어야 보이는지.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
## 자리 통일(지시)

토글을 제목 옆에 두니 **카드마다 자리가 달랐다** — 「영업 성과」(4자)와 「손익」(2자)의
제목 길이 차이만큼 좌우로 어긋났다. 이제 카드 조작·곁수치는 **오른쪽 끝, 「열기」 바로 왼쪽**에 붙는다.
제목이 몇 글자든 늘 같은 자리다(실측: 두 카드 모두 578px).

**앞으로 붙는 카드도 이 자리를 쓴다** — Card 의 `extra` 자리가 그 약속이다.

## 정확히 반반(지시)

글자 수로 넓이를 잡으면(「이번 달」 3자 · 「전체」 2자) 가르는 선이 가운데가 아니게 된다.
넓이를 못 박고 두 칸이 `flex: 1 1 0` 으로 똑같이 나눠 갖는다(실측: 66px · 66px).
마이페이지 고르개(영업관리·생산관리·경영관리)도 같은 규칙으로 맞췄다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
**두 가지가 겹쳐 있었다**(제보: 토글 조작할 때 글리치처럼 순간 일그러진다).

① 기간 토글 — 새 값을 부르는 동안 앞의 숫자를 지웠다. 카드 속이 「불러오는 중」 한 줄로
   쪼그라들었다가 도로 커지는데, 그 한 번의 들썩임에 아래 카드가 통째로 밀려 올라갔다 내려온다.

② 마이페이지 고르개(영업관리·생산관리·경영관리) — 판마다 카드 묶음이 달라 **열쇠가 없으면**
   React 가 자리로 짝을 맞춘다. 같은 카드인데 자리가 달라졌다는 이유로 다시 만들어져
   빈 채로 떴다가 채워졌다.

**고친 방법**

 · 카드마다 **고정 열쇠** — 판을 바꿔도 같은 카드는 다시 만들지 않는다
 · 값이 오기 전에는 **같은 뼈대**를 그린다(이름은 그대로, 숫자만 「—」).
   높이를 minHeight 로 짐작해 맞추면 화면 폭마다 어긋난다 — 휴대폰에서는 칸이 접혀 키가 달라진다.
   뼈대를 그리는 것만이 어느 폭에서든 정확히 같은 자리를 차지한다
 · 기간을 바꾸는 중에는 **앞의 숫자를 그대로 둔다**(aria-busy 로만 알린다)

실측 — 판을 다섯 번 오가며 바꾼 직후와 1.2초 뒤의 높이가 **한 번도 달라지지 않는다**
(878·842·878·984·878). 기간 토글도 카드 높이가 130px 로 고정(전·중·후).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Jay722J
Jay722J merged commit 34e03ab into main Sep 16, 2026
4 checks passed
@Jay722J
Jay722J deleted the feat/pnl-card-scope branch September 16, 2026 08:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

손익 카드 이번 달/전체 · 토글 자리 통일 · 전환 시 화면 일그러짐

1 participant