From f82bc98d8d7d34edbf9b75c664987b000ae2db2b Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Sun, 25 Jan 2026 15:48:18 -0600 Subject: [PATCH] Allow users to dismiss sidebar LEF banner (#9753) --- .../SidebarLiveEventFeedsBanner.tsx | 95 +++++++++++++++++-- 1 file changed, 86 insertions(+), 9 deletions(-) diff --git a/src/features/liveEvents/components/SidebarLiveEventFeedsBanner.tsx b/src/features/liveEvents/components/SidebarLiveEventFeedsBanner.tsx index 25a5db8c8c..d68a3c762d 100644 --- a/src/features/liveEvents/components/SidebarLiveEventFeedsBanner.tsx +++ b/src/features/liveEvents/components/SidebarLiveEventFeedsBanner.tsx @@ -1,13 +1,90 @@ +import {View} from 'react-native' +import {msg, Trans} from '@lingui/macro' +import {useLingui} from '@lingui/react' + +import {atoms as a} from '#/alf' +import {Button} from '#/components/Button' +import {TimesLarge_Stroke2_Corner0_Rounded as CloseIcon} from '#/components/icons/Times' +import * as Toast from '#/components/Toast' import {LiveEventFeedCardCompact} from '#/features/liveEvents/components/LiveEventFeedCardCompact' -import {useLiveEvents} from '#/features/liveEvents/context' +import {useUserPreferencedLiveEvents} from '#/features/liveEvents/context' +import {useUpdateLiveEventPreferences} from '#/features/liveEvents/preferences' +import {type LiveEventFeed} from '#/features/liveEvents/types' export function SidebarLiveEventFeedsBanner() { - const events = useLiveEvents() - return events.feeds.map(feed => ( - - )) + const events = useUserPreferencedLiveEvents() + return events.feeds.map(feed => ) +} + +function Inner({feed}: {feed: LiveEventFeed}) { + const {_} = useLingui() + const layout = feed.layouts.wide + + const {mutate: update, variables} = useUpdateLiveEventPreferences({ + feed, + metricContext: 'sidebar', + onUpdateSuccess({undoAction}) { + Toast.show( + + + + {undoAction ? ( + Live event hidden + ) : ( + Live event unhidden + )} + + {undoAction && ( + { + if (undoAction) { + update(undoAction) + } + }}> + Undo + + )} + , + {type: 'success'}, + ) + }, + }) + + if (variables) return null + + return ( + + + + + + + + ) }