From 756b66b31fd02215fc2d8a30ae263a3bf08a90a6 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 12 Jul 2025 23:58:57 +0900 Subject: feat(backend,frontend): add feature to unsubscribe feed --- frontend/src/components/AddFeedForm.tsx | 8 +++++--- frontend/src/components/FeedList.tsx | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 13 deletions(-) (limited to 'frontend/src/components') diff --git a/frontend/src/components/AddFeedForm.tsx b/frontend/src/components/AddFeedForm.tsx index 79e26e3..519f9e3 100644 --- a/frontend/src/components/AddFeedForm.tsx +++ b/frontend/src/components/AddFeedForm.tsx @@ -28,7 +28,9 @@ export function AddFeedForm({ onFeedAdded }: Props) { onFeedAdded?.(); } } catch (error) { - setError(error instanceof Error ? error.message : "Failed to add feed"); + setError( + error instanceof Error ? error.message : "Failed to subscribe to feed", + ); } }; @@ -47,7 +49,7 @@ export function AddFeedForm({ onFeedAdded }: Props) {

- Add New Feed + Subscribe to New Feed

@@ -80,7 +82,7 @@ export function AddFeedForm({ onFeedAdded }: Props) { ) : ( )} - Add Feed + Subscribe
diff --git a/frontend/src/components/FeedList.tsx b/frontend/src/components/FeedList.tsx index 7e46e78..e5b6751 100644 --- a/frontend/src/components/FeedList.tsx +++ b/frontend/src/components/FeedList.tsx @@ -9,17 +9,17 @@ import { GetFeedsDocument, MarkFeedReadDocument, MarkFeedUnreadDocument, - RemoveFeedDocument, + UnsubscribeFeedDocument, } from "../graphql/generated/graphql"; interface Props { - onFeedDeleted?: () => void; + onFeedUnsubscribed?: () => void; selectedFeeds?: Set; onSelectFeed?: (feedId: string, selected: boolean) => void; } export function FeedList({ - onFeedDeleted, + onFeedUnsubscribed, selectedFeeds, onSelectFeed, }: Props) { @@ -29,7 +29,7 @@ export function FeedList({ const [, markFeedRead] = useMutation(MarkFeedReadDocument); const [, markFeedUnread] = useMutation(MarkFeedUnreadDocument); - const [, removeFeed] = useMutation(RemoveFeedDocument); + const [, unsubscribeFeed] = useMutation(UnsubscribeFeedDocument); const handleMarkAllRead = async (feedId: string) => { await markFeedRead({ id: feedId }); @@ -39,13 +39,13 @@ export function FeedList({ await markFeedUnread({ id: feedId }); }; - const handleDeleteFeed = async (feedId: string) => { + const handleUnsubscribeFeed = async (feedId: string) => { const confirmed = window.confirm( - "Are you sure you want to delete this feed?", + "Are you sure you want to unsubscribe from this feed?", ); if (confirmed) { - await removeFeed({ id: feedId }); - onFeedDeleted?.(); + await unsubscribeFeed({ id: feedId }); + onFeedUnsubscribed?.(); } }; @@ -134,9 +134,9 @@ export function FeedList({ -- cgit v1.2.3-70-g09d2