Skip to content

[#392] 리스트형 삭제/복구 시 로딩 UX를 개선한다#401

Merged
opficdev merged 10 commits intodevelopfrom
refactor/#392-local-deletion
Apr 18, 2026
Merged

[#392] 리스트형 삭제/복구 시 로딩 UX를 개선한다#401
opficdev merged 10 commits intodevelopfrom
refactor/#392-local-deletion

Conversation

@opficdev
Copy link
Copy Markdown
Owner

@opficdev opficdev commented Apr 18, 2026

🔗 연관된 이슈

📝 작업 내용

📌 요약

  • 웹페이지, Todo, PushNotification 목록의 삭제 시 전체 fetch 대신 로컬 hidden 상태 기반 반영으로 전환
  • undo 시 불필요한 LoadingView 노출 제거 및 실패 시 항목 복원 흐름 정리
  • PushNotification observe 갱신 시 로컬 hidden 상태 보존 처리 추가

🔍 상세

  • WebPageItem, TodoListItem, PushNotificationItemisHidden 상태 추가
  • HomeViewModel, TodoListViewModel, PushNotificationListViewModel에서 삭제 시 hide, 토스트 종료 시 실제 remove, undo 시 unhide 처리 적용
  • HomeView, TodoListView, PushNotificationListView에서 hidden 항목 제외 렌더링 및 마지막 항목 판별 기준 보정
  • 웹페이지 복구 시 addWebPageUseCase 재호출로 메타데이터 복원 유지

📸 영상 / 이미지 (Optional)

  • 없음

@opficdev opficdev self-assigned this Apr 18, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이번 풀 요청은 PushNotificationItem, TodoListItem, WebPageItemisHidden 속성을 추가하여 삭제 취소 기능을 지원하는 소프트 삭제 로직을 구현했습니다. 이에 따라 ViewModel은 삭제 시 항목을 즉시 제거하는 대신 숨김 처리하고, 토스트가 사라질 때 최종적으로 제거하도록 변경되었습니다. 리뷰 피드백으로는 연속 삭제 시 발생할 수 있는 상태 잔류 문제를 방지하기 위해 isHidden 상태인 모든 항목을 일괄 제거할 것과, 알림 병합 로직의 시간 복잡도를 O(N+M)으로 최적화할 것, 그리고 UI 코드 내 iOS 버전 체크 오타(iOS 26.0)를 수정할 것을 제안했습니다.

Comment thread DevLog/Presentation/ViewModel/HomeViewModel.swift Outdated
Comment thread DevLog/Presentation/ViewModel/PushNotificationListViewModel.swift Outdated
Comment thread DevLog/Presentation/ViewModel/PushNotificationListViewModel.swift Outdated
Comment thread DevLog/Presentation/ViewModel/TodoListViewModel.swift Outdated
Comment thread DevLog/UI/PushNotification/PushNotificationListView.swift Outdated
@opficdev opficdev merged commit 92b52be into develop Apr 18, 2026
1 check passed
@opficdev opficdev deleted the refactor/#392-local-deletion branch April 18, 2026 15:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

리스트 형태의 데이터에서 삭제됐을 경우 재 fetch가 아닌 로컬에서 제거 형태로 UX를 개선한다

1 participant