[feat/MAT-558] 홈 화면 오늘+내일 집중학습 카드 + home 모드 cleanup#330
Merged
Conversation
Updated HomeStudyItem to use separate title and description fields instead of headerText. Adjusted rendering logic and mock data to support the new structure.
…t and focus-card hooks
계층적 queryKey (`['student', 'daily-comment', { commentDate }]`) 구조로 도메인 단위
invalidation 가능. useGetDailyComments / useGetFocusCards 시그니처 유지.
problem transforms 내부에 있던 util을 @utils/tiptap 으로 이동. home transform 등 다른 feature에서도 import 가능하게 됨.
…title/expiryAt to cards HomeCommentCard.timeRemainingInHours → expiryAt(epoch ms | null) 로 교체 — 렌더러가 직접 시간을 계산·갱신. name 필드 제거 → native에서 카드 생성 시 title/subtitle 미리 조립. mock-data LaTeX 백슬래시 복원 및 mock 구조를 새 스키마에 맞게 정비.
…Cards hook useQueries 병렬 fetch로 오늘+내일 집중학습 발급분을 합산. useFocusEffect + queryClient.invalidateQueries 로 화면 진입 시 데이터 최신화. buildHomeInit에 todayStr 파라미터 추가해 todayStr single source-of-truth 유지.
…s with iOS-style easing --motion-ease / --motion-duration CSS 변수 추출 → home + chat 모드에 일관 적용. study-item collapsible 을 outer(height transition) + inner(padding 고정) 구조로 재정비, transitionend 후 height: auto 해제로 동적 콘텐츠 높이 자동 대응. 빈 title/description doc 시 element 자체 생략, CSS 클래스를 스키마 변수명에 정렬. 시간 뱃지를 1분 간격 자동 갱신(setupTimeBadgeTick)으로 전환.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Summary
mat-554에서 도입한 홈 카드 모드(WebView 기반)에 mat-558 "오늘+내일 집중학습 join"을 얹고, 1차 코드 리뷰 후 도출된 cleanup 항목을 함께 적용했습니다. 추가로 home/chat collapsible 애니메이션을 outer/inner + height-measurement + iOS-style easing 패턴으로 통일했습니다. queryOptions 패턴은 향후 API 레이어 마이그레이션의 PoC로 home 관련 두 hook에만 우선 도입.
Linear
Changes
useHomeFocusCardscomposing hook 신설 (useQueries병렬 fetch)name필드 제거, 카드별title/subtitle을 native에서 미리 조립 (${name}님을 위한 ...)HomeCommentCard.timeRemainingInHours→expiryAt: number | null. 렌더 시점 + 1분 간격 자동 갱신title/description시 element 자체 생략, CSS 클래스명을 스키마 변수명에 정렬 (home-study-item-title/home-study-item-description)parseTipTapDoc을@utils/tiptapshared util로 이동dailyComment/focusCardhook을queryOptionsfactory 패턴으로 재작성 ({ domain }Queries.byDate(...), 계층적 queryKey). 시그니처 유지.useFocusEffect로 홈 화면 진입 시 home 카드 데이터 invalidate (PTR 대체)height: auto해제로 동적 컨텐츠 대응--motion-ease: cubic-bezier(0.32, 0.72, 0, 1)+--motion-duration: 350msCSS 변수로 추출. home + chat 모드에 일관 적용\begin{cases}LaTeX 백슬래시(\\) 복원Testing
pnpm typecheck(native, content-renderer) cleanpnpm lint모든 수정 파일 cleanpnpm jest학생 transform 테스트 중parseTipTapDoc관련 passbuildAllPointingsRightSections > parentProblemDisplayNo) — 이번 작업 무관, 그대로 둠Risk / Impact
@repo/pointer-content-rendererhome/chat 모드 (chat 모드도 동일 모노레포 내 학생 앱에서 사용 중)cubic-bezier(0.4, 0, 0.2, 1)→(0.32, 0.72, 0, 1), duration 350ms는 동일)expiryAt이 누락된 경우 시간 뱃지 자체가 표시되지 않음 (의도된 동작)Screenshots / Video