import React from 'react';
import { SettingsContext } from '../../contexts/SettingsContext';
import { useRoomIcon } from '../../hooks/useRoomIcon';
import ToolBox from '../../views/room/Header/ToolBox';
import { addAction } from '../../views/room/lib/Toolbox';
import ToolboxProvider from '../../views/room/providers/ToolboxProvider';
import RoomAvatar from '../avatar/RoomAvatar';
import Header from './Header';
export default {
title: 'room/Header',
component: Header,
};
const room = {
t: 'c',
name: 'general general general general general general general general general general general general general general general general general general general',
_id: 'GENERAL',
encrypted: true,
autoTranslate: true,
autoTranslateLanguage: 'pt-BR',
};
const settings = {
Favorite_Rooms: true,
AutoTranslate_Enabled: true,
E2E_Enable: true,
};
const settingContextValue = {
hasPrivateAccess: true,
isLoading: false,
querySetting: (setting) => ({
getCurrentValue: () => settings[setting],
subscribe: () => () => undefined,
}),
querySettings: () => ({
getCurrentValue: () => [],
subscribe: () => () => undefined,
}),
dispatch: async () => undefined,
};
export const ChatHeader = () => {
const icon = useRoomIcon(room);
const avatar = ;
return (
{avatar}
{icon && }
{room.name}
{room.name}
);
};
const toolboxRoom = {
...room,
msgs: 2,
u: { username: 'rocket.cat' },
usersCount: 2,
};
// const renderWithBadge = createHeaderActionRenderer(1);
// const renderWithRedBadge = createHeaderActionRenderer(2);
// const renderWithOrangeBadge = createHeaderActionRenderer(99);
const renderWithBadge = (props, index) => (
1
);
const renderWithRedBadge = (props, index) => (
2
);
const renderWithOrangeBadge = (props, index) => (
99
);
addAction('render-action-example-badge', {
groups: ['channel'],
id: 'render-action-example',
title: 'Example',
icon: 'phone',
template: 'b',
order: 0,
renderAction: renderWithBadge,
});
addAction('render-action-example-badge-warning', {
groups: ['channel'],
id: 'render-action-example',
title: 'Example',
icon: 'thread',
template: 'a',
order: 1,
renderAction: renderWithOrangeBadge,
});
addAction('render-action-example-badge-danger', {
groups: ['channel'],
id: 'render-action-example',
title: 'Example',
icon: 'discussion',
template: 'c',
order: 2,
renderAction: renderWithRedBadge,
});
export const WithToolboxContext = () => {
const icon = useRoomIcon(room);
const avatar = ;
return (
{avatar}
{icon && }
{room.name}
{room.name}
);
};
export const Omnichannel = () => {
const icon = useRoomIcon(room);
const avatar = ;
return (
{avatar}
{icon && }
{room.name}
{room.name}
);
};