RocketChat/Rocket.Chat

View on GitHub
apps/meteor/client/views/room/HeaderV2/HeaderIconWithRoom.tsx

Summary

Maintainability
A
3 hrs
Test Coverage
import type { IRoom } from '@rocket.chat/core-typings';
import { isOmnichannelRoom } from '@rocket.chat/core-typings';
import type { ReactElement } from 'react';
import React from 'react';

import { HeaderIcon } from '../../../components/Header';
import { OmnichannelRoomIcon } from '../../../components/RoomIcon/OmnichannelRoomIcon';
import { useRoomIcon } from '../../../hooks/useRoomIcon';

type HeaderIconWithRoomProps = {
    room: IRoom;
};

const HeaderIconWithRoom = ({ room }: HeaderIconWithRoomProps): ReactElement => {
    const icon = useRoomIcon(room);
    if (isOmnichannelRoom(room)) {
        return <OmnichannelRoomIcon room={room} size='x20' placement='default' />;
    }

    return <HeaderIcon icon={icon} />;
};

export default HeaderIconWithRoom;