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

정보 갱신 불가

{server.name}

{formatNumber(server.votes)} } dark /> {formatNumber(server.members)} 멤버 : 'N/A'} dark />

{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