Repository navigation
Release: 글래스모피즘 적용, 유저 칩 통일, 합주공간 수정 및 일정 수정 추가, 리드미 반영 - #266
Merged
Merged
Conversation
* ✨ feat: 유저 표시를 ProfileChip 하나로 통일 아바타·이름·세션을 그리는 자리가 화면마다 따로 구현돼 있어 아바타 머릿글자 수, 이름 굵기, 배경 유무, 세션 위치가 전부 달랐다. Figma의 profileUI를 옮겨 네 mode로 모은다. - basic: 아바타 + 이름. 여러 명을 줄바꿈으로 늘어놓는 자리 - assigned: `세션: 이름` 캡슐. 팀에서 맡은 자리를 사람 앞에 붙인다 - full: 이름 바로 뒤에 세션들. 카드 안에 들어가므로 자체 배경은 없다 - search: 캡슐 배경 + 고유 ID + 세션. 검색 결과 한 줄 누르는 동작은 칩이 갖지 않는다. 같은 칩이 멤버 카드에서는 그냥 표시고 검색 모달에서는 선택 버튼인데, 모달마다 역할(radio·option·pressed)까지 달라 칩이 다 알 수가 없다. 이름만 줄어들게 한다 — 고유 ID와 세션은 닉네임이 겹칠 때 사람을 가르는 단서라 잘리면 의미가 없다. 시안의 hover·비공개 mode는 넣지 않았다. hover는 프로필 미니 UI의 진입점인데 그 화면이 없고, 비공개는 서버가 공개 여부를 내려주지 않는다. 검색 결과 줄 끝의 프로필 이동은 ProfileLink로 둔다. 프로필은 /profile?userId= 한 라우트다. 대표 세션을 뽑는 코드가 세 모달에 복사돼 있던 것도 calcPrimarySkillName으로 모은다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 💄 style: 멤버 권한 관리·팀 관리·팀 상세를 ProfileChip과 한 카드 표면으로 정리 카드 컨테이너가 radius(16·20), 테두리 색, padding(16·20)을 저마다 달리 써서 같은 급의 면이 다르게 보였다. 일정 투표 목록 카드를 기준으로 cardSurfaceClass 하나에 모으고, 기준이 된 투표 카드도 같은 상수를 쓰게 한다. 시안 값(radius 20) 대신 이미 화면에 있는 카드에 맞춘 건 화면끼리 어긋나지 않는 쪽이 먼저라서다. 멤버 카드 - 세션을 이름 바로 뒤에 왼쪽 정렬로, 대표부터 최대 3개. 넘치면 +N으로 개수를 알린다 - 역할 선택의 hex 배경을 토큰으로 팀 카드 - 펼침·접힘에 전환을 준다. 높이를 모르는 내용이라 grid 행을 0fr↔1fr로 바꾼다 - 접기 버튼이 아이콘 16px뿐이라 누르기 어려웠다. 영역을 넓히고 aria-expanded를 붙인다 팀 상세 - 팀원 목록은 수정 버튼이 제목보다 커서 헤더가 늘어나 위쪽 여백만 두꺼웠다 - 팀원 칩을 assigned mode로 - 헤더의 팀 삭제·저장이 12px이라 밴드 설정 헤더의 저장(14px)보다 작았다 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 💄 style: 검색·초대 모달의 결과 줄을 search 칩으로, 프로필 이동 복구 멤버 검색 모달과 초대 모달 두 곳의 결과 줄을 같은 칩으로 맞춘다. "프로필 >"이 동작하지 않았다. 멤버 검색 모달은 no-op이었고 초대 모달은 없는 경로 (/profile/:userId)로 보내고 있었다. ProfileLink로 바꿔 /profile?userId=로 잇는다. Link가 라우터 컨텍스트를 요구해 모달 테스트 세 곳에 Link 스텁이 들어간다 — 버튼+navigate 대신 링크를 고른 건 새 탭 열기가 되고 "이동"의 의미가 맞아서다. 멤버 검색 모달은 팀을 고를 수 없는 호출부(팀 생성·팀 상세·부리더 지정)에서 팀 검색 탭을 내지 않는다. 탭은 보이는데 눌러도 아무 일도 일어나지 않았다. 초대 모달의 추가 버튼 글자색도 직접 지정한다(다음 커밋과 같은 원인). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 🐛 fix: 라임 배경 버튼의 글자가 흰색으로 바뀌어 안 보이던 것 복구 직접 추가의 검색 버튼은 Button 기본 variant(text-key-foreground)에 배경만 bg-primary로 덮어 쓰고 있었다. 다크의 --key-foreground를 검정 → 흰색으로 고치면서(#253) 라임 배경에 흰 글자가 됐다. 토큰에 기대지 않고 글자색을 직접 지정한다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ♻️ refactor: surface 배경 리터럴을 토큰으로 통일 같은 값을 쓰는 방법이 셋 공존했다 — bg-surface-3, bg-[rgba(101,99,122,0.48)], bg-[#65637a]/48. 토큰 값이 바뀌면 리터럴 쪽은 조용히 옛 색으로 남는다. 값이 정확히 같은 것만 토큰으로 바꾼다. 알파가 다른 구분선 한 곳(border-[#65637a]/30)은 그대로 둔다. surface-3으로 바꾸면 색이 달라지고, 토큰에 다른 알파를 덧붙이는 건 따로 정할 일이다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 💄 style: 검색 스켈레톤이 번쩍이지 않게, 최근 검색어 전체 삭제를 헤더 액션 크기로 응답이 0.1초 만에 와도 스켈레톤이 한 번 떴다 사라졌다. 300ms 안에 끝나는 조회에는 띄우지 않는다. 전체 삭제는 12px 밑줄 글자라 알림 헤더의 휴지통(14px)보다 작고 누르기 어려웠다. 검색 결과 카드 테두리의 리터럴도 같은 값의 토큰으로 바꾼다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 💄 style: 팀 카드의 세션 요약과 긴 세션 라벨을 말줄임으로 세션 요약이 줄바꿈을 허용해, 팀원이 많으면 서너 줄로 늘어나 아래 팀원 목록보다 길어졌다. 한 줄로 묶고 넘치면 말줄임한다. 전체는 펼치면 보인다. 팀 상세의 `세션: 이름` 칩도 세션이 여러 개 붙으면 카드 밖으로 넘쳤다. 칩이 부모 폭을 넘지 않게 하고 세션 쪽이 줄어들게 한다 — 사람 이름이 잘리는 것보다 낫다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* ✨ feat: 일정의 시작·종료가 각자 날짜를 갖도록 변경 일정 폼의 날짜는 캘린더에서 보던 날짜로 고정이라 추가·수정 어디서도 바꿀 수 없었다. 종료는 날짜 없이 시각만 받고, 시작보다 이르면 다음 날로 추측했다. 그래서 날짜를 옮기려면 지우고 다시 만들어야 했고, 이틀 넘는 일정은 만들 수 없었다. 백엔드는 처음부터 startAt/endAt을 각각 받고 순서만 검사한다. 날짜를 하나로 묶은 건 프론트 폼뿐이라 폼 모델만 startDate/endDate로 나눈다. 다음 날 추측(resolveEndAt)은 없애고, 종료가 시작보다 앞서면 문구로 알리고 저장을 막는다. 시작·종료를 카드 두 장으로 나눈 이유: 휠 네 벌을 한 카드에 쌓으면 어느 휠이 어느 쪽 것인지 읽히지 않고 카드가 440px까지 길어진다. 날짜/시간으로 나누는 안은 시작 날짜와 시작 시각이 서로 다른 카드로 떨어져 버린다. 연도 휠은 뺀다. 일정은 거의 항상 같은 해라 칸만 차지한다. 종료 월·일이 시작보다 앞서면 해를 넘긴 것으로 본다(resolveEndDate). 시작 날짜를 옮기면 종료 날짜도 같은 일수만큼 따라간다(shiftStartDate). 안 그러면 날짜를 바꿀 때마다 종료가 시작보다 앞서 종료 휠까지 다시 돌려야 한다. 저장되면 onSaved로 시작 날짜를 알린다. 날짜를 바꿀 수 있게 되면서 캘린더가 보던 날짜와 저장된 날짜가 달라질 수 있어, 사용처가 그 날짜로 옮겨 가야 한다. 휠 한 줄의 공통 뼈대(라벨 + 마스크)를 WheelRow로 모은다. 날짜·시간 피커가 같은 마스크를 각자 복붙하고 있었다. 라벨은 마스크 밖에 그리고, 폭이 모자라면 휠을 줄이는 대신 라벨 아래 줄로 내린다 — 휠 컬럼은 폭이 고정이라 줄어들 수 없다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ✨ feat: 합주 메인에 월별 보기 추가 주 단위 스트립만 있어 다른 주의 일정 유무를 보려면 주를 하나씩 넘겨야 했다. 월별/주별을 토글로 바꾸고, 월별에서는 날짜 아래 점으로 그날 일정 수를 보여준다. 점을 세는 기준은 일 타임라인과 같다 — 그날을 눌렀을 때 타임라인에 보이는 블록 수. 시작 시각의 날짜로만 세면 06시 경계를 넘는 일정에서 점은 있는데 타임라인이 비거나 그 반대가 된다. 필터도 같이 받는다. 그래서 useDaySchedules의 클라이언트 필터와 윈도 자르기를 toDayBlocks로 빼 두 훅이 함께 쓴다. 한 달 조회는 take=100(백엔드 상한) 한 번이다. 한 공간의 한 달 일정이 그보다 많으면 뒤쪽 날짜의 점이 빠지는데, 그 규모가 되면 커서 페이지네이션으로 바꾼다. 토글은 새로 만들지 않고 일정 유형에 쓰던 SegmentedToggle(tab)에 icon 옵션만 더한다. 미끄러지는 선택 표시와 화살표 키 이동을 그대로 얻는다. WeekDatePicker는 밴드 메인도 쓰고 있어 그대로 두고, 요일·날짜 줄만 WeekDateStrip으로 빼 합주 메인이 쓴다. 월별과 같은 자리를 번갈아 쓰므로 제목·이동은 CalendarNav 한 벌이 둘을 함께 움직인다. MonthCalendar(투표 후보용, 다중 선택)를 늘리지 않고 MonthDatePicker를 따로 둔다. 값이 하나냐 여럿이냐, 달 이동을 누가 쥐느냐가 달라 합치면 양쪽이 분기투성이가 된다. 그리드 계산만 getMonthDays로 옮겨 같이 쓴다. 월별 그리드의 줄 간격은 시안(4px)보다 넓은 8px이다. 숫자–점 간격과 같으면 점이 위 날짜 것인지 아래 날짜 것인지 구분되지 않는다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ✨ feat: 합주 공간 수정 PATCH /bandspaces/:id는 있었지만 화면이 없어 만든 뒤에는 이름·기간·참여자를 고칠 수 없었다. 앱바 톱니에서 생성과 같은 모달을 수정 모드로 연다. 모달을 새로 만들지 않고 SpaceCreateModal에 editTarget을 받는다. 폼 구조가 같고 문구만 달라, 따로 두면 생성 폼이 바뀔 때마다 수정 폼이 뒤처진다. 수정은 status를 보내지 않아 기존 값을 유지하고, 설명은 빈 문자열도 그대로 보낸다 — 생략하면 "설명을 지움"을 표현할 수 없다. 날짜 문자열은 Date로 파싱하지 않고 잘라서 읽는다. 'YYYY-MM-DD'는 UTC 자정으로 해석돼 시간대에 따라 전날로 밀린다. 기간 카드의 "위가 시작, 아래가 종료 날짜예요" 문구를 빼고 휠 줄마다 시작/종료 라벨을 붙인다. 좁은 화면에서 라벨이 휠 위로 줄바꿈되면 내용이 232px를 넘으므로 카드 높이를 고정(h)에서 최소(min-h)로 바꾼다. mock에 PATCH 핸들러를 넣고 저장소를 직접 고쳐, dev에서 수정 결과가 목록·상세에 보인다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 💄 style: 폼 모달에 사방 여백과 스크롤 페이드 추가 size="full" 모달이 화면 가장자리까지 채워, 뒤 화면과의 경계가 사라지고 유리 테두리· 글로우가 화면 끝에 잘렸다. 사방 16px을 남긴다. 한 모달만 덮어쓰면 다시 모달마다 제각각이 되므로 AppDialogContent에서 바꾸고 AGENTS.md의 규칙도 함께 고친다. 본문이 스크롤된다는 단서가 없어, 더 내릴 내용이 있으면 본문 끝(푸터 바로 위)을 흐리게 지운다. 유리 배경이라 색 그라데이션으로 덮을 수 없어 mask로 내용 자체를 투명하게 한다. 끝에 닿아도 마스크를 걷지 않고 불투명으로만 바꾼다. mask 유무가 바뀌면 안쪽 backdrop-blur의 기준이 달라져 유리 카드 색이 그 순간 튄다. 끝 도달 판정에 MutationObserver를 더한다. 컨테이너 크기는 그대로인데 내용만 길어지는 경우(참여자 추가)는 ResizeObserver가 잡지 못한다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 💄 style: 페이지 배경과 밴드 메인 좌우 여백 통일 배경 그라데이션을 문서 전체 높이에 늘려 그리고 있어, 긴 페이지일수록 첫 화면에 그라데이션의 앞부분만 걸렸다. 24시간 타임라인이 있는 합주 메인은 밝은 남색, 밴드 메인은 어두운 남색으로 화면마다 배경색이 달라 보였다. 첫 화면 높이(100lvh)에만 그리고 그 아래는 끝색 단색으로 잇는다. 예전에 같은 방식에서 경계선이 생긴 건 135deg 대각선의 아래 변이 한 색이 아니어서다. 세로 페이드를 한 겹 얹어 아래 변을 끝색으로 모은다. 밴드 메인만 좌우 32px이라 다른 페이지(20px)와 본문 시작선이 어긋났다. 20px로 맞춘다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 🐛 fix: 합주 공간 수정이 상시 공간의 유형·종료일을 덮어쓰지 않게 수정 수정 폼은 PERFORMANCE가 아닌 유형을 전부 "종료 없음"으로만 보여주는데, 저장할 때는 항상 spaceType과 endDate를 함께 보냈다. 그래서 상시 공간의 이름만 고쳐도 유형이 PRACTICE로, 저장돼 있던 종료일이 sentinel(9999-12-31)로 바뀌었다 — 화면에는 아무 변화가 없어 알아챌 수 없다. 원래 종료가 없던 공간을 그대로 두면 두 필드를 보내지 않는다. PATCH는 보낸 필드만 바꾸므로 기존 값이 남는다. 종료 날짜를 켜거나 끈 경우에만 함께 보낸다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 💄 style: 합주 공간 모달의 푸터 위 간격 축소 헤더·본문·푸터를 같은 40px로 띄우고 있었는데, 본문 끝 40px이 스크롤 페이드로 이미 흐려져 있어 푸터 위만 빈 띠가 두 배로 보였다. 푸터 위는 16px로 줄이고 헤더 아래 40px는 그대로 둔다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 💄 style: 합주 메인의 묶음 사이 간격 확대 요약·캘린더·필터가 24/12px로 붙어 있어 어디까지가 한 덩어리인지 잘 안 읽혔다. 묶음 사이를 32px로 넓히고, 캘린더–필터는 필터 바 자체 여백(12px)에 8px을 더해 다른 묶음과 비슷하게 벌린다. 인원·곡 수 칩은 이름·설명과 성격이 다른 메타라 글줄 간격(8px)보다 조금 더(12px) 띄운다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 💄 style: 합주 공간 모달의 헤더 아래 간격 축소와 잘리던 제거 버튼 수정 헤더 아래 40px이 본문 필드 사이 간격(36px)보다 넓어 제목이 폼에서 떨어져 보였다. 24px로 줄인다. 참여자 카드의 제거(X) 버튼은 카드 밖으로 6px 걸쳐 있는데, 스크롤 컨테이너가 가로로도 잘라서 오른쪽 열의 버튼이 반쯤 잘렸다. 스크롤 영역만 좌우로 8px 넓혀(-mx-2 px-2) 내용 위치는 그대로 두고 걸친 부분이 보이게 한다. 카드 쪽에서 버튼을 안으로 넣으면 일정 화면의 같은 카드까지 모양이 바뀐다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 🐛 fix: 종료 날짜의 해 넘김 추론을 12월→1월로 한정 연도 휠이 없어 종료 연도를 추론하는데, "종료 월·일이 시작보다 앞서면 다음 해"로 넓게 잡고 있었다. 3월 10일 시작에서 종료 휠이 실수로 3월 9일에 놓이면 내년 3월 9일로 풀려, 오류 없이 364일짜리 일정이 저장된다. 연도가 화면에 없어 알아챌 방법도 없다. 12월에 시작해 1월에 끝나는 경우만 해를 넘긴 것으로 본다. 그 밖에는 같은 해로 두어 기존 "종료는 시작보다 뒤여야 해요" 검증에 걸리게 한다. "다음 해 결과가 시작에서 N일 이내일 때만" 방식은 고르지 않았다. N이라는 기준을 새로 정해야 하고, 일정 최대 기간 규칙이 아직 없어 그 값의 근거가 없다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ✨ feat: 일정 날짜 휠에 연도 표시 — 시작은 선택, 종료는 추론값 표시 연도 휠을 통째로 뺐더니 내년 일정을 만들려면 캘린더를 먼저 그 해로 넘겨야 했고, 종료 연도는 추론만 하고 보여주지 않아 어느 해로 저장되는지 알 수 없었다. 시작은 연도 휠을 되살려 올해부터 고른다. 지난 해의 일정을 고칠 때는 휠 범위를 그 해까지 내린다 — 범위 밖이면 엉뚱한 연도가 선택된 것처럼 보인다. 종료는 연도를 고르지 않고 추론한 값을 흐린 글자로 보여준다. 휠을 하나 더 두지 않으면서도 11월 시작에서 1월을 고르면 2027로 바뀌는 게 눈에 보인다. 추론 규칙은 "종료 월이 시작 월보다 앞서면 다음 해"다. 직전 커밋의 12월→1월 한정은 연도가 안 보이던 때의 방어였고, 이제 결과가 보이므로 11월→1월 같은 경우까지 받는다. 같은 달의 앞선 날짜는 여전히 같은 해로 두어 검증에 걸리게 한다(364일 일정 방지). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 💄 style: 일정 날짜·시간 휠의 컬럼 정렬과 합주 기간 라벨 여백 일정 카드에서 날짜 줄과 시간 줄이 위아래로 쌓일 때 각 줄이 따로 가운데 정렬돼 [연도|오전오후] [월|시] [일|분] 컬럼이 서로 어긋났다. 구분 글자(월·일·:)의 폭을 고정하고 시간 줄 끝에 '일' 자리만큼 빈칸을 둬, 두 줄의 폭과 컬럼 위치를 맞춘다. 폭 고정은 두 줄로 쌓이는 dense 모드에만 적용해 합주 공간 모달의 휠은 그대로다. 시작 연도 휠의 '올해부터' 제한은 뺀다. 이미 한 합주를 뒤늦게 기록하거나 고치는 경우가 있어 지난 날짜를 막지 않기로 했는데, 연도만 막으면 기준이 어중간하다. 합주 기간 카드의 시작/종료 라벨이 카드 왼쪽 끝에 붙어 있어 왼쪽 여백을 10 → 20px로 넓힌다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 🚨 lint: 휠 구분자 스타일을 함수에서 상수로 변경 컴포넌트 파일에서 함수를 내보내면 react-refresh/only-export-components에 걸린다. 같은 파일의 다른 값들처럼 상수 맵으로 바꾼다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ♻️ refactor: 월 캘린더 두 종이 같은 격자를 쓰도록 MonthGrid 추출 일정 투표의 MonthCalendar(여러 날짜)와 합주 메인의 MonthDatePicker(하루)가 요일 줄과 날짜 칸을 각자 그리고 있어, 한쪽 모양을 고치면 다른 쪽이 따라오지 않았다. 이미 선택 글자색 토큰과 요일 줄 여백이 서로 달랐다. 생김새(칸 크기·선택 원·오늘 테두리·비활성 색)만 MonthGrid로 모은다. 값이 하나인지 여럿인지, 달을 누가 넘기는지는 여전히 각 캘린더가 쥔다 — 그 차이까지 한 컴포넌트에 넣으면 분기투성이가 된다. MonthGrid는 날짜마다 getDay가 알려 준 상태대로만 그린다. 통일하면서 바뀌는 것: - 선택 글자색은 주 스트립과 같은 primary-dark로 맞춘다(합주 메인이 gradient-top이었다) - 투표 캘린더의 칸이 고정 44px에서 '최대 44px'로 바뀌어 좁은 폭에서 옆 칸과 겹치지 않는다 - 투표 캘린더에도 hover 표시가 생긴다 줄 간격은 표시 줄(점)이 있을 때만 8px이고 없으면 4px 그대로라, 투표 캘린더의 높이는 변하지 않는다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* 🚧 wip: 유리 표면 유틸과 공용 컴포넌트 적용 (프로토타입) 카드·캡슐 입력·버튼이 같은 재질을 쓰도록 glass-surface 유틸 하나에 모은다. - 림은 inset 그림자로, 빛은 배경 그라디언트로 낸다. 가상 요소로 만들면 input에는 못 쓴다 (input은 ::before/::after를 그리지 못한다) - 림을 Tailwind의 그림자 합성 변수에 싣는다. box-shadow에 직접 쓰면 같은 요소의 ring-*·shadow-*와 서로 덮어써, 포커스 링이 뜨는 순간 림이 사라진다 - 반사광은 왼쪽 위에 고정. 면 색은 유틸이 갖지 않고 쓰는 쪽이 정한다 - 눌림(glass-pressable)은 따로 둔다. 눌러도 아무 일도 없는 면이 눌린 것처럼 보이면 안 된다 공용 쪽은 Input의 캡슐형, Button(전체 눌림 + 면이 있는 variant), Switch, 카드·필드 표면 상수에 붙인다. primary 버튼에는 위는 밝고 아래는 어두운 그라디언트 테두리를 넣고, disabled는 불투명 회색 대신 옅은 유리로 바꾼다. 방향을 보려는 것이라 머지 대상이 아니다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 🚧 wip: 화면의 둥근 면에 유리 표면 적용 (프로토타입) 알림·홈·검색·밴드 설정·마이페이지·일정·투표·곡 추가의 카드, 캡슐, 칩, 배지에 glass-surface를 붙이고 림과 겹치는 기존 테두리는 뺀다. 카드와 검색창은 면 색을 옅게 해 반사광이 더 드러나게 한다. 마이페이지의 초대하기·공유하기 바는 프로필 이미지 위에 뜨는 면이라 블러가 실제로 보이는 자리인데 blur-sm이라 평평했다. 면을 옅게 하고 블러를 키운다. "둥글고 면 색이 있는 요소"를 규칙으로 찾아 붙였기 때문에, 조건부 클래스로 색을 고르는 곳 (일정 필터 칩, 투표 그리드 셀)은 빠져 있다. 모두 읽음 버튼 테스트가 클래스명(border-grey-300)을 단정하고 있어 모양만 보도록 느슨하게 한다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * 🚧 wip: 칩·토글·셀렉트의 재질을 공용으로 묶고 마이페이지 액션 바의 블러 복구 같은 선택/비선택 클래스 쌍이 일정 필터 바, 필터 시트, 태그 선택 시트, 세그먼트 토글에 복사돼 있었다. chipSurfaceClass 하나로 모아 재질을 칩 자체에 싣는다. 화면마다 붙이면 한 곳씩 빠진다. 세그먼트 토글 트랙과 셀렉트 트리거(후보 시간 범위 등)도 같은 유리를 쓴다. 마이페이지의 초대하기·공유하기 바는 블러를 아무리 키워도 먹지 않았다. 바깥 카드 래퍼가 backdrop-filter를 갖고 있어서다 — backdrop-filter를 가진 요소는 자손의 backdrop이 볼 수 있는 범위의 경계가 되어, 안쪽 바는 래퍼 바깥(프로필 사진)을 샘플링하지 못한다. 래퍼의 블러를 빼고 안쪽 배경 레이어(바와 형제)만 블러를 갖게 한다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* 📝 docs: 서비스 소개와 핵심 기능을 담은 README 작성 비어 있던 루트 README에 브랜드 배너, 핵심 기능 5가지와 화면, 동작 GIF 2개, 기술 스택, 아키텍처, 프로젝트 구조, 실행 방법을 정리한다. 화면은 dev 브랜치를 MSW 목 데이터로 띄워 촬영했고, 이미지는 디자인 시스템 색과 SUIT 폰트로 만들었다. * 📝 docs: README를 기능 카드 중심으로 다시 디자인 기능 설명을 번호·카피·핵심 포인트가 담긴 카드 이미지로 옮기고, 화면과 좌우를 번갈아 배치한다. AI 물어보기 GIF를 추가하고 GIF마다 기능 이름 라벨을 넣는다. 기술 스택과 아키텍처는 카드 한 장으로 묶고, 시작하기·문서 절은 뺀다. * 📝 docs: README 글을 텍스트로 되돌리고 화면과 교차 배치 기능 카드에 넣었던 카피와 설명을 다시 마크다운 텍스트로 옮긴다. 화면 이미지와 GIF를 좌우로 번갈아 띄우고 글이 옆에 흐르게 배치한다. 배너는 로고와 화면만 남기고, 기술 스택은 배지 표와 mermaid 다이어그램으로 바꾼다. * 📝 docs: README 기능 소개를 표 레이아웃으로 단순화 좌우로 띄운 이미지 옆에 글이 흐르던 배치는 화면 폭에 따라 글이 겹쳐 3칸 표로 바꾼다. 칸마다 기능 이름, 화면, 두 줄 설명만 두고, 정지 화면도 GIF와 같은 휴대폰 한 대 프레임으로 맞춘다. 번호 라벨, 두 줄 카피, 메뉴 링크와 다이어그램 테마는 걷어낸다. * 📝 docs: README 기능 소개를 표 대신 섹션 흐름으로 정리 기능 표를 걷어 내고 기능마다 제목, 설명 두 줄, 화면을 위에서 아래로 이어 쓴다. 밴드 홈·라이브러리·초대는 한 섹션에 묶어 화면 세 장을 나란히 두고, 기술 스택도 표 대신 영역별 배지 줄로 바꾼다. * 📝 docs: README 화면은 위에 모으고 글은 한 흐름으로 정리 섹션마다 끼우던 화면을 위쪽 GIF 한 줄로 모으고, 주요 기능 6개와 기술 스택을 같은 목록 형식의 본문 텍스트로 쓴다. 기술 스택 배지와 AI 항목은 뺀다. * 📝 docs: README를 화면 중심 블록으로 재구성하고 AI 기능을 마지막에 배치 기능마다 가운데 정렬한 제목과 두 줄 설명 아래에 동작 GIF와 결과 화면을 나란히 둔다. 밴드 홈·라이브러리·초대는 화면 세 장으로 묶고, 순서는 공연 스페이스, 일정 투표, 밴드 홈·라이브러리·초대, AI 물어보기로 바꾼다. * 📝 docs: README 화면 높이를 맞추고 기술 스택을 디자인 시스템 칩으로 교체 GitHub이 GIF를 감싸는 요소가 일반 이미지보다 6px 커서 GIF와 정지 화면을 나란히 두면 높이가 어긋났다. 동작 GIF와 결과 화면을 한 장의 GIF로 합쳐 어긋나지 않게 한다. 결과 화면은 GIF에 없는 화면(타임라인 캘린더, 투표 만들기, 순위 답변)으로 고르고, 기술 스택은 앱 칩 컴포넌트 스타일로 그린 이미지로 바꾼다.
✨ feat: 일정 일시를 요약 칩 + 캘린더/시간 휠로 변경 시작·종료 카드 두 장(날짜 휠 + 시간 휠)을 새 시안으로 바꾼다. 위 줄에 네 값(시작 날짜·시각 → 종료 날짜·시각)을 요약하고, 누른 칩 하나만 아래에서 고친다 — 날짜면 월 캘린더, 시각이면 시간 휠. 카드 두 장 방식은 연도에서 막혔다. 연도 휠을 넣으면 폰 폭에서 두 줄로 쌓여 카드가 길어지고, 빼면 종료 연도를 추론해야 해 규칙이 계속 붙었다(12월→1월, 종료 월 < 시작 월). 날짜를 캘린더로 고르면 연도를 묻지도 추론하지도 않는다. 그래서 resolveEndDate와 휠의 yearMode·dense 옵션, 컬럼 정렬용 구분자 폭을 모두 걷어낸다. 캘린더는 시작~종료 사이를 모두 칠해 일정이 걸치는 기간을 보여준다. 종료 날짜를 고를 때는 시작보다 앞선 날을 비활성으로 둬, 날짜 순서 오류는 아예 만들 수 없게 한다. 같은 날의 시각 순서만 기존 검증이 잡는다. MonthCalendar에서 제목·달 이동을 MonthCalendarShell로 떼어 낸다. 여러 날짜 토글 (투표)과 범위 표시(일정)가 같은 뼈대를 쓰고 선택 규칙만 각자 넘긴다. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
포함된 PR