// SPDX-License-Identifier: AGPL-3.0-or-later import styles from '@app/features/channel/components/ChannelWelcomeSection.module.css'; import {DMWelcomeSection} from '@app/features/channel/components/direct_message/DMWelcomeSection'; import {GroupDMWelcomeSection} from '@app/features/channel/components/direct_message/GroupDMWelcomeSection'; import {PersonalNotesWelcomeSection} from '@app/features/channel/components/direct_message/PersonalNotesWelcomeSection'; import type {Channel} from '@app/features/channel/models/Channel'; import * as ChannelUtils from '@app/features/channel/utils/ChannelUtils'; import Users from '@app/features/user/state/Users'; import {ChannelTypes} from '@fluxer/constants/src/ChannelConstants'; import {Trans} from '@lingui/react/macro'; import {clsx} from 'clsx'; import {observer} from 'mobx-react-lite'; interface ChannelWelcomeSectionProps { channel: Channel; } export const ChannelWelcomeSection = observer(({channel}: ChannelWelcomeSectionProps) => { const recipient = Users.getUser(channel.recipientIds[0]); if (channel.type === ChannelTypes.DM && recipient) { return ( ); } if (channel.type === ChannelTypes.DM_PERSONAL_NOTES && recipient) { return ( ); } if (channel.type === ChannelTypes.GROUP_DM) { return ( ); } const channelDisplayName = `#${channel.name ?? ''}`; return (
{ChannelUtils.getIcon(channel, {className: styles.iconSize})}

Welcome to {channelDisplayName}

In the beginning, there was nothing. Then, there was {channelDisplayName}. And it was good.

); });