-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
Description
P2: Core CRUD + Tests
全22 UIコンポーネントをRaindrop.io APIに接続。mock-dataを完全に削除しRTK Queryキャッシュに置換。
Ref: SPEC.md §4 API ↔ UI Mapping
Dependencies: P1
Scope: ~25 files modified
Tasks
Type Mapping Layer
- Create
toUiRaindrop()— APIRaindropApiResponse→ UIRaindrop型変換 - Create
toUiCollection()— APICollectionApiResponse→ UICollection型変換 - Create
toUiGroup()— Collections → Groups 構築ロジック
Sidebar (Collections & Tags)
-
left-sidebar.tsx: ConnectuseGetCollectionsQuery+useGetChildCollectionsQueryfor collection tree -
left-sidebar.tsx: ConnectuseGetFiltersQueryfor type/tag filter counts -
left-sidebar.tsx: Trash operations —useEmptyTrashMutation
Main Content (Raindrop List)
-
main-content.tsx: ConnectuseGetRaindropsQuerywith infinite scroll pagination (page,perpage=50) -
main-content.tsx: Connect sort functionality (sortquery param:-created,title,domain, etc.) -
main-content.tsx: Bulk operations bar —useBatchUpdateRaindropsMutation+useBatchDeleteRaindropsMutation
Detail Panel
-
right-detail-panel.tsx: ConnectuseGetRaindropQueryfor detail display -
right-detail-panel.tsx: ConnectuseUpdateRaindropMutationfor saving edits -
right-detail-panel.tsx: ConnectuseDeleteRaindropMutationfor deletion
Dialogs
-
add-bookmark-dialog.tsx: ConnectuseCreateRaindropMutationfor new bookmark -
add-bookmark-dialog.tsx: ConnectuseSuggestNewQueryfor URL metadata auto-fill -
collection-dialog.tsx: ConnectuseCreateCollectionMutation/useUpdateCollectionMutation -
group-dialog.tsx: Connect group create/update API calls -
tag-management.tsx: ConnectuseGetTagsQuery+useRenameTagMutation+useDeleteTagMutation -
merge-dialog.tsx: ConnectuseMergeCollectionsMutation
Cleanup
- Remove all imports of
src/data/mock-data.tsfrom every component -
main-app.tsx: Replace ALLconsole.logstubs with real RTK Query mutations - Delete
src/data/mock-data.ts(or keep as test fixture only)
Unit Tests
- Raindrop CRUD tests: create → read → update → delete with MSW
- Collection CRUD tests: create → read → update → delete
- Tag operations tests: list → rename → delete
E2E Tests
-
e2e/specs/auth.spec.ts: Login screen → OAuth flow → MainApp display -
e2e/specs/crud.spec.ts: Create bookmark → list → edit → delete - Verify:
pnpm test && pnpm lint && pnpm typecheck && pnpm build
Reactions are currently unavailable