@linktr.ee/messaging-react 1.12.3 → 1.12.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@linktr.ee/messaging-react",
3
- "version": "1.12.3",
3
+ "version": "1.12.4",
4
4
  "description": "React messaging components built on messaging-core for web applications",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -25,6 +25,7 @@ import { CloseButton } from './CloseButton'
25
25
  import { CustomMessageInput } from './CustomMessageInput'
26
26
  import { CustomSystemMessage } from './CustomSystemMessage'
27
27
  import { ChannelEmptyState } from './MessagingShell/ChannelEmptyState'
28
+ import { LoadingState } from './MessagingShell/LoadingState'
28
29
 
29
30
  // Custom user type with email and username
30
31
  type CustomUser = {
@@ -559,6 +560,7 @@ export const ChannelView = React.memo<ChannelViewProps>(
559
560
  channel={channel}
560
561
  MessageSystem={CustomSystemMessage}
561
562
  EmptyStateIndicator={CustomChannelEmptyState}
563
+ LoadingIndicator={LoadingState}
562
564
  >
563
565
  <ChannelViewInner
564
566
  onBack={onBack}
@@ -2,5 +2,6 @@ import React from 'react'
2
2
 
3
3
  /**
4
4
  * Empty state component shown when a channel has no messages
5
+ * Returns null to show nothing - the LoadingIndicator handles the loading state
5
6
  */
6
7
  export const ChannelEmptyState: React.FC = () => null
@@ -453,10 +453,10 @@ export const MessagingShell: React.FC<MessagingShellProps> = ({
453
453
  className={classNames(
454
454
  'messaging-conversation-view flex-1 flex-col min-w-0 min-h-0',
455
455
  {
456
- // In direct conversation mode, always show (full width)
457
- flex: directConversationMode || isChannelSelected,
456
+ // In direct conversation mode (or waiting for it), always show (full width)
457
+ flex: directConversationMode || isChannelSelected || initialParticipantFilter,
458
458
  // Normal mode: hide on mobile when no channel selected
459
- 'hidden lg:flex': !directConversationMode && !isChannelSelected,
459
+ 'hidden lg:flex': !directConversationMode && !isChannelSelected && !initialParticipantFilter,
460
460
  }
461
461
  )}
462
462
  >
@@ -477,6 +477,9 @@ export const MessagingShell: React.FC<MessagingShellProps> = ({
477
477
  onReportParticipantClick={onReportParticipantClick}
478
478
  />
479
479
  </div>
480
+ ) : initialParticipantFilter ? (
481
+ // Show loading while creating/loading direct conversation channel
482
+ <LoadingState />
480
483
  ) : (
481
484
  <EmptyState
482
485
  hasChannels={hasChannels}