Commit Graph

79 Commits

Author SHA1 Message Date
ByungCheol 1000bf06af fix(board): 수정 화면도 게시판별 태그만 — 단, 글이 가진 기존 태그는 보존
CI / build (push) Failing after 15m27s
- 새글·수정 모두 boardApi.tagGroups(category)로 이 게시판 매핑 그룹만 노출
- 수정 시 전체 그룹으로 기존 태그 id 해석 → 이 게시판에 없는 태그는 별도 배지로 보존
- 다른 게시판 태그가 수정 화면에 모두 뜨던 문제 해결

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 16:14:43 +09:00
ByungCheol 821aec72b9 feat: 계정정보 정기결제 관리 — 현황·해지/재개·플랜 변경
CI / build (push) Failing after 13m36s
- 결제 플랜/만료일/다음 결제일 표시
- 구독 해지(안내 후 자동갱신 중단, 만료일까지 이용)/재개
- 결제 가능한 플랜 목록 + 변경/구독(Android 결제, PC는 앱 안내)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 16:04:41 +09:00
ByungCheol 0dda0b6ccd fix: 게시판 목록 태그 필터를 게시판별로 로드(게시판 전환 시 갱신)
CI / build (push) Failing after 13m31s
- boardApi.tags(category), 게시판 변경 시 태그 필터 재로드
- 매핑된 그룹의 태그만 필터 칩으로 노출

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 15:44:40 +09:00
ByungCheol 09634757f7 style: 태그 관리 - 미매핑 그룹 안내 갱신(미노출), bm-none 표기
CI / build (push) Failing after 13m44s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 15:24:27 +09:00
ByungCheol 823bdcafcf feat: 업그레이드 화면 인앱 결제 — Android 구매, PC는 앱 유도
CI / build (push) Failing after 15m11s
- billingApi(products/verifyGoogle), native/billing(테스트 구매 토큰 생성)
- Android 앱: 상품(월간/연간) 구매 버튼 → 검증 → 프로필 갱신
- PC(웹/데스크톱): 구매 대신 앱 다운로드 안내
- 프리미엄 이용 중이면 만료일 표시

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 15:12:59 +09:00
ByungCheol ce5cefe64a style: 분류 화면 대분류 대 뱃지 제거 (분류 관리·기본 분류)
CI / build (push) Failing after 15m33s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 14:50:24 +09:00
ByungCheol 56d2ad6a8a feat: 계정정보 포인트 클릭 시 적립내역 모달
CI / build (push) Failing after 13m30s
- 포인트 행 클릭 → 적립/차감 내역 모달(사유·일시·증감)
- authApi.pointHistory(), 사유 라벨(BOARD_WRITE=게시판 작성)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 14:44:59 +09:00
ByungCheol 7e096d5e7b refactor: board_setting 제거에 따른 정리 + 수정 시 태그 유실 방지
CI / build (push) Failing after 12m59s
- adminApi getBoardSetting/setBoardSetting 제거
- 글 수정 화면은 전체 그룹 로드(기존 글 태그 유지), 새 글은 게시판 매핑 그룹만

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 14:05:12 +09:00
ByungCheol c167875567 feat: 관리자 태그 화면 - 그룹별 게시판 매핑 체크박스
CI / build (push) Failing after 13m38s
- 전역 단일 카테고리 선택 제거 → 각 태그 그룹에 사용 게시판 체크박스(커뮤니티/짠테크/재테크 팁)
- 저장 시 boards 함께 전송, 선택 없으면 전체 게시판
- 글쓰기 화면은 현재 게시판에 매핑된 그룹 태그만 노출(boardApi.tagGroups(category))

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 13:34:40 +09:00
ByungCheol 7e38eae2b7 feat: 게시판 인기/블라인드/자기글 차단·헤더 아바타·댓글 새로고침 등
CI / build (push) Failing after 11m35s
- 헤더에 내 아바타(계정정보 링크) + 앱 시작 시 프로필 동기화(재로그인 없이 아바타/포인트)
- 목록: 인기 글 상단 배지(🔥), 비추천 20+ 블라인드 표시
- 상세: 본인 글/댓글 추천·비추천 비활성, 비추천 20+ 글/댓글 블라인드(그래도 보기)
- 댓글: 인기 댓글 배지, 본문 작성자에 작성자 뱃지, 목록 하단 새로고침 버튼(입력폼 위)
- 추천자 목록 가로 줄바꿈(아바타+이름 단위, 이름 안 잘리게)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 13:21:37 +09:00
ByungCheol 7699cfc55f refine(account): 프로필 사진 - 되돌리기 버튼을 삭제로 변경
CI / build (push) Failing after 12m47s
- 구글사진으로/기본으로 버튼 제거, 삭제 버튼으로 단순화
- 등록한 사진 삭제 시 구글 계정 아바타로 표시(없으면 이니셜)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 12:48:43 +09:00
ByungCheol 1636c35aef refine(board): 목록 추천 열·상세 추천수·추천자 인라인·아바타 축소
CI / build (push) Failing after 11m2s
- 목록: 제목 옆 추천 표시 제거 → 작성일 옆 추천 열로 표기(모바일도 라벨)
- 상세: 메타에 조회수 옆 추천수 표기
- 추천자: 클릭 시 모달 대신 하단에 아바타+이름 목록 펼침(토글)
- 아바타 크기를 본문 폰트 크기에 맞춰 16px 로 축소(목록/상세/댓글/추천자)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 12:45:27 +09:00
ByungCheol 206364d2f1 fix(board): 상세→목록 이동 시 페이지·검색조건 유지
CI / build (push) Failing after 14m43s
- 목록 행 클릭 시 현재 쿼리(page/tag/keyword/searchType)를 상세로 전달
- 상세 목록 버튼·삭제 후 이동도 같은 쿼리로 복귀 → 1페이지 초기화 방지
  (브라우저 뒤로가기는 기존에도 URL 쿼리로 복원됨)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 12:36:48 +09:00
ByungCheol ca66c1d53e feat: 게시판 추천/비추천·작성자 아바타·추천자·포인트 (프론트)
CI / build (push) Failing after 13m27s
- UserAvatar 컴포넌트(커스텀>구글>이니셜, 로드 실패 시 이니셜 폴백)
- 목록: 작성자 아바타 + 추천 수 표기
- 상세: 작성자 아바타, 추천/비추천 토글 버튼(내 투표 강조),
  추천자 본문 하단 아바타 10개 + 초과 시 (+N명이 추천했습니다), 클릭 시 전체 목록 모달
- 댓글: 작성자 아바타 + 추천/비추천 버튼
- 계정정보: 포인트 표기(GET /auth/points 최신값)
- boardApi.votePost/voteComment/recommenders, authApi.points 추가

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 12:28:20 +09:00
ByungCheol 7855298eac feat: 계정정보 프로필 사진 — 구글 아바타 우선 + 변경/되돌리기
- 아바타 표시 우선순위: 사용자 지정(profileImage) > 구글(googlePicture) > 이니셜
- 사진 변경: 이미지 선택 → 정사각형 크롭·192px 축소(JPEG) → PUT /auth/profile-image
- 되돌리기: 사용자 지정 사진 해제 → 구글 사진(없으면 이니셜)으로 폴백
- authApi.updateProfileImage 추가, utils/avatar.js(표시 소스/이니셜/다운스케일)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 11:39:48 +09:00
ByungCheol 866abee860 fix: 무료 회원 가계부 내역 진입 시 유료 안내로 튕기는 버그
- onMounted 의 runRecurrings(고정지출 자동반영)는 유료 전용 경로(/recurrings/run)라
  무료 회원이 403 → premium:required → /upgrade 로 리다이렉트되던 문제
- isPremium 일 때만 runRecurrings 호출, '이 내역을 고정지출로 등록' 버튼도 유료에만 노출

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 11:24:59 +09:00
ByungCheol 9861ba90ae feat: 멤버십(무료/유료) 게이팅 — 프론트
CI / build (push) Failing after 15m5s
- auth 스토어 isPremium/isAdmin 추가 (plan===PREMIUM 또는 관리자)
- 사이드바: 통계·고정지출·예산·태그 메뉴에 무료 회원 잠금 배지(🔒)
- 라우트 가드: 유료 전용 화면(requiresPremium) → 무료 회원은 /upgrade
- UpgradeView: 무료/유료 기능 비교 + 업그레이드 안내
- http 인터셉터: 403 PREMIUM_REQUIRED → premium:required 이벤트 → 업그레이드 화면
- 무료 화면의 유료 API 호출 차단(홈 예산·내역 태그·OCR·카드알림 게이팅)
- 회원관리: 멤버십 컬럼 + 무료/유료 토글(관리자)
- 설정: 데이터 백업/복구 유료 게이팅, 계정정보에 멤버십 표시

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 11:02:44 +09:00
ByungCheol 7d8f947156 feat: 설정 - 엑셀 가져오기(복구) + 창 크기 가로·세로 분리 조절
CI / build (push) Failing after 12m18s
- backup.js importBackup: .xlsx 파싱 → 이름 기준 payload → POST /account/restore
- SettingsView: '가져오기' 파일 선택 + 파괴적 작업 확인(이중) + 완료 후 새로고침
- accountApi.restore (데모에선 차단)
- 창 크기: 가로/세로 각각 선택(세로 700~1200), 한 축 변경 시 나머지 유지

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 08:38:38 +09:00
ByungCheol 457fd8127a feat: 설정 - 엑셀 데이터 내보내기(백업)
CI / build (push) Successful in 44s
- utils/backup.js: 가계부 전체(내역·계좌·분류·고정지출·예산·태그·자주내역)를
  이름 기준 참조로 .xlsx 다중 시트 생성. xlsx 동적 import(별도 청크)
- 웹/PC=다운로드, 앱(네이티브)=Filesystem 저장 + Share
- SettingsView: '데이터 백업' 카드(엑셀로 내보내기 동작 / 가져오기 버튼=준비중)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 08:14:19 +09:00
ByungCheol 4ffc01f484 feat: 둘러보기(데모)를 실제 화면 그대로 — 데모 모드 + API 더미 응답
- src/demo: demo.on 플래그 + DTO 형태 더미데이터 + mock API(읽기 더미/쓰기 차단)
- accountApi: Proxy 로 데모 시 읽기→더미, 쓰기→안내. 실제 뷰 그대로 렌더
- App: authed=인증||데모 → 실제 사이드바/셸 표시 + 데모 배너(로그인/나가기)
- 라우터: 데모 허용(가계부/고정/계좌/분류) 외 보호화면은 DemoLockedView(로그인 유도)
- 사이드바: 데모 시 잠금(🔒) 배지, 메뉴는 showMenu(인증||데모)
- 로그인/로그아웃 시 데모 자동 해제, 랜딩 '둘러보기'→enterDemo
- 기존 독립 DemoView 제거

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 07:49:37 +09:00
ByungCheol cee5b661e7 feat: 로그인 없이 둘러보기(데모) — 가계부/고정지출/계좌/분류 더미 + 나머지 로그인 유도
CI / build (push) Failing after 11m36s
- DemoView: 자체 메뉴로 섹션 전환, 4개 화면 샘플 데이터,
  통계·예산·태그·커뮤니티는 잠금(로그인 유도) 안내
- 공개 라우트 /demo, 랜딩에 '로그인 없이 둘러보기' 버튼, 헤더 타이틀 '둘러보기'

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 00:42:48 +09:00
ByungCheol e4e1be49ca feat: PC 화면 해상도 변경 — 설정에서 창 크기 프리셋 선택
CI / build (push) Failing after 14m21s
- electron/preload.cjs: contextBridge 로 window.desktop.setWindowSize 노출
- main.cjs: preload 연결 + ipcMain 'window:setSize'/'getSize' 핸들러
- SettingsView: PC(window.desktop 존재 시)에서 해상도 선택 추가
  (1024×720 ~ 1920×1080), 선택 시 창 크기 변경+가운데 정렬

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 23:57:41 +09:00
ByungCheol f34980048b feat: 계정정보 단순화 + 구글 계정 이름 변경 허용
- 계정정보: 아이디·가입유형 행 제거 (이름/이메일/권한만), '이름 변경' 버튼
- ProfileEdit: 소셜(구글) 계정은 비밀번호 재인증 없이 바로 이름만 변경
  (아이디/이메일 편집/비밀번호 변경 섹션은 LOCAL 전용으로 숨김)
- 백엔드 updateProfile 은 provider 무관하게 동작(변경 없음)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 23:53:32 +09:00
ByungCheol 5bfa45ed30 feat: 자주 쓰는 내역 UX 정리 + 빠른등록 견고화
- 등록 모달의 '자주 쓰는 내역 불러오기' 버튼·피커 모달 제거(번거로운 3단계 해소)
  (저장 기능은 유지)
- 가계부 quick-bar 에 ' 자주 쓰는 내역' 라벨 추가
- useQuick: 등록 성공과 목록 갱신 분리 — 갱신 단계 오류가 '등록 실패'로
  오인되던 문제 방지(앱에서 등록 안 됨처럼 보이던 케이스 대응)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 23:43:57 +09:00
ByungCheol c4c58d2e24 fix: 월 네비 가운데 유지·액션 우측 정렬 + 검색 모달 버튼 넘침 수정
- 가계부/예산 month-nav: 좌 spacer + 우 mn-actions(flex:1)로 네비 중앙 고정,
  추가/검색·필터 버튼 우측 정렬
- 커뮤니티 검색 모달: input min-width:0 + select/버튼 flex:none 으로
  검색 아이콘이 모달 밖으로 밀리는 문제 해결

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 23:35:24 +09:00
ByungCheol 59b17051a4 fix: 화면별 액션 아이콘 위치 정리(타이틀 제거 후 빈 헤더 해소)
CI / build (push) Failing after 12m2s
- 가계부: 내역 추가 → month-nav(검색·필터 옆), 헤더는 pending 있을 때만
- 예산: 예산 추가 → month-nav(월 변경 옆)
- 고정지출: 지금 반영/추가 → 안내문구 아래
- 커뮤니티: 글쓰기 → 태그 필터와 같은 줄(list-top)
- 분류 관리: 기본 분류 불러오기 → 지출/수입 탭과 같은 줄(tabs-row)
- 미사용 boardTitle/boardLabel 정리

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 23:18:42 +09:00
ByungCheol c4872c93a8 feat: 페이지 타이틀 제거(헤더만 표기) + 게시글 상세 목록아이콘/공지 체크박스화
CI / build (push) Failing after 11m0s
- 각 화면 내 <h1> 페이지 타이틀 제거 → 헤더 타이틀로 일원화
  (가계부 pending 카운트는 유지, 액션 헤더는 우측 정렬)
- 게시글 상세: 공지 등록/해제 버튼 제거 + '목록' 아이콘 추가(list 아이콘 신규)
- 글 작성/수정 공지 체크박스로 일원화(편집 시 기존값 로드)
- ProfileEdit/AccountInfo 화면 내 뒤로가기 제거, 미사용 router 정리

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 22:59:20 +09:00
ByungCheol b737720d29 fix: 전 화면 본문 폭 통일 + 화면 내 뒤로가기 버튼 제거
CI / build (push) Failing after 13m55s
- 본문 폭: --page-max(760px) 변수 + .layout-body>* 전역 규칙으로 일관화
  (각 뷰가 제각각 두던 root max-width 대체)
- 화면 내 '뒤로가기/가계부로/목록' 버튼 제거(하단 내비 뒤로가기는 유지)
  대상: 계좌/분류/예산/고정지출/태그/기본분류/게시글상세/계정정보
- BoardDetail actions 우측 정렬, AccountInfo 미사용 goBack 제거

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 22:26:25 +09:00
ByungCheol 75228cbb64 feat: 사이드바 브랜드/헤더 타이틀 + 라이트·다크 테마 설정
1) 사이드바 상단에 돼지 로고 + '돈돼지 가계부'('메뉴' 텍스트 대체, 데스크톱/모바일 공통)
2) 헤더에서 돼지 로고 제거 → 현재 화면 타이틀 표시(라우트별)
3) 설정에 화면 테마(시스템/라이트/다크) 선택 추가
   - base.css: data-theme 기반 수동 다크 + 시스템 설정 폴백
   - theme.js 유틸 + ui 스토어 theme 상태, main.js 시작 시 적용(깜빡임 방지)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 22:15:27 +09:00
ByungCheol f07cb349e2 feat: 게시판 공지 UI (관리자) — 작성 체크박스/상세 토글/목록 배지
- BoardWriteView: 관리자가 커뮤니티 새 글 작성 시 '공지로 등록' 체크박스
- BoardDetailView: 관리자 공지 등록/해제 버튼 + 제목 공지 배지
- BoardListView: 공지 배지 + 행 강조(최상단은 백엔드 정렬)
- boardApi: setNotice/unsetNotice

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 22:07:03 +09:00
ByungCheol ef1d718fb8 feat: 통계 분류별 집계를 대분류 기준으로 (소분류 펼침 제거로 스크롤 단축)
- catByMajor: 소분류를 부모 대분류로 합산해 파이/범례 표기
- 중복되던 '대분류 합계' 섹션 제거

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 21:38:07 +09:00
ByungCheol 8254460751 feat: 구글 로그인 전용 — 아이디 로그인 폼·회원가입 UI 숨김
CI / build (push) Failing after 14m50s
- src/config/features.js ID_LOGIN_ENABLED 플래그(기본 false)로 게이트
- LoginModal: 아이디/비번 폼·'또는' 구분선·회원가입 링크 숨김(구글 버튼만)
- HomeView: 랜딩 회원가입 버튼 숨김, 안내문구 정리
- 백엔드 /api/auth/login·signup 은 비상용으로 유지(플래그 true 로 복구 가능)
- LoginModal.spec: 아이디 로그인 플로우는 플래그 mock 으로 계속 검증

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 19:41:04 +09:00
ByungCheol 1ca09b7439 feat: 앱명을 '돈돼지 가계부'로 통일 (가계부 인식 + 마스코트)
CI / build (push) Failing after 11m38s
- 헤더·웹안내·홈·약관 서비스명·푸터/설정 저작권·타이틀 → 돈돼지 가계부
- productName/capacitor appName/안드로이드 app_name·창제목/Electron app.setName·window title → 돈돼지 가계부
- 기술 식별자(appId, 설치파일명)는 유지

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 16:51:29 +09:00
ByungCheol 0eb3eaaa67 feat: 영수증·문자푸시 버튼 같은 행 + 문자/푸시 붙여넣기 모달화
CI / build (push) Failing after 11m48s
- 영수증 스캔·문자·푸시 버튼을 상단 한 행(rb-actions)에 나란히, 안내문구는 아래
- 문자·푸시 붙여넣기를 하단 인라인 → 모달로(텍스트영역+감지+분석·채우기)
- 팝업 열 때 클립보드 자동감지 시 버튼에 ● 배지

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 15:31:20 +09:00
ByungCheol 5a5959a26e feat: 자주 쓰는 내역 불러오기 모달 피커 + 붙여넣기 버튼 영수증 행으로
CI / build (push) Failing after 13m52s
- 불러오기: 셀렉트 → 모달 리스트(시인성↑), 항목 탭하면 폼 채움
- 문자·푸시 붙여넣기 버튼을 영수증 스캔과 같은 행(우측)으로 이동, 감지/수동입력은 아래로 분리

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 15:19:13 +09:00
ByungCheol eeea19e20b fix: 자주 쓰는 내역 저장 안내를 수정 모달 안에 표시
CI / build (push) Failing after 14m9s
- 페이지 상단 flash → 모달 내 formInfo(성공 메시지)로 변경(모달에 가려 안 보이던 문제)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 15:08:59 +09:00
ByungCheol ca803272c4 fix: 신규 추가는 '자주 쓰는 내역 불러오기', 수정은 '저장'으로 분기
CI / build (push) Failing after 14m0s
- 신규 추가 폼: 자주 쓰는 내역 선택해 폼 채우기(불러오기) 셀렉트
- '자주 쓰는 내역으로 저장' 버튼은 수정(editId) 시에만 노출

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 14:59:09 +09:00
ByungCheol 8e651c786f feat: 자주 쓰는 내역 칩(바로 등록) + 문자/푸시 붙여넣기 자동채움
CI / build (push) Failing after 15m32s
- 가계부 상단 자주 쓰는 내역 칩: 탭하면 오늘 날짜로 즉시 등록(+안내), 편집 모드로 삭제
- 내역 추가/수정 폼: ' 자주 쓰는 내역으로 저장' 버튼(수입/지출)
- 추가 팝업 열 때 클립보드 자동감지 배너 + '📋 문자·푸시 붙여넣기' 버튼
  (실패 시 수동 붙여넣기 입력칸) → 구분/금액/메모/날짜 자동 채움
- accountApi: parseText / quickEntries CRUD

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 14:50:10 +09:00
ByungCheol dd17fae5f4 feat: 기본 분류 — 관리자 설정 화면 + 사용자 '기본 분류 불러오기'
CI / build (push) Failing after 14m11s
- 관리자 전용 기본 분류 관리 화면(DefaultCategoryView, 계층 드래그) + 라우트/사이드바 링크
- adminApi 기본분류 CRUD/reorder
- CategoryView '기존 분류 불러오기' → '기본 분류 불러오기'(관리자 정의 분류 복사)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 23:03:52 +09:00
ByungCheol f533df0024 feat: 네이티브 alert/confirm/prompt → 공용 인앱 다이얼로그 (PC 'sb_pt' 제거)
CI / build (push) Failing after 15m30s
- composables/dialog + components/ui/AppDialog(App 루트 마운트)
- window.alert 전역 오버라이드로 모든 alert 인앱화
- confirm/prompt(동기)는 각 호출부를 await dialog.confirm/prompt 로 교체
  (가계부·예산·고정지출·계좌·태그·관리자·게시판·설정 — 삭제/열람제한 등)
- 웹/PC/APK 일관 UI, 의미있는 제목 부여

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 21:57:50 +09:00
ByungCheol 643bb8011b fix: 분류 관리 — 삭제 확인 인앱 모달 / 행별 대분류 select 제거 / 추가옵션 대분류명만
CI / build (push) Failing after 11m34s
- 삭제·불러오기 네이티브 confirm('sb_pt' 제목) → 인앱 확인 모달로 교체, 오류도 인라인 표시
- 각 행 아래 '대분류' 선택 박스 제거(불필요) — 계층은 추가 폼·드래그로 관리
- 추가 폼 대분류 옵션 'OOO의 소분류' → 'OOO'(대분류명만)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 21:31:39 +09:00
ByungCheol 8add41d94f fix: 고정지출 등록 확인 인앱 모달 + 분류 관리 계층 드래그
CI / build (push) Successful in 36s
1. PC 네이티브 confirm 제목('sb_pt') 노출 → '고정지출 등록' 인앱 확인 모달로 교체
   (성공 시 토스트 안내). electron app.setName('Slim Budget')로 다른 네이티브
   대화상자 제목도 개선(다음 Electron 빌드 시 반영).
2. 분류 관리 드래그를 계층형으로: 대분류는 블록 단위(소분류 함께) 이동,
   소분류는 그 대분류 안에서만 이동(고유 group). 로컬 즉시반영으로 스냅백 방지.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 21:02:09 +09:00
ByungCheol cad1aba0ca feat: 가계부 분류를 대분류→소분류 2단 선택으로 변경
CI / build (push) Failing after 11m9s
- 단일 긴 드롭다운(대분류 많으면 스크롤 과다) → 대분류 선택 후 소분류 선택
- 자식 없는 대분류는 그 자체가 분류(소분류 select 숨김)
- 편집 진입 시 현재 분류로부터 대분류 자동 추론, 구분 변경 시 초기화
- 인라인 분류 추가는 선택된 대분류의 소분류로 생성

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 23:57:19 +09:00
ByungCheol 27beaf28d4 fix: 분류 관리 행 가로 오버플로우 — 이름+버튼 윗줄 / 대분류 select 아랫줄
CI / build (push) Failing after 13m50s
- 좁은 화면에서 버튼이 화면 밖으로 밀리던 문제 해결
- 행을 2단(이름·저장·삭제 / 대분류 선택)으로 분리, 버튼 sm 크기
- 추가 폼도 대분류 선택은 윗줄, 이름+추가는 아랫줄로 분리

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 23:49:39 +09:00
ByungCheol f55443b823 fix: 폼 셀렉트 높이를 input·버튼과 통일 (font 상속 리셋)
CI / build (push) Successful in 36s
- 네이티브 select 가 폰트 미상속으로 input 과 높이 달라 보이던 이질감 해소
- 전역 input/select/textarea { font: inherit } + select 기본 padding/border 정렬
- CategoryView 대분류 select 폰트 오버라이드 제거

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 23:39:37 +09:00
ByungCheol 6ab8d331e3 feat: 분류 대/소분류 UI — 관리·입력·예산·고정지출·통계
CI / build (push) Failing after 12m0s
- 분류 관리: 대분류 선택·소분류 들여쓰기(드래그 정렬 유지)
- 입력/예산/고정지출 분류 드롭다운 대분류 optgroup 그룹핑(값은 소분류명)
- 대시보드: 파이는 소분류 기준 + 대분류 합계 롤업 표시
- 릴리스 노트 33

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 23:16:46 +09:00
ByungCheol b1f85cee52 feat: 통계·가계부 UX 개선 + 계좌 탭 한 줄
CI / build (push) Failing after 14m57s
- 통계: 순자산 추이 주간(최근 3개월), 이번달 예상 지출(run-rate), 지난달 대비 지출
- 가계부: 내역→고정지출 바로 등록, 날짜별 접기/펴기(기본 접힘·오늘만 펼침·모두 토글)
- 계좌 관리 탭 한 줄(넘치면 가로 스크롤)
- 릴리스 노트 갱신(23~32)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 22:38:22 +09:00
ByungCheol 43b01da1ff docs: 고정지출 안내 — '확인 필요'로 생성 후 확정 안내
CI / build (push) Failing after 15m14s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 17:13:26 +09:00
ByungCheol 8133963f89 feat: 이체에도 현금 지원 — ATM 출금(은행→현금) 등 현금 계좌 이체 가능
CI / build (push) Failing after 14m41s
- WALLET_KINDS에 현금 추가, 중복되던 별도 '현금' 라디오 제거
- 출금/입금 종류 모두에서 현금 선택 가능(이체 포함)
- 현금 계좌 선택 셀렉트 상시 노출, 수입/지출 현금은 '미지정'(무계좌) 허용 유지

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 15:53:56 +09:00
ByungCheol a4a4aec314 feat: 가계부·계좌관리에 현금 계좌 추가
CI / build (push) Failing after 14m41s
- 계좌 관리: '현금' 탭 + 폼(이름·초기 잔액, 발급사/계좌번호 등 미노출)
- 가계부 입력: 현금 선택 시 등록된 현금 계좌를 고를 수 있음(없으면 종전처럼 미지정)
- 고정 지출: 현금 종류 추가

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 15:43:45 +09:00