20 Commits

Author SHA1 Message Date
theorose49
539ec2eb69 feat(perm): 업체담당자 폼/작업 삭제를 일반 구성원에게 개방 + 개요 주의사항 인라인 편집
All checks were successful
build-and-push / build (push) Successful in 31s
- 업체 담당자 추가/수정/삭제 폼을 모든 구성원에게 표시
- 작업 상세 '삭제'를 모든 구성원에게 노출
- 개요 탭 주의사항을 인라인 편집(patchProjectNotes, 구성원 누구나)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 13:50:13 +09:00
theorose49
50fb1a1253 feat(notify): 쪽지함에 작업(task) 알림 유형 아이콘/색 추가
All checks were successful
build-and-push / build (push) Successful in 30s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 13:19:27 +09:00
theorose49
6bbdf4311d feat(mail): 메모를 메일 리스트의 독립 열로(클릭 전에도 보임·인라인 편집) + 수신자 요약
All checks were successful
build-and-push / build (push) Successful in 31s
- 각 메일 행 우측에 '메모 열' 상시 표시, 바로 요약 메모 입력(blur 저장)·마지막 수정자 표시
- 보낸이→받는이 표시에서 수신자 많으면 '외 N명'으로 축약, hover(title)로 전체 노출
- 펼침 상세에 전체 받는사람/참조/시각/메일함

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 12:54:14 +09:00
theorose49
05eb82c635 feat(mail): 메일 리스트에 메모 인라인 표시 + 숨김 토글 + 동기화 버튼
All checks were successful
build-and-push / build (push) Successful in 32s
- 각 메일 행에 공동 메모 미리보기(📝), 펼치면 편집
- 메일 숨기기/다시보기, '숨긴 메일 보기(N)' 토글
- 마지막 동기화 시각 + 수동 '동기화' 버튼, 참조(CC) 표시

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 12:44:58 +09:00
theorose49
3382eef010 feat(mail): 메일 탭 안내에 '내가 수신·참조(CC)된 메일만 표시' 명시
All checks were successful
build-and-push / build (push) Successful in 30s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 11:11:40 +09:00
theorose49
3bf2dc0924 feat(mail): 프로젝트 메일 탭 — 고객사 도메인 메일 목록 + 메일별 공동 메모
All checks were successful
build-and-push / build (push) Successful in 31s
- 프로젝트 상세에 '메일' 탭: @도메인과 주고받은 팀 메일 집계 목록(펼치면 본문·메모)
- 메일별 공동 메모(MailRow): 프로젝트 구성원 누구나 수정, 마지막 수정자 표시
- 연동 미설정/도메인 미입력 시 안내 EmptyState
- 프로젝트 생성·수정에 '고객사 메일 도메인' 입력 추가

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 10:41:27 +09:00
theorose49
2c5078aa2f feat(ui): PM·작업자·담당자·신청자를 이메일 대신 이름으로 표시
All checks were successful
build-and-push / build (push) Successful in 31s
- useDirectory() 훅 + /members/directory 연동(전 유저 동작)
- MemberSelect 기본 소스를 디렉터리로 전환(이름 표시)
- 프로젝트 카드/관리 테이블 PM, 작업자 탭, 칸반 담당자, 작업 상세 담당자·댓글 작성자,
  승인관리 신청자/근무기록 구성원 모두 이름으로

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 09:47:43 +09:00
theorose49
7f62f41134 feat(task): JIRA형 작업 카드 — 상세 패널(설명·담당자·우선순위·라벨·진척) + 댓글
All checks were successful
build-and-push / build (push) Successful in 30s
- TaskDetailModal: 좌측 제목·설명·댓글 / 우측 속성, 필드 즉시저장(autosave)
- CreateTaskModal: 핵심 필드만 입력 후 상세 카드로 이동
- 칸반 카드에 우선순위 뱃지·라벨 칩·담당자 아바타·진척바
- 간트 막대/캘린더 항목 클릭 → 상세 열기
- 우선순위 메타(PRIORITY_META), 작업 댓글 API, 타입 확장

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 09:09:20 +09:00
theorose49
3a260c207b feat(ui): 자유 텍스트 필드 자동완성(TextSuggest) — 컨설팅종류·국가·역할
All checks were successful
build-and-push / build (push) Successful in 31s
- TextSuggest(input+datalist): 직접 입력 + 추천 드롭다운
- 컨설팅 종류/제출 국가: 큐레이션 + 기존 프로젝트 입력값 병합 추천(useFieldSuggestions)
- 작업자 역할: 작업자/PM/검토자/디자이너/자문/번역 추천
- 프로젝트 생성·수정 모달, 작업자 추가 폼에 적용

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 08:50:57 +09:00
theorose49
2013152fa7 feat(ui): 이메일 직접입력 → 구성원 검색·선택 콤보박스 (MemberSelect)
All checks were successful
build-and-push / build (push) Successful in 32s
- 신규 MemberSelect: 이름/이메일 검색 + 드롭다운 선택, 아바타 이니셜·직급 표기
- 프로젝트 작업자/PM(생성·수정), 작업 담당자(프로젝트 작업자 한정), 승인관리 필터,
  인센티브 시뮬레이터 작업자에 적용 → 텍스트 타이핑 제거
- 담당자는 프로젝트 작업자 목록에서 선택(getProjectMembers), 그 외는 전체 구성원 디렉터리

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 08:45:19 +09:00
theorose49
a0911804ee feat(ui): 직급 라벨(X 컨설턴트)·쪽지함 명칭·검색아이콘 겹침 수정·프로젝트 다중필터·공간활용 강화
All checks were successful
build-and-push / build (push) Successful in 32s
- 우측 상단/프로필/대시보드/인센티브 직급을 "주임 컨설턴트"식 라벨로 표시(rankLabel)
- form-input을 @layer components로 이동 → 검색창 pl-9가 padding 단축속성에 묻히던 아이콘 겹침 전역 해결
- 프로젝트 목록(유저/관리자 공용) 다중 필터: 검색+상태+업체+컨설팅+국가+범위+PM, 초기화 (ProjectFilters)
- 메일함 → 쪽지함 명칭 통일(Topbar/Inbox/AccountSettings)
- 내 프로필: 전폭 반응형 레이아웃(신원 카드 + 상세 3열) 공간 활용
- 계정 설정: 2열 반응형 그리드로 넓은 화면 공간 활용

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 07:33:29 +09:00
theorose49
c29e3af9c2 feat: 2차 수정/삭제 일괄 — 작업자 portion·담당자·분할입금·작업(칸반 카드)·거래·세금 수정/삭제
All checks were successful
build-and-push / build (push) Successful in 34s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 11:57:13 +09:00
theorose49
851a19ea5f feat: 기준정보 CRUD 페이지·부서 수정/삭제·프로젝트 수정 + 대시보드 인센티브 게이지·메일함 넓게·근무상태 디폴트 퇴근·인센티브 연도 선택
All checks were successful
build-and-push / build (push) Successful in 31s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 11:45:43 +09:00
theorose49
581fd7a19f feat(project): 계약범위 글/그림 입력칸 + 인턴/직책/초과근무/로고/로그아웃 개선분
All checks were successful
build-and-push / build (push) Successful in 30s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 11:23:38 +09:00
theorose49
e3b5a874b3 feat: 전 화면 반응형(모바일) + 인턴 직급 + 초과근무 탭 제거 + 로그아웃 URL + 로고 정렬
All checks were successful
build-and-push / build (push) Successful in 31s
- 모바일 셸: 하단 탭바 + 더보기 드로어, 사이드바/탑바 반응형, safe-area, 폼/모달/테이블 반응형
- 근무: 유저 초과근무 탭 제거(관리자만 집계), 승인 관리 초과근무 섹션 제거
- 직급 인턴 추가, 직책 필드 제거, 부서는 관리자 설정→드롭다운(기존)
- 로그아웃: /me의 LOGOUT_URL 사용(SSO 완전 로그아웃), 회사 로고 가운데 정렬
- 디바이스 등록(FCM)·계정 메뉴·계정 설정 (이전 커밋 포함)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 10:55:54 +09:00
theorose49
3a6d1b0440 feat: 계정 메뉴(로그아웃) + 계정 설정 페이지
All checks were successful
build-and-push / build (push) Successful in 30s
- 우측 상단 계정 클릭 → 드롭다운(내 프로필·계정 설정·로그아웃)
- 로그아웃: oauth2-proxy(Keycloak) /oauth2/sign_out 으로 세션 종료
- 계정 설정(/account): 표시 이름 수정, 알림 환경설정, 사이드바 기본 접힘, 보안 안내(Keycloak)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 09:52:11 +09:00
theorose49
65bcb69374 feat: 메일함·프로필 사진·근무상태 드롭다운·접이식 사이드바 + #03143F 팔레트 + 인센티브 게이지
All checks were successful
build-and-push / build (push) Successful in 31s
- 브랜드 포인트컬러 #03143F로 팔레트 전면 재설정, 회사 로고 흰 wrap 제거+크롭, 로고 블렌딩
- 사이드바 접기/펼치기(localStorage), 로고 아래 근무상태 드롭다운(출근/퇴근/휴식/미팅/이동)
- 대시보드 역할 무관 동일(회계/전사 위젯 제거)
- 유저 근무화면 단순화(남은연차 소수점·기록·휴가/공가만), 관리자 근무관리(/admin/attendance)
- 프로젝트: 관리자 전용 관리창(/admin/projects), 나의 업무는 본인 참여분 read-only
- 메일함(/inbox)+탑바 벨(미확인), 프로필(부서·연락처·사진 업로드)
- 인센티브 유저: BE/non-BE·환율 숨김, 할당량 세그먼트 게이지(지급완료→반영완료→반영중→예정, 할당량 화살표)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 09:38:51 +09:00
theorose49
7cab590fe2 feat: spin 프론트엔드 전체 구현 (React+TS+Vite+Tailwind)
All checks were successful
build-and-push / build (push) Successful in 36s
- AppShell·사이드바(역할별 네비)·탑바·UI킷, react-query·axios·recharts·dnd-kit
- SP 디자인 토큰 재사용(navy/canvas/Noto Sans KR) + 회계용 고밀도 확장
- 페이지: 대시보드, 근무(타임시트·휴가/초과 신청), 프로젝트 목록/상세
  (간트·칸반·캘린더·작업자portion·업체담당자·계약/분할입금 admin),
  인센티브(유저 대시보드), 인센티브 관리 콘솔(단계 stepper·시뮬레이터·오버라이드),
  회계(현금-인센티브 갭·원장·세금), 구성원·설정·승인·프로필
- 권한 가드: 관리자 전용 라우트, ?as=user 로 구성원 시점 미리보기

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 08:57:50 +09:00
admin
69e641e271 scaffold: Dockerfile + Gitea Actions workflow + .env.sample
All checks were successful
build-and-push / build (push) Successful in 21s
2026-06-27 22:01:05 +00:00
3375365cda Initial commit 2026-06-27 22:01:04 +00:00