diff --git a/packages/pl-fe/src/contexts/chat-context.tsx b/packages/pl-fe/src/contexts/chat-context.tsx
index ad623593e..838eefaf3 100644
--- a/packages/pl-fe/src/contexts/chat-context.tsx
+++ b/packages/pl-fe/src/contexts/chat-context.tsx
@@ -16,7 +16,8 @@ enum ChatWidgetScreens {
INBOX = 'INBOX',
SEARCH = 'SEARCH',
CHAT = 'CHAT',
- CHAT_SETTINGS = 'CHAT_SETTINGS'
+ CHAT_SETTINGS = 'CHAT_SETTINGS',
+ SHOUTBOX = 'SHOUTBOX',
}
interface IChatProvider {
diff --git a/packages/pl-fe/src/features/chats/components/chat-pane/chat-pane.tsx b/packages/pl-fe/src/features/chats/components/chat-pane/chat-pane.tsx
index d8a69e912..e1ac12487 100644
--- a/packages/pl-fe/src/features/chats/components/chat-pane/chat-pane.tsx
+++ b/packages/pl-fe/src/features/chats/components/chat-pane/chat-pane.tsx
@@ -12,6 +12,7 @@ import ChatSearch from '../chat-search/chat-search';
import ChatPaneHeader from '../chat-widget/chat-pane-header';
import ChatWindow from '../chat-widget/chat-window';
import ChatSearchHeader from '../chat-widget/headers/chat-search-header';
+import ShoutboxWindow from '../chat-widget/shoutbox-window';
import { Pane } from '../ui/pane';
import Blankslate from './blankslate';
@@ -27,7 +28,7 @@ const ChatPane = () => {
const handleClickChat = (nextChat: Chat | 'shoutbox') => {
if (nextChat === 'shoutbox') {
- // changeScreen(ChatWidgetScreens.SHOUTBOX);
+ changeScreen(ChatWidgetScreens.SHOUTBOX);
} else {
changeScreen(ChatWidgetScreens.CHAT, nextChat.id);
}
@@ -60,6 +61,15 @@ const ChatPane = () => {
);
}
+ // Shoutbox
+ if (screen === ChatWidgetScreens.SHOUTBOX) {
+ return (
+
+
+
+ );
+ }
+
if (screen === ChatWidgetScreens.SEARCH) {
return (
diff --git a/packages/pl-fe/src/features/chats/components/chat-widget/shoutbox-window.tsx b/packages/pl-fe/src/features/chats/components/chat-widget/shoutbox-window.tsx
new file mode 100644
index 000000000..07e555b66
--- /dev/null
+++ b/packages/pl-fe/src/features/chats/components/chat-widget/shoutbox-window.tsx
@@ -0,0 +1,65 @@
+import React from 'react';
+import { FormattedMessage } from 'react-intl';
+
+import Avatar from 'pl-fe/components/ui/avatar';
+import HStack from 'pl-fe/components/ui/hstack';
+import Icon from 'pl-fe/components/ui/icon';
+import Stack from 'pl-fe/components/ui/stack';
+import Text from 'pl-fe/components/ui/text';
+import { ChatWidgetScreens, useChatContext } from 'pl-fe/contexts/chat-context';
+import { usePlFeConfig } from 'pl-fe/hooks/use-pl-fe-config';
+
+import Shoutbox from '../shoutbox';
+
+import ChatPaneHeader from './chat-pane-header';
+
+const ShoutboxWindow = () => {
+ const { changeScreen, isOpen, toggleChatPane } = useChatContext();
+ const { logo } = usePlFeConfig();
+
+ const closeChat = () => {
+ changeScreen(ChatWidgetScreens.INBOX);
+ };
+
+ return (
+ <>
+
+ {isOpen && (
+
+ )}
+
+
+ {isOpen && (
+
+ )}
+
+
+
+
+
+
+
+
+
+
+ }
+ isToggleable={!isOpen}
+ isOpen={isOpen}
+ onToggle={toggleChatPane}
+ />
+
+
+
+
+ >
+ );
+};
+
+export { ShoutboxWindow as default };