diff --git a/redisinsight/ui/src/components/notifications/success-messages.tsx b/redisinsight/ui/src/components/notifications/success-messages.tsx
index 93c647a427..de78778fed 100644
--- a/redisinsight/ui/src/components/notifications/success-messages.tsx
+++ b/redisinsight/ui/src/components/notifications/success-messages.tsx
@@ -137,5 +137,9 @@ export default {
{actionName}.
>
),
+ }),
+ NO_CLAIMED_MESSAGES: () => ({
+ title: 'No messages claimed',
+ message: 'No messages exceed the minimum idle time.',
})
}
diff --git a/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/MessageClaimPopover.tsx b/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/MessageClaimPopover.tsx
index 74e460a6d2..f69db7aa43 100644
--- a/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/MessageClaimPopover.tsx
+++ b/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/MessageClaimPopover.tsx
@@ -13,7 +13,8 @@ import {
EuiSwitch,
EuiText,
EuiCheckbox,
- EuiSpacer
+ EuiSpacer,
+ EuiToolTip
} from '@elastic/eui'
import { useFormik } from 'formik'
import { orderBy, filter } from 'lodash'
@@ -106,9 +107,35 @@ const MessageClaimPopover = (props: Props) => {
}
}, [consumers, currentConsumerName])
+ const button = (
+
+ CLAIM
+
+ )
+
+ const buttonTooltip = (
+
+ {button}
+
+ )
+
return (
e.stopPropagation()}
anchorPosition="leftCenter"
ownFocus
isOpen={isOpen}
@@ -117,18 +144,7 @@ const MessageClaimPopover = (props: Props) => {
anchorClassName="claimPendingMessage"
panelClassName={styles.popoverWrapper}
closePopover={() => {}}
- button={(
-
- CLAIM
-
- )}
+ button={consumers.length < 2 ? buttonTooltip : button}
>
diff --git a/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/styles.module.scss b/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/styles.module.scss
index 8b3dff7a13..790a1196ed 100644
--- a/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/styles.module.scss
+++ b/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/styles.module.scss
@@ -64,6 +64,7 @@
font: normal normal normal 13px/24px Graphik;
letter-spacing: -0.13px;
color: var(--inputPlaceholderColor) !important;
+ white-space: nowrap;
}
.consumerOption :global(.euiContextMenu__itemLayout) .pendingCount {
@@ -119,3 +120,8 @@
.popoverWrapper .container .grow {
flex-grow: 2;
}
+
+.consumerName {
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
diff --git a/redisinsight/ui/src/slices/browser/stream.ts b/redisinsight/ui/src/slices/browser/stream.ts
index 2de8f76a2c..fe04bb1790 100644
--- a/redisinsight/ui/src/slices/browser/stream.ts
+++ b/redisinsight/ui/src/slices/browser/stream.ts
@@ -959,9 +959,15 @@ export function claimPendingMessages(
dispatch(claimConsumerMessagesSuccess())
dispatch(fetchConsumerMessages())
dispatch(fetchConsumers())
- dispatch(addMessageNotification(
- successMessages.MESSAGE_ACTION(data.affected[0], 'claimed')
- ))
+ if (data.affected.length) {
+ dispatch(addMessageNotification(
+ successMessages.MESSAGE_ACTION(data.affected[0], 'claimed')
+ ))
+ } else {
+ dispatch(addMessageNotification(
+ successMessages.NO_CLAIMED_MESSAGES()
+ ))
+ }
onSuccess?.(data)
}
} catch (_err) {