import { NavSlug } from '@roleypoly/design-system/molecules/nav-slug'; import { sortBy } from '@roleypoly/misc-utils/sortBy'; import { GuildSlug, UserGuildPermissions } from '@roleypoly/types'; import * as React from 'react'; import Scrollbars from 'react-custom-scrollbars'; import { GoStar, GoZap } from 'react-icons/go'; import ReactTooltip from 'react-tooltip'; import { GuildNavItem } from './GuildNav.styled'; type Props = { guilds: GuildSlug[]; recentGuilds: string[]; }; const tooltipId = 'guildnav'; const Badges = (props: { guild: GuildSlug }) => { return React.useMemo(() => { if (props.guild.permissionLevel === UserGuildPermissions.Admin) { return ; } if (props.guild.permissionLevel === UserGuildPermissions.Manager) { return ; } return null; }, [props.guild.permissionLevel]); }; const NavList = (props: { guilds: Props['guilds'] }) => ( <> {props.guilds.map((guild) => ( ))} ); export const GuildNav = (props: Props) => { const recentGuildSlugs: GuildSlug[] = props.recentGuilds .reduce<(GuildSlug | undefined)[]>( (acc, id) => [...acc, props.guilds.find((guild) => guild.id === id)], [] ) .filter((slug) => slug !== undefined); console.log({ recentGuilds: props.recentGuilds, slugs: props.guilds, recentSlugs: recentGuildSlugs, }); const sortedSlugs = sortBy(props.guilds, 'name', (a: string, b: string) => a.toLowerCase() > b.toLowerCase() ? 1 : -1 ); return (
{recentGuildSlugs && ( <>
Recents
All Guilds
)}
); };