import { Avatar, utils as avatarUtils } from '@roleypoly/design-system/atoms/avatar'; import { BreakpointText } from '@roleypoly/design-system/atoms/breakpoints'; import { Button } from '@roleypoly/design-system/atoms/button'; import { Content, GoBack, HeadBox, Shell, Title, } from '@roleypoly/design-system/molecules/editor-utility-shell/EditorUtilityShell.styled'; import { GuildSlug } from '@roleypoly/types'; import { GoCheck, GoReply } from 'react-icons/go'; export type EditorUtilityProps = { guildSlug: GuildSlug; onSubmit: (output: T) => void; onExit: () => void; }; export const EditorUtilityShell = ( props: EditorUtilityProps & { children: React.ReactNode; icon: React.ReactNode; title: string; hasChanges: boolean; } ) => ( {props.icon} {props.title} {props.hasChanges ? ( ) : ( )} {avatarUtils.initialsFromName(props.guildSlug.name)} {props.children} );