import { h } from 'preact';
import PropTypes from 'prop-types';
import ConfigImage from 'images/three-dots.svg';
const Channels = ({ activeChannelId, chatChannels, handleSwitchChannel, expanded, filterQuery, channelsLoaded }) => {
const channels = chatChannels.map((channel, index) => {
const isActive = parseInt(activeChannelId, 10) === channel.id
const lastOpened = channel.last_opened_at ? channel.last_opened_at : channel.channel_users[window.currentUser.username].last_opened_at
const isUnopened = (new Date(channel.last_message_at) > new Date(lastOpened)) && channel.messages_count > 0;
const otherClassname =
isActive
? 'chatchanneltab--active'
: 'chatchanneltab--inactive';
const name = channel.channel_type === "direct" ? '@'+channel.slug.replace(`${window.currentUser.username}/`, '').replace(`/${window.currentUser.username}`, '') : channel.channel_name
const newMessagesIndicatorClass = isUnopened ? "new" : "old"
const modififedSlug = channel.channel_type === "direct" ? name : channel.slug;
const indicatorPic = channel.channel_type === "direct" ? : ''
let channelColor = 'transparent'
if (channel.channel_type === "direct" && isActive) {
channelColor = channel.channel_users[name.replace('@','')].darker_color;
} else if ( isActive ) {
channelColor = '#4e57ef'
}
let content = ''
if (expanded) {
content =
{indicatorPic}
{name}
} else {
if (channel.channel_type === "direct") {
content =
{indicatorPic}
} else {
content = name
}
}
return (
);
});
let channelsListFooter = ""
if (channels.length === 30) {
channelsListFooter =