Skip to content

Commit 362bc51

Browse files
committed
feat: redesign EmptyStateIndicator for message list
1 parent 30e008a commit 362bc51

15 files changed

Lines changed: 30 additions & 36 deletions

File tree

src/components/Channel/styling/Channel.scss

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,6 @@
2121
}
2222
}
2323

24-
.str-chat__empty-channel {
25-
--str-chat-icon-height: calc(var(--str-chat__spacing-px) * 136);
26-
@include utils.empty-layout;
27-
position: relative;
28-
29-
.str-chat__empty-channel-notifications {
30-
position: absolute;
31-
inset-block-end: var(--str-chat__spacing-2);
32-
}
33-
}
34-
3524
.str-chat__loading-channel {
3625
$text-height: calc(var(--str-chat__spacing-px) * 16);
3726
height: 100%;
@@ -169,9 +158,6 @@
169158
/* The icon color used when no channel is selected */
170159
--str-chat__channel-empty-indicator-color: var(--str-chat__disabled-color);
171160

172-
/* The text color used when no channel is selected */
173-
--str-chat__channel-empty-color: var(--str-chat__text-low-emphasis-color);
174-
175161
/* The color of the loading indicator */
176162
--str-chat__channel-loading-state-color: var(--str-chat__disabled-color);
177163
}
@@ -180,16 +166,6 @@
180166
@include utils.component-layer-overrides('channel');
181167
}
182168

183-
.str-chat__empty-channel {
184-
--str-chat-icon-color: var(--str-chat__channel-empty-color);
185-
@include utils.component-layer-overrides('channel');
186-
@include utils.empty-theme('channel');
187-
188-
.str-chat__empty-channel-text {
189-
color: var(--str-chat__channel-empty-color);
190-
}
191-
}
192-
193169
.str-chat__loading-channel {
194170
@include utils.loading-animation;
195171

src/components/EmptyStateIndicator/EmptyStateIndicator.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React from 'react';
22

33
import { useTranslationContext } from '../../context/TranslationContext';
44
import { ChatBubble } from './icons';
5+
import { IconBubble3ChatMessage } from '../Icons';
56

67
export type EmptyStateIndicatorProps = {
78
/** List Type: channel | message */
@@ -31,7 +32,7 @@ const UnMemoizedEmptyStateIndicator = (props: EmptyStateIndicatorProps) => {
3132
const text = t('Send a message to start the conversation');
3233
return (
3334
<div className='str-chat__empty-channel'>
34-
<ChatBubble />
35+
<IconBubble3ChatMessage />
3536
<p className='str-chat__empty-channel-text' role='listitem'>
3637
{text}
3738
</p>
Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,29 @@
1-
// Figma design: empty channel only (str-chat__empty-channel). str-chat__channel-list-empty unchanged.
1+
@use '../../../styling/utils';
2+
3+
.str-chat {
4+
/* The text color used when no channel is selected */
5+
--str-chat__channel-empty-color: var(--text-secondary);
6+
}
7+
28
.str-chat__empty-channel {
39
--str-chat-icon-color: var(--text-tertiary);
410
display: flex;
511
flex-direction: column;
612
align-items: center;
713
justify-content: center;
814
height: 100%;
9-
padding: var(--str-chat__spacing-4);
15+
padding: var(--spacing-md);
1016
position: relative;
11-
gap: var(--str-chat__spacing-3); // 12px – Figma spacing/sm
17+
gap: var(--spacing-xs);
1218
text-align: center;
19+
@include utils.component-layer-overrides('channel');
20+
color: var(--text-secondary);
21+
font: var(--str-chat__caption-default-text);
1322

1423
svg {
15-
width: calc(var(--str-chat__spacing-px) * 136);
16-
height: calc(var(--str-chat__spacing-px) * 136);
17-
18-
path {
19-
fill: var(--text-tertiary);
20-
}
24+
width: 32px;
25+
height: 32px;
26+
color: var(--str-chat-icon-color);
2127
}
2228

2329
.str-chat__empty-channel-notifications {
@@ -26,8 +32,7 @@
2632
}
2733

2834
.str-chat__empty-channel-text {
29-
font: 400 14px / 20px var(--str-chat__font-family); // Figma caption/default
30-
color: var(--text-tertiary);
3135
margin: 0;
36+
max-width: 160px;
3237
}
3338
}

src/i18n/de.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@
250250
"Select up to {{count}}_one": "Bis zu {{count}} auswählen",
251251
"Select up to {{count}}_other": "Bis zu {{count}} auswählen",
252252
"Send": "Senden",
253+
"Send a message to start the conversation": "Senden Sie eine Nachricht, um die Unterhaltung zu beginnen",
253254
"Send Anyway": "Trotzdem senden",
254255
"Send message request failed": "Senden der Nachrichtenanfrage fehlgeschlagen",
255256
"Send poll": "Umfrage senden",

src/i18n/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@
250250
"Select up to {{count}}_one": "Select up to {{count}}",
251251
"Select up to {{count}}_other": "Select up to {{count}}",
252252
"Send": "Send",
253+
"Send a message to start the conversation": "Send a message to start the conversation",
253254
"Send Anyway": "Send Anyway",
254255
"Send message request failed": "Send message request failed",
255256
"Send poll": "Send poll",

src/i18n/es.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,7 @@
259259
"Select up to {{count}}_many": "Selecciona hasta {{count}}",
260260
"Select up to {{count}}_other": "Selecciona hasta {{count}}",
261261
"Send": "Enviar",
262+
"Send a message to start the conversation": "Envía un mensaje para iniciar la conversación",
262263
"Send Anyway": "Enviar de todos modos",
263264
"Send message request failed": "Error al enviar la solicitud de mensaje",
264265
"Send poll": "Enviar encuesta",

src/i18n/fr.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,7 @@
259259
"Select up to {{count}}_many": "Sélectionner jusqu'à {{count}}",
260260
"Select up to {{count}}_other": "Sélectionner jusqu'à {{count}}",
261261
"Send": "Envoyer",
262+
"Send a message to start the conversation": "Envoyez un message pour commencer la conversation",
262263
"Send Anyway": "Envoyer quand même",
263264
"Send message request failed": "Échec de la demande d'envoi de message",
264265
"Send poll": "Envoyer le sondage",

src/i18n/hi.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,7 @@
251251
"Select up to {{count}}_one": "अधिकतम {{count}} तक चुनें",
252252
"Select up to {{count}}_other": "अधिकतम {{count}} तक चुनें",
253253
"Send": "भेजे",
254+
"Send a message to start the conversation": "बातचीत शुरू करने के लिए संदेश भेजें",
254255
"Send Anyway": "वैसे भी भेजें",
255256
"Send message request failed": "संदेश भेजने का अनुरोध विफल रहा",
256257
"Send poll": "पोल भेजें",

src/i18n/it.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,7 @@
259259
"Select up to {{count}}_many": "Seleziona fino a {{count}}",
260260
"Select up to {{count}}_other": "Seleziona fino a {{count}}",
261261
"Send": "Invia",
262+
"Send a message to start the conversation": "Invia un messaggio per iniziare la conversazione",
262263
"Send Anyway": "Invia comunque",
263264
"Send message request failed": "Richiesta di invio messaggio non riuscita",
264265
"Send poll": "Invia sondaggio",

src/i18n/ja.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@
250250
"Select up to {{count}}_one": "最大{{count}}まで選択",
251251
"Select up to {{count}}_other": "最大{{count}}まで選択",
252252
"Send": "送信",
253+
"Send a message to start the conversation": "メッセージを送って会話を始めましょう",
253254
"Send Anyway": "とにかく送信する",
254255
"Send message request failed": "メッセージ送信リクエストが失敗しました",
255256
"Send poll": "アンケートを送信",

0 commit comments

Comments
 (0)