import Link from 'next/link' import dynamic from 'next/dynamic' import { checkServerFlag, formatNumber, makeServerURL } from '@utils/Tools' import { ServerData, ServerState } from '@types' import { DiscordEnpoints, DSKR_BOT_ID } from '@utils/Constants' const Divider = dynamic(() => import('@components/Divider')) const Tag = dynamic(() => import('@components/Tag')) const ServerIcon = dynamic(() => import('@components/ServerIcon')) const ServerCard: React.FC = ({ type, server }) => { const newServerLink = server.data ? `/addserver/${server.id}` : `${DiscordEnpoints.InviteApplication( DSKR_BOT_ID, {}, 'bot', null, server.id )}&disable_guild_select=true` return (
{' '} {formatNumber(server.votes)} } dark /> {formatNumber(server.members)} 멤버 : 'N/A'} dark />

정보 갱신 불가

{server.name}

{type === 'add' ? server.data ? '지금 바로 서버를 등록할 수 있습니다.' : '봇을 초대해야 서버를 등록할 수 있습니다.' : server.intro}

{server.category ?.slice(0, 3) .map((el) => ( ))}{' '} {server.category?.length > 3 && ( )}
{type === 'add' ? ( server.data ? ( 등록하기 ) : ( 봇 초대하기 ) ) : ( <> 보기 {type === 'manage' ? ( 관리하기 ) : !['ok', 'unreachable'].includes(server.state) ? ( 참가하기 ) : ( 참가하기 )} )}
) } interface BotCardProps { type: 'list' | 'manage' | 'add' server: { id: string name: string intro?: string desc?: string flags?: number state?: ServerState icon: string | null banner?: string | null bg?: string | null vanity?: string | null category?: string[] votes?: number | null members?: number | null data?: ServerData } } export default ServerCard