Commit Graph

213 Commits

Author SHA1 Message Date
ByungCheol 3f809b80bb Merge branch 'dev'
Deploy / deploy (push) Failing after 13m40s
2026-06-28 09:22:51 +09:00
ByungCheol c9b58f4ad0 ci: main 푸시 시 CI 중복 실행 제거(Deploy만) — 배포 시간 단축
CI / build (push) Successful in 38s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 09:22:48 +09:00
ByungCheol d8ab99d1ec Merge branch 'dev'
Deploy / deploy (push) Failing after 13m50s
CI / build (push) Failing after 15m19s
2026-06-28 09:04:27 +09:00
ByungCheol 9aa21696d9 fix: 백업/복구 - 계좌 ID 컬럼 추가, 내역/고정/자주내역을 계좌ID 기준으로
CI / build (push) Failing after 11m48s
- 내보내기: 계좌 시트 ID 컬럼, 내역/고정지출/자주내역에 계좌ID·입금계좌ID
- 가져오기: 계좌ID 기준 파싱 (이름 충돌 무관 정확 복구)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 09:03:24 +09:00
ByungCheol e64de9c247 Merge branch 'dev'
CI / build (push) Failing after 10m48s
Deploy / deploy (push) Failing after 14m20s
2026-06-28 08:38:55 +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 b8260e9860 Merge branch 'dev'
CI / build (push) Successful in 37s
Deploy / deploy (push) Failing after 10m45s
2026-06-28 08:17:41 +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 80e1faec09 docs: 멤버십(무료/유료) 메뉴·기능 구분 설계 (추후 구현)
- 계좌 개수 제한 없음, 핵심 기록 무료
- 유료: OCR·카드알림 자동인식·통계·예산·고정지출·투자·태그·백업

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 00:52:02 +09:00
ByungCheol a6829d4157 Merge branch 'dev'
Deploy / deploy (push) Failing after 13m37s
CI / build (push) Failing after 15m5s
2026-06-28 00:44:57 +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 54a285a3b6 docs: 변경 내역 갱신 — 구글 로그인·다크모드·UI 개편 (2026-06-28)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 00:12:59 +09:00
ByungCheol a3bdd2e76d Merge branch 'dev'
Deploy / deploy (push) Successful in 35s
CI / build (push) Failing after 12m53s
2026-06-28 00:02:12 +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 85670a1b9f fix: PC 레이아웃 — 사이드바를 좌측 상단까지 확장, 헤더는 우측 영역만
- App.vue 그리드 'top top' → 'left top' (사이드바가 헤더 행까지 차지)
- 사이드바 브랜드 영역 높이 56px 로 헤더와 정렬(보더 일치)
- 모바일은 기존 드로어 구조 유지

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 23:49:02 +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 4e03bf6393 Merge branch 'dev'
Deploy / deploy (push) Failing after 14m4s
CI / build (push) Failing after 15m32s
2026-06-27 23:19:30 +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 639a50f8bc Merge branch 'dev'
Deploy / deploy (push) Failing after 13m5s
CI / build (push) Failing after 14m33s
2026-06-27 23:00:17 +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 6fe7f8b168 Merge branch 'dev'
Deploy / deploy (push) Failing after 10m58s
CI / build (push) Failing after 12m25s
2026-06-27 22:27:17 +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 63b4792e58 fix: 웹 안내문 줄바꿈을 절 단위로 (inline-block 묶음)
- 'PC는 설치형 앱으로,' / '모바일은 앱으로 이용해요.' 등 절 경계에서만 줄바꿈

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 22:08:51 +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 a92063dd64 chore: PC 설치를 사용자 폴더로 변경 (UAC 프롬프트 제거)
- installer.nsh: 기본 설치경로를 %LOCALAPPDATA%\Programs\DonDwaeji 로
  (perMachine=false 와 함께 관리자 권한 불필요 → '디바이스 변경 허용' UAC 안 뜸)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 21:09:34 +09:00
ByungCheol a86d77b2c5 Merge branch 'dev'
CI / build (push) Failing after 11m24s
Deploy / deploy (push) Failing after 14m56s
2026-06-27 20:48:38 +09:00
ByungCheol 6aa3590c5a chore: PC 설치파일명 DonDwaeji-Setup.exe + 기본 설치경로 DonDwaeji
CI / build (push) Failing after 12m51s
- electron-builder artifactName: SlimBudget-Setup → DonDwaeji-Setup
- build/installer.nsh: 기본 설치경로를 $PROGRAMFILES\DonDwaeji 로 고정
  (productName 한글이라 name='sb_pt' 로 폴백되던 문제 회피)
- WebOnlyNotice 다운로드 URL 도 DonDwaeji-Setup.exe 로 변경

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 20:47:46 +09:00
ByungCheol 4916d28604 fix: 웹 안내 페이지 한국어 줄바꿈(word-break: keep-all) — 'O요.' 고아줄 방지
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 20:34:24 +09:00
ByungCheol d87dd0f56b Merge branch 'dev'
Deploy / deploy (push) Failing after 12m5s
CI / build (push) Failing after 13m36s
2026-06-27 20:16:26 +09:00
ByungCheol dbe255cf1c feat: 사이드바 메뉴에 아이콘 추가 (lucide 스타일 인라인 SVG)
CI / build (push) Failing after 15m5s
- 가계부/게시판/관리자 각 메뉴 항목에 18px 아이콘, 하단 내비와 톤 통일
- .menu-item flex 정렬, 활성 항목 아이콘 강조

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 19:56:01 +09:00
ByungCheol 579ee3e4e6 feat: 게시판 작성일 1일 이후 표기 YYYYMMDD → YYYY.MM.DD
- formatRelative: 1시간 이내 N분 전 / 1일 이내 N시간 전 / 그 이상 YYYY.MM.DD
- formatYmdDot 헬퍼 추가(기존 formatYmd 컴팩트 형식은 유지)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 19:51:49 +09:00
ByungCheol 11ab23ed14 Merge branch 'dev'
Deploy / deploy (push) Failing after 11m52s
CI / build (push) Failing after 13m19s
2026-06-27 19:41:42 +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 82b08df826 Merge branch 'dev'
Deploy / deploy (push) Successful in 35s
CI / build (push) Failing after 12m53s
2026-06-27 19:02:09 +09:00
ByungCheol b8c1440e4d fix: 앱 헤더 로고만(모바일)·런처 라벨 한 줄·Electron 구글 로그인 팝업
CI / build (push) Successful in 39s
- AppHeader: 좁은 화면(폰)은 브랜드명 텍스트 숨기고 로고만 → 두 줄 줄바꿈 방지
- 안드로이드 런처 라벨 '돈돼지가계부'(한 줄), 앱 내부 브랜드명은 유지
- Electron: accounts.google.com 팝업을 앱 내부 자식 창으로 열어
  GIS 로그인 결과(credential)가 앱 창으로 돌아오게 함(외부 브라우저 X)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 19:01:57 +09:00
ByungCheol a5c81cc0f2 Merge branch 'dev'
CI / build (push) Failing after 11m57s
Deploy / deploy (push) Failing after 15m29s
2026-06-27 18:03:39 +09:00
ByungCheol a310c7a471 feat: 구글 로그인/가입 — 웹(GIS)·앱(네이티브 Credential Manager)
CI / build (push) Failing after 13m30s
- LoginModal: 서버에서 구글 클라이언트 ID 수신 시에만 버튼 노출
  - 웹/PC: Google Identity Services 렌더 버튼
  - 앱(안드로이드): @capawesome/capacitor-google-sign-in 네이티브 버튼
- 네이티브/웹 모두 ID 토큰을 /api/auth/google 로 전달(aud=웹 클라이언트 ID)
- auth 스토어/authApi 에 googleLogin·googleClientId 추가
- src/native/googleAuth.js 네이티브 래퍼 신규

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 18:02:19 +09:00
ByungCheol 091abd40be Merge branch 'dev'
Deploy / deploy (push) Failing after 13m6s
CI / build (push) Failing after 14m35s
2026-06-27 16:51:30 +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 38484c51a6 Merge branch 'dev'
CI / build (push) Failing after 11m23s
Deploy / deploy (push) Failing after 14m55s
2026-06-27 16:29:42 +09:00
ByungCheol 4ef5850613 fix: 아이콘 배경 회색박스 제거 — 원본 체커판(불투명) 키잉해 진짜 투명 돼지로
CI / build (push) Failing after 13m27s
- 저장된 piggy-fg.png 는 투명이 아니라 체커판이 회색/흰색으로 박힘 → 헤더·파비콘·PC에 회색 박스
- 회색/흰색 배경 키잉 + 돼지 본체 bbox 크롭 → assets/piggy-src.png(투명)
- 파비콘·헤더·PC ico = 투명 + 돼지만, 안드로이드는 금색 배경 유지

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 16:29:42 +09:00
ByungCheol 1c8d9c427c Merge branch 'dev'
Deploy / deploy (push) Failing after 12m51s
CI / build (push) Failing after 14m20s
2026-06-27 16:21:43 +09:00
ByungCheol d706339649 feat: 파비콘·PC 아이콘 금색배경(외곽선) 제거 → 투명 + 돼지 크게
CI / build (push) Failing after 11m23s
- favicon.png / apple-touch-icon.png / build/icon.ico: 투명 배경 + 돼지 ~95%
- 안드로이드: 금색 배경 유지(적응형 특성) + 전경/단일 돼지 크게
- 헤더 로고도 동일 재생성

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 16:21:43 +09:00
ByungCheol 383977bcb5 Merge branch 'dev'
Deploy / deploy (push) Failing after 13m6s
CI / build (push) Failing after 14m37s
2026-06-27 16:16:26 +09:00
ByungCheol dc62d9883a feat: 헤더 로고를 '돈돼지' 이미지로 변경
CI / build (push) Failing after 11m36s
- AppHeader brand-mark(초록 막대 SVG) → public/logo-piggy.png(투명 돼지)
- 텍스트는 SlimBudget 유지, 비율 유지(height 28 / width auto)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 16:16:26 +09:00