Feat/expert absent - #68
Conversation
… absence reporting
…to feat/expert-absent
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Free Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (10)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughPR này loại bỏ tài liệu hướng dẫn sử dụng tính năng "Tư vấn Chuyên gia Vắng mặt" và thêm hỗ trợ toàn diện cho lịch sử tư vấn với các mô hình dữ liệu mới, phương thức kho lưu trữ được phân trang, và cấu trúc màn hình được cập nhật để hiển thị cả tư vấn theo lịch và tư vấn ngay lập tức (SOS), bao gồm cả cải tiến kết xuất avatar và cập nhật định tuyến. ChangesLoại bỏ Tài liệu Hướng dẫn Sử dụng
Hỗ Trợ Lịch Sử Tư Vấn và Tư Vấn Ngay Lập Tức
Sequence Diagram(s)sequenceDiagram
participant Member
participant ConsultationHomeScreen
participant ConsultationRepository
participant Backend as Backend API
participant Member as Paging/Sorting
Member->>ConsultationHomeScreen: Load history (page 1)
ConsultationHomeScreen->>ConsultationRepository: getMyConsultationHistory(pageNumber=1)
ConsultationRepository->>Backend: GET /api/users/me/consultations?pageNumber=1&pageSize=10
Backend-->>ConsultationRepository: PagedHistoryResponse with union items
ConsultationRepository-->>ConsultationHomeScreen: PagedHistoryResponse<MemberConsultationHistoryUnion>
ConsultationHomeScreen->>ConsultationHomeScreen: _mapHistoryItems() - convert to _ConsultationItem
ConsultationHomeScreen->>Member: Display scheduled + instant history cards
Member->>ConsultationHomeScreen: Scroll to end (load more)
ConsultationHomeScreen->>ConsultationRepository: getMyConsultationHistory(pageNumber=2)
ConsultationRepository->>Backend: GET /api/users/me/consultations?pageNumber=2
Backend-->>ConsultationRepository: Next page of union items
ConsultationHomeScreen->>ConsultationHomeScreen: Merge & deduplicate, append to _historyItems
ConsultationHomeScreen->>Member: Display combined history with "load more" spinner
sequenceDiagram
participant Member
participant ConsultationWaitingRoom as Waiting Room Screen
participant Router
participant VideoConsultationScreen
Member->>Router: Navigate to /video-waiting/:consultationId
Router->>ConsultationWaitingRoom: Pass scheduledDurationSeconds (default 1800)
ConsultationWaitingRoom->>ConsultationWaitingRoom: Display schedule time range<br/>using scheduledDurationSeconds
Member->>ConsultationWaitingRoom: Join consultation
ConsultationWaitingRoom->>Router: Navigate to /video-consultation/:consultationId<br/>extra: {scheduledStartAtMs, scheduledDurationSeconds, ...}
Router->>VideoConsultationScreen: Pass scheduling context + canReportExpertAbsent
VideoConsultationScreen->>VideoConsultationScreen: Initialize with scheduling context
Member->>VideoConsultationScreen: End call
VideoConsultationScreen->>Router: Navigate back to waiting room<br/>extra: {scheduledStartAtMs, scheduledDurationSeconds, canReportExpertAbsent}
Router-->>Member: Return to waiting room with context preserved
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes (Documentation removal) 🎯 4 (Complex) | ⏱️ ~60 minutes (Consultation history, instant consultations, and avatar rendering infrastructure) Poem
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment |
Summary by CodeRabbit
Ghi chú phát hành
New Features
Bug Fixes
Documentation