From 9a2677fc241d5a2e767c84295aff5617965f117b Mon Sep 17 00:00:00 2001 From: Anton Nikolaev Date: Mon, 7 Jun 2021 05:52:50 -0700 Subject: [PATCH] Cleanup global notifications UI Summary: We don't need to show plugin-related details and button "open globalError" (which anyway doesn't work) when showing global notifications. Reviewed By: passy Differential Revision: D28900468 fbshipit-source-id: 54347ede4f1e4dbfb0e41be5c50374fda35c1223 --- desktop/app/src/reducers/notifications.tsx | 4 ++- .../notification/Notification.tsx | 25 +++++++++++-------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/desktop/app/src/reducers/notifications.tsx b/desktop/app/src/reducers/notifications.tsx index 60aa580bc..21f0ff4ed 100644 --- a/desktop/app/src/reducers/notifications.tsx +++ b/desktop/app/src/reducers/notifications.tsx @@ -12,6 +12,8 @@ import {Actions} from './'; import {getStringFromErrorLike} from '../utils'; import React from 'react'; +export const GLOBAL_NOTIFICATION_PLUGIN_ID = 'Flipper'; + export type PluginNotification = { notification: Notification; pluginId: string; @@ -208,7 +210,7 @@ export function addErrorNotification( console.warn(title, message, error); return addNotification({ client: null, - pluginId: 'globalError', + pluginId: GLOBAL_NOTIFICATION_PLUGIN_ID, notification: { id: title, title, diff --git a/desktop/app/src/sandy-chrome/notification/Notification.tsx b/desktop/app/src/sandy-chrome/notification/Notification.tsx index 9cbe10444..093eda4ab 100644 --- a/desktop/app/src/sandy-chrome/notification/Notification.tsx +++ b/desktop/app/src/sandy-chrome/notification/Notification.tsx @@ -24,6 +24,7 @@ import {useDispatch, useStore} from '../../utils/useStore'; import {selectPlugin} from '../../reducers/connections'; import { clearAllNotifications, + GLOBAL_NOTIFICATION_PLUGIN_ID, PluginNotification as PluginNotificationOrig, updateCategoryBlocklist, updatePluginBlocklist, @@ -39,7 +40,7 @@ type NotificationExtra = { onHidePlugin: () => void; clientName: string | undefined; appName: string | undefined; - pluginName: string; + pluginName: string | null | undefined; iconName: string | null | undefined; }; type PluginNotification = NotificationData & NotificationExtra; @@ -152,17 +153,21 @@ function NotificationEntry({notification}: {notification: PluginNotification}) { {actions} - + <Title level={4} ellipsis={{rows: 3}}> {title} - - {clientName && appName - ? `${clientName}/${appName}` - : clientName ?? appName ?? 'Not Connected'} - - + {pluginName !== GLOBAL_NOTIFICATION_PLUGIN_ID && ( + <> + + {clientName && appName + ? `${clientName}/${appName}` + : clientName ?? appName ?? 'Not Connected'} + + + + )} );