import { Box, Flex, IconButton } from '@metafam/ds';
import React, { forwardRef, LegacyRef, ReactElement } from 'react';
import { FaTimes } from 'react-icons/fa';
import { GuildAnnouncements } from '#components/Guild/Section/GuildAnnouncements';
import { GuildHero } from '#components/Guild/Section/GuildHero';
import { GuildLinks } from '#components/Guild/Section/GuildLinks';
import { GuildPlayers } from '#components/Guild/Section/GuildPlayers';
import { CustomTextSection } from '#components/Section/CustomTextSection';
import { EmbeddedUrl } from '#components/Section/EmbeddedUrlSection';
import { GuildFragment } from '#graphql/autogen/hasura-sdk';
import { BoxTypes, createBoxKey, DisplayComponent } from '#utils/boxTypes';
const GuildSectionInner: React.FC<
DisplayComponent & { guild: GuildFragment }
> = ({ metadata, type, guild, editing = false }) => {
switch (type) {
case BoxTypes.GUILD_HERO:
return ;
case BoxTypes.GUILD_PLAYERS:
return ;
case BoxTypes.GUILD_LINKS:
return ;
case BoxTypes.GUILD_ANNOUNCEMENTS:
return ;
case BoxTypes.EMBEDDED_URL: {
const { url } = metadata ?? {};
return url ? : null;
}
case BoxTypes.CUSTOM_TEXT: {
const { title, content } = metadata ?? {};
return title && content ? (
) : null;
}
default: {
return null;
}
}
};
export const GuildSection = forwardRef(
({ metadata, type, guild, editing = false, onRemoveBox }, ref) => {
if (!guild) return null;
const key = createBoxKey(type, metadata);
return (
}
w="100%"
direction="column"
h="auto"
minH="100%"
boxShadow="md"
pos="relative"
>
{editing && (
)}
{editing && type && type !== BoxTypes.GUILD_HERO && (
}
_hover={{ color: 'white' }}
onClick={() => onRemoveBox?.(key)}
onTouchStart={() => onRemoveBox?.(key)}
_focus={{
boxShadow: 'none',
backgroundColor: 'transparent',
}}
_active={{
transform: 'scale(0.8)',
backgroundColor: 'transparent',
}}
isRound
/>
)}
);
},
);