// SPDX-License-Identifier: AGPL-3.0-or-later import { AccountTooNewBarrier, DefaultBarrier, NoPhoneNumberBarrier, NotMemberLongEnoughBarrier, SendMessageDisabledBarrier, TimeoutBarrier, UnclaimedAccountBarrier, UnverifiedEmailBarrier, } from '@app/features/channel/components/barriers/BarrierComponents'; import type {Channel} from '@app/features/channel/models/Channel'; import GuildVerification, {VerificationFailureReason} from '@app/features/guild/state/GuildVerification'; import {observer} from 'mobx-react-lite'; interface Props { channel: Channel; } export const VerificationBarrier = observer(({channel}: Props) => { const guildId = channel.guildId || ''; const verificationStatus = GuildVerification.getVerificationStatus(guildId); if (!verificationStatus || verificationStatus.canAccess) { return null; } switch (verificationStatus.reason) { case VerificationFailureReason.UNCLAIMED_ACCOUNT: return ; case VerificationFailureReason.UNVERIFIED_EMAIL: return ; case VerificationFailureReason.ACCOUNT_TOO_NEW: return ( ); case VerificationFailureReason.NOT_MEMBER_LONG_ENOUGH: return ( ); case VerificationFailureReason.NO_PHONE_NUMBER: return ; case VerificationFailureReason.SEND_MESSAGE_DISABLED: return ; case VerificationFailureReason.TIMED_OUT: return ( ); default: return ; } });