// 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 ;
}
});