From 4a4538c34760c19fea1809a539f8ac1f25106f5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B4=CF=85=CF=82?= Date: Mon, 28 Feb 2022 14:06:16 -0500 Subject: [PATCH] Refactor Setup Wizard & Profile Modal Configuration Panes (#1127) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * incorporating configuration panes from #1078 * standardizing player hero subcomponents & removing `owner` var from `useProfileField` 🚪 * switching box type, ambiguating overly-specific names, & massaging heights 📱 * reordering profile details sections, updating deployment environment, & conditionally wrapping the hero elements 🎬 * fixing render of color disposition selector 🕍 * self code review changes: removed some `;`s 🎋 * getting yarn typecheck && yarn lint to pass post rebase 🏇🏾 * handling "missing
in diff --git a/packages/design-system/src/MetaTag.tsx b/packages/design-system/src/MetaTag.tsx index 94529575..1e5d1137 100644 --- a/packages/design-system/src/MetaTag.tsx +++ b/packages/design-system/src/MetaTag.tsx @@ -1,14 +1,14 @@ import { Tag, TagProps } from '@chakra-ui/react'; import React from 'react'; -export const MetaTag: React.FC = React.forwardRef( +export const MetaTag = React.forwardRef( ({ children, ...props }, ref) => ( {children} diff --git a/packages/design-system/src/SelectTimeZone.tsx b/packages/design-system/src/SelectTimeZone.tsx index 731aa9f0..b99d14ab 100644 --- a/packages/design-system/src/SelectTimeZone.tsx +++ b/packages/design-system/src/SelectTimeZone.tsx @@ -1,6 +1,6 @@ /* istanbul ignore file */ -import { Maybe } from '@metafam/utils'; +import { Maybe, Optional } from '@metafam/utils'; import cityTimeZones from 'city-timezones'; import React, { useCallback, useState } from 'react'; import TimeZoneSelect, { @@ -38,9 +38,9 @@ export interface TimeZoneSelectProps extends Record { const timeZoneSelectStyles: typeof chakraesqueStyles = { ...chakraesqueStyles, - control: (styles, props) => ({ + container: (styles, props) => ({ ...styles, - ...chakraesqueStyles.control?.(styles, props), + ...chakraesqueStyles.container?.(styles, props), width: '100%', maxWidth: 'calc(100vw - 2rem)', }), @@ -112,7 +112,7 @@ export const TimeZoneOptions: TimeZoneType[] = Object.entries(i18nTimeZones) export const timeZonesFilter = ( search: string, - cityZones: string[] | undefined = undefined, + cityZones: Optional> = undefined, ) => (tz: TimeZoneType): boolean => { if (!cityZones) { // eslint-disable-next-line no-param-reassign diff --git a/packages/design-system/src/StatusedSubmitButton.tsx b/packages/design-system/src/StatusedSubmitButton.tsx index c784293a..e0bb6f0e 100644 --- a/packages/design-system/src/StatusedSubmitButton.tsx +++ b/packages/design-system/src/StatusedSubmitButton.tsx @@ -1,23 +1,24 @@ -import { Flex, Spinner, Text } from '@chakra-ui/react'; +import { ButtonProps, Flex, Spinner, Text } from '@chakra-ui/react'; import { Maybe } from '@metafam/utils'; import React, { ReactElement } from 'react'; import { MetaButton } from './MetaButton'; -export const StatusedSubmitButton = ({ - label = 'Submit', - status = null, - ...props -}: { - label?: Maybe; +type StatusedSubmitProps = { + label?: Maybe; status?: Maybe; -}) => ( +}; + +export const StatusedSubmitButton: React.FC< + StatusedSubmitProps & ButtonProps +> = ({ label = 'Submit', status = null, ...props }) => ( {status == null ? ( diff --git a/packages/design-system/src/ViewAllButton.tsx b/packages/design-system/src/ViewAllButton.tsx new file mode 100644 index 00000000..1397d2ce --- /dev/null +++ b/packages/design-system/src/ViewAllButton.tsx @@ -0,0 +1,28 @@ +import { Text } from '@chakra-ui/react'; +import React from 'react'; + +export const ViewAllButton: React.FC<{ + onClick: () => void; + size?: string | number; +}> = ({ onClick, size }) => ( + + View All{size != null ? ` (${size})` : null} + +); + +export default ViewAllButton; diff --git a/packages/design-system/src/icons/ChainIcon.tsx b/packages/design-system/src/icons/ChainIcon.tsx index eb1b06d6..0e53aaee 100644 --- a/packages/design-system/src/icons/ChainIcon.tsx +++ b/packages/design-system/src/icons/ChainIcon.tsx @@ -1,4 +1,5 @@ import { IconProps } from '@chakra-ui/icons'; +import { Tooltip } from '@chakra-ui/react'; import React from 'react'; import { EthereumIcon } from './EthereumIcon'; @@ -6,12 +7,23 @@ import { PolygonIcon } from './PolygonIcon'; import { XDaiIcon } from './XDaiIcon'; type Props = { - chain: string | undefined; + chain?: string; }; export const ChainIcon: React.FC = ({ chain, ...props }) => { - if (chain?.toLowerCase().includes('xdai')) return ; - if (chain?.toLowerCase().includes('polygon')) - return ; - return ; + const lower = chain?.toLowerCase(); + const info = (() => { + if (lower?.includes('xdai')) { + return { Icon: XDaiIcon, name: 'xDAI' }; + } + if (lower?.includes('polygon')) { + return { Icon: PolygonIcon, name: 'Polygon' }; + } + return { Icon: EthereumIcon, name: 'Ethereum' }; + })(); + return ( + + + + ); }; diff --git a/packages/design-system/src/index.ts b/packages/design-system/src/index.ts index 36b3a502..a00295fe 100644 --- a/packages/design-system/src/index.ts +++ b/packages/design-system/src/index.ts @@ -43,6 +43,7 @@ export { selectStyles, } from './theme'; export { H1, P } from './typography'; +export * from './ViewAllButton'; export { AddIcon, ArrowBackIcon, @@ -82,6 +83,7 @@ export { ButtonProps, Center, chakra, + ChakraComponent, ChakraProps, ChakraProvider, ComponentWithAs, @@ -120,6 +122,7 @@ export { Link, LinkBox, LinkOverlay, + LinkProps, List, ListIcon, ListItem, diff --git a/packages/web/assets/cursive-title-small.png b/packages/web/assets/cursive-title-small.png new file mode 100644 index 0000000000000000000000000000000000000000..806facb306553d3af53084a212ba882c09a1b1b2 GIT binary patch literal 109706 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 literal 0 HcmV?d00001 diff --git a/packages/web/assets/cursive-title.png b/packages/web/assets/cursive-title.png new file mode 100644 index 0000000000000000000000000000000000000000..ba9b8b75ebe689061af4c02285c5c185d52624cd GIT binary patch literal 473346 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

SN-YXrFMP5DL|AZu0>{ue$hZzMYRfq<% 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

6T-!TtJu9UL5<-l*tSniHEKt~QXxeh&oz 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Ƴ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

@@ -57,7 +67,7 @@ export const MegaMenuFooter = () => { p={0} lineHeight={1} > - {getPlayerName(user)} + {name} {user.rank && ( @@ -103,7 +113,7 @@ export const MegaMenuFooter = () => { my={3.5} px={8} onClick={connect} - isLoading={connecting || fetching} + isLoading={!mounted || connecting || fetching} > Connect Wallet diff --git a/packages/web/components/MegaMenu/MegaMenuHeader.tsx b/packages/web/components/MegaMenu/MegaMenuHeader.tsx index 45450a21..5915e64d 100644 --- a/packages/web/components/MegaMenu/MegaMenuHeader.tsx +++ b/packages/web/components/MegaMenu/MegaMenuHeader.tsx @@ -17,7 +17,7 @@ import LogoImage from 'assets/logo-new.png'; import { MetaLink } from 'components/Link'; import { DesktopNavLinks } from 'components/MegaMenu/DesktopNavLinks'; import { DesktopPlayerStats } from 'components/MegaMenu/DesktopPlayerStats'; -import { useUser, useWeb3 } from 'lib/hooks'; +import { useMounted, useUser, useWeb3 } from 'lib/hooks'; import { useRouter } from 'next/router'; import React from 'react'; import { menuIcons } from 'utils/menuIcons'; @@ -34,7 +34,7 @@ const Logo = ({ link }: LogoProps) => { const h = useBreakpointValue({ base: 12, lg: 14 }) ?? 12; return ( - + { const { connected, connect, connecting } = useWeb3(); const router = useRouter(); const { user, fetching } = useUser(); + const mounted = useMounted(); const { isOpen, onOpen, onClose } = useDisclosure(); const menuToggle = () => (isOpen ? onClose() : onOpen()); @@ -71,7 +72,7 @@ export const MegaMenuHeader: React.FC = () => { > { flexWrap="nowrap" alignItems="center" cursor="pointer" - h="2rem" - w="2rem" + h={8} + w={8} display={{ base: 'flex', lg: 'none' }} p={2} my="auto" grow={1} > {isOpen ? ( - + ) : ( - + )} { {/* */} - + {connected && !!user && !fetching && !connecting ? ( ) : ( - - Connect - + + Connect + + Mainnet Required + )} diff --git a/packages/web/components/MegaMenu/XPSeedsBalance.tsx b/packages/web/components/MegaMenu/XPSeedsBalance.tsx index d83a87c9..9971fddd 100644 --- a/packages/web/components/MegaMenu/XPSeedsBalance.tsx +++ b/packages/web/components/MegaMenu/XPSeedsBalance.tsx @@ -1,4 +1,4 @@ -import { HStack, Image, Text, Tooltip } from '@metafam/ds'; +import { Flex, HStack, Image, MetaTheme, Text, Tooltip } from '@metafam/ds'; import { numbers } from '@metafam/utils'; import SeedMarket from 'assets/seed-icon.svg'; import XPStar from 'assets/xp-star.svg'; @@ -13,19 +13,16 @@ type Props = { mobile?: boolean; }; // Display player XP and Seed -export const XPSeedsBalance: React.FC = ({ - totalXP, - mobile = false, -}) => { +export const XPSeedsBalance: React.FC = ({ totalXP }) => { const { pSeedBalance } = usePSeedBalance(); return ( - + = ({ src={XPStar} alignSelf="center" alt="XP" - boxSize={mobile ? '1.5rem' : '1rem'} + boxSize={['1.5rem', '1rem']} /> {Math.trunc(totalXP).toLocaleString()} @@ -48,9 +47,9 @@ export const XPSeedsBalance: React.FC = ({ = ({ src={SeedMarket} alignSelf="center" alt="Seed" - boxSize={mobile ? '1.5rem' : '1rem'} + boxSize={['1.5rem', '1rem']} /> {parseInt( @@ -74,6 +75,6 @@ export const XPSeedsBalance: React.FC = ({ - + ); }; diff --git a/packages/web/components/Player/ColorBar.tsx b/packages/web/components/Player/ColorBar.tsx index 56fef316..e928c99e 100644 --- a/packages/web/components/Player/ColorBar.tsx +++ b/packages/web/components/Player/ColorBar.tsx @@ -22,42 +22,48 @@ const maskImageStyle = ({ url }: { url: string }): Record => ({ WebkitMaskRepeat: 'no-repeat', }); +export type ColorBarProps = ChakraProps & { + mask: Maybe; + types: PersonalityInfo; + loading: boolean; +}; + /* The color bar is below the attribute selection screen, * and shows an equally proportioned set of colors with * monochrome icons above them and a term for the * combination below. */ -export const ColorBar = ({ +export const ColorBar: React.FC = ({ mask = null, types = null, + loading = false, ...props -}: ChakraProps & { - mask: Maybe; - types: PersonalityInfo; -}): JSX.Element => { - if (types == null) { +}) => { + let status = null; + + if (loading) { + status = 'Loading Settings…'; + } else if (mask === null) { + status = 'Colors have not yet been chosen.'; + } else if (types == null) { + status = 'Loading Personality Information…'; + } else if (types[mask] == null) { + status = `Error Loading Information For Mask: “0b${mask + .toString(2) + .padStart(5, '0')} + ”.`; + } + + if (status) { return ( - - Loading Personality Information… + + {status} ); } - if (mask === null) { - return ( - - Colors have not yet been chosen. - - ); - } - - if (types[mask] == null) { - return ( - - Error Loading Information For Mask: “{mask.toString(2).padStart(5, '0')} - ” - - ); + if (mask === null || types == null) { + return null; // unreachable; for typescript } type ImagesArgProps = { diff --git a/packages/web/components/Player/PlayerAvatar.tsx b/packages/web/components/Player/PlayerAvatar.tsx index 2f534840..d57fbb9d 100644 --- a/packages/web/components/Player/PlayerAvatar.tsx +++ b/packages/web/components/Player/PlayerAvatar.tsx @@ -7,25 +7,21 @@ import { getPlayerImage, getPlayerName, hasImage } from 'utils/playerHelpers'; type PlayerAvatarProps = AvatarProps & { player?: Player | GuildPlayer; - omitBackground?: boolean; - isOwnProfile?: boolean; }; export const PlayerAvatar: React.FC = React.forwardRef< HTMLSpanElement, PlayerAvatarProps ->(({ player: user, isOwnProfile = false, src, ...props }, ref) => { +>(({ player: user, src, ...props }, ref) => { const player = user as Player; const { value: image } = useProfileField({ field: 'profileImageURL', player, - owner: isOwnProfile, getter: getPlayerImage, }); const { name } = useProfileField({ field: 'name', player, - owner: isOwnProfile, getter: getPlayerName, }); const attrs = { diff --git a/packages/web/components/Player/PlayerContacts.tsx b/packages/web/components/Player/PlayerContacts.tsx index eb55fe76..5d986ab7 100644 --- a/packages/web/components/Player/PlayerContacts.tsx +++ b/packages/web/components/Player/PlayerContacts.tsx @@ -18,7 +18,7 @@ export const PlayerContacts: React.FC = ({ }) => { const [copied, handleCopy] = useCopyToClipboard(); return ( - + {player?.accounts?.map((acc) => { switch (acc.type) { case 'TWITTER': { diff --git a/packages/web/components/Player/PlayerGuild.tsx b/packages/web/components/Player/PlayerGuild.tsx index c7d58593..a94338fa 100644 --- a/packages/web/components/Player/PlayerGuild.tsx +++ b/packages/web/components/Player/PlayerGuild.tsx @@ -1,21 +1,21 @@ -import { Link } from '@metafam/ds'; +import { Link, LinkProps } from '@metafam/ds'; import React from 'react'; type LinkGuildProps = { - daoUrl: string | null; + daoURL: string | null; guildname: string | undefined | null; }; export const LinkGuild: React.FC = ({ - daoUrl, + daoURL, guildname, children, }) => { if (guildname != null) { - return ; + return ; } - if (daoUrl != null) { - return ; + if (daoURL != null) { + return ; } return <>{children}; }; @@ -34,14 +34,24 @@ export const InternalGuildLink: React.FC = ({ ); type DaoHausLinkProps = { - daoUrl: string | null; + daoURL: string | null; }; -export const DaoHausLink: React.FC = ({ daoUrl, children }) => - daoUrl != null ? ( - - {children} - - ) : ( - <>{children} - ); +export const DaoHausLink: React.FC = ({ + daoURL, + children, + _hover = {}, + ...props +}) => { + _hover.textDecoration = 'none'; // eslint-disable-line no-param-reassign + + if (daoURL != null) { + return ( + + {children} + + ); + } + + return <>{children}; +}; diff --git a/packages/web/components/Player/Section/PlayerAchievements.tsx b/packages/web/components/Player/Section/PlayerAchievements.tsx index 903beec9..0ba20fbe 100644 --- a/packages/web/components/Player/Section/PlayerAchievements.tsx +++ b/packages/web/components/Player/Section/PlayerAchievements.tsx @@ -3,17 +3,17 @@ import { ProfileSection } from 'components/Profile/ProfileSection'; import { Player } from 'graphql/autogen/types'; import React from 'react'; import { FaMedal } from 'react-icons/fa'; -import { BoxType } from 'utils/boxTypes'; +import { BoxTypes } from 'utils/boxTypes'; // TODO Fake data type Props = { player: Player; isOwnProfile?: boolean; - canEdit?: boolean; + editing?: boolean; }; export const PlayerAchievements: React.FC = ({ isOwnProfile, - canEdit, + editing, }) => { const [show, setShow] = React.useState(false); const fakeData = [ @@ -25,9 +25,8 @@ export const PlayerAchievements: React.FC = ({ return ( {(fakeData || []).slice(0, show ? 999 : 3).map((title) => ( diff --git a/packages/web/components/Player/Section/PlayerAddSection.tsx b/packages/web/components/Player/Section/PlayerAddSection.tsx index bc8cb3c6..8af5bcc3 100644 --- a/packages/web/components/Player/Section/PlayerAddSection.tsx +++ b/packages/web/components/Player/Section/PlayerAddSection.tsx @@ -3,6 +3,7 @@ import { Flex, FlexProps, Input, + MetaTheme, Modal, ModalBody, ModalCloseButton, @@ -18,46 +19,44 @@ import { Maybe } from '@metafam/utils'; import BackgroundImage from 'assets/main-background.jpg'; import { PlayerSection } from 'components/Profile/PlayerSection'; import { Player } from 'graphql/autogen/types'; -import { PersonalityInfo } from 'graphql/queries/enums/getPersonalityInfo'; import React, { useCallback, useEffect, useState } from 'react'; -import { BoxMetadata, BoxType } from 'utils/boxTypes'; +import { BoxMetadata, BoxType, BoxTypes } from 'utils/boxTypes'; type Props = FlexProps & { player: Player; - personalityInfo: PersonalityInfo; - boxList: BoxType[]; + boxes: Array; onAddBox: (arg0: BoxType, arg1: BoxMetadata) => void; }; export const PlayerAddSection = React.forwardRef( - ({ player, personalityInfo, boxList = [], onAddBox, ...props }, ref) => { + ({ player, boxes = [], onAddBox, ...props }, ref) => { const { isOpen, onOpen, onClose } = useDisclosure(); - const [boxType, setBoxType] = useState>(null); - const [boxMetadata, setBoxMetadata] = useState({}); + const [type, setType] = useState>(null); + const [metadata, setMetadata] = useState({}); const selectBoxType = useCallback( - ({ target: { value: boxId } }) => setBoxType(boxId), + ({ target: { value: boxId } }) => setType(boxId), [], ); const addSection = useCallback(() => { - if (!boxType) return; - onAddBox(boxType, boxMetadata); + if (!type) return; + onAddBox(type, metadata); onClose(); - }, [boxType, boxMetadata, onAddBox, onClose]); + }, [type, metadata, onAddBox, onClose]); useEffect(() => { - setBoxMetadata({}); - setBoxType(null); + setMetadata({}); + setType(null); }, [isOpen]); return ( ( m={0} bg="blue20" color="offwhite" + textTransform="uppercase" opacity={0.4} size="lg" _hover={{ bg: 'purpleBoxLight', opacity: '0.8' }} > - ADD NEW BLOCK + Add New Block - + ( p={4} top={0} right={0} - _focus={{ - boxShadow: 'none', - }} + _focus={{ boxShadow: 'none' }} /> Add New Block @@ -112,39 +110,42 @@ export const PlayerAddSection = React.forwardRef( color="white" w={{ base: '100%', sm: '30rem' }} maxW="30rem" - minH="30rem" > - {boxType === BoxType.EMBEDDED_URL && ( + {type === BoxTypes.EMBEDDED_URL && ( - setBoxMetadata({ url }) + setMetadata({ url }) } size="lg" borderRadius={0} @@ -153,7 +154,7 @@ export const PlayerAddSection = React.forwardRef( borderWidth="2px" /> )} - {boxType && ( + {type && ( ( > @@ -179,7 +179,7 @@ export const PlayerAddSection = React.forwardRef( colorScheme="blue" mr={3} onClick={addSection} - isDisabled={!boxType} + isDisabled={!type} > Save Block diff --git a/packages/web/components/Player/Section/PlayerColorDisposition.tsx b/packages/web/components/Player/Section/PlayerColorDisposition.tsx index 35e1cfa8..0e2da5a1 100644 --- a/packages/web/components/Player/Section/PlayerColorDisposition.tsx +++ b/packages/web/components/Player/Section/PlayerColorDisposition.tsx @@ -2,43 +2,54 @@ import { Text } from '@metafam/ds'; import { ColorBar } from 'components/Player/ColorBar'; import { ProfileSection } from 'components/Profile/ProfileSection'; import { Player } from 'graphql/autogen/types'; -import { PersonalityInfo } from 'graphql/queries/enums/getPersonalityInfo'; +import { + getPersonalityInfo, + PersonalityInfo, +} from 'graphql/queries/enums/getPersonalityInfo'; import { useProfileField } from 'lib/hooks'; -import React from 'react'; -import { BoxType } from 'utils/boxTypes'; +import React, { useEffect, useState } from 'react'; +import { BoxTypes } from 'utils/boxTypes'; export type ColorDispositionProps = { player: Player; - types: PersonalityInfo; - isOwnProfile?: boolean; - canEdit?: boolean; + editing?: boolean; }; export const PlayerColorDisposition: React.FC = ({ player, - types, - isOwnProfile, - canEdit, + editing = false, }) => { - const { value: mask } = useProfileField({ + const { + value: mask, + owner: isOwnProfile, + fetching, + } = useProfileField({ field: 'colorMask', player, - owner: isOwnProfile, }); + const [types, setTypes] = useState(null); + + useEffect(() => { + const getInfo = async () => { + setTypes(await getPersonalityInfo()); + }; + getInfo(); + }, []); return ( {mask == null ? ( Unspecified ) : ( - + )} ); diff --git a/packages/web/components/Player/Section/PlayerCompletedQuests.tsx b/packages/web/components/Player/Section/PlayerCompletedQuests.tsx index 53507595..0af50c09 100644 --- a/packages/web/components/Player/Section/PlayerCompletedQuests.tsx +++ b/packages/web/components/Player/Section/PlayerCompletedQuests.tsx @@ -1,4 +1,12 @@ -import { Box, Button, ExternalLinkIcon, Link, Stack, Text } from '@metafam/ds'; +import { + Box, + BoxProps, + Button, + ExternalLinkIcon, + Link, + Stack, + Text, +} from '@metafam/ds'; import { ProfileSection } from 'components/Profile/ProfileSection'; import { Player, @@ -7,18 +15,18 @@ import { } from 'graphql/autogen/types'; import { getAcceptedQuestsByPlayerQuery } from 'graphql/getQuests'; import React, { useEffect, useState } from 'react'; -import { BoxType } from 'utils/boxTypes'; +import { BoxTypes } from 'utils/boxTypes'; type Props = { player: Player; isOwnProfile?: boolean; - canEdit?: boolean; + editing?: boolean; }; export const PlayerCompletedQuests: React.FC = ({ player, isOwnProfile, - canEdit, + editing, }) => { const [quests, setQuests] = useState>([]); @@ -44,13 +52,12 @@ export const PlayerCompletedQuests: React.FC = ({ return ( } - subheader='A quest is considered "complete" when it is accepted by the - quest owner.' + modalPrompt={quests.length ? 'Show All' : undefined} + modal={} + subheader="A quest is considered “complete” when it is accepted by the quest owner." > {quests.length ? ( @@ -67,13 +74,16 @@ export const PlayerCompletedQuests: React.FC = ({ interface QuestProps { quests: Array; - mb?: number; } -const QuestList: React.FC = ({ quests, mb = 2 }) => ( +const QuestList: React.FC = ({ + quests, + mb = 2, + ...props +}) => ( <> {quests.map((quest) => ( - + {quest.completed?.title} diff --git a/packages/web/components/Player/Section/PlayerGallery.tsx b/packages/web/components/Player/Section/PlayerGallery.tsx index 6a7fa863..6756ea18 100644 --- a/packages/web/components/Player/Section/PlayerGallery.tsx +++ b/packages/web/components/Player/Section/PlayerGallery.tsx @@ -10,7 +10,9 @@ import { ModalOverlay, SimpleGrid, Text, + Tooltip, useDisclosure, + ViewAllButton, } from '@metafam/ds'; import BackgroundImage from 'assets/main-background.jpg'; import { MetaLink as Link } from 'components/Link'; @@ -18,19 +20,11 @@ import { ProfileSection } from 'components/Profile/ProfileSection'; import { Player } from 'graphql/autogen/types'; import { useOpenSeaCollectibles } from 'lib/hooks/opensea'; import React from 'react'; -import { BoxType } from 'utils/boxTypes'; +import { BoxTypes } from 'utils/boxTypes'; import { Collectible } from 'utils/openseaHelpers'; -const GalleryItem: React.FC<{ nft: Collectible; noMargin?: boolean }> = ({ - nft, - noMargin = false, -}) => ( - +const GalleryItem: React.FC<{ nft: Collectible }> = ({ nft }) => ( + = ({ minW={28} minH={28} /> - - + - {nft.title} - - {nft.priceString} - + + {nft.title} + + {nft.priceString} + + ); +type GalleryModalProps = { + isOpen: boolean; + onClose: () => void; + nfts: Array; +}; + +const GalleryModal: React.FC = ({ + isOpen, + onClose, + nfts, +}) => ( + + + + + + + NFT Gallery + + + + + + + + {nfts?.map((nft) => ( + + ))} + + + + + + +); + type Props = { player: Player; isOwnProfile?: boolean; - canEdit?: boolean; + editing?: boolean; }; export const PlayerGallery: React.FC = ({ player, isOwnProfile, - canEdit, + editing, }) => { const { isOpen, onOpen, onClose } = useDisclosure(); - const { favorites, data, loading } = useOpenSeaCollectibles({ player }); + const { favorites, data: nfts, loading, error } = useOpenSeaCollectibles({ + player, + }); return ( - {loading && } - {!loading && - favorites?.map((nft) => )} - {!loading && data.length === 0 && ( - - No{' '} - - NFT - - s found for {isOwnProfile ? 'you' : 'this player'}. - - )} - {!loading && data?.length > 3 && ( - - View all - - )} - - - - - - - NFT Gallery - - - - - - { + if (loading) { + return ; + } + if (error) { + return ( + + Error: {error} + + ); + } + if (nfts.length === 0) { + return ( + + No{' '} + - - {data?.map((nft) => ( - - ))} - + NFT + + s found for {isOwnProfile ? 'you' : 'this player'}. + + ); + } + return ( + <> + + {favorites?.map((nft) => ( + + ))} + + {nfts.length > 3 && ( + + + - - - - + )} + + ); + })()} ); }; diff --git a/packages/web/components/Player/Section/PlayerHero.tsx b/packages/web/components/Player/Section/PlayerHero.tsx index 58275771..c09df749 100644 --- a/packages/web/components/Player/Section/PlayerHero.tsx +++ b/packages/web/components/Player/Section/PlayerHero.tsx @@ -3,9 +3,10 @@ import { EditIcon, Flex, getTimeZoneFor, + Grid, HStack, IconButton, - Link, + MetaTag, Modal, ModalBody, ModalCloseButton, @@ -19,67 +20,48 @@ import { Wrap, WrapItem, } from '@metafam/ds'; +import { Maybe } from '@metafam/utils'; import BackgroundImage from 'assets/main-background.jpg'; import { FlexContainer } from 'components/Container'; import { EditProfileForm } from 'components/EditProfileForm'; import { PlayerAvatar } from 'components/Player/PlayerAvatar'; -import { PlayerContacts } from 'components/Player/PlayerContacts'; +import { PlayerContacts as Contacts } from 'components/Player/PlayerContacts'; import { PlayerHeroTile } from 'components/Player/Section/PlayerHeroTile'; -import { PlayerPronouns } from 'components/Player/Section/PlayerPronouns'; import { ProfileSection } from 'components/Profile/ProfileSection'; import { Player } from 'graphql/autogen/types'; -import { Maybe } from 'graphql/jsutils/Maybe'; -import { PersonalityInfo } from 'graphql/queries/enums/getPersonalityInfo'; -import { useUser } from 'lib/hooks'; +import { useProfileField, useUser } from 'lib/hooks'; import { useAnimateProfileChanges } from 'lib/hooks/players'; import React, { useEffect, useState } from 'react'; import { FaClock, FaGlobe } from 'react-icons/fa'; -import { BoxType } from 'utils/boxTypes'; -import { getPlayerDescription, getPlayerName } from 'utils/playerHelpers'; - -import { ColorBar } from '../ColorBar'; +import { BoxTypes } from 'utils/boxTypes'; +import { getPlayerName } from 'utils/playerHelpers'; const MAX_BIO_LENGTH = 240; -type Props = { +type HeroProps = { player: Player; - personalityInfo: PersonalityInfo; - isOwnProfile?: boolean; - canEdit?: boolean; + editing?: boolean; }; -type AvailabilityProps = { person?: Maybe }; -type TimeZoneDisplayProps = { - person?: Maybe; -}; -type ColorDispositionProps = { - person?: Maybe; - personalityInfo: PersonalityInfo; +type DisplayComponentProps = { + player?: Maybe; + Wrapper?: React.FC; }; -export const PlayerHero: React.FC = ({ - player, - isOwnProfile, - canEdit, -}) => { - const description = getPlayerDescription(player); - const [show, setShow] = useState( - (description ?? '').length <= MAX_BIO_LENGTH, - ); - const { isOpen, onOpen, onClose } = useDisclosure(); - const [playerName, setPlayerName] = useState(); +export const PlayerHero: React.FC = ({ player, editing }) => { const { user } = useUser(); - - const person = isOwnProfile ? user : player; - useEffect(() => { - if (person) { - setPlayerName(getPlayerName(person)); - } - }, [person]); + const isOwnProfile = user ? user.id === player?.id : null; + const { isOpen, onOpen, onClose } = useDisclosure(); return ( - - {isOwnProfile && !canEdit && ( - + + {isOwnProfile && !editing && ( + = ({ isRound _active={{ transform: 'scale(0.8)', - backgroundColor: 'transparent', + bg: 'transparent', }} /> )} - + - - {playerName} - - - - {description && ( - - - - {show - ? description - : `${description.substring(0, MAX_BIO_LENGTH - 9)}…`} - {description.length > MAX_BIO_LENGTH && ( - setShow((s) => !s)} - pl={1} - > - Read {show ? 'less' : 'more'} - - )} - - - - )} + + + - + - {person?.profile?.pronouns && } - {/* + {/* + www.mycoolportfolio.com - */} + + */} - - - - - - - - - - - - {player?.profile?.emoji && ( - - - {player.profile.emoji} - - - )} - + + + + + + {/* @@ -197,118 +134,251 @@ export const PlayerHero: React.FC = ({ */} - - {/* player?.profile?.colorMask && ( - - - - ) */} - - - - + + - Edit Profile - - - - - - - + + Edit Profile + + + + + + + + )} ); }; -const Availability: React.FC = ({ person }) => { - const [hours, setHours] = useState( - person?.profile?.availableHours ?? null, - ); - const updateFN = () => setHours(person?.profile?.availableHours ?? null); - const { animation } = useAnimateProfileChanges( - person?.profile?.availableHours, - updateFN, - ); +export const Pronouns: React.FC = ({ + player, + Wrapper = React.Fragment, +}) => { + const { pronouns } = useProfileField({ + field: 'pronouns', + player, + }); + // This is broken now… + // Fix it by making the animation into a component which + // saves the children and replaces them after fading in + // and out. (If such a thing is possible…) + // + // const { animation } = useAnimateProfileChanges(pronouns) + + if (!pronouns || pronouns === '') { + return null; + } + return ( - - - - - - - {hours == null ? ( - Unspecified - ) : ( - <> - - {hours} - - - hrweek - - - )} - - - + + + + {pronouns} + + + ); }; -const TimeZoneDisplay: React.FC = ({ person }) => { - const tz = getTimeZoneFor({ title: person?.profile?.timeZone }); - const [timeZone, setTimeZone] = useState( - tz?.abbreviation ?? null, - ); - const [offset, setOffset] = useState(tz?.utc ?? ''); - const updateFN = () => { - if (tz?.abbreviation) setTimeZone(tz.abbreviation); - if (tz?.utc) setOffset(tz.utc); - }; - const short = offset.replace(/:00\)$/, ')').replace(/ +/g, ''); - const { animation } = useAnimateProfileChanges(timeZone, updateFN); +const Emoji: React.FC = ({ + player, + Wrapper = React.Fragment, +}) => { + const { emoji } = useProfileField({ + field: 'emoji', + player, + }); + + if (!emoji || emoji === '') { + return null; + } return ( - - + + + {emoji} + + + + ); +}; + +const Description: React.FC = ({ + player, + Wrapper = React.Fragment, +}) => { + const { description } = useProfileField({ + field: 'description', + player, + }); + const [show, setShow] = useState(false); + + useEffect(() => { + setShow((description ?? '').length <= MAX_BIO_LENGTH); + }, [description]); + + if (!description || description === '') { + return null; + } + + return ( + + + + {show || description.length <= MAX_BIO_LENGTH + ? description + : `${description.substring(0, MAX_BIO_LENGTH - 9)}…`} + {description.length > MAX_BIO_LENGTH && ( + setShow((s) => !s)} + px={0.5} + ml={2} + bg="#FFFFFF22" + border="1px solid #FFFFFF99" + borderRadius="15%" + _hover={{ bg: '#FFFFFF44' }} + > + Read {show ? 'Less' : 'More'} + + )} + + + + ); +}; + +const Name: React.FC = ({ + player, + Wrapper = React.Fragment, +}) => { + const { name } = useProfileField({ + field: 'name', + player, + getter: getPlayerName, + }); + + return ( + + + {name} + + + ); +}; + +const Availability: React.FC = ({ + player, + Wrapper = React.Fragment, +}) => { + const { value: current } = useProfileField({ + field: 'availableHours', + player, + }); + const [hours, setHours] = useState>(current); + const updateFN = () => setHours(current ?? null); + const { animation } = useAnimateProfileChanges(current, updateFN); + + return ( + + + + + + + + + {hours == null ? ( + Unspecified + ) : ( + <> + + {hours} + + + hrweek + + + )} + + + + + + ); +}; + +const TimeZone: React.FC = ({ + player, + Wrapper = React.Fragment, +}) => { + const { value: current } = useProfileField({ + field: 'timeZone', + player, + }); + const tz = getTimeZoneFor({ title: current }); + const timeZone = tz?.abbreviation ?? null; + const short = (tz?.utc ?? '').replace(/:00\)$/, ')').replace(/ +/g, ''); + + return ( + + {timeZone === null ? ( - Unspecified + + Unspecified + ) : ( - + = ({ person }) => { )} - - - ); -}; - -export const ColorDispositionDisplay: React.FC = ({ - person, - personalityInfo: types, -}) => { - const [mask, setMask] = useState( - person?.profile?.colorMask ?? null, - ); - - const updateFN = () => setMask(mask); - const { animation } = useAnimateProfileChanges(mask, updateFN); - - return ( - - - {mask == null ? ( - - Unspecified - - ) : ( - - - - )} - - + + ); }; diff --git a/packages/web/components/Player/Section/PlayerHeroTile.tsx b/packages/web/components/Player/Section/PlayerHeroTile.tsx index d57f81dc..a4737afc 100644 --- a/packages/web/components/Player/Section/PlayerHeroTile.tsx +++ b/packages/web/components/Player/Section/PlayerHeroTile.tsx @@ -3,7 +3,9 @@ import React from 'react'; type Props = { title: string; - children: React.ReactNode; + // shim b/c I'm getting an error I don't understand + // when specifying `align` as an attribute + align?: string; }; export const PlayerHeroTile: React.FC = ({ @@ -11,7 +13,7 @@ export const PlayerHeroTile: React.FC = ({ title, ...props }) => ( - + {title} diff --git a/packages/web/components/Player/Section/PlayerMemberships.tsx b/packages/web/components/Player/Section/PlayerMemberships.tsx index 5e068df9..4ba2324d 100644 --- a/packages/web/components/Player/Section/PlayerMemberships.tsx +++ b/packages/web/components/Player/Section/PlayerMemberships.tsx @@ -1,7 +1,7 @@ import { Box, - Center, ChainIcon, + chakra, Flex, Heading, HStack, @@ -14,6 +14,9 @@ import { SimpleGrid, Text, useDisclosure, + ViewAllButton, + Wrap, + WrapItem, } from '@metafam/ds'; import BackgroundImage from 'assets/main-background.jpg'; import { LinkGuild } from 'components/Player/PlayerGuild'; @@ -21,99 +24,197 @@ import { ProfileSection } from 'components/Profile/ProfileSection'; import { Player } from 'graphql/autogen/types'; import { getAllMemberships, GuildMembership } from 'graphql/getMemberships'; import React, { useEffect, useMemo, useState } from 'react'; -import { BoxType } from 'utils/boxTypes'; -import { getDaoLink } from 'utils/daoHelpers'; +import { BoxTypes } from 'utils/boxTypes'; +import { getDAOLink } from 'utils/daoHelpers'; -type DaoListingProps = { +type DAOListingProps = { membership: GuildMembership; }; -const DaoListing: React.FC = ({ membership }) => { - const { +const DAOListing: React.FC = ({ + membership: { title, memberShares, daoShares, memberRank, - memberXp, + memberXP, chain, address, - logoUrl, + logoURL, guildname, - } = membership; - + }, +}) => { const stake = useMemo(() => { - if (memberXp != null) { - return `XP: ${Math.floor(memberXp)}`; + if (memberXP != null) { + return `XP: ${Math.floor(memberXP)}`; } if (daoShares != null) { - return `Shares: ${memberShares ?? 'Unknown'} / ${daoShares}`; + const member = memberShares ? Number(memberShares) : null; + const dao = Number(daoShares); + const percent = member != null ? ((member * 100) / dao).toFixed(3) : '?'; + return ( + + + Shares + + + + {member != null ? member.toLocaleString() : 'Unknown'} + {' '} + + ⁄ + {' '} + {dao.toLocaleString()} + + + ); } - return ''; - }, [memberShares, memberXp, daoShares]); + return null; + }, [memberShares, memberXP, daoShares]); - const daoUrl = useMemo(() => getDaoLink(chain, address), [chain, address]); + const daoURL = useMemo(() => getDAOLink(chain, address), [chain, address]); return ( - - - - {logoUrl ? ( - - ) : ( - - )} + + + + + {logoURL ? ( + + ) : ( + + )} + + - + -
- {title ?? ( - - Unknown{' '} - - {chain} - {' '} - DAO - - )} - -
+ {title ?? ( + + Unknown{' '} + + {chain} + {' '} + DAO + + )}
- + {memberRank && ( {memberRank} )} - {stake} - -
-
+ + {stake} + + + +
); }; +type MembershipListProps = { + isOpen: boolean; + onClose: () => void; + memberships: Array; +}; + +const MembershipListModal: React.FC = ({ + isOpen, + onClose, + memberships, +}) => ( + + + + + + + Memberships + + + + + + + + + {memberships.map((membership) => ( + + ))} + + + + + +); + type MembershipSectionProps = { player: Player; isOwnProfile?: boolean; - canEdit?: boolean; + editing?: boolean; }; export const PlayerMemberships: React.FC = ({ player, isOwnProfile, - canEdit, + editing, }) => { const { isOpen, onOpen, onClose } = useDisclosure(); const [memberships, setMemberships] = useState([]); @@ -129,98 +230,33 @@ export const PlayerMemberships: React.FC = ({ return ( {loading && } {!loading && memberships.length === 0 && ( - + No DAO member­ships found for{' '} {isOwnProfile ? 'you' : 'this player'}. )} - {memberships.slice(0, 4).map((membership) => ( - - ))} + + {memberships.slice(0, 4).map((membership) => ( + + + + ))} + {memberships.length > 4 && ( - - View All ({memberships.length}) - + + + + )} - - - - - - - - Memberships - - - - - - - - - {memberships.map((membership) => ( - - ))} - - - - - - ); }; diff --git a/packages/web/components/Player/Section/PlayerPronouns.tsx b/packages/web/components/Player/Section/PlayerPronouns.tsx deleted file mode 100644 index cacf6ac8..00000000 --- a/packages/web/components/Player/Section/PlayerPronouns.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { MetaTag } from '@metafam/ds'; -import { FlexContainer } from 'components/Container'; -import { PlayerHeroTile } from 'components/Player/Section/PlayerHeroTile'; -import { Player } from 'graphql/autogen/types'; -import { useAnimateProfileChanges } from 'lib/hooks/players'; -import React, { useState } from 'react'; - -type Props = { person: Player | null | undefined }; - -export const PlayerPronouns: React.FC = ({ person }) => { - const [pronouns, setPronouns] = useState( - person?.profile?.pronouns ?? '', - ); - const updateFN = () => { - setPronouns(person?.profile?.pronouns ?? ''); - }; - const { animation } = useAnimateProfileChanges( - person?.profile?.pronouns, - updateFN, - ); - - return pronouns ? ( - - - - {pronouns} - - - - ) : ( - <> - ); -}; diff --git a/packages/web/components/Player/Section/PlayerRoles.tsx b/packages/web/components/Player/Section/PlayerRoles.tsx index 1e9cd764..7a09938c 100644 --- a/packages/web/components/Player/Section/PlayerRoles.tsx +++ b/packages/web/components/Player/Section/PlayerRoles.tsx @@ -1,42 +1,50 @@ -import { BoxedNextImage, MetaTag, Text, Wrap } from '@metafam/ds'; +import { BoxedNextImage, MetaTag, Text, Wrap, WrapItem } from '@metafam/ds'; import { ProfileSection } from 'components/Profile/ProfileSection'; import { Player } from 'graphql/autogen/types'; +import { useOverridableField } from 'lib/hooks'; import React from 'react'; -import { BoxType } from 'utils/boxTypes'; +import { BoxTypes } from 'utils/boxTypes'; type Props = { player: Player; isOwnProfile?: boolean; - canEdit?: boolean; + editing?: boolean; }; export const PlayerRoles: React.FC = ({ player, isOwnProfile, - canEdit, -}) => ( - - {!player.roles || - (player.roles.length === 0 && ( + editing, +}) => { + const field = 'roles'; + const { value: roles } = useOverridableField({ + field, + defaultValue: (player.roles ?? []) + .sort((a, b) => a.rank - b.rank) + .map(({ role }) => role), + }); + + return ( + + {roles?.length === 0 && ( - No Roles found for {isOwnProfile ? 'you' : 'this player'}. + No roles assigned to {isOwnProfile ? 'you' : 'this player'}. - ))} - - {player.roles && - player.roles - .sort((a, b) => (a.rank > b.rank ? 1 : -1)) - .map(({ role, rank, PlayerRole }) => ( - + )} + + {(roles ?? []).map((role, rank) => ( + + = ({ casing="uppercase" my={{ base: 0, md: 2 }} > - {PlayerRole.label} + {role} - ))} - - -); + + ))} +
+ + ); +}; diff --git a/packages/web/components/Player/Section/PlayerSkills.tsx b/packages/web/components/Player/Section/PlayerSkills.tsx index 3bd91891..ae1814aa 100644 --- a/packages/web/components/Player/Section/PlayerSkills.tsx +++ b/packages/web/components/Player/Section/PlayerSkills.tsx @@ -1,65 +1,44 @@ import { MetaTag, Text, Wrap, WrapItem } from '@metafam/ds'; import { ProfileSection } from 'components/Profile/ProfileSection'; -import { Player, SkillCategory_Enum } from 'graphql/autogen/types'; +import { Player } from 'graphql/autogen/types'; import { SkillColors } from 'graphql/types'; -import { useAnimateProfileChanges } from 'lib/hooks/players'; -import React, { useState } from 'react'; -import { BoxType } from 'utils/boxTypes'; +import { useOverridableField } from 'lib/hooks'; +import React from 'react'; +import { BoxTypes } from 'utils/boxTypes'; type Props = { player: Player; isOwnProfile?: boolean; - canEdit?: boolean; + editing?: boolean; }; export const PlayerSkills: React.FC = ({ player, - isOwnProfile, - canEdit, + isOwnProfile = false, + editing = false, }) => { - const [playerSkills, setPlayerSkills] = useState< - Array<{ id: number; name: string; category: SkillCategory_Enum }> - >( - player.skills?.map((s) => ({ - id: s.Skill.id, - name: s.Skill.name, - category: s.Skill.category, - })) ?? [], - ); - - const updateFN = () => { - if (player.skills) { - setPlayerSkills( - player.skills.map((s) => ({ - id: s.Skill.id, - name: s.Skill.name, - category: s.Skill.category, - })), - ); - } - }; - - const { animation } = useAnimateProfileChanges(player.skills, updateFN); + const field = 'skills'; + const { value: skills } = useOverridableField({ + field, + defaultValue: player.skills.map(({ Skill: skill }) => skill), + }); return ( - {!player?.skills?.length ? ( + {!skills?.length ? ( {isOwnProfile ? 'You haven’t ' : 'This player hasn’t '} defined any skills. ) : ( - - {(playerSkills || []).map(({ id, name, category }) => ( + + {(skills || []).map(({ id, name, category }) => ( = ({ - player, - isOwnProfile, - canEdit, -}) => { - const [playerType, setPlayerType] = useState( - (player.profile?.explorerType as ExplorerType) ?? null, - ); - const updateFN = () => - setPlayerType(player.profile?.explorerType as ExplorerType); - const { animation } = useAnimateProfileChanges( - player.profile?.explorerType, - updateFN, - ); +export const PlayerType: React.FC = ({ player, editing }) => { + const { explorerType, owner: isOwnProfile } = useProfileField({ + field: 'explorerType', + player, + }); return ( - {!playerType ? ( + {!explorerType ? ( Unspecified ) : ( - + <> - {playerType.title} + {explorerType.title} - {playerType.description} + {explorerType.description} - + )} ); diff --git a/packages/web/components/Player/Section/config.ts b/packages/web/components/Player/Section/config.ts index ac8a2e3a..d9627717 100644 --- a/packages/web/components/Player/Section/config.ts +++ b/packages/web/components/Player/Section/config.ts @@ -1,208 +1,138 @@ import { Layout, Layouts } from 'react-grid-layout'; -import { BoxMetadata, BoxType, getBoxKey } from 'utils/boxTypes'; +import { BoxMetadata, BoxType, BoxTypes, createBoxKey } from 'utils/boxTypes'; export type LayoutItem = { - boxKey: string; - boxType: BoxType; - boxMetadata: BoxMetadata; + key: string; + type: BoxType; + metadata?: BoxMetadata; }; export type ProfileLayoutData = { - layoutItems: LayoutItem[]; + layoutItems: Array; layouts: Layouts; }; export const GRID_ROW_HEIGHT = 32; +export const HEIGHT_MODIFIER = 1.8; export const ALL_BOXES = [ - BoxType.PLAYER_HERO, - BoxType.PLAYER_SKILLS, - BoxType.PLAYER_COLOR_DISPOSITION, - BoxType.PLAYER_TYPE, - BoxType.PLAYER_NFT_GALLERY, - BoxType.PLAYER_DAO_MEMBERSHIPS, - BoxType.PLAYER_ROLES, - BoxType.EMBEDDED_URL, - BoxType.PLAYER_COMPLETED_QUESTS, - // BoxType.PLAYER_ACHIEVEMENTS, + BoxTypes.PLAYER_HERO, + BoxTypes.PLAYER_SKILLS, + BoxTypes.PLAYER_COLOR_DISPOSITION, + BoxTypes.PLAYER_TYPE, + BoxTypes.PLAYER_NFT_GALLERY, + BoxTypes.PLAYER_DAO_MEMBERSHIPS, + BoxTypes.PLAYER_ROLES, + BoxTypes.EMBEDDED_URL, + BoxTypes.PLAYER_COMPLETED_QUESTS, + // BoxTypes.PLAYER_ACHIEVEMENTS, // TODO: Add more types of sections ]; -export const MULTIPLE_ALLOWED_BOXES = [BoxType.EMBEDDED_URL]; +export const MULTIPLE_ALLOWED_BOXES = [BoxTypes.EMBEDDED_URL] as Array; export type LayoutMetadata = { [key: string]: { - boxType: BoxType; - boxMetadata: BoxMetadata; + type: BoxType; + metadata: BoxMetadata; }; }; -export const getBoxLayoutItemDefaults = (boxId: BoxType): Layout => { - switch (boxId) { - case BoxType.PLAYER_HERO: - return { - i: getBoxKey(BoxType.PLAYER_HERO, {}), - x: 0, - y: 0, - w: 1, - h: 22, - maxW: 1, - }; - case BoxType.PLAYER_SKILLS: - return { - i: getBoxKey(BoxType.PLAYER_SKILLS, {}), - x: 0, - y: 0, - w: 1, - h: 7, - maxW: 1, - }; - case BoxType.PLAYER_NFT_GALLERY: - return { - i: getBoxKey(BoxType.PLAYER_NFT_GALLERY, {}), - x: 0, - y: 0, - w: 1, - h: 14, - maxW: 1, - }; - case BoxType.PLAYER_DAO_MEMBERSHIPS: - return { - i: getBoxKey(BoxType.PLAYER_DAO_MEMBERSHIPS, {}), - x: 0, - y: 0, - w: 1, - h: 9, - maxW: 1, - }; - case BoxType.PLAYER_ACHIEVEMENTS: - return { - i: getBoxKey(BoxType.PLAYER_ACHIEVEMENTS, {}), - x: 0, - y: 0, - w: 1, - h: 4, - maxW: 1, - }; - case BoxType.PLAYER_TYPE: - return { - i: getBoxKey(BoxType.PLAYER_TYPE, {}), - x: 0, - y: 0, - w: 1, - h: 7, - maxW: 1, - }; - case BoxType.PLAYER_COLOR_DISPOSITION: - return { - i: getBoxKey(BoxType.PLAYER_COLOR_DISPOSITION, {}), - x: 0, - y: 0, - w: 1, - h: 5.5, - maxW: 1, - }; - case BoxType.PLAYER_ROLES: - return { - i: getBoxKey(BoxType.PLAYER_ROLES, {}), - x: 0, - y: 0, - w: 1, - h: 3, - maxW: 1, - }; - case BoxType.PLAYER_ADD_BOX: - return { - i: getBoxKey(BoxType.PLAYER_ADD_BOX, {}), - x: 0, - y: 0, - w: 1, - h: 3, - maxW: 1, - isResizable: false, - isDraggable: false, - }; - case BoxType.EMBEDDED_URL: - return { - i: getBoxKey(BoxType.EMBEDDED_URL, { - url: 'https://github.com/MetaFam/TheGame', // TODO: remove tempUrl - }), - x: 0, - y: 0, - w: 1, - h: 6, - maxW: 1, - isResizable: false, - }; +export const getBoxLayoutItemDefaults = (type: BoxType): Layout => { + const heights = { + [BoxTypes.PLAYER_HERO]: 22, + [BoxTypes.PLAYER_SKILLS]: 7, + [BoxTypes.PLAYER_NFT_GALLERY]: 14, + [BoxTypes.PLAYER_DAO_MEMBERSHIPS]: 9, + [BoxTypes.PLAYER_ACHIEVEMENTS]: 4, + [BoxTypes.PLAYER_TYPE]: 7, + [BoxTypes.PLAYER_COLOR_DISPOSITION]: 5.5, + [BoxTypes.PLAYER_ROLES]: 3, + [BoxTypes.PLAYER_ADD_BOX]: 3, + [BoxTypes.EMBEDDED_URL]: 6, + } as Record; + + const ret: Layout = { + i: createBoxKey(type), + x: 0, + y: 0, + w: 1, + h: heights[type], + maxW: 1, + }; + + switch (type) { + case BoxTypes.PLAYER_ADD_BOX: { + ret.isResizable = false; + ret.isDraggable = false; + break; + } + case BoxTypes.EMBEDDED_URL: { + ret.i = createBoxKey(type, { + url: 'https://github.com/MetaFam/TheGame', // TODO: remove tempUrl + }); + ret.isResizable = false; + break; + } default: - return { - i: '', - x: 0, - y: 0, - w: 1, - h: 1, - maxW: 1, - }; } + + return ret; }; -const DEFAULT_BOXES = [ - BoxType.PLAYER_HERO, - BoxType.PLAYER_SKILLS, - BoxType.PLAYER_NFT_GALLERY, - BoxType.PLAYER_DAO_MEMBERSHIPS, - BoxType.PLAYER_COLOR_DISPOSITION, +export const DEFAULT_BOXES = [ + BoxTypes.PLAYER_HERO, + BoxTypes.PLAYER_SKILLS, + BoxTypes.PLAYER_NFT_GALLERY, + BoxTypes.PLAYER_DAO_MEMBERSHIPS, + BoxTypes.PLAYER_COLOR_DISPOSITION, // Adding default boxes MUST be accompanied by adding default box positions as well ]; -const DEFAULT_BOX_POSITIONS_LG: { - [boxType: string]: { x: number; y: number }; -} = { - [BoxType.PLAYER_HERO]: { x: 0, y: 0 }, - [BoxType.PLAYER_COLOR_DISPOSITION]: { x: 0, y: 7 }, - [BoxType.PLAYER_DAO_MEMBERSHIPS]: { x: 1, y: 0 }, - [BoxType.PLAYER_SKILLS]: { x: 1, y: 9 }, - [BoxType.PLAYER_NFT_GALLERY]: { x: 2, y: 0 }, +export type ChakraSize = 'sm' | 'md' | 'lg'; +export type Coordinates = { + x: number; + y: number; }; -const DEFAULT_BOX_POSITIONS_MD: { - [boxType: string]: { x: number; y: number }; -} = { - [BoxType.PLAYER_HERO]: { x: 0, y: 0 }, - [BoxType.PLAYER_COLOR_DISPOSITION]: { x: 0, y: 5 }, - [BoxType.PLAYER_NFT_GALLERY]: { x: 0, y: 7 }, - [BoxType.PLAYER_DAO_MEMBERSHIPS]: { x: 1, y: 0 }, - [BoxType.PLAYER_SKILLS]: { x: 1, y: 9 }, -}; -const DEFAULT_BOX_POSITIONS_SM: { - [boxType: string]: { x: number; y: number }; -} = { - [BoxType.PLAYER_HERO]: { x: 0, y: 0 }, - [BoxType.PLAYER_COLOR_DISPOSITION]: { x: 0, y: 5 }, - [BoxType.PLAYER_DAO_MEMBERSHIPS]: { x: 0, y: 7 }, - [BoxType.PLAYER_SKILLS]: { x: 0, y: 15 }, - [BoxType.PLAYER_NFT_GALLERY]: { x: 0, y: 20 }, - [BoxType.PLAYER_COLOR_DISPOSITION]: { x: 2, y: 9 }, +export type Positions = Record; + +const DEFAULT_BOX_POSITIONS: Record = { + lg: { + [BoxTypes.PLAYER_HERO]: { x: 0, y: 0 }, + [BoxTypes.PLAYER_COLOR_DISPOSITION]: { x: 1, y: 0 }, + [BoxTypes.PLAYER_DAO_MEMBERSHIPS]: { x: 2, y: 1 }, + [BoxTypes.PLAYER_SKILLS]: { x: 1, y: 2 }, + [BoxTypes.PLAYER_NFT_GALLERY]: { x: 2, y: 0 }, + } as Positions, + md: { + [BoxTypes.PLAYER_HERO]: { x: 0, y: 0 }, + [BoxTypes.PLAYER_COLOR_DISPOSITION]: { x: 1, y: 0 }, + [BoxTypes.PLAYER_NFT_GALLERY]: { x: 1, y: 3 }, + [BoxTypes.PLAYER_DAO_MEMBERSHIPS]: { x: 1, y: 2 }, + [BoxTypes.PLAYER_SKILLS]: { x: 1, y: 1 }, + } as Positions, + sm: { + [BoxTypes.PLAYER_HERO]: { x: 0, y: 0 }, + [BoxTypes.PLAYER_DAO_MEMBERSHIPS]: { x: 0, y: 3 }, + [BoxTypes.PLAYER_SKILLS]: { x: 0, y: 2 }, + [BoxTypes.PLAYER_NFT_GALLERY]: { x: 0, y: 4 }, + [BoxTypes.PLAYER_COLOR_DISPOSITION]: { x: 0, y: 1 }, + } as Positions, }; -const DEFAULT_PLAYER_LAYOUTS: Layouts = { - lg: DEFAULT_BOXES.map((boxType) => ({ - ...getBoxLayoutItemDefaults(boxType), - ...DEFAULT_BOX_POSITIONS_LG[boxType], - })), - md: DEFAULT_BOXES.map((boxType) => ({ - ...getBoxLayoutItemDefaults(boxType), - ...DEFAULT_BOX_POSITIONS_MD[boxType], - })), - sm: DEFAULT_BOXES.map((boxType) => ({ - ...getBoxLayoutItemDefaults(boxType), - ...DEFAULT_BOX_POSITIONS_SM[boxType], - })), -}; +export const DEFAULT_PLAYER_LAYOUTS: Layouts = Object.fromEntries( + ['sm', 'md', 'lg'].map((size) => [ + size, + DEFAULT_BOXES.map((boxType) => ({ + ...getBoxLayoutItemDefaults(boxType), + ...DEFAULT_BOX_POSITIONS[size as ChakraSize][boxType], + })), + ]), +); -const DEFAULT_LAYOUT_ITEMS = DEFAULT_BOXES.map((boxType) => ({ - boxType, - boxMetadata: {}, - boxKey: getBoxKey(boxType, {}), +export const DEFAULT_LAYOUT_ITEMS = DEFAULT_BOXES.map((type: BoxType) => ({ + type, + key: createBoxKey(type), })); export const DEFAULT_PLAYER_LAYOUT_DATA = { diff --git a/packages/web/components/Profile/EmbeddedUrlSection.tsx b/packages/web/components/Profile/EmbeddedUrlSection.tsx index df2c3542..01f5c0d7 100644 --- a/packages/web/components/Profile/EmbeddedUrlSection.tsx +++ b/packages/web/components/Profile/EmbeddedUrlSection.tsx @@ -10,29 +10,29 @@ import { ProfileSection } from 'components/Profile/ProfileSection'; import { Maybe } from 'graphql/autogen/types'; import { useDelay } from 'lib/hooks/useDelay'; import React, { useCallback, useEffect, useState } from 'react'; -import { BoxType } from 'utils/boxTypes'; +import { BoxTypes } from 'utils/boxTypes'; const metadataLink = '/api/metadata?url='; type EmbeddedUrlProps = { url?: string; - canEdit?: boolean; + editing?: boolean; }; -export const EmbeddedUrl: React.FC = ({ url, canEdit }) => ( +export const EmbeddedUrl: React.FC = ({ url, editing }) => ( - + ); interface LinkPreviewProps { url?: string; - canEdit?: boolean; + editing?: boolean; } interface URIMetadata { @@ -47,21 +47,22 @@ const LinkPreview: React.FC = ({ url: inputUrl = '' }) => { const [metadata, setMetadata] = useState>(null); const [loading, setLoading] = useState(true); - const updateMetadata = useCallback((uri: string) => { + const updateMetadata = useCallback(async (uri: string) => { setLoading(true); - fetch(metadataLink + uri) - .then((res) => res.json()) - .then(({ error, response }) => { - if (error) throw error; - setMetadata((response.og as unknown) as URIMetadata); - setLoading(false); - }) - .catch((err: Error) => { - // eslint-disable-next-line no-console - console.error('No metadata could be found for the given URL.', err); - setMetadata(null); - setLoading(false); - }); + try { + const res = await fetch(metadataLink + uri); + const { error, response } = await res.json(); + + if (error) throw error; + + setMetadata((response.og as unknown) as URIMetadata); + } catch (err) { + // eslint-disable-next-line no-console + console.error(`No metadata found for the URL: ${uri}.`, err); + setMetadata(null); + } finally { + setLoading(false); + } }, []); const delayedUpdate = useDelay(updateMetadata); @@ -119,7 +120,7 @@ const LinkPreview: React.FC = ({ url: inputUrl = '' }) => { )} - {siteName && {siteName} • } + {siteName && {siteName} • } {url} diff --git a/packages/web/components/Profile/PlayerSection.tsx b/packages/web/components/Profile/PlayerSection.tsx index d064cd6c..9747e418 100644 --- a/packages/web/components/Profile/PlayerSection.tsx +++ b/packages/web/components/Profile/PlayerSection.tsx @@ -10,82 +10,62 @@ import { PlayerSkills } from 'components/Player/Section/PlayerSkills'; import { PlayerType } from 'components/Player/Section/PlayerType'; import { EmbeddedUrl } from 'components/Profile/EmbeddedUrlSection'; import { Player } from 'graphql/autogen/types'; -import { PersonalityInfo } from 'graphql/queries/enums/getPersonalityInfo'; import React from 'react'; import { FaTimes } from 'react-icons/fa'; -import { BoxMetadata, BoxType, getBoxKey } from 'utils/boxTypes'; +import { BoxMetadata, BoxType, BoxTypes, createBoxKey } from 'utils/boxTypes'; type Props = { - boxType: BoxType; - boxMetadata: BoxMetadata; + type: BoxType; + metadata?: BoxMetadata; player: Player; - personalityInfo: PersonalityInfo; isOwnProfile?: boolean; - canEdit?: boolean; + editing?: boolean; onRemoveBox?: (boxKey: string) => void; }; const PlayerSectionInner: React.FC = ({ - boxMetadata, - boxType, + metadata, + type, player, isOwnProfile, - personalityInfo, - canEdit, + editing, }) => { - switch (boxType) { - case BoxType.PLAYER_HERO: - return ( - - ); - case BoxType.PLAYER_SKILLS: - return ; - case BoxType.PLAYER_NFT_GALLERY: - return ; - case BoxType.PLAYER_DAO_MEMBERSHIPS: - return ; - case BoxType.PLAYER_COLOR_DISPOSITION: - return ( - - ); - case BoxType.PLAYER_TYPE: - return ; - case BoxType.PLAYER_ROLES: - return ; - case BoxType.PLAYER_ACHIEVEMENTS: - return ; - case BoxType.PLAYER_COMPLETED_QUESTS: - return ; - case BoxType.EMBEDDED_URL: { - const url = boxMetadata?.url as string; - return url ? : <>; + switch (type) { + case BoxTypes.PLAYER_HERO: + return ; + case BoxTypes.PLAYER_SKILLS: + return ; + case BoxTypes.PLAYER_NFT_GALLERY: + return ; + case BoxTypes.PLAYER_DAO_MEMBERSHIPS: + return ; + case BoxTypes.PLAYER_COLOR_DISPOSITION: + return ; + case BoxTypes.PLAYER_TYPE: + return ; + case BoxTypes.PLAYER_ROLES: + return ; + case BoxTypes.PLAYER_ACHIEVEMENTS: + return ; + case BoxTypes.PLAYER_COMPLETED_QUESTS: + return ; + case BoxTypes.EMBEDDED_URL: { + const { url } = metadata ?? {}; + return url ? : null; } default: - return <>; + return null; } }; export const PlayerSection = React.forwardRef( - ( - { - boxMetadata, - boxType, - player, - isOwnProfile, - canEdit, - onRemoveBox, - personalityInfo, - }, - ref, - ) => { - const boxKey = getBoxKey(boxType, boxMetadata); + ({ metadata, type, player, isOwnProfile, editing, onRemoveBox }, ref) => { + const key = createBoxKey(type, metadata); return ( ( > - {canEdit && ( + {editing && ( ( left={0} /> )} - {canEdit && boxType && boxType !== BoxType.PLAYER_HERO && ( + {editing && type && type !== BoxTypes.PLAYER_HERO && ( ( color="pinkShadeOne" icon={} _hover={{ color: 'white' }} - onClick={() => onRemoveBox?.(boxKey)} + onClick={() => onRemoveBox?.(key)} _focus={{ boxShadow: 'none', backgroundColor: 'transparent', diff --git a/packages/web/components/Profile/ProfileSection.tsx b/packages/web/components/Profile/ProfileSection.tsx index 17b4cdc0..20a537bb 100644 --- a/packages/web/components/Profile/ProfileSection.tsx +++ b/packages/web/components/Profile/ProfileSection.tsx @@ -1,10 +1,9 @@ import { Box, - BoxProps, Button, EditIcon, Flex, - HStack, + FlexProps, IconButton, Modal, ModalBody, @@ -18,34 +17,36 @@ import { } from '@metafam/ds'; import { Maybe } from '@metafam/utils'; import BackgroundImage from 'assets/main-background.jpg'; -import { SetupPersonalityType } from 'components/Setup/SetupPersonalityType'; +import { SetupColorDisposition } from 'components/Setup/SetupColorDisposition'; import { SetupPlayerType } from 'components/Setup/SetupPlayerType'; import { SetupRoles } from 'components/Setup/SetupRoles'; import { SetupSkills } from 'components/Setup/SetupSkills'; import React from 'react'; -import { BoxType } from 'utils/boxTypes'; +import { BoxType, BoxTypes } from 'utils/boxTypes'; export type ProfileSectionProps = { children?: React.ReactNode; - isOwnProfile?: boolean; - canEdit?: boolean; - boxType?: BoxType; - title?: string; + isOwnProfile?: Maybe; + editing?: boolean; + type?: BoxType; + title?: string | false; withoutBG?: boolean; - modalText?: string; - modalTitle?: string; + modalPrompt?: string; + modalTitle?: string | false; modal?: React.ReactNode; subheader?: string; -} & BoxProps; +}; -export const ProfileSection: React.FC = ({ +export const ProfileSection: React.FC< + ProfileSectionProps & Omit +> = ({ children, isOwnProfile, - canEdit, - boxType, + editing, + type: boxType, title, withoutBG = false, - modalText, + modalPrompt, modal, modalTitle, subheader, @@ -55,129 +56,116 @@ export const ProfileSection: React.FC = ({ return ( - {title && ( - - - - {title} - - {!modal && isOwnProfile && !canEdit && isBoxDataEditable(boxType) && ( + {title !== false && ( + + + {title && ( + + {title} + + )} + {isOwnProfile && !editing && isEditable(boxType) && ( } _hover={{ color: 'white' }} - onClick={onOpen} - _focus={{ - boxShadow: 'none', - backgroundColor: 'transparent', - }} - _active={{ - transform: 'scale(0.8)', - backgroundColor: 'transparent', - }} + _focus={{ boxShadow: 'none' }} + _active={{ transform: 'scale(0.8)' }} isRound + onClick={onOpen} /> )} - {modal && modalText && ( + {modal && modalPrompt && ( )} - + )} {children} - {boxType && ( - + {(boxType || modal) && ( + - - {modalTitle || title} + {modalTitle !== false && ( + + {modalTitle ?? title} - {subheader && ( - - {subheader} - - )} - + {subheader && ( + + {subheader} + + )} + + )} - {!modal && !modalText && ( - - )} - {modalText && modal && {modalText && modal}} - + + {modal ?? } + {/* we should figure out how to unify modal footers (edit sections have their own, look into EditSectionBox components - they have footers with 'save' and 'cancel' buttons) */} - {modalText && modal && ( - + {modal && ( +

;hh&PQcO^QraR z9@gOab>eO>bNFu6XE2nQ9drL?7A`v%=}Ogt32ZkHTlvIG+H$4s|GwaplRQhTYnbT1 zso-nV$`jOkL}+kI!^&EOin;@*YG1?~fd~q{V{zc1qSEd2)15>Jep0MO$PxVp-L}(( z)kDh6A#7};R4Z~mtSz_(c?*=Amh6UPpnohF>03WcOUZ@pX6D?56U?E*kg@C|Rne1trE&f4uX3tZ zUVqm#qr68bqJ^HtFDl2<*|rtgt-=;9p5EAqgM$b?2;q( zghE>#6wQf%Y6oA98n&Q?GThRHE%STR#%JQ@j3w5hmpyfpSVk%-b6AW)f>ACLADf`; zo1T3;7xKaE0*tY-qWOh)RLrKmy`K-j4c%8lA@A#Bgx1u*f9GgG*Wp>Fmd4jMMF)Dh zU_Wvj^0l`!6VIouANF+oLidjzlWxTn)bg)*E)%FP7E^M`qtlzhA`5(_je5Hw%GRYB z2yd8>djh@7%7Fa+fM4`G9UPr{(DbiA#81AF6I@AvUU8fq>0Ej#n!u6X;|EIgfQ_Bj|CFYczunbh4|G)#=&2Af&1Gi2q5M@b^tK(<}%T z7DGqQA>tzZeiDrEw>EonDiB~BAz&@8*peXwP5GrR!>(8f0j+{yd3)Bo9Y~Zq_h&UB z-tbD&@Qvb#Zp`&@lla8AMY0=h_oeP=rL{3nx|@rQsWGj4C1DpI_`!V+riHYpVjWo| z7CCvleRX6tAcUN-fFC_sUF`Hs{l-_8Az9IiA`d0|C#G)9tyg{opT3EQzI6C1G!$qq z_(z3H;u2q`l_qG(WEn(|0Nde(+hQxY^Ru)I2dy=c*Es+HC7mo$_tPJ88~)!7r# zT;T25C(Aw(^wB1SE6?*oZ)AyHHb>q;aprYIq|mX)DVpHn+6-N;edbN9jcO#*tqwBq zkGJw@`A#7@Q;*$KRm@dmLoelt-l*9D+e$Mng+WhNf<@8cr5liZ#!wFVf7y6G@nW@>SKU&h2)%VR;idlA6sab$zduhVQOFnHS-#V#%5V z2UDWI3nOad$GqP}?M_`@_hiGLqjSz+i}Mcmq9&g-IM`9(%|8&?g`ouIS27arbgI_9 zkh5n|a!Rc2BP2>mC-WFBQpVbhjN(-VB@d$0*CiPM-Sd{TNx2K7barU$DH=ox;rg!^ z3gU)`YO+M+fKp!{CW9h(e4x6>K(M-Bd*JAQ2Sq~SUM!2bVAWyBchJ{oj9K8tKMdP` ze6VfzLkS4*ARm6zrM)j%=v%uQYnlKs7?Xv6S9J~3(d z%>Z%~0b!O*lmpT=f+v)NnluONz<=`AIS?byp~-g=->6$(iuy!!KcGsP!6Y~1F!f=% za``N1_A1bX!ea|vubnrbz7|4u(1VDOu$=3$bl&J%mZ-q>5%Qd-y@le} zd_~UHhB^k3@a1r8(-ebm1wYHaYrn^0fG68!5qPbmfRk?>ny>#$U~wMqzlLA=w>%hX zX8tN7r1x{67JY~M>hs1pgQRQm!4r#%@Ck_RYeHoUvpMYb2=X#}4e0iuZ{uZb-vxVf z$1{!}LKB1PmIto-_qA|cU)u*c$%5m1k^5!fPEHf6+EvsNEN=I{@Wr)7yZr)-I67tQ zbY=*(mc`!>PAyAUM%r=#D+h;#vhLg4a5-8VC)w1vn4E^QmK<$$vz>k-t=I6{?FndW zXGqEMM>|kf(k2J_Eto-1PH7=3I#&|)>G}yP%H{IVnheT#(27%4X;ve~<%Fn6 zgM;9WiYQRk4v=_zF(6k<&F0Hze5EJo4R4oj%_OYmK0}{VOS{68^BlFLTmH4+E0IMK z|76uYykoEby4BNhm%gbtm5|Zh5xy`uxM$I#$@U33P06>{ptQsxllc=UVBFKjx>G`F z>1lEj0bpmTv;{HIpIN#k0|aWq1y}NL%I!t6x{Gp2MJM? z`daKW#ZZ}gs}Ql8n9Cb~?(Dft-n-q0R@rWi!MFQKaaRjgznUrzdH>K72jJJ(T~#|R4a?tT%4tf~I; zY2!@_`2BVBfz+-Bd4$LP*K1r<9Y2BVyT?Tdmm{y zLvO@?cf5cEGoQT051KM*?_nW8*dZ-Fs0r^b{TUF~DtyGhk?U(Tx|kbR*C%8tTkE56 zDT5l=IhE%V%vqHUYXSu?Ykw?zQ$u1X3Fa~Af;h@THRU>B?E!wEA;X7G7;?H8hd@Xg z@wfaYkCH^A-#^8_2Ta*-J}}DV43a6RF_y60Ezg`@cP`u%OERi{S%d5|N6VCw4}ENM>f;g*5G59DdS;svnkQ!rIoxivgh_hE zWq%|*hSxtL_tjtj@U~YLJ@pr8S>6o_MNao^O) zcm8?wD78Q!<-JI5y0?5s@!HNrTLz;+4B40a!SOrOz#Ko*2H6lah4SssR?ol$nMok% z&XZt=R=u6Y+Na6--p#23(AfN%XcwxgoZX3SV5>527y8xXc7sI7A&wMUIJR|E{{&}a zZ7N<&c z=F&-f@mGrSS;OqQjgmec4K3?Abj&u=PW>Z5(_5nErGOOI?7lwodm7p3=Sw^jaIPuD zCJLwgb@*lS=K-@hB6TfJ^3JL-Cz3q*7ZFv{C#3Cd%|r_0)k?xa3|$#s^L>2W;kaQ~ zjjxEoRWLL1uGW3>g>zs(L4bYOK3Q+>?9HL(uA(%+L8KIe6{>%3MaQXD4yg?mq8R?) z4E8sFJ9K6`!~hA~?urCQcT@hUcbx7kYn*K=67;MdwtzU&uH3jz<}fSr+9a^2z`fBb z@?$jy?5g1d!Z&nZ>pVC2{8kIS`ityn5-d4&PCh3T(H^p+vRR@bVFi%r9bvoo2d|26 z-qH$mGhZ8@djQ}29_Q zSkNnimU>(4xR{^QacnlWBO;(M%&YnH+NttL%N~J~Y+TJW7o}27g!Oh^sVI|{0&NZU zzBfaL!1~KI9*PUm=*a-*g|CfxG2K|otX|ttN(|7v-rV;&S!ngQW+(kql6vbYk1%^h z3cvDqU5{Tjw=@ea8Zk9KMK;y*D*&0Wdlwh>{FafiJqyBpd>ai$cBBM-X!6vDKc~?i zcIO1c9oTSA-I39mFM?_d0X2rG>#c*J13X3oK;T!Lv%iz^e5_pg1P>eP-ZT^W#6# zbY#3gQvZ*sw_uBc>%xVH?gr`ZP6>&jySpSsIz<|W?oMf>y9MbENu@ibq&o&?&OGn= zuIoGNH>|x^-7(SAQO3ytCT1I=s(z@lDiIsWs=`UVHK6a&t)D{yTWC@S2icVA;qdXGN=;XsPjjTV@c*HZ8ekE*6;63b`)e{z*H@!=Z(s* zK>HV&hjKXq0z95LR<$0QPhIgo*G)Nxyf9Y_gi|5@7vcDeL{`^YmaI2Ru*@J|4_y8?a+8=f2 z61XX?Xx6?ZlU#zVlh*<3OWq?#G{FLrYV{zGjm ziY=&?>(%(DOt$Zx9h-fRd~mu1St9Ph{Nfcou!N$@Xurd#;@UG`s~eAXeP!d4p>ccd z2ZxUs2T&xY*AAYq=;wisc*p`0N)>IP)b0%+z(k6F$aN?5#v9~v3WQYw?CqZXsm5uX zzyr5?$Ft3##QQ=NpASE<;Di-RuQa%D`me9Nx0Ci!lJW)v=qbb{e?EStt;sLg^ zl;-kjn+l{XKx$IXMpXiy`7i||^rL^VybEB(kj~J;(7B6(GkBeZP&UVawwPA}CJ~OQ zx1udFt=u7WY>VPPe_c1nZZ;4M&Dv#WC!`(L=sLR_N+*pwYv|!v(726;F9vKYf}Sr5 zfe`1N-Z;e5eB6QEk60Jm0j|5bILEUx^FCkISqpX1*W=?`V=sNrrd&=^4pfGESq76D z#ANrjp!bBF%lxTZ)zW`l>=UgfAj3edmTS6+5A2m6iP*-ky+}u+VQ1ocuKX^D9GpAeX?HYNVT?N&yxDmus$_QT#;yHCV z(ntS!z-!qpne&Vpw0-OJb{@+&5ppIGgFMWmupe|dl<}Ek5l>3J|AzBr(L-`_4!pgA zeoo`;EaK|kM0R`yl}8nyfj+r#xJQRHV*foD^mzjHH}WyD1^@dj@X%yD5!8Ecfe9EE z5vZ7~w%4(Odf0cskklWvXUBs}&xB%KLeo3>Pky*)?!m1-cXP~A!^T7)yc9M&g7xn*lfQAo0?|ZgQk;-VC z!s}EArn1NOqs%f2LU(`a~#SC%kE$lui_eL zkXD6h+S1LxWj3_~5oYnyO5WuqEx5{9#C|L*blaM~z*&WdH$UdXij9{FY$1I3B#2Mx zpSJMe2X8cc;V<+45}4Yb;McAF)8~NNul`m}?MwEIq|$2~uGNkqe#SfwzuH@`HI=Ug zKKX0^LZM(A$=6?qPKIvu$LL0+=s+#9P@7*L(lmCK6t)(Sy<3c8xwO3LVBDqJ+A<%wq)$7^x z*DrB;Jayf7pYER#u2!wFOX)&hqzTGQ>mk<%?YBPho19 z@kb| z-TUWEC2g$yvmMs4pZ23oMGEq=8rw^*RQ$!6P2Rr(rw z4YDsf)E=AndGW;~qe;ol?&Q9CB40^*=*fTcHj>pv5c8N{L{L66k7A&PnNlGEgx-ck zC)ZCV@4hyd3hgzTUS0ON?-~pxyQqGpiT*{5`p|s^JHJv7Zk&-)_?`L+3beCqHRJwD z5Cfu%LtHY*->WHZi!kJRzL5dOe=HuP3c)A?_Je?)jfm%e&_x*L82`V`|0;c9MPZ5B6ejF@N$fb` zXW{1RXZNf`1&DND0u1m;kU}1C|1we#tcsNuYx{sTJJcInKj`5BD$&!px=T843Zd^B z?+^WXgnbCu4)7Bx0?3@j9Y=EXtl+;{0%#((c(mZciSwfRXf3Z+x1nXZ*h9OK17kuj zeb>v(C!kv0&~3{oAPb?gyt}LwI_Y|vo&wS_<-ZXHs5*7;O@uA)&l|Y2PH>6v(~=Ge zFi_j~UD`M4WV=~E6U6V+uRq#BmEsW22B>5txT4lIsdhEKci`*sh1pQ&hmo@d`!m0V zv7LWlPV0!DE7_H8iXolaci?~J(lz3*K+zdBJ!s*3sLkuL%ga#2KH_6KjPHf83+w)x z3hd>9-~6=65h|OC`W}m)R1cYFEi7FU6E4rM)WWHq&&I}l%0C@AY7RN7OQs)?ennGG zQMHG`^bODiny3xXf4M<>V=dX}1x}B}=T?4M=RkKChbp;{Rav*g+WX#wU3{NPNX+=d zZ<%M=N*L%6_r#=Q9~$`!MA)kFl{QK%Hl6C^7w_w*HBH}ZmorWZ*76SpOBOm3dYO{f zxzjQ}zCL~{?lVP;fD1P47_k-C!ZOwstI0DYARi>pWF0c>qZFSYv>YP;^WIbR-4U^t z9s9TqeEO)gr_2ZWzUC|f364B}q6Ll?!!t46eug_@ z5Det-i|fGGfp8=K@UH5C!fwL@kw+BV{|;%wPx z_YB#5TW^IJ%33=*bEN)#CD=z)`c+s;|KOYd_dV~-$`F2S=P8-i@3sA$GOXV_orLfI z*fmdRO&i2PzdN~A65=OMPCkjKN3vacAWf+zl$1EWZ@c)3*3ct?%wN&!u)K_^w=J?I ze~Dt|YofcilPpORS$L~k>1Cp!$T7mX&7Cp%E%!`%9hJu&@+}$TS^C<%GJ#4-_fF9e z9wTaUuxkh)IobY{%0xwPUVx|RzA9U9h`U<7*zx%^cbIR;oKl+E-agOOD^@}4ShoK! zXWPy8{%d%}A;oaRqzZ?qru{f)rj52rbA&RuVeHJbH<*pw1GYlTt-i5#%rd9`-!{GA zKL_v3_b%XmA$bzlTb1d*&ih)4hKF0bc(jJm=}^AAKISFV2M!e%p%@b~x`RGb`g~SQ~y0KN<&A5+|H{s}fMV^YAC8&s1DDxevd!w#)s#JlKo9pPE3-Hv#e$ru#0 z@YqAtS;-srhd#VjTQ0OR!^f1i`<Zo;eJ1PDv4P~6%$7>@^^U}vgb#2y`pOJ@Z z46H%BoVwqB=dql2f5Qt_z~e+H!mLZKU!eb$t6rLx{^kAADNAv4I^@@Bc~7<9#E*qn z{ph*iKMyp?=o~)(l;XlP>+@&m0ny5V9aMrDZ(e?%@#l%helNA*a|ax#Z9oIPNe=o* zH10@78b-cVobX90gjnp0uT!7AvY!<)%nOXmO+X_eq>sTHId$Qg4l_q7fOkjS`W*w9 zZXqD6@k;i%|&5J_2tot+ ze$5ubU+90Dt+XNA&ugpehK1y)KUCpT=76Lx(7W&ZBow^_WphY*ADU4lyvcT(OH9om zuX%ics|YxNo(DaAs!|$7bIK{AzVCH=`vNuK{Uq0($q;MgkTyw7dd?W*=C*k z7w2Q_q0#5hFcMXAz7s@?FW?6@m^%TD5%m2T?eSiUv{Dw2P5O4DdCc#BsESka|EiKv z7_TpmAbZf+#Yt!uGYRmAg0U0$K_d!vX{iKpCe}ZuNOJ-d$U;;;7p3W^6!#k%q6>*q zeFn`t;}o~MVpNx*KXl(?5sEG;&Vn5Au^sssrQ_fgYd5_^iC!SU*L#ybgeY<<>g`PM zrMZY9sSSP>v(1XpS84yLxWLfbN&xj+O4Ri*G$4mkEPT3)O3HiN3^o@M;W{_cbtm5p zxlt+Ne!Mq1RgQqVIpx$%aSm>^v$?wJXMDH&gGt+#ue@uLi!P{Y( zdt`B{zoLl-;mNhHKmW?ni+!oNOkx>PjyqX9TuWi3b!rwpy2xVJk3I8iGY?=ay2afym0ou@W3YaxUjr=fI0Q;qjPb=a z*jDYm0uzi?&irw^rvO zq{_3}0FZaF>a<0Qq4$%Za|W(7SreFnZu2%#zeQ>*L4Qj17b{30alDGhGJCivaiEZA zpi7+j5>{y;>18c|b@nNb$v>^fRirP2{ytwCjh1OrjrFpzfIGs;DRRf=SSNmu@fEFj4YN8PeL(jQs3_7=OaHm6W=ZW2~`Z31a>tspFHKwZYOBJ->(i1~=`qHGY zR)MdJ>!ym;HsKmhzkv4#2pJ0Bu=jzD1&v`9q(+RFj8W}=q6{?6nMSc#Pn=O`LL8&9IJW7OLb%fuKE4Ze<41DPH ze_KTG7FSz?{DHs687n@bNhUs>}Ut!g<#a>M!xU~Hv zqxNEu`&h4DgZ9Sl5x(~MG#mEt?VddG2EkH^$b;&apKdOgL;Tiu&g7$C%>76ogJvm} z$I(uDD%0x*EfOd>^wEsLYi&4R6Kls4dbu*;zR^qEziE&A%l>EMS$CYFoVMuON5OL+ zp#|~Zr=pZ2z@ZVHwj`D0f&1r=@4)O!Ws>vK8CxI4I~XF(kas9i*Vp5ldui?7 zZl>em-pj+W+Bh)=anudmi*)-TYZ%$+*qfb46Poz3YjK@#$;3f3A7${ZEAqy#Md&L6 zttci?<^V$J1xpp!eGvnCqQ6(WLhsXbI81oGq(p$aU@Hpxb80`I3)^0Z^QC!6RKXWF zizi}p@hz2_JE1|IkGrmOhFjMD*gOZ&z;EUxBPrtCv<7Fvh3w;nHl}RFD%ZbtHW~?Y z+EWzw@v=ncFdMgeFcI}8^fc-k>Mhb1@Dnb9QeQ)M zci3BMML_|nO>D34-|(m+UCbx>=Sw-@`;;$s$l4y9;mf*g&@wzpmULv(RqhNZxJ-kiD4%~T@Z2E80a3|y+i1Nyn z)npTQ?r{*)tHN#Xbx0wKOSbI!|yE|@-Of_SohEth|EYH$s{g3}q$Y!5BO-kW-6qFi1FIk!jyW_vrEL+@i zcDX&BZ>sM6#W?t3nqtO@utR_ITJ}Rs-`KXgqk)O&Df=KRc}$`q7On6ipA3$j}30n#X56l4wRB9rF)bZ+bE0- zt}V82bbp>-ZP&QCPMm#iWvC}XBx=ZSOC1?;Xl&H1_uDGcUi4Xck$Y1 zOCvsOQhw+l3{FI+k-1i0Q5K|pG50xtcBml%*DRJaBh%;3thYXD+c{;1O2oB|NWU=K zX^VfLYfc;WbYk_aFaKDLsE1d1CZC#43#<#`E(vNWn}`m_!X7-1hjq{*RHC^FwDAuS zNb(Kuc6swb^*;zi`ocYa*tt*N+=P}1vU_R4B=Y(&FkhK6*r`RuqYymeMo?sW2=QV* zp;?u@B&yd;)k(9@Z>nn)XsO7*qbt!KFgMnsR}wTwEB%6{vb(&MFuvzLKj#>)wJoQ3 zTi>?2W-7s*UOViVh{$U!9ASg}aN(c(tDT3rghiJvZZ9{k7+@$5$RbrcmJf>`W&nNX z8!vr#-nEOC^55A93l%0K)aax&{YT^dP!FzdqszSdRoTy(Gthjv+iiwNKk)>dhT7pA zvj?`(?+MUB2W@~*HhhRuvp6DZCHC7a5tQ!?T7KRRYrgnDS1>iX&c=-sq0n;PI1;_B zwa`-$(d1c9glRzAw|n;+b{lK2SFFSRA76*FaCG~o1enYdVu;h-bSHVwD*=N;8G)yl zU=xI=QIKfFOu^!c->o%F@q>UR>xfjX67}Faq4LBC+)pniOc;FSD`~P5^A|H zG3=ge0s4e|KC7ha$Kze`V=BY2iwmg^j#$IbtPRB|h&Ob#2fg}pPcQFRxCMif>}SXS z+Lt~_kJ1<2-!c+?wAa{3|2}*$&MB79IW^O+dAS znm+*BNg7>8HYf}rUoN36cc2+oD5dtFtv%nxWCm%d0s(Dk(;4#6o-j6NA8mJ)lVr+*qvz_NA=f$ zrs+0;b<9;UcG<4s_^?UPc$*VuRrB+H#2=aCv(5OnOx!Xf_E<@)u&GrrjB_&C<<&%hukD)c7=%r6RmxNr#pRsJNC%=M*Y?>*e*(kL7PBr$&U@EW zvzdP;sBC|9vk*Zif`4l`-Oov1Lby+EXfbuA4ds_T>WNeDI%59Uf!*W$_f`T1()*{~ zxO@Ae2X@aZb<5p$H&|{))CFVG^f!VM(a1e|n-7;@j|O(%5eUbHXti803-KOUhNG1Z zO8P;wWDR$C42RoHE~P|!gO7P;lY<}f(G6bTHt%QO7LKg%y@%PaN>OZqIdvym_@q&< zJJ40h+QMmdUR|Z3SD!uaYYAeZ&nIZDUev=VK~I_GYf2nd(Y?J+d0LRH?&m9@cVF9+ zs5j)?0K4m6g>s9Q!$_%6%Z1f9&0ZNv>Q~^$ZNJ|S@ukKm!HT;ac#WH(Auy}bXjF4tx%MxIWMbNVOhw!c?GwD+&3cbM#xN6-o5c2cQA`QE><_P&T6k zeCq0-f=>E<$`A-}z!u^Q+J}n2S*tEx?SA?RReZpGo5`1m3xVXOIEIjfy>*wp5;xPE z&*1b-dXqJsAlH4l@Kew}DJ)GA+`@XC=kW1N*W|R9E5%BCI{uq+*EupARlHvl{yB0lpELpQ}w5 zZjt^kF9PAe_rc*lt59J05i3+7_g9y_PNCb6y;B5mZ_YTcrNfL5>S3{_O95zv2vLZu z^7`((Lt&hY*n~LLcg3RPb0ccj49P>vk5eAu)&w+<37@yJh9UOqMks?eU35%Ic6vo5 z6uJt1zPxao07a1nc-Zd#;6DG}{_^~fx@Bn0v-4&`h|Cnc0e;EC(~Z_11R%(eH#%%OA0L~sPpE$sj<7oA6?+MM4EcNEveHIIi`|6C zP%XYi7u4|foDIF*g1+7Bs9#^Y5j7FofLgTE{c;d;R+c!yz5xYQvD87qvL8StcS)FV ze`8EtsOZnSYIT`-eO=)vWc-ATMugFTzGFbDVzWiJ`L;p@=9){ zaz2NohfnxPh7nL=JiuTuE12#0-?^O07&n&c2{}M+3?#i@0;TN(_@NyBz4Qr-A z0*zFh#=-jPwZp%cn*9Xh|++X z+j1391O5G6>M7FSA~d7kjt0ffpMfwVCB3j>X6tP?vIIAnW;j*^{^|Q(t-JNz{|uJw zztMGJL}2&SEng%oUEPb5jvDyQ3qCX2*iYB<%qd=GP>IhG-q_zo2^dLa13$B5)Cyl? z@-OQ8VNp4|x5}2bee7|xbQ>L`-pywDg=Ov$H@o;u!8dkzZmUiub6K5WcWD$;pJ>Y~ zzHE{u|K(;(z5u-aX!lgI9f04LRI{Z+QE!V#`$nOi4ud`J;~qTIc?^YL^Z2K0+0(`X zb|%dk`1c~?v#9hYAg`$$OesCRq>^9%GHj zS7zl-5l(+>h!I0TXqr?&`3^R5#6Dx8v`fthMC0_1K54-`n5$H)*VIpM@>>%r^zMq@{wO zy$?#~1vG&bhj&iv_q>*fFw4{gwRLKl?O3&DED8q)j1Fc25RTZpU`$@sTM;~@evDPY z@%_D3-oF=s7lW;-bh6t+-zx(7|>zFX^ z<14IjvaUqX`*NlylHbpVV6aCn2TbUOT5G{YtGP06+hD@M)RZ1e1l0 zy!i?A1SJYhe)~Lan*r=*0lVS$ogE3XEl=0Q)DXn02~Z@zwsG6jD>W5#gr=yy!WYV% z0AJ2++J9B;AN~l9k?Gn!iqk)a1`z5^jK_CRW|G>FzI-BuV=(G#eVJPs;6Ml#KtQC) zonbgNZ7bq&tkroR8S!BPi-8k%Fb(}t*R$eOH|dH7uqet7pruAxX`7-4_-GB&OasTM zF}d9j#;UxjJq4J?UD%#DDItaYM4g~am3g~4z>e7eo908#)X!@)@UK?9? zem4xE%0v-M`hRsv+VeE=pY|#^l^Paa`h~>egK_2vc+wq_Z`}s?&VU53HH}cIuXrXd zy=lA!;=;aXj1T`JN3`Lzd_W7gPX=ikFJb18H-88sHZ~T`lw8~I+1KaZ8$xg%XsLAY zos+B<+;C|$rRU?L)#AgxFyu2evcYC}#B-cs%d>>r;_mB)h;G=X&l&hqM&hw3M}KsL zVL_W>G1r^S5`84x0K509m(%qX-Ay5b6`Bt}va4KDFb6z+6~&rIhUf*ofO{3k#i%mT zhB>%vKdMztvCIiN!4?MK5PE-eJ}Tn?Q{q2?3o933vsQISZI<*0hWa~$Z^ed6;#qCm z@vTehD&<1qR73Y)%I3226fZ%_HPX-9bH=j%W6J4=A^qk9>g<;warv6M!pp&x6QMtU z?#%=bw-YwGfe1PKVsJQi_^|WD(XSr^;s|>DyLq8@R%TN`n@U4xN+)F~9`1l5+IVvsghVh(Md<%KTon3t?TgoIB z%Z(5EDhZ@l-PaYUdY%A*sS*d7aE3uo5kQHp$zi-cTAxfp1VAomx37sl&9H|zDdsjx zlhZ&B^^szqvtxrLt35MATSeZ?Ia{mc%v#@1un+Hhb`o8}5(hXb#zQN!xOietc`aPi z+H~-Uk%DuY4B+!^v>D;VnT?neb{aomiA~<26&nDK*Hys$^UOSUBasW&Bi1M)lA6BX zKn$9fq?=gcJHjmLf1&69$HWdB`Vk4kDjRyyEbfI(&+IGc*AZeqkKB%xdPo|%eL)K0 z0ch%P6u3qecKfAuki+S+TeXhil-?AwW1>FZVI24kSZZ3uztH*lfqw&i2;Lpl2!DAY zlm;oHIVloS>0ZY9>WZ-e)`On7p*sZ)Lj&KHP^GrLUQ2-M20_7;8(Ew=8EG_C2Q-H5 zUn!Z!wukqooDC<_<0y_sdtu5#kMBJ1C7ja1Yc1MTbKjQC{fFIs80wtQ+DTqta)5=e z2J1mV7E7@GYdsI_j#fJJdy8rqQjbs>E?OuQ|3(@NQ-8 zcU{6LdI^X>URcXmw_uLYX%3Tu6KR=SmEsTAMCpz(_lLe^Vt0H81xI=KY?mOSktlYv zC1+656$IG*n9ET&8NY1*$4}WZ4wvPJSN*3;xMFN7yy)T0fUiQ{yFor(121`9R-G)`y_iPPuk_b|zt6J?0QEA~hxxf=;mgrR8{`~Y z-S;%|f2d(}Mr8>z6Gy4?695Mcd~tDW!~Qy%07zbwl$9Mak>2vVGow|z*4H5QW^Ig0 z{d7yN2I99rDEs|OHa}q2u~U~{Goa;IvY^;904+U_B5Ifq;2UmwZ9Khub`ls*yq)-i zT;KW<@~paNO;Bf47=-L|LyC&=HR=G-mFrcLC0ZTU+p2SO&scvt4~utY-9Iic*geYL zGk>KU($=`nV0wkV&m=8l1*aXs6{T!e4$aYyik4|cD8xtoh#JpkoPEKu4*avUxTc#g zMU-Y3MB>DhcGQm1`(4{iS1jC2S@8xpCnWdz}A54}K7R!YH1CNC8F5w7frCANNMJ01G+nt;*PEI2vg;?>N53qB%Kn;1}pgb_4>PF&zo5o<7J(sS(#|k(bqe>=}@|7SB z>`QHQAoYd;haGj~is>O0%FrT5^OM5O+doVEh+$j|RYMu_nJ;_Fm=5=zjYfu@@w`!m z>4lZ|)1k&G{G~;8W#j3;hEcp5@g|>-n>Mo|1OMDe6d04|n;L!B%<+&=TkBk4enBUTOHc+&nn|Y_Jr9{MS{jStb4;LM~y+JZ!13Y=fd5O zU-bj!WC$D?<6AwYe6}SWYn7COPsw%9(q0tRQxo-?+YZLq z5tlAkdg(G~p0oYlsa47>$|l%q$2SC}I|zd`xC{*@TP_-Wrd8i&Er8XwcyBrGgpyNy40Y9J{-)9i2Wk%)i{OP1;)L z8G=9+ePL63g+i-NfQI=fG&UmTy#}{xYX`2HZpbV;;+HJO#Tw_gbjA8~RUd^pdx?jMCq>ks$c#>X~pE)`oz z{GlIRW1(qZ;S2-&cc*%)a&kGD0pHg6F&u^97mg}u60K2{52lQilek;XKni2=TxR9& z?YoR7R_kSEj*eR#e!;a3Tqpx{^EpHhL(6w^W7`3ab+md`>k&=PO1I+&o)H-=WwY04}?jRBHT zp5XWGyB0n0-~uS~HzN{#qcHh4pinc4FRxF6e*l;m^4c~V7BM2SC%%lF1iinlBTrHF zB`HMCkIzR=BTb8S>b|efT|8}A63bpwwrL^#TgvpfsL&GA7ob+vKo1e!`m;pc_xvy? zg-oRKYGP`~Aum^`64j<#d*$@FoUkQ8jp4H+x_yU@`B&9#gysMk{xzW1c%)a%ZFhJ# zUm8HeVH}}WQ<(Am9UqW5voM!ph5p<7F(V)`=$JEuhJ2#E97Wi0WUb&ORd{IOn`r)|o zS;k?;0&%62TsR6xus)6_KO2&50EzT1yd>}?9Om7U*H)S;K@BVebn zzs;xy84A&OfUqQfG1C~rE(go~(P%CP0JcTFEP(Ox+vsKJ{ru+ONE(+O8bZ>IH6$7p zs_(pv8C4dUcBa#~=NZQh6tre^3KV0tYB+P*@tP+!cdZ%@TNd}0jadn=MH-oaXln|7 z#0j_};mBl00EG#BFpcS^-AD>N;NY7@Tc9Ni<@zfXyY5cN4{X3YSP+xy11y@V-EK|# zd?>Mv1-aWPk(w38mSbP~xqGj4)v0@5&~C)9&HQI^0H_>YAmXIPRJxrx69gzYRisOg5(4|n<)xXW$s_zM(wJL-Lj zTJTgeX3`LnY<-nP&KK~t!O;LfRLd2~==<3}2dP!cWtNar+YJdY?wGRY=#sj1Sr84{ z<7|)cCrRhLcD>fN;Jtx5?V1J$azwdEhsK+JD!7H1x(~$*P3K8H&*%wtBZcDQ&v%(k z$p-R)%^xlo+PfASx`=@~r&iw;8(LXqgbe~kD1GE0HD{m}pn2c3LqCeJhYvCStYbu& z#`hquC_xl}X}83;4|l?~+g|jwtBrW-)WDP&012n!KVh0*&h|(%A3{&W)9zH>uFTrR zGkxDM$QW8) zpb@3eBu(_FJxEsudMs7c1p|TeYt9*69Y=SzyM!*FdacKKxdUD2X3ue8!sE#4Yy5`SW?^oTu{w{i+a( z-$Mc-~RgILCFfJ#JW2KTs@rg zVAS9s^f(bl23qwd52v_!E?P+|Enb5ng}pTgT|P9h3yqHoX$be@bgxbHDlp#vZ?)YZ* zw$4wYA=HnD4mU!ma}6;9-`0yH3I|J)#3I)XTHb=C9&Y1hdHB!RcU=QWLxh!Ld0 z$1M`EhpGyb2JgHD7L+0*u$8A!QWhV*u}SG1385Uk6$brpS+~@?<;yLI5H*sItAn!w zrx_g~_ee|9d5g^!NQ4HmMY(@pT-sW~*LdGkcB*I)x{n+FzH(M=FguO; zyY2~h^sA}fnnEXdoUmc>9qybMQ5aWtg={m6uMYZV9n`)G>rSSu?Hw7$Co4YManQAU zm~Q4#?2it3AGg=zpl>T~^r}u9aLmj}l^*ahZp6tCQfp`c-8NBAafKt5HEsp1!biwK z(Lt?+vAH)2F`Q`B1Y-)Rpm!N6&GnV=OEL}bAJcDm`XdEhcm*#NJ#Lfh^?K^)6Cz*8g)6h zO38~eeB?Ju2e^9(1*>QSioQ2^*~UB?W-WK_l%08EfVD!PgSTzY{(4}}hxwJ})1LMd z<0utXq#xEUdwU<+{5PV~$9BpU$C+qlg=fXSSmC5ktXqCsiKyC778){E(+t4no{fBE zzIJ#sI^nfwO1=I9Y6O3@A9P)?%nyi9`SM`Q($3>gCg|jgFdAcgwO3GK^Uz0)4hCst z0Ir&^|Nf)YF(#C<{>Wx`u!9L)%)Bcen%qZxr-Cqsbaor%qhT7k|MHK&ielTL3zV^X zL9&nL?>cdvMW1J!tyLf$)$@s)3b`3k@<*Qn1^{~ru740l?xh<-2XN>U@%+9+=)pWi z2CK)7jph-u&oRv0iZ}i2oxs&K3SIM>!zRg+%*)_$K81`*9A?U%B~k*o$%mhGL|o5|I06n1N9ZSh2lpyf1EQYq?gvwQ6@v;Vg}F z?bwma@dIaf6c_ZVpfK96(J8DGcb@4O!3+)G_r>zhjZD12U#6nP3(vb?4E}lrt`FMt~Iq%Y)cG=g)_>A3ROhUKFmB5smn4d(_Rh-?;-h*W3oLwrlgv zz|i%NYtBKrE~{^3o8x>cMRguLLjCrVIRsEEG46Z->_1snvcU3L@8X(V!=S9Ks0B?d z5nux@82JEUL16)T#9svF- z4L6b6500zPQq&Zha~WPW8=&-AbdHNcAGhfStDMiV8DD1l)YSU#3i zylMXh!1EFAbJBZD3yl7aGpXnj)Iks6lN8N6?kk%!7ItELN_tL)zru!WNv5>$!L_a} zS)(clzE0V+6zSF|yotCrfNx&`n#ucoz7(dh>mQ0_@jGV^S4J}$H5j8}x0H1)a(&@B z{tGU)T0pBZO1;HfFk zV1U{+D`xV$6_QkfZ2D!A@~2tETNhPm_OlkxIgA~-fDpF9ubm9#d?!i`j}e!Jx*aI< ztWxM#40-3aitzju&7u>&^q^vLxxxD-Kv+%-h;MY9n9*?r*26Z|X^8u)u2)TZHCjGOVyrusY z^YV%*kn)6LD=v1wXuDh9C^*pH3s$0R&w1$r%7Ql2f0B^VSk&1VTunU%<%J%scC|*?lgN z?Y2tx8R^!mW-5PoPLbj|<;qQhz%=G@kYa!qJWYa(@RvgY0WzJZ5VVz_5}{!V@I0+Q z9pom~;v?Tb-RWWU4dYxV85-1Q#DT!;v(PSqgG-)#*G^8)gz3Dz(66~XwSQ*@FDiP` zdd&xW-xEGSdwI(V6H^i$3FJBW#v$s}Rvm0Mi$MuSrWV4_Vp2(ziX2Q6fXZg+B{<2@ zxB$-8-|kTd%gmLf?BUdzZrE_Yh31y$CGr{ojey5qC<&KIfFjY5)g zJA5jgf*36Ir@lTSitN0=eK*w`8-38OCGg?IIO@VvdM$f@kDo)FjU`kMn@tTk5 z{3T1X`R9zIrMWdCi=yo?K-fFxB#ETlPLiT~xuVP$AA?n>f6e&j(HRneji(gb2Oaj2 z*FLk}0uy8trtfpx(TEG@nICrB=m*u!vM!YL3a8V@yt~+gx9UemtGc=F^q4Fx+yMXX z6>(So^7UU`Y9TivG-C#P!UY%1EUsz`9my4aOn;YeBaO8ys7lYnb>67cxs-ybVl|L*s9K>9et`h!BiK*qPvZ1zJMPuT z!(lPk!s)gVPo!~Int~L%n;_T8J%0GdO<7*Syu$qhC+OYwe(mjhg7Shca&*7Tw)?&9 z@pTC!t5N=!3duVSdkWN0FC6@~<&Bq*jqdAMZa)9q12oo1Dn=z1x%hX99wdN??0x9^ zKU=L*N>6%JV}5?IE$*h~5Z)JI0HxqPe8Z3KOZkZQiQ$3=qxGa(+q(^R3KF z@c#A3|1Y)vzrXH2c!;vc>D`N3~3nNqd&j~?$brH7;4MinL-P$=zYUd48I4G{E-TtqFxE$GJu}dK#%U1Ubgpa2Eg?V zuSw81pAu?QNCnf$&vbUlcbeMkO^88-`H7&%{04SvOWYNU;*qk@vgnuFH;T&}(%$jT zXJerd$x+OXDG-pw(vS<=I?^}ZFR`%uBGcQ_96>SQLPu&1U~2vW5Z$}k>R5&;O z2^;(!K2qoC-ksRzNaiSlp()p#!5>A>)^9Nj!eY7u1;&Ha{xZO%LDSiTeQ^Hv7W&_` zxV_bE!_gC*?(`RkKMC1w&`<)SGjOZiWUq=JbnEB@8 zOa6A(?SOb=#k#@CA$sFC!{89cd40+`#7ljJ7+<1mn2hgl17}*S&fOcdC&kt2x@TS&))rwE^~IlK8SaV~mxv8bhzy#NP!Q zNnfgOdBhDSl4=TU*&1PInm zgdX1KW>fVSKBxsxl!+0F_cvLk5^KS4?P$Gyh~xiR-&Dh?Zw8fSowu2`X^G9K zQR^9n1j#?mGbE;OSh-W+xxs&4ERK_6SJcsL>n*AaC6K~r7{?v{DXT@`W$I1NF_m(D z36$=6kDmOz(wt|vBd;9!iXjm5GP(@8NT5c9)le>K%0{5>FZ!fMCAaF}U6l^WPs)CPbFvN8F^f9;?b6u0P;eY#x)hoo9*uun zRz-LC{<#l%BICzOA%eiXJL%u4JI&giEt&JO5 z2MrMWfij|G8Ne_XcgJbWnphFDKhw8&!`rS;EA!3zCC8wUJ4o~M;0I$LI4+4S{gqE) z=ZvzU5x5GpQ?tnc3r>dV`{Yu#uCZSu{GSg?B!p%x4p0R9BOA^_#Cr^1ZsmdotS*ge zJrRB2hHF`t9KJaJS^kcuHcG_*M8l2LICyBaxt2aM4lMvZ^T7w-;uGIptzra5u0`lf z*@45sN_3kVrB|%MvaNw3c3}1V4}jBlrw~W;d#0x~gTje5?T_GZReaJLc6Iop65$5_ zK$fL!jfT8W14&|n(bm~Xf0P!_v32h2yY9pC@)(k@fM2bc6G;P=ASlSs+@tAS!UagD9#kui*c-EDd7+ zZ3CH=srLXC)*^QEeI$!{QnPCZ`~K=-}Db3EZyDRC?F*rONSsJ(v7rqH@gy2 zN~bh}h;)NANT(p(4bt7a_xe4rKYsV|5cV}Y^RAf>3LfqIC}}ULAx90e&=73s<~cn& zc1#TPBtYjbSL*6nu$;fbrc^5(I9&-JX~6^u<#);{I3^bte7SOy@C;hc_}*>MyxBD= zwj8;R@Dz*9HgA?zKS$Nvw%R!u{mIAN-18ugZ>Bu9jxAwYjHq|6Pyu={fjpFp+J5uVdrY@jB32;J9r@CSQk8Wul-}Lg{>`&%H=$jpgw$KvtUG7n zG0{z~4ACwVH>G6LSNm(c8d$s~B+?r(4y$rRj_``?3E?U_G^K{_uI$w?Ts>npR7@N) zHz2R~?t>4!>m=~DE4SI2h%65I+wddSB6@|^Ev5(y%f>eWqKJ_pNe@&_bJ@KqMOX}u zl=bq#kk_KAYSz@7wd~vubEjFqytd7gZOPgr%kYNr{s`%0BnG6;GdXk%$59sT_YM|$ z{vewjC4p)~8I1VP2faO`E&)$^{danI$+Z2IG*y4#E7~nsl$%O@3j;jHR37XWQw_q> zn$F!7#W{r5MIpSu6z1XRLwu8Z&RRkbs|C0}ot`C*H}Czzi%ab<&PD2QF~2)1-~egS zP6jf17-(*y^L?}nsJkg40xTkPdTY>ghh+@-SNv@OgOV?y>asY3!eH z@%WedLc5G)o1oK)9hZ;z%a4`>i_rXD){mwnj%@a`pCfH2OekFQ#rwP4%^p_ZVmp3g z@X^noerKKXEWDC)$HE+&#b}xNijFVcyim+vAOEQL0&KX({wqkxs1$i)Zpfdl0Bk#S zpUaP^D~-fdh7F~@O6aE2j)nIMfi-V)PD|nGVYfXGW?nY1rK9sPyqS1HUmy7e+LR^E z*6&rKO^i2K41}wp*SngONa$GBfWKG(kDKD5yYD{#yFs+f$hUe4lqDl!3PfBwEczi< z3N&GwW+G@QFt_yVvNgXgT1xPSwjDy7%)|3>yx+@Qdkwy4keEAi&_}4qZ(JSCGct}4 zys)Ohs15x+9nxQaPi+-!qWgg_ZRdgpEwf|&YFSqaYvjHVa#FQAAMHLRZ-Y4+3wXk} zCIV5_`NdZ#t{ZdC>2p4JdO(f5jc;`v4- zHrHTsk3?-Qc`}v-82Eh%y+1)1vFpa(n{*S34@LxP>IkGI~vHMej} zV3eH(qp|S8YYe%#Ofg-@EHaC-fQ2rAtR8O4)m*g;%xGF49Cd#)TU4T+f!om98`2+g zM){Yq#~sTv&5zRnpj`fZNz$rOR6uu0FHGXwy{~(Qfqm*FqY+FbWHil$u?DU|yNd26 zR`x0I&$H13fP*cZ)L84~6xSbZvCz(Ps<4~TL_p~$AY#5u$kQ_rmPoa6ZUhv?_^EM}=a zkAK8~e<-ST!yFYLD+P&YH-Ak#deLz&bmsf+Z?F0RM9&7^66+0AUBhE!;!*SD0kk*3 z4@F*Xd6-f;TiIgkYb!Xt=;_O?<9%aR7*`)|wGtgHLKyz?KWvtT`~8hqs$U27h#K7V zE3@j^H^+?ebVw~H>N;8%{*YQnmfYCPqA?NzgT)QNAl|btGKz`@Ap5{tRQSCg7KpDu z`e7j-HK@cr=+8V{3y|LGAi2iOl4FVg?4_o0C7e{g_Qm*?{0EdJ!~AqD*sHA)EphB`DI-vq41C zY8h2;fH!}j`@{k9znW-b+eC1QGyPJpDj{}Vq|(hu+Leni0hbWrr~A;;JYByRAFaR3 z$4sM48tn7a*UUKbUF4Qthm@!)61e8^PpF-*+8lF76(xI1ZjvtG?Ksg3aK%)2oIe>q z{y9e&i@*NV5+qlAd~GD$b-aw7F`*LlBa^dJeC2$H$7#cC1HG(tmXlt63&t?}LcTAt z1>iu~9PhUULvS*)MMK;eG;Clotnrqr%+B)aiQW?Szj3)dfIJ)r&8s~|RY<;fl%lp< z%)mjuskbO{DdKvBVnB1LO&Bsjr%JPnMPwunh)kj~(5s4g)8u#lqWK&p^aexQQ4#me&oR~JFy;a|KLS|(h0q&RxzgMcl>a1C_V1cc}3$O+>BDF!)v|o zahCqwunRHt_6{L6=d?8Qu`+hhL1uQhgM`D2_ZohHDmvN+5Okjh8jkpS=Mk<@2eaFp zJ{W%k5_&(9?-_M;d;ajuk(2HOMh@v1^;&N9NIKNZ@NdSDPExPF0bYN09E~DwKcv2q*-!IBKN<-3&0lP365by?sfDz^f z&!FB}Nf>!1eKi9x5#wkp3gX?^Sf%H&nAze(VJS=iQ`ZJBiSC>d`%U+C>5B+2>XTm= ze#SHbN^p*Q$M;rp?oKI(PeUdUx7B|7$22_+?sHWC0pCy(t@=~_s7K0ps_akPVq>KN3e&ZJMLCuY6kw;*9c*|N(E?##Gnfn{TVw6& z$oenZj^cYL^{qQMUoH)MW7m3}DZ44zh@cNDv3n5KsLP7hVT`#M?3C?LI5A^t4x2!Y&VGev$JGc$)Bh<^&M&Bo}rYX<8-CS4#6~P4-n0+ zm(DYZ-@-aj*k+s}v=ErS-InpR=UusO%F{_H%tZWQu3b{eJ1`^u64N4gZ_3a4Nn;DX zHW5Dn%au4yXEBvFlUF+#hH+SwBEEYhj!S3+x@^C08KV%QSGHNgbQCrQ zA;7^1O|m}DuMq>z@e`}lf8{x*T z8v4SF5XwQrPoBX^k23^yc=vpOxBrJnp>#NoN!_^0#BJ z+CXd$K21|P=$b3XpUrO%i+ud>dTgjuV?Yn8_$$e!`ETwgMcwbjxEb|_7o>=Qrh+5Y zAOkdpNDv>Lo!|ihx7r4~kTk0VD)y*gRnvJ)iRg=35R?>p10S(;dG$6}fo~Iha?wPF zy4I^*8XJAKUSc^O&95a7i^xxSszfj?ZUi`fhZ*1b8LiBoOdrR1g# zytMp-7+A}v-j=+S!LEJ%>FgB}^lQx{E%RnBorxTY`H9}Pyv!^+a*x4h+j%%k0XieV zuo;zu0u*;4+?wus09?TZ_g4H$zAzG2+CBf9(AD=o7Yy_8S`fV`0 zzh(K?mHI?3k$d43Aa0E`3{wp ztDlvzS8j)>i7Z`DLT(UhS5eOw^5*?Mz6Sx|`o62D+!?QZFIm5qr;a^=0!sbbW3Q%Q zDs{T-5JR}RE=bx2_V7cul#@(JVZ#yNh&Y~V9tz$<SEHD; zv`-9Xw5*4J0%ftE5DW2{&ly=0&2xrAuHNm3$)G55;+X&KwY7L^sIRg)qGsp~`1o9S z|04slq6kS1vzt|*xYWZzEcm$v!pyHAVB;LJS#Dj;AagDGxfni<@nCvq5K%2F3Q#wJ z5$~uGI@sQ%xxF$tZt-Nkm}i3gc;fVIuUwF-FkzGUtydVuKClppVdQx8XoFF#K?nU^ zPi=1HiSjq8k3K?S7`R-8#iD~pz{8NKR3zVRruF?cu2BJ_da3F*9BHCii_MwEJZ z@g^=`w?dSB1PVoKTNLcg z{!YBTlgD^S|2rjv0WfXkDqu8mhy3xC@-vvE|IL2a#ia6Mj$o_jW_jt-rFn z@;t6v=_Ufxe(^4VrQzh37WsLs6%3#ihgo3e=OjfwvZIdVq??nQiQz(2^d9eN?|kLj=$_*%au zTckn52KfsspuN*kw%>>H#vDB|do9{mr3fUQ$g51m@?14u8B_y1p{IgY{Y3g(44C?U zU=x-UR)DXUKz!Tk6KW922NB`)GuXx8eMC_sYXLalQJhR6Xs%@}2^+YK)ju+Vu#uyn z$ZYrjBG=6*I06Avq~?pU;tFju#dN`n)AlJDhRJs)rRL>a7n^fXC-Ob1>=G%HpZ5cZ zIE)#O&U4NERWw`mEU3RpB7Et#@j|OB$bYQ3{eIRZrxjriKC;207S%Su2&hq#jYGB1 zz%`N`7M{VkM^E>$PnNd3iFFA77E=`0o*c-rzQ|VPJqfY?b?)&%Jxu6+v=!_^S^b&t&a8yYt}IDNG>EC>VZ|Lm84AilB?X zk+qaaTtBq-=`BiDnjjTkDsP*R3$SKbVjw&2toVJXmuxTGOPyKe{2633&r`lAbsx`6 ztNHy9;aFYr9e_@U zqD*T<&q|H)a6xYwt zQmL^zxXWtiTSVka_{cu@nNbiP;Jf7S4k$C}(d>#iztW3!99i3ntDse~(}bw>bL#YW zw<>NkBQ6q<&9d))&bb~G$p!ttou+er_#j~3nHEi=ME&$~&{A=yV;^8Z1#))hklvA7 z&BI?ZSc%Og4v2LzsaCN@hUk_eQS-Ebc5Hwg-`f*6iut!k9Nj%}uuUT{+P_*Pv&Ck5 z5M&=y(WEG;~SKO>N~6TEPd{4cXEIjGgz^sVs>=)Wg)}b=*fL( z@T}KrUerElJ$DH4gOE(5ljJ%IvZJaPm&|-RglJ#@VHnbwfK^^k>NQ`&Hwkj2NGX%l ztNcW%Kb8GI%En_4%p$D#I%9YwK$tw%dc6hna3J7cF%htHgkMVa%{#HRSQ5?N3z|zE z&fkq|9z7uZ**o0ROJ+FA8=9ySnHPX@GcZB-EM~~7^Sj>agKxQVR!5j`hQPa8|2b{V zWw$eKe63@dM5Ygfo0Eyh6ztz(J8%0a)8~8zMsoZ~(E4TuEcen2Bdy@|oWQEcxt#Az z@OYv*SzD*&h)RYdDL*-oYWrkc0lW{$Xf9WQD4`TukD9WN@73Y~`tT2e)az7-<8+Wm)Te#puUIPsfFc#z%_;mzHdgW_{JD$4$IV1Hd>%bWW@!68R zS(>^!EE5FG#sn;~ce4D?!tnfuk>7VB46?eb^VxMMn)%-~Bn(wj8k`NQF|S23C0v># zpqlolx+~M6bqW!n6d@6%@Oecf`qx?}+kl*3KIgIUxuB7 zv+Lly*?0h#55VAXo1cJNP&ocUQo|<0kY7K>s(6>$I@qei`JkSRQ5h1!^@@~r-1?)W zhIOv`3|xCMBE&|JL|$PGPy{P|GX{(ao5XI;7KVl*i@wyBuylXN>^#Ud1|}&~ zcY%W8e^1gcXPl;HL%^GJ1!qJXQ30ggE=<>4cPaj# zl8NpsUGaurCF3+KdAAF5^Dn&mz!|ba`Al;FruX~}mQ=I%yIDM$p9HVt-G}y&e-Mtm z&B#__k)aU`2h97ggu6y4p-(LxNN*%24pzVqd*GF;)qfGG?hQwazSBkG$FUE$t02++ z)z`mRRRRyudC|m%Rg0v2g4_3F{xBl@3B4HZjWKR@n@}8gr;Q!*@*fCCB5J2! zQJ2ZY8-_RRx=COYQ#UhBOi`-}D zW|8;rGM?xyR)gnLW-%vk!?Vr0Vur>mURG3yeZy@fjnd#L9vMUd@L@;Uw$1^&X%Nf^ zUHZ*?eB0gpr1jwY-{YNEjqSuU&U0uy5)UlDL@Jawh*-KY0rKOhlLKI0e`gyQ(?h8u z;(te*FdaJkQ)w3zr}Mr8>KbqP^eV+0o`Rcy zJDIzcgejHl+ZB!%yuU*IA)<`6zrb@XGlYmFgRlFkq96>G{J z{VVnoX%Urm{mHk2zf8na>-4D-&3g~<`gOK+br5-ZozZrBY3yRXqF3Yj_tP8z#j!Q> zY$=oZP#0MoKo71s+b!7|;fSGGh|XX*v=+!TH(}Q&LS@0l7~158 zP??{sh%Qx3F4CJL$l|{elj!`^Uo-&kl|mOi>k!%RnDJ#*5X!BO-%$Y-8=7o37(TqC zh}h<SElTlSA^Dp)<6dTZDkk=3XvjCqb@+H<5V-8%-v@CB;JKoo$Jm05R* z-m|>;%TF!cxhS5}mUkp(t$IoY8jFt86QhVgTHo$!5ufV^otS@>Ffle(;6#bvF#mOIxV zjnS*2clNG=9O`ekjW@Sm0C~p10FpEY@WVpm;TPY6y?)T%AW|p(J!-;oce89{|FoMI zCa@2)Nd;A5nl{hlTHhX=lc?|HF|Xou^Vg99KSH;2uA^pm|8LFWzaclIh*f#Q%Jf?= z3HdO*IcbPY-w2ud8ZH7lPk!nk1xOOCu|Re6aQ4JUmwNeY_(yJ|{Q0s@*s_@%D6dh5 zc_S$%l{B{+24t!!B?Yz-D4M! z5%CGttJ0J{68QGk17G>&rjVo+PTX&pQu@Kq%4xxUQCpKih@p^EJ1ru~W=nS`q|K>= z@z|!!jCaf=7J<_ixV1V2)!CltsumdQg=6wO&cHe&F$lx7~s{ zEB#9tQ84*)WN9YgK1Ul%x(T79{zx07TOvU>{-T#eGKL}Uc&@xwF<`D{iO)nd_%aFw zJMXt^!eO58G78N~J)+;OCQKKPq5#Iz)_P#7@uM4fA4K%h_Ehea0a05x!g#ugWWXxTml0kJX~y({13$Jufv6LzSe1gQ&=^X0RmJ4=6oY8 z)rrdkL=5bLAl0Yy*8-o2d)=b&SgyxwhL-(~Uf6-f0o2{zk`Zrp3xhC{<AIqPjG za-W!zdP}}zewE+xZ#{x7)+5@3yjXi|2&hXVsKGQP3O{(8QZlg#Ig`3B$l=-C2|{jT zb!Vmf|B?QA^TSwEA)}TvcNwxQ5qF8lW)4E(Pjb9baohht<;i$L9mX^3$G69KU}p2cu6)0naUUiU ziwz28`9vd3>n#dinW%K@T6s(Fs#WeVF#9tKwBmJQ216ejBPiM{DOU086V9xhwtYq{ z8E)9Y`=B!qS9Xl{FZXLmt-SZ_w{i69Je-nAyJXa(|B+F4?@4rJ60}Uq8)MNgIsPQj zZZ?Jq8JL3m!3qi$X;!9xNAw;_9iQiJiyl<2?$3FjpAycwi*|Mn*rZETfjyX&>#zZq zN%a(!hgba{E}kR1Ry45)yc6X}>?XazwC=iB4neKPCrpG}s1niGs<&bweprU4w?YxhmzvL zEp^rD0FCEfZ5OvEC_x;=SCuGPIo>luGRQA-DT!Q)@zUk- zk3{Z@G3eiZ z0x8ay0!i2p$;q^Pm1+hLR7(qfsJ$Iyxv$X$%Nmsym~$S3(YkMl7qG5pVUw}{xA>E zSnKLhsbtGQz*fH?6t|Rj^b}WyUY-5d`=URu_oE-#Wz3ic;Hh;T-0Rc4=&rYsSXxw= zt#^!qCP;Hnae>#P@IOZKIikir_neD zV^BA)qRBBYn*W`cHMd&c0iE%TRU@M^0xL}?57Y3v8+ZtPD6+XlHHOxti8VRPFg;Gp zRd?HvA6eK8Wl~*}x?Aw>1MkXzvC+-L;p2Vw~Sk87JXA>Rk&z4Z%x2DfO zIdmngV|9K_qG)Ww=4C+{mpaEt9%4;-q92gbYEil4*G-ONbz-)verflp@TBv1E9i@X zWp>4Da6IMAlU$JG5iz)(N)@=oar;D@{d-LN8ROkg5@hM?!1_(cit(=BT{+kDC?W-EeyC>#5;!b z%R{zN3>S{04dT5%eW&7&k1v!~|Uv_R%5ooIxNpXHLb~Accg@0}0z6G)YUJVU8|Gwwa zgfsK))hmV?xZg3bCQ7GWibo@U*;@A~JODX5-TWbCYV&zPYFU1!IA#Q{Z5`zxO#f_; zSt*xWyy7F};Z!cu{Kxsl_3Vu^lJ2NpgH>f`JC`c z#O%tQDa&`^o`fg#Um~F>5tFFWVn`D{#j7$*z&Cjy4Qqt@e0v~L5S(lKY(peXTsfrK z*ICjnw@#Tiltqd5Bu${-N2bIbRsM=(Qri|TmwLuSixgb}EV+RrZST{{v7x>1;#K1A zrgLH}qATsu0TUmx5w(|Jh03!t+xV*o*1i^xXB%yH7xu~52gyFl;{j1T#z2AcPk`We z%WjF%+Fw1FkTWm6obn=9Y1 zZj!g~Q~&|O1*wI@L~}1CR8s9C};{lVdIr(puKMAMfbP}9)GybP923c z{+}%AHM8CJBC6l$k7YvfiQ?nI2wZ)`tOGp2(tL8RWk2Ci-`CCY<#U#S%5iZJ=J1SY z#iqBwhz=!OU`S_nU3sg<-S4z5xs8$kwkf)+wtyIFx>|RHhw}yLFyL4^wOqlwJa}zL z;pV{9RAWI_7Nx&8@p-1z-{GRKaU@racl3hc1m?bh=rsO(A(n5Gee1$X7u*FBgq6V%;2RaNIRKdyHU-3eL;$|v9dunGJ)Xx92Ow&1ec<)K$;Y_`ukxm z+YcTE5~7@dxxS?_?K`fkyF(9}PmT&K-CE>v)GrVY+j;(Uaz<6e_0dPpiVjeNBZPCL z!CNK9l7K$pGgj!B7JwIc+XJaOiCeQ><3NBWv>Ek#;&aX~*6@&~70*0V^plIjw!rGG z%wBiiMJcv2=kFv~QGf(T0!ALGY_oBQ;@8-qA#BYb#%R;-AnXLT$czfjgl3S)4rUw&2*;Vv3R#Lc=5 z5crGaBwMPOh%X^RvX>x9pDv5EFQHr3KMH>k!F|SK&7a1+5X&nHZx|kRW;(w1l<#)Q(&n&Jw00PL~H zA4T>@$8a7l@F7q1tKL}uGfT)4=aaJYrnV)Y?Bux?YhjrD7ZA6NRhCEMgf^blq($vg zR`Spy^yH8zFC4>NN{#M z1B3V}zD$FJjgg=<;q5pnu#=C~QLn3Ze-UrA^djbA*s6HE5TQ02;DU5UZn*+3-uSo0U8=9$-`i%~S^j#(4%2^#{q zS^S4T6J@0@VIS~x;8X-nx2z$a!^pV;8_a-@RIfB7d{CRn%Yd~+(n% zl9Xq-Q#-dVKO%jm_;vHZjUV0haxF$AW0*Sx^{%pfdGGfiyB`@*;ZKi9UV@B}t$sBY zH7v||RQBqs(U<}Zn*k!EPUE%Pq@M`OG=SiZx8-1juG~-HF!--U)8YL|$W^8(_7rvtBS#A9 zo5}FU*$5$27Nc88oi)Hk7V7BZ(QO8I_z5Ceut~Mev-Yyj9>WpDj@gd44I)0;K?M1? z00vsk_$_W!rp1TLlBuc}U%EBaqzA?EuB>oP1D+qyTT$&$J|He`57}Xj!Wi%<`j$2WmtaJP>RWB-I547p>R-F8ZX@VT zG4)v{eq)Zv09aIW=%1YQ_FaV84?|wVd={SKNcdq>bvw!%U~{*TtmikpV?E+{mZyvQ}M_R~p)6%SI)k5m+bk zL`Wz|b+3j{*Dhb;;7?LC)QKvM7duni1H1PmUOHm@zC%Qp0e%oeFa;3k9l9&PPKthf~=l=mEUevvDj>EL0Y zo!#Q70dubP$i|oMf!uYd89SN@VeUZd$_Zw7Tw3=L+p_HVuvzhOXs-f#&U(Op?$WuL zGRWh6)fIKF)n2}iS>g-HW}bTy3aRyznbth~!wcel(Tt)dS}pxcte@IisWCvh>u;2v zL~eSui|#c;(%$OX1p_%6vy?lHO;f!Vq&jYIoCI-Tz_NQQ&;T5r-o&}FbFFV+{G+qE zCpY*SfbaS^zWbLSDwH>>P%un+9S7RZ?6Je^hjY7|@Y zuh$?WK!y~gSZQ|kCBQjf>~r^fVV$!pt_ON|MDVB}>K)FjCyW5R1fiK*1HJk56LhJg**x`hi);4IYe&mcm z`!!^Z>vUju_55w)k_WtP1K*XhY!>o;nRG3j{G0j3HsCN*_CfdHnGPBQku|n2Rm?jy z&o=%YviIc`*VS3=5rr5ZF^N8L5^*sRm66Jp63MpFb(VY`m#cR{$H8&_&_w#-;I6j} zu8st7d%_O&#|n@WnRP~}Nd({*UO9qnSt`ZkHdaqDU)sc!oepjcvsgXv7?g}(s=ok5 z1|5PC6{YwUrC2>DWZjEL*2z`CTM?g`Pb;CDq$`n^^<4rYvCGPo8p_d%jJU~!*fw*9 zSMb28CCv18D=Cmu4#Ng_@v_1M9Zo`izk#y1!#Mu@AY}wS<3s}H;W5=LQ7S=7@fKna zt9>82{83FfU#^e^rT%Rh$bQB3qf%7>9pE*tbZ3OFjKA*#2&a$n+ zw$;m+D~jtN3t!|5BT{xVxSx63uiDpT-J-Nnj5T(}DY@%upx=7l$J)fe)wh5H8{eQNHVD=Nqx+5ITfu_pMA^uA#rC-9{! zPntKmAP^H$B7eVIX1nS2{iT65mf=4uD1Bm(B}S&L5j8pk9wwg%Q-+b(!mP7>GOl?3 zmejnj-(pjlKjX~bM4rE5b_0Wzw#=g~K=mDzd43cx58e!N`mJ~R7X8U85vH1oA|tRe zi!LzRiE}kx5f-^N{p-^_G(j{EA4!P&#tBX8o}qOK?UI2aw_M9KvmDgh-~l0zK3Laq z-H9|g6iV9p+~W9_JB$a2`$d#dh(3G3)4HIzIUGh2`}+0f8MXZ|YfpALcSAd>0NzMol(XUSo9m-&86ghqya1}*ku(d?&?{-3THc!gB$#Y9 z1qj=l2uP0KihL#YGBfef_qw`&Z74Is+;M|yuJHzGkJ^NXzhq$;umS-D@<-Y5V|d5z z&g#?tQCvv40<|Yuh5l^nQr=6Xi~{BM6Y1cfW&<*_oNC+J8?G_3?ml{+2JN{{Y7kVp zA*jfPfxqKmo2YK*Ti%}z%8I7@t15?a(+s{bj~cUhxZ2g%AyR1ZqdEd~$KXlO-t43@ z0gB~lU%L|Y1y=AaO0X`bS`#BXC8AbA8@ot1&Ffq4DLf$gbDnK8^3kn0N<;bi|uxKei1W;0l$sX-@oefI9 zV^X^MuslMip8&70OvyLNbGi(B>R^JuO?cu-V^K#jAkam#@TN0&uE1==1hgFB{{`ia z?Z#oYF=dT1hH#%mIMLA-geJndo{FCdMrpKGp_=g!Y!PQ~*z4;X&gv%Mrdly;MpvE{ zb(7;Z8IRovfZQ6pMH%4E7bDv)zOx;MyAfS2g7dlDVghVB-GFiKLM^(GSpzLYPDt}U zB?ToNiPuP|<|3S0&`2_suv5sDQ>I@;hpf4KQ0Z#7dobb36Xky zO~eRV+vr|5zy!o|kQIyvH@m`t&Tx6_t_H()2B{%sXaWX$oo>+w4JgpwdD#Yt z=WkbjPn#q6RYG1BbOR2XR%Pt_37=$ZhWS=IqPK z?YYre-4aUpy}bWK|7R^`PuiE}57Rz9Yv$PA;Io(7VOJ2$SKAE3F#JoANdz;@LYKc| zt)&;Z7jBc;0T|Hq;~RNE3VhPL4xIG9A|L&UfUFGSIF(85kZj|osXM!V0xFUVb)x-v zhQxK{OZg3UN952du2)AXvP63SLI|ulIf=wc|5QQYVyzH9d*jOF~5Og-(tqPYl~iD-BpNCIRl z+mhk9Wp)p_Rc?->Q)k!9+Zk~AN7WX1C+^n?%!E2KeYe?vMyfw;IMFVUGwM@BADc#qI-Ll*6o)>(%nI~PeWH&#gxl0&hRRW|-P%K45Zv{Q zBGyJ`kPD>*ajO5_(B1Aj&FRs@$$j6b5BOAY>Gx5_HaLCWyP30dYu(ayUWX$7$0wQ6 zW^%-fWdtuKd^Ac(fScaiun(N?S6X86nid8m6X=<+b?42o34s*>Pq;icOIJLQFE-GU z6HMg2B!bpsnbw0H(2fzrd>}I%O2P9JaQ%iV^oR_82+)B4Ie{Ao%*V<9llZ7AXtI@* z)HDM&F4sj@wHKon%p`R0$yXz>eZBdRx<1p=VOzE|3!gGZo%a}q7f?V~#3j856hAr> zBSn$tNZ`oHJt?C^bi>RL8#DZNs(9dvdMBrd5yg$6_sQh7@M`*EwR@XV)cW@4x7%I> zwAm5iJ5^%AKW!Ruw9bY2^{w(Sb-suKo)}1gl}$a8n*k-_=7teRqbQQTeip7>6LYvZf+%8| zQVE9{EV3_lJO$*0W;%CJMirL3uJ!JAa=*4J0_2}b^kK0Adj)u%Pndx>J&4xTsRi?% zkEICx=;)Y;FKQx$>mb}tr~-Ri^)RSpb=|=LN9ITga^v3GR7NB?-GX^(ff^~?^XjC7 zW~M%}e%z%Q&QH|>X@uKYdAgaOs&$Hx%?-2LamZ{kH~2_F0J{&st03Wx^PAKYSL-oz zp;aV)OoXr@TrO1V(?^lFJpbmYk4nWY$EAkTL;Q=U_27-2< zIcq!|Wga;EpA>=ET!AF4a5g>_+seaK7vb+5i*!px%I7>vTSp=veU@$B>ryEv4&;A= z3|$xhg1_YE%PE{+RpZ2T`1RTMwRP2kSYt~+E`EAziZ{Pg z>Jsod(;7Z(mP}RHv5%#h8^w@*x;_$R!n9~M<9H>oIHPInjQIeeZgPrffEOP^`cjak z*?{G!C1tq+qdTy<)cfQ-=c~b5RUc|}^20E}GBFn=2`Pohn zV51=!Bma9EDu*R=zB><#eza{x@DOm|EWYI9S;qrUr4$Ak52tg`;#1>>eG?5L>JGoS zk_hmBxV}1HzWq+Ytj(EE)P^dnOohe%OixUu8xr;)V5#CSjxfXBcA5Ni}@3)6(@K z)7jX&#fCv7{{dkt%Xa<)W;7KKv6Xo1-~Hx~Xg(sRza%0KMBJ4}P2-0n=mz^RS>Yih zlRGuk*1J-%&AbM#2ZE-P;rw)&t0El;IvBC1p|nBGP5UKG7kD~G!S!?F$OZ1`%k;g% z&Cot!jT3QeHchelp?F9#=vzeNaNAK~>sEt_RFDw3Mr+?`cDtf9#yP1&``EsvTko%1 zi{saG1DYK7_59tVtD&0Q1B?D)=NdHy0(X0S-@7^S7q-K~J7iS+pUZET0_7c%rtTr- z)zxElzP_;%Ubw zy!TXaT~T|!{iIp?(jfQgUCx`*AOVud7YfYOd#0W*6ti!J3AT% zG-H@gHHcgIlB|WZdq?G!SHZ>yAQ{!$oDuZYO-Etg7r)h|mIh$OIQP2PrG_3<;=h7K~&K!dhvXWe-E86-*^ z#$Dy>*Oiq!Q-rmM3BhdM5ihnl>RSvC{X=XPfTE~~=6-JWnK?Wu8DZ-*NfTU9_A|gf z^O3aeKjhdY70l2`9SICTazur;LzvG3sdOn%$!NAEed+3`q6h%_(T`k=@|!3hajaX%DoV| zs(A;*)Z|hJ6Vxq^5#E1m~tisDA&M0ZCT=s96ui67EiyE!DR?|#f zNLPnvrdJ*Iz5FL%&Wz47K5u=|?(r6Noqq#L3ae<2(=9!EYFIVAl_1pLap*hY3gofO zEq8v%f1O!&)HvZ27riQX7(*GRynEtey~+(grtOH>-u>8ag#9zH`1-;!Yf3lGa?))q z?}*C$ZWT$l)wJeHcej2zI9s9YNG!C$;aN*(O+@$V#>QmSnu~XRdpJ+vbktO3ieY)g zaeKaZR@dJeF$wHC1lv(OM5%$zZo%JW!2ds@&blqC@BjLTp*y5IC8b0{Y6$5PmF_NS z38|sGTN(_yLAsF?Q0W{RX;2zw?&Ih8y{`KS%s;dD*?X_|TCasRiqK@eDbS(A3-JrY zFO*tSF`k?JY$=bxZATg~KShWgu~@Jf@agJ>oMg7J{*@eh=gORE0UM;FqCS!i^c2mq zCAMAG%~VL2!?*RH$LP3SIa#7jQ*|M6K5Fw5s7GeMguugx3c}+JMK&fs^g%UIF}_9A zS3W6UQpq+9##%1#TK<0W2$wD@4fECIw&$t`dw~)bU;tki_&A=U4b2BIQ|jehU~TLxS3L|2@E zpZhN|dbuiThS7V{^`-0BmxV^vO_z18VkJCofw;;w0`ckqcG_J3(LK$cy@IX2H{D^n zgM`80b0lkO6XKlW{+_?*dxB~*o7fE>9iX>^W=03_OkjeM4$+0A2VrY*3|@KBK)aWB zkzxF;K(448PIU+N-G}&^kl(uuZzfP~uEXpzo%6eQ1OxfNsL;p*j}$a*glsB+9? z6mTXza1SYp~vX?+y=z7xB^*NiWv5uepDM|4ix;*1=-+L}Z!l}pByXTUI6vo6-DwW3t zDdJ;Ylu*;Q3D;UN<9dNPVsrZ3$KW^*GtfF${!0hW6IQ&G#>LHqJdYZ(jy~5vl2=GU z)e_Uqa4h@CBg6G)91<>m>YAkQJXJa>qiG1t)OgPw`lIo_b@r zV4EeNYrS)zW@GKighM&E5UTK)$&-a_Q3-RezUER*J}KA=HW(cfGUGI~_Wf!h{m^bH zkW<#GZfzDpwYU9MX4lPr?W-@|^8|4|=U4Z+61ryhffMmpEoUZQ9lyLaya|YJTVJVu zv-!;bLdX9|=eWM0!cyz_BtKEQ&->K$D>JOR1?Ws`1kVU${qCCz>*m@i)^k%@k0Sz@ zjJD$ZRVcS1J3aGFK|Sl=TY){#N8*?RdsBO^WfG*qzLK+d?grIP zA8Tt?-mj=5KR^UWWp(e%8`ZI(IV5$4oHdb%Kp4wie!7fda?`f$Kv1ERp}Hc&Qsyq0 z?rLNBGET4(ITQhy*;&OC0kq3^So|wdva3N`DyjEU-=sGGxH3UEAsLsi23IUFpaa9!7#%ozPqbkX#;wS07{xlcA9vbbkTUn0t^soR4iG-AUQ$4Kp z>uEPi`U13b!ffd}2Cn{pwxS?IqoW$F< z{frxzf4hau0C*7%xJ#+>0{NcA%mPIuC`2;33a?sL&_2fZ!!txmIn!Ta6oN^lhj!`f zQ%vOLqZ$O7UWbIzx{32&X`5C?POtH$?4|?0N0!4Sd|g;G<*Z0`3eJD$P}ForQoX3= zo>&}tvfWkHcsTBwXMm|y?_*^a?sqm56-&cGw?Q-5z$s_dWuJGcn5a~J^Gwcw$c}0ua z8J}~3Lp4^f`dlgS#r}b^1!mo3yg~Yc;ajw~!G|JB4{`X%@z>w6gF^Wuc|SgFeA`dX zbZaiKVfb@6HiZCVeTA2QPhs3vJ{*;9?W<+M&ec3lBvp1=M}|luGE@WoAP!2?_9CJNBpF_BnC8Q;4ds`;7Dlgu5J7fV_*T%82ixWmgNHEKKCVA8h&;oSy8;NFKvwl!jpNGf;2WmusVt{oQcQB zS18*Cz5!z@(Dv`xupQSvB#mey;=g?)AbX9{Dx#USa311|$_E>pY zab%>vnv{F%`NV1Y+(FdqJ;~6J##~_gRKeiy_Oo9q6Y?bb?9)vp*y1=CqmI$u zaovqXg~mjn4#7KI)kG(A`#73ZMi~W~)D#4^Cxz9iKT@JKMSaDdV4ll($b$+LMzuSw zD)53{!c#%`j<^5WbESE|cPxGQ;V(Z2P-t%5P@4u-)z+;3xu((!wH#hXn2ITt32HZo zr45Ed^P!fPjxUIT)|AhEdJUX+J_xLpM^8~j-pVldxHQu9iIbXnej*AlwpIs3x=UGP`Y(H+CL0BfSCQj-TP2< z5LM0To>6!h#MLWz_1IYMyA8y=jBxi8F5FUl0oV0*4GgWt;{6+PZS=HwutaWSQqO!i z6y34a2v&pua%hah5M2XV-%rf`KPdGdULPUU8DH{0f@e#{XD5< zU*8K(AQVlJeM=g>T#<}Ol-17#wyg0lhxp}a+!o`*g8Mu!J}9p?KB|4Y5j-f^-cH<& zuAR*XQt2qmoZ28f3K~~XfA5jF69qWmK2A^Og6&e^jm6ztWWGke@)|;l=d8W0bIn+O zYTNI8;$(p0=GZv#lkaNLkxLUcp5Pg_rLUGnv?F`>C7v!oFc|R8sQXsT&(OgAxc|wT zc^)9h^Qd_~sk58hYF3gM*|@b7hjm_1k4!aKC`*&D4P4!}fwC$ye;FOyPcL`H!3z11 z(}FG4MvxLQ4uXX*l_79idPp#(pgKHF?uW%(^1)L@L;hN_xsuJkd|fnW)tE}sU_9-zhHqP&$ zhELt8?9uoukt2fA+Fl7(y}Ox@<$WV`j7FAF)IBL5!kvBGYP$cz*H(RH>Qn5DT*oA@ zf+)T3a@y_;9HOp{T>QzM{rdgPUF{@6+qfVakbM32H3p3QF&dCS6e>8gQ{@$Pr`~vy zQ29WmMFns|I2^g1SbH_p)cZ2H-R>nsa4rG}<$PUV)zySKKM>#1|I>I)3Wr1oGg%iV z3&Gu+0o00`x_(kgw${pWxa+9IgQ6?1qdOrJ7{m!m4ib8%_N-m6Pd(r>v$n53JH@47 zS6n#WM}TdyUypBdq+2gy&CY%@+aRS_t_N`?X!z^|fLDAqhPp#%%u~mlK$tOklc?e{XOXe$V@)MtQ*ugzeG-qVg7o9vW-w1MKn&Bjp}IPl43@ z*w&icXden}N2prn{y-qqwsMIC5c_Kc6W0)4Ep|*vU>Y1OQ^)gH{F~?&w$-f!$o*u< zMB7ahs!?lQPR9SK_ZMwq@EPe~9S7%+QcRzCUs*E^#$@GDYfe~86Og|~6CZ8t3mWmr zss2sq&_hh;#&jM+LoH4_`Mn>1MSg({7L&j3(u&s;=NK>AyibU6*P3Od2$ed_O22qS zjLCPL*N4vz4o^hx*dy7Im^xz4T?YtL;gO(6tv;8BMkw|EaAAuz|3KbqU~IA1_N2)r zGj-2Q;$-}C@}!md2Y#(jggB{EKx(6jU_(A%YSjr;mp#PUD)7z)#d5>s9^bf&#`7j` zr5;iA=i!(c^2d*N69+I(V1t^|{ORzO%Bx9A>_4FCZkg~+%FaSmSPN{FxR$}Wq;0qbMTNCZ;h{$gdi3JjFi*6p) z&6{8Rzqd6ZLvGEh7xB(MX=f{Ey62-$TjtVMFa3Q^NvmcynJQkC=wv9Tj=1}YUUn~aOrv$s-akfXc6XR86{y^$$ZM5h`Wf3MSgsGw3 z1F;cQ;ynB-V)n_E#A$5HAE^~9qPA!h8yiUJWI8 z&e|}3D{@0XfxIyR;x8k$*;%n{PP>PVwyz8AY zEVMR%;h^e+g6)oXyTVg%JPSw4s+SsrG>2HXDeibzq#O3UBaef;m34t;EPK?Oy1gA7 zv;4I|W0b5m-nLfAmOc`kJh#fqn?$aR8h#`|?tSt4BOS1|eJEP#JVjgt35Xr9x6G(v z=b_6Skk;63ZA50ekuqOm`baxI7R0NE+Z`YSlW!6md7Xb*gpY%Sct4YccfYjwk@+W# z{&N>{Ll=-p!F%HrNbS_yXTPvQD?UB547F5Dz@sNNUA5mhHWKa#>@X-#cm6Tk8j|yg zVO#0E;8UR>4&Wt)kf>a#r4L$s`9VN7yS{n!C!&DI@H_YorQILO{=WQ^=qk1U4Llhl z41!=@MEKJVGF#@8Gf(iXol%SWV!-#dOzy|+bP||Ygvaj;4d|sW6OlfX5=K7DkwIH) zaygW|zgSA=HXAV%2_*0XP+h{l>l&deULFsa$?A)uXb~l$5n#6h968uOq(yx>VKW3` zU4^LYr3UlWq(B%ekaVR_HIlM2DFHV2)zkf~stI0c@5WA`@FHHxt_DQu)$R*=BiA6Y zZ}2-VjP}+|Sj4q{)HS68Q&!R*F_%aX#=qfTIE1wD8l(e>FC?NozWPgw1RU)JOW3;0 z`~>}$OXd#y429EQnF?gj{ILu}XcK6UBG$ki!^`^DNN0#_`(8I0Y4puZLK>FV!kY-DLL5x+ z-+FjcQR=;815UpXUexC?{EfC$w+#BSrHTneS|`XPj2&JV;aXt>3qdb2n!$*CFoqNE z3j#na3_B-?ui75`sN|4rSCAM?(r*~d1MeS!64e%0J&+E?|2u)YkQM@5%e10=~Uh6-kPQ)#KNUIj{Uv&`T=a6QqG$ic4jvHR&vOhqk zG`>xLXJ}mFT=8VnQWlMRFdNQQ%W{OYBsm=f2ic!$aK;U}r5dKF9}Q{kBYgrjKOCTC z29cRSraw#|B~4Y30r?M;f;-(+cOegV8a>v!>$+tL{jv|(r65hE0bTvxcw6+_8g)ev z*~;^T@o(D9;2tr)OC>Kq%f_Mr(yzKwpv%w;9@AY)qsVPh}x z%4}f%&(ae(XOC^QjWINq$EuB%E2}#@yO+#kfUS4jgj)L!GSKqjK>nzp zVL{}!6nJ|o7IA$8`S(8WM?1q!d#yBrb`_u z?J*uFE8LV!eeFCpd$NNAj6Hf#ZG-Fu@K{`!Uh|m7o$}cTdaYr!rQFz@ekkjoJ@RXe z#a(Q;%=AFFTeB4*meJJ(E<`fC(D@q(Gra8KN8L5C0NSFeD$hPnAz=iQwm^+4ILp@h zf>UUG_KP61h7A*Vfyg-_LYefHPR&Np(<9M&-=TvUoQgMu(yuJCkAn8Zf=`~Ckccw> zS{t-0i+$Z~N>VQd<03&weXFSzxsan+v!(xId@ma7#@=6&o?H}MRJ7yY`6G@7`=P8T z`Uj09onFtNayk)g1TLn!-6Y_5D-@@0gu3lYO_2W_fAdkOAa}MyvjseZoVeu)n#)^; z>SWvg-%>`=S7Cmd8i>@D)z943p|2CbqHc}cT@I?SR7GzV84od|fK7bYz3`O{ktQ(uhgCdJu}OA&Bn$ND z8A83@$69PeYy2=w%tH@UwKIkJG6kbx8 zHGzNP`K5zU4;OEMG>6UNs#L3PW`s%m zm0``DDYnM1&XOR>Z86(yHo&JeGEP--J)=PE`A?GBj{r;#*HU6k1f}JR%c?tW0|ZPq zqyBrMI}nFG6X5tr@XgJih%;u9I;QLedbX1>2P$5@axCR_GURnK65DIpEe&Q`-YcY` zNKUR~_wv9xvtr@F6d>F_;FEVr3LHR|~;{#2NG&BwWm z{c-|ikZA>V<#0nIv4FOuU&ew9OVOV8xUEs#P@3Q$>ZDULw+?NC@j4L1}avXuCVT%J@F)e{HW)1q_!$G&53hOCE(w6PW9>dVwYuOl+8 zzgK=5>~)8nNZfrkT|Uz@2xreJsPUM)7(@(H6^@QA?1~cVgKAV#n??_61{#5C(ly1F zG`DZUE3f;WtB}GlV>|eJN=fg|sXtWd*wFV31)tqM{Jl!YoQ=D{pVYY0#C*~nzJ~80 zH*?U03S$vO$l#zr4G3{C3H>FSYfv0#*V&6Lxh%&hF1J8f>3(!^WUSZuOMM1mA8sap zKQ!^=7Jlw3&XnMR#nF}LoK$ES9VQQeaS_IEfm@KCH^$iOkix~D z83Inq5`%fX6Sn$3FUGz*E^h!@|B}pV>iJ37EY> z&7oJ!6eK~hIV<*`?09IQCbZh5yy*JXoK>T*mrK|}{W_I~k-}?;cc6>iX??5@ossBb z!#-QA>(LOME`-3b*2Ut5TP~xL-b*4_?9i`*A?ZJ;W^TQ3v=M#mJ(rH7b~6iznfs)( zFE8g^LGDLcV+9o)!2bneN#Nrkdgu?+5d@D5ZA(mQqa#;Owv&B8&~OMuMo`x{S`Z?hjy@jHoV_TXbsFWr78mXzDBRN$|Ay zD%5@=Cx2B=bJeIB=kAXRjtz1CyAOr`Mr601|2==U>*j;sgm61l)3)OgGP5hRm`Ci! zHihqp)$Zx^x}O!e0!mLYVQK9Ab?Z2yfn32h6+=ISLOW|?>K={?Ug+RE8#{~Ryv(+{H6peGNrfjogE)2I=Avqo(-B@P^5K zXwB`p*ur=BpEOxAvQI77e3K~8SGMoWwHP1T12pEUL{KNfPt5)2oPx}b3$}CiPRtJ< zjZfMY0kwUBJ@@(H4|PsKd3U@BVH;Y&Ca`Ps3c9XGo}jrTfMVHQId+1%Dc)Q#cdyr+ zw{-bX?r7uci3PzMwie%cTMaN)61zMcI@5P;x?3OA-$LzgZzJVS_ghISkn6q@?B<>8T^iK zE+FfM5$q|sJbx7VWmlaDdXgy^(C274Qm87kewTVmlG5HD)gUg8Qcp?N|3RgrmsZcV z`8L+NRgDMArISIv+=m~Gw37E=9Ki(FaaO&jZ&_%XhV4F{Z5={16nuRI&iHIBvfuvP z4=4AUa$6^b6&cJIH%71@KTXCqED{9%^rUd&eN%%91z~lJMi`;lG~T=|ZX@(Z@<|{f zk(FQ!w}^9P@aEfq6F7FQ+%Te zsl`Kj4sPe$vHJ_7H~f0aFD1nx54h7RgAlNY*V#z=hJV*Cf}tM|l#}v6HW4s<3l@xo zfi0cksd>Bs5!|qxN-j)TL-^*1aA&_j)Vnq;{l7R~88wD_JoudSGUp7alKHmo0=^7J zIC4=2(+ZbdLT*m2Vz{xw|J<7~eGR(OkJj!l=t*Q-X}80>UZ=GZjP0wChbrrkImo66 zzGvoniUqPk8Hrts@cI_A9}|?y*)^6+9?iwCE9(tXI^7(!w%>bIHvrzN9)u)9V1hNI z*Zeml`Irc*p782LOxQuV>;35;*O{t0uP0BEGpWq@mz+8Xq|dGO0<_YGEi$13cLjP2 zXMJ}pA@}SlU^0zzAhZ_F^D$wQydL>GSs*e~d(D0@uKt>C$XlOiPKg^1qN(TD&KZ=0 zCOyXT4RJcB@FnIvR#J4&^r63z)ie?2N$}quMng1IM>M|~DhZOl|CzZmdZ1^x+ekyR zCLLz0FL>;4m8o0|n9!6lUg|2w?KwPz)L!#nD(3{hz;{(?k}crCpB?YgHn}P* z(7wC+W9GKna&dguP3V{A&58Y9N_toQktzT<&D`Jwynw~LHv73%~`^m8t2(~RWN zdSr5#EA2lwo_WzN_uI_^v17LVkWf$DaM!uB= z!~_4eITm_Nj4UeV?Uq1_L);6`Iha1;1JZ};RiWxT{|X;D{1`ES>s@X9dGMX}QMEay%r94EA9N0bL)(QUJ+=>q=t z5FPeC#^LF0>%s=)g~vo>{6$~}YxS#bY(uRM)yH_HS_`mpSBR4A8g^%xuQJ@nZSTF* zWv=tcySyIkuo>x}$Idg}s&D+qE+o4T!%g6RMTsu(54-PWh%l6}KJ(@`78U&*)(TpK zQrG$T1gsfP6MkXd)Ude~XT>o4Neo4E8IC~=@JyHEDMT{j4*V)9)zpB%pr9dCMN)&y zou=h`(VeS#99X;j`ZB1p9+{(r5cx1AEdi8qyKo=ZJYtTsAZIxk_e4XC1l`BZF~Bk@ zO_AeyL3ba#18;~BgZSA;;k=S1K_A`GMI~SLyRA~WvJ1;;1!~_5-^Twn965uwkbl~O zz+)`?Ub{}2JT0u0Y8?*ys5UR^Chx^+t*k-;Z~|HWXMoYWKW}Q?Km+=jB9gen)$T`% zKm>PBci_pS)GbW`;vwe>>_9Z@sE*+?bNY z3zaBfz+EKkS=edWCu5+TDdB}m?LoGp`Q1g1x%n|hmc*q{Sh{(MW>^9VP%lW1^hTcV z7F?%xU+2+W27?VCb$%Xf#K9Gr@wWQ~_%td+VQh9!4kJnz!q$Uj+~}>9X=oKQB%Vd2 z&Grigf>^Jor}*Tt#Yt1vkA2F< zEocs!YFn;}wl&gdVtAibF1>INiFP@a-6G@n(yP7&!46mM|JwL)YX2q;#z1T*c1(Vn z2beB0f2D4S`Rgs%CtX2kO$R(@bO1X7Sw0jwV0pYz^zr%V2v#vQ2j)#P%02o67MS8c54c@GNR0b;lL^fWJKGu(0LH;`|ou-!%tBvS; zz8fYIBoi6RsoOJ-)_lHE)G(Q-N8-fVM+{gI7?Gnap_vz^IyfukrHYyvNKXwJn};uP zhj1T-afNpTp$EpI0sagaPN?QDOh~r6ahBh=IakypZH0X*dcX4+^4=W@9j82WLl=+P07^&8uAx@hD!T59 zE4Rem@Z5k4PZY2rPm4ReOnlC>`3C=Uz1i>kjR#Vn*SLl@eK=?8oJ739(=N=HmN-KU z0a^sL#=0`O65>^c4+b3~uP!C8bpvU5bm+nW=(3fBqb6{!{d$oM`c>b6E6I?Zf+DBa z)=kD-v@q&25e)L73M2^Fb-e6tt}y`vJ79yv0Uxx?ok||}msT}C-|w{kr>VFI%j*-q zkU_D{jIRM_>er_cA+X`sBr?3b?s}+TRRLjT4lsZB*F&o!-4**2DpbF15hUMh>LJBv zWkxqbF8DOumOS_rtu|=rY^ouXHm?she?3vpB)E$l%c~} zbkbl4IgVK?hYGLQTu=HYze4iB=X8X&OS>m1kMtGO{d*7g!JQ77s7SE2#YP>4cJRnJ z#xNpfu?jK57Zv7Z*;n^-=@yt`U(92va!CoBHxx5i}4`d2s!h4AC^0&-q$Ken5iBV>g+!@pOZE_(jn zg~PMnqnSVM!+oOW^n6bX?#2fPy~}xVjYUpXc|Asm3lHCG$&MCeA?i)f$7G@!gY+(I zm2u?UAspc{oOr4zZdKbchICX_aqn}uYKmdpnbm)luE)kF(I(#(LrkKHFo8JrWgM34 z8FtgG*9*v>i0+Sv$ahCNlZ!}iDAx5~s}J&ii?@aV{)0dy`x>oH(!xU#mD3zZQKXh}kaaiK!dMz?|`Yk!Z9or!kS(FYyUT#J2? z-0aTk#rSKKh5`n}-e3s^|M)Z?r#oYLi~}v^zsXn!fV^g;FwDiRh{?!#kGTW}VDHo( zsk%CoH8lkYVdjW~(Sjjf)Rx;k*Td-seQD0iU+ZZltDA9)(%gV3q3C##rJZOb2fr`k z+?6QuiQ%y1WTenyqDL%w907jJA4S}}$rP_-X5upPBm)t~SX{h`MR}))z1Jet#y{&ZTX`t6b!20S@GPFk__`(@&vGR?Ua6l?TTPNJ zSZ};s@)U5yWh<)8k||A0H^^4i4zBc7Lena{?47nJ(bZBoIfnp;dxW8bV!;s2ez|9q zw3V`^Rd_QF%1IVhkw<>{;C#u*ooHusUZb&CFUb`b_eqD%0TKL}DwPPk=64HM4IJQS zma-~8KiEHXv`krry^De1&Bzt0LKQM=w~3%wchY>ooER%Yx3@sjzs%uYGl#ut%VaMTilubVR;1{ zewegUGe*s#qIiFv7}8YO5Y4mBEK`Nor{B&^GT0Y)GEW|!RndiCh#V3CX8YH zR{;$>U6tnPj{RkRQ;QbST!~W$+KXKeiaQ)9WGNm_Q$TzNY0uU)DPF?ZrOVDk*+Z^fMj>3*$jw$3in7|RSTQVp9M_Ckn+Q(+7b7)f!*Wk!=Uvf7 zUExATUTg`PU_VlOzQ1+`ie2M?OQtnYx*WycF@i#yo^BnAEHoB^epFkR+=;qVOGCj5 zFwd)eY7T~7I4Zk0^7uspP$jw@*)epv75r8}@V1F&u%KuaV3sbE2DtVR9g{X7pK0e2 zkF<;+DUOi66Ei#})LFcM&>S0PnqE7gwe&@BxD0J6`9V_#Ibc9(>_H~9@d}QfZm|;t z>iq}>e+P767dR|C`F=%tF!-tq z78k_IE^(L)V`>=j#kAqMt}fv6m%jlc1^)|;ql^?6Vxj_;Ntxsrp|ZrIX*5t_twz?6 z2r(35Ejst|ee72X>#=u)n+gX^4j0XuA5#c|2lc@ioc0cwD$vrAdx0hdAs&XxPMEZl zXOi0SXlgJ$Np_=U1^=Yc#LvgSm;rmFDf&K3_(ON(WT&7~e|>pOgcX+ne+sK>>!YkJAOU9XGHEz@fB$8lcx=DN3bc2fAG zdcExy*y=+|;5JHnmN-y<`KV|-L6rmeYacZdNo*nM+dfn?FEq=uJyrxlByEDu`#AY*h)o3YG58Hv$P zIzo#M9}I^H;*zf0iM$)2WMRzlF;eokivbeU@?b^La{Qw8WS7Sa=%JfA?ej?Q7Dxv= za-1P#P=CGo6(z{Dz++2tRg?T}EW9pZCLrT6v5S??=>*<9*cNEdjtA}y+oGMImA z;VKy~OunO$HqbM|%3|%(`21svdG@vXTHE&^Tx&qbzF??O3iQn2Gw(khH*93O-INpDQIK3bLH*T;S;2x z!s-)+u~>((S>IQ&i}#SBE#P^7RxclVXmQfwV~dNk9~yd<@hKh1u8xapYUDGYsZIPo zIq5cZX8n^?Go1w*is@GHOT}pDopIckTb{G5S3B5$daaetE#pWRyuTSSBT<*5n*XBi zM7{=k2s>*@!_reszX85YMi&+H!s*E^HO%G=J}7Ad$2itEyB`5YvgmJI9FId=r%!V8 z9ePfw8Fn-o`Ur1AT+?^~C0UG7bjGn&ZEGNRqnDHD{@bI8n58Nq*M16JtjkkI_C9-- zZ+^TXkJAA=B}`adJdN2tWsiqu07hTn6Cmj$dSf#3eXrrQ_c}AE)CJJyUS**b*ZT-I z7gHFC*18Zn&AUG`YPRQAqkGP545VQ(f&gu7t+(z9xbtz0vKi>Ha{w{xbKH#j$JS4r z>_4e}RB>GAz$0)DRyV8(e!$eAdfUkS+ULj54AuH8%M(QJkQCx8^5Qe74082Yx&!=W z?al;%QH&e3Sw?@hWRWYUy=?G#mtF@cQG?08u7rCR6ETcLy2vnaA6m!vzLX2-eXWl9D1*Nd zzS5IIxjV{rXWFh5o=@a?ts?ILMw3lcw)CrQ{F5sxbvf-uXaN!v(#~wi=#09-6)TWc zkUY|@{Bs-)a3=qAbbRdqVp-ghY?0jNX**QVL2CYLx*?$I8{WBS=gTa7iuY=YjkS7` z{|zM2X=kf`vnBH3$;l81(Zs9ak9vOV)(%*zOwkyQR?1K5f0L0{{awz%dM;DPFM62X zm_Bh8IU8ELFN1jzsLjc1I30EPBeWK6JBIa^6ZTSv%I6tb7`q#wZ{b({?>cKxco|av zwoE>%v|$8l#qx+)R|b+&y<)@si^1qC&mlaMCF%5GW)G;9SNw{uh6!_?x!I}k_Wn6*_Gc+$(TN=SV8X@54kuM*5r6J>n;C% zOMB#%HSiG&-m@CudQqj@vv*D4V?HSj+a#pM5!~0a-H_P)(+}Q3zOkw2?XfjBDKF2|RAVXSUAHf; zdKRB?c0}z)82u^NzYJoWFg5$POf@`zSNwfG7ayh#*n$71KC<;`&wjhsnO@xGc?E?{ zj;t2F;`ibu?lC%`ajD`zO~8oXxPd)(WeZ}qL0S5m0~;u|qi>BshtW?)C?>s8AB zr};y?=pV*@A$`^{wSgpy(~H6Xotz8wfY%7>D1b9EcV@cZ*tV{&I+vx4Omc z>yD7?MQ^hF_*d0!&n_4s`Bpqb=(h6Wyr6k~c(I-LTto@svCko?-~bHu54Y?-b@B>( z1Um_*@7h8Sgsnq$!A1!)Cz~$Vud_r)G!oBWKAe(MJS1cv6{xe`GdEuLs33q#b zUdVcIJik#+s81nIzZ@Io-jHx@BBZrzbk#kqP~Ix|XQq{}@pUD>RYmaOiTvjxUE%lG zBoEAY3=}URg+D^V-#=xD(;_QVr?ao$zS6HIPE?^(~%m@@7s zMn(!$yMv%_Pp?S6HBz!Opl1DfYP0J=&c`$`!wx~k({@6V%pji05ptE|#SC)|q5tGu z_MsUskRsS#EM&@knhW4m0~6gHS1g*yz5vi-gu|18PH=Y22;pN`A{%>f&9{ByvZnL0 zKrBuk`pBVQ?py*JlarJBle=&*7$o({HnYj0*f*vbrUl||_$UKRe~bguXOIFk35 z3X*+(c_{?c=wND_D0A%~P9KvAyt`sg#J*+j?3tz!V*jEjjR$<$r|iz^zxL96%*e0T z1o|3cz5cCM6**0vDH$#1B?CK!Wb+F2Y_?3T(2(z3_L2FoceOJ5%KQ%xxN%W>{{EJm zVz~?s$C%MF(E-4+-}t#>(bwhHjOTHr$$f28nN*x$eh0?G^#U94J2Nm+>G29d1DO95 z3j$_`PWztmdsCY^ zBSc?g%+cIR*+ijuVwCuQw||DjG;(Sgks~nSFP5Cz#t|w~GArK^M0j|f15Werx#I|3 z!YDLpL*KKc@B%7CG80&y{-WNW93fWidNUkWy(zdb_7@_3IEL7S;Xt85h%JL3p2DJ)tZ6m9k2@sP>D0TkmDrh6azE320B~=+M+ytPA0Wma70( zz0juU{F-dmsJsgOj@QEtPE-j&v;tp?>$tFWM$kVQrLaYp;#W?p_rl@AxnJIdXC*so zx0Pm3(niaRJo35P=VPW2E_e=jCR-&47rA!c@)`@2-K?ij+ zht`Nm#8O3n+I$BGD~M%o$+GjH+7X+C-vp}(s_jc=0;QUA|1AIL|ND;8$nY(Rg-8NL zT)(JHLjHPNRlTwaRWUAlLA=2FqH=#+memEaASQCqAV0dUGiES#GLN{NjPR4XO2~hL zs>3@kuvg^&!qQwpB12$mBE`n*=();_8ZP>mzx9hpu}^pSndx(5n$z1|wD+R4e2|;bHpdo394HJuv#Y4xT#l{lt_o zQZ}Z#BMEW2cM0ST?&=~rMl(B!ZMas6NrhsVj|{@ZAA$jY96&&~F}O!>XUh_0VM~nS z;8VyJdGnPOGI7hh^GAq!=3CeRRU}y4twpoKs1fp*ef$#~NUHC?-(u*r!Qd67zc294 z_xW?zeLHr&5@>u^TwZw|=lP==_=ErE!*EW|K^HbIuKL-XG8(9xZb6b%iqP;$!iRfN zmJ+%4+#>86nox;b36s&i-q`e#5DR?V`zj2bVTk*^@NgXP7&HjBS326oL(vKM8-&nHgu@R?nplT%( z01dVped$X8L4vd5#%~USg4?A550#G?pd&xj6ajaUy8H6K=p@JLUrEz0bg>^n-~aNr zR8^<`#;J8noknliA`%uAxKt02Ed+aF_Z#*)u-EIdLPe>V?3RdPGf8X;-oU6$W1r7) zTDQ*P5&+@8wVXITwM3Q`W6F<$?p&)UzteS1`%$H2ZQz0b@@PGR&T@63>aYT&MGOLy z;hp8AFixP54U284$M;c3&xw7_+OqRMpXAZMD`|R!3Lni&d?RYKl#QHy{2T%xd!k^3 zG4*EAA+m8hcv&a&x%C5s^Y7 zAm4I;aqM?hEe2mDI^ANW&6kMpH6(NhNNXkASi6#EI5xLE<~-2(z1r{8ZVS78i^KXE zTOY}8!Bn54U%*F{Bd{JsS>aV+*<+ zYqVIT*b2-r_dQ#kdHE3at`-{M;}(*{?VNQQP4M7`+41CX@0SEVQe~vmQ@g&? zy>0%e{$-Z-{6`Z)Z`d>*RpX~UoH+gvc(gm+WT_aNiDE;mzVnOHP3V47?%VUhR!wjy zgbw_rdZuf!f(GF6wqaduD~#T7yt?YnCko~IWYz{bou+`mth)5a??o)Tgl8Si-Rxnz z9VoiTrbcX(DI9Aa*4V&~d}s8znEz1;W$C|w;eUX`LAbihZM_KYh-1bYiCAnY+ia=E z`{hzwROz><+x(z#YMjK7$UOON1}&m~SE==|WdN&H@-P{UFKc$!pp!Gw0U3%7b&T@l zP5fcsXkErm(^6HBewx)7$Ep%wM;4iFepkB&R%BV3S{2jkcGIEg&J{TZw{=Lo7%+8D@_xXE0Y+x82N>A|{0*%dyrUA+L^7-hoSGl`N z6hL{2n(%zz|KsT$!|Uq4c2sMZQC{*+eTxjvC*J$8rw-@G-!;*Y|Q=c=l`B_ zzU^=8+Sj$#oO6she)kP&&C0(1|Z^t3XzO&QT(T7tQsYcrt@CCvz zD>)4JK9JZpzWaU;1_Sa3K9RxDLxCgLaXSgyk1Yn|O2TB9uBB5+axW8bsLV^n%Oasi zz|L_U^lMqu)W?{+q!WtXgGd6g5qJXS=3gwB)vel> zbVzCwkkL?3lTZ^96OrTN>#LN|PqsyL3F?-^dfnE3KtnL_2|q1;{*Ai;!}GQ5Kp>C` zjj|Au9!C@c@8CPR`hf@rh{>?P|Blwh8T(k~BGY7IA z1y#P1QTMYE5KtYN@MuPtjNj0S%Kckk*!KtN4p0iV_Jtn z>=QNS6nOZFmsf>&ZtX+W<8DIWd1I3v3sTgW{d?eMqBoPVpX%!vjO#&_IzW!;MeQa= zCx@F(&>9@|KpghNDQED^7xMF?Ale!8c1p|ue!B7sKxX9Mf$Za{ z=PZw^W^_koGlHo8i~aJ#(7@Vb0MF_100#0d>CE$Ct%2xox506@ZX(;H(l0asN8+J| zxq2KlaLXI?xZeCOFzoc?0;`ShV#rFr5)0neSFWp$v?3P`iMR$HwGKrPboJ(8`iW$~ zELKBF7cOOXSh=QvVr-xcDdhH{fDiWUvke&b{@*3O+x2|Xcb7*flcBA>hjJdvL3!y) zVXYiGi%Aw7OyAMkypCfB_pqa9ia3r~f}RVcCq`XaUI$EG6R&1%jaZ$q21RaLJt1q` zA8r3z3O{x1ks#^?cEE>x`4IULnuP&vDm?2;g@iSN34DhFbVh85QwBuB*HJ=)W>$&3 z^9a^BI4D4DPY3NmeL4&}Z|c77nzbn3VD0STq*rS2@g)|5r=P}$a~gXa2L?`6%lEWc z`!QAP<&_rB75DE>G)@r6;oZSwd&DcZn?=DEE_`bSv6yJ>(1}FRslVOR!NW!R`XwX+ zR#;GZyn-`GYoidm8CcWryU+sAly8_5iO)I7bYI}p$|bu z6>?A>2~+DG`d75dOc?}hf8pjxCY8r6!W;{uDS5*rADSO#XXT5Q?5MK@pNMMk3q$rb z2&MD{5sevc3=8hJ!TOn?GYL}voBiMygnYjJ0=$FjWA2#&@4!^$v{rjA&m!GXV!;ZCP>qDcO7ql6|?C@gwO3+_<`A+I1 z0k2D2GuN9UVut};&YODN6{L~Y1Kt%ZyuAN*aMb@(4dKH1X9x50E|db;3XWg0ZbOlE zuN}hhzJ~JF)sBiM7234AYl|*BRO3=`#2#piRZ++i>vOWDeV3L4oD}21Tw1eeUf4wl zDn5o;1u&OzkqQy{Y)BEi0kI+dUBqNhhz!xmuyzs?plLiKoQeP>7ii?7U&qM4aGBK! z>^#CymfLN+l-E0VJKI`z2m82OT(6GLjqj*#o0b!3D~PEMHV-AU){+W)_%SP|(%MNW zITS{SPk;wSAA5j_mm*D6`oB#k7o_wk_mAI}dFTjdbeQr}N-G$CY)^{mLWRM4u4l+W;Bp_f_%P!GWSuz~@i| z^~(OYZVw1DHOW#s4w%waC>Ad^)9An&UgigawB!hc7)nDPDNHbzr4olb)l?I)NWHkV z47wumGE9D3f3^LuywAsT>8kasFG1c3WHQ&~Q=blqIpAS?z(QEq+7;9Mkhu(+ghE8-NT;e!0$tUOWTrWIK+{slTsw;;$hjm zyAB%Qyi$?{lK-_nJKTw9jqio@?S@bN&^!f=OO+hjD5NGUxSxJyU7~;;`(RoR>oc4HYyrZ zuc_}B;?kJxj97!aw7ImU>nO&Z5B=eQcnIGc^p#i=CQT|nHFa4H;g{r(@3llBEu78m zROFhEstzVC@MP}5I5Z%*AB$Kf0&b<5YK7c?Yy}x|S9)gFM@GapCtoL2(D6aUoBCrk z_V&{EYTgVr;Aq-g@xZ@?^)BS-n}8%ei?|I5k4Z0n{C=q>X?k82?oh)Xi%KHOci>EZ zaBfLHSJA)AN!!D}34{yZ4LXJ)fz=Cd!2bGIU6)=*{&z2J!bF&e6_j5G2x!KFCZ^^lgGf7R18b<@; zAANMqAVL&6;Q9?v=O!2CXma8JyGl35gXO;8sti&i9`Zi!YTf%^l*OJPlJVJ~`g;pU zugv9wdBZCMakC;|ey@@sGxZ5%$QT_emh7A6Lt~Y-gM(>q%&U&Iaz`Q~6j@CJ6z&AW zwhILO&h@T@%i2AS>3^rwl^LOA`Z0{5e|^V@qBLW>-r=8s8e3EEou;J;c5(s3K-~gr zCXxPct131Zo{6NuxzCE^uiIzQ2;7JDP{_k(+V1M*FY3GX6x{-c@I&^D0Ne=&Pk zK{P0^mf!G#;BZDu1}jv2qbs2SE0+gmpn)3T)Xf23qC`!S%N@9S=BsDi6n@u-H#Ka2 zSZMKq39(8+9_Nq;nlJ&u-A%dRG{z7uD2y%L1J8ukM=V(T$kl`q*TVHo?R;(DIYJT= z(at`70=z$*b1QwV1f9j1{B>B+pXQ^aYa-+Pm)?_#s;ZubYxxC;6Yz1oBk! zZS3iAN)f92AGD7cGE1)ue0Zy(CH`4WFecDWf~73{L?hZIy{cO(sl1hzMKMhb(7uvF zncYhly!V|n+3(_gMMJv`L?3N+Obv{#)5yb#38v=sKLnT2)iS&4kys$E1&%%&ea1-# z?QcS~?NA*-Z<55VBX`-Zf+R_U8v$4^IQnyy(sK?I7E(@F2*%z{r{gu=JKUP^^rqEz zW@+&KrT$n+T9yC(EK)~}B<7})xxp%JxNkyf@Sp9T(Vvtfy5(!RMd-$2)aGU-DO3-> zw5$-KOmZ6|&1jSQUj5r#&vG$@ljeGuUzC}MyA?Oe#7bh4U118(qS3tMFTKnt2OUH@ zSlbhdBT5GcG!<+=4}*2RooaYQTZn0|q#-f2>+Y|?#~zTXC0*WcZ=_d27guiwe@)O??2fXxAqzjw!avLL!o7TmW5c416sG{mw>^jyMvK3%Y?YTQ7h9ouG7SNUu)~21 zEaLya1yz}u;FA+gV4(RWhfu!RDf_~&@i<6vN(K=&E!h346T!)zm6nx<4?zwMGK3R7 zsm|orDFyh^bhGfNRo{PFMvjz63C1N^tp)hPw&mo3Gx&2{XT=vS-x7>F$t`kG_FMx5 z-BK;*Zg3&%)lY9X8&geOU*5@xkaQ<*#4GmvjANwc4eh-Shu<75IzDnmhXTOBjiAHYVVZLN4cf;$#|?Yze1Qw>CD< zX5|TY*5q|?{WfVuP^KWfA#udO?fNjTym}f9G%za?gggP7-r-wJ9%g%LL4OO8`(Z={ z3S9Z5H->`+>#j%KAjhW3D(gjazWA&yYop6cQKA86w1GD!GCRTTI z`A%R-VUWByjH=ZIBAU*G?-PDuJno46k57tR8@(M1eG*B3Ffx+`x^aq{zlfK;%ejxrQ1i%>ZUg~L&ZdY;0HX*&pCxa5u zF+eUsllA59`&|}nC;U%PLp?7XThp2fDYZ}u3#-6!na@gJ8DvfM;@E@(;An`7Vyg<%EYN#zz<`<>G>a zdoCnt$dnL*t z_Lc)SuFWmqvEo~_bw9;`eyW={KLs7XC{GT(H;fPD|5HD3$N4P#@cK02m(#kD-X)jA zxliSl>q^8|n-OOwRw38O;39a~ZsqOBXb~26UJxBRVKt0*TV(-tW_kOOUs@ z9pbD|G;&w}Eg3w~F7!?cI7pi**bK$U*M^ys}-D=G2J^nCFaC|}y$-rt*o8Ika zL2kp3DPqgjR@wrP?pdB%DLY2Irfj!{0T{65!~-R0PE^1F!YM^B6oa-lp5vXWy29$C z9{ybUG=IM-Y9dd=&vHV{H0~w!pQA{ei~vQ|E*WuYv4B)So)7yA29PrIyV?VSw<(y# z&}#@)clAy`OXSw^n2>}+@=FItLP~hZ7-7)PHt3|+F?C>YhF$qbmt#~pCO;cwDCNcfBDA@glNWrIShD? z8`9G8M`vTCtf5h%dTuI`7Q5Kj9#!ykHocF(f8{Gl!J}B-Bvl95dDSp0Om5D9C*;uP zqEkjjV+2#7-|0!Evih=S054(mZTJ4JK7#3dD5LDyA6;6+XxS)Rwwp5;JU>5T-8`&h zTqe|1++EW%$6>=Mc-)WR6^#7_Y zh|_)M~GdKqQqIVGXh)IfrR$`??fsDce>e?j#?WNp)V)sJ{;=ZkRA z`8q|~yq=}&$W2C)*+?Kfv+LXDnDZ-rYII@6)l~epS>4%Vze&^>!-%~rlcIwzn!CGF zmWeGw3N!+6yqXdcmS~|rUKy#CRFhHNE}hOhMu|Cv>ou8E$SrY#2<47k(Zr^3)%D_ zoPqzY{*ZUG9ikQQ{jthp68HWDCpqfm6;F2Ne!v!{2<-<3PicVT@gm)XFE78qt=asz zR4``VO}LJ6lMF#@y}>s6fns_hm_TIomympBl3g`-_^5QrrfPX=NvoHH!JqZdr6`fS zlq|9K-^K@Tt-Kh%(NDjQ?xj-s_Qga6e#!uB-795peRRDPzo|;K;b&K)$5M!|LxP)T z1mnM^@diyUERSOklIRl+YzC10umG}=#sAlh_$8j?#Uh6p2T>}KT@L<3T_c-%j7UR? z@lBppS~mfwdH#HUZ(dL1G7bVBsInRwKh-srTUSn+8`{%Vr*#@TgZL zcW!W%?y_@{4&yz3+J)ksZk;qn)zFS!ZgApZR#zh$GDis)oY+II6TpZ8l4qQkQV0{& zNx0H@r58lx8VPNsU7Iml2%emU?6`3V5>h6=I+gh-4pQH!fTs(feo7($=t#SfHc619 zSma;waU}cB*r);3Y)~Bou8e*Xhjn=SXAdJaVygJ)>zKF$5G3YCxja55xTI^oc=O^8Fq?=bA+vg z9Z({NjBeiXlGa`)(H7SWUu;}zX=ql|l?v0MC!fmWL&dTOmYu0|1r{DpVl_Lf2)uZSv-p{>LmjY6nRb$bO&XuiD@Djsu!wK@TV0!KH6o15;Dw|h z?NS;Y|HUQ`YEg%{l>zeUbcjOKL5R=@N|Tp1;A^e<&#l4rQ5}mk0x)0hHkcli63+s5 za6jJq`E|=(Lf#`ToBz7bygKVy2nRb?epYzT=%LFJa{nxF>4AD|2#-r@0=_{Qvj(-1 zt3;$+G*EqLh`lYEcgmHp{vsEz@qc$Pqjdf#5e@Nk_RTph)VAv6iTM>LRjAt`D;I*)TU@gdMy+n~lrP#a% z84s~<*#+Gbd9b>&Q%b7zUob#F&agezq`^9G#&`%PlRN%FV&y<%c0a@8(vEql%UaZ< z9g^yVtVZ!}A$bpjw=6@>@8Dm`jvM>-_YuCFw3ocw_+xKtBjMT8?q8FUeOw|c%D{pq zT+Cd0BaZXlf;mP~sb9|0QCc*$pdH3YJhlXZRPD0ElAW|G!6~;->13j+mpTPFcot<8mPwZ#{j7CU$x7RDzh@odsXf0Up`C&ju*%rTp z0;|h3O_8%Hc!fG;3ddGxLT=NH0T}T=7f%Ftl2RjlKQ)UQQCw}G58<*0>;mn{u9ZDp zH&4Nwp6%Dps~}U3{}^*d2VM^+j+er6$|NVIy(p_JNs7>;R?<~dA3DmcDN|eJt&RcH zfWseNNUSH>cX6mAXYuPYc0Wp~Lp2lgiEd?ELZ@cr*sH&LG)9n-h5%lZdbg))z~xhD znh`sws|ylZ(C8aQrFZbLf%8})2!aXza{O(@LbM5xwE^1*bmG7>mMXzWFLu<8$=C5S z5FPX2aqyW0bWU~y_G)7AxF5IIQdqGhCWterMgfAZh0uT}Y2Zn>4^IP;CnST2#!7rb zGmd&7mU?|)J(Wk12QVaJVYyv(+*)T&byp7p-!lBO03t2s!6~uvLx2(2kxjt)XG6PX z@;%nY?I0(v^m8xG-WC<$(z68(xLS>5z_c{*f>GunBflVR(s~@09b_Rys|-)^4qP`|AgO{$X1m@s6HdLp<&&YcKwrwDq10LU_vpDk$ih2!ePz^_6XC2ER^}?x% zgtgWe9^emm>}d=kQyCM@USqgfuZOT)Dvmnn)|Ke@K9$pGt#-t4u=qD1`NPC^^NCoe zPwS@!py&Us^5_mP1zwad=V_M}85K}0*SQR13PbV9Jm+C*^e5${Yolw;^p*jEICL@}Aj@uI;G>bN z{bK_8r04Zv(%}o0;>3MK1fV2!9CL2MQM!`qOFV7}=o-UH{R|BKnU8A)(0kMcKSml#4XiE zEDUw_%f4fxTK!E`KTH3~>mvr8On@L;PznPKlmuFs*Nrt)Lj#3A*uUsl5Xljv}}t2Q13#6X@~~DD48OgA+bUcrbD9;)g)8 z8;6DRpm8@&J&<)t{*P~xQOK830g%KCp|^y#_KF^H5PS2c&IHJQ{#N469oN5vOuh(V zdwY{>QHBP^>(-YQOHcrMB>lTHVIB}Jd9+rZdWc1ThpTX#hZB5rc2d71AvjaX{aBOT z%K}H2OC!OnprZcG+{=fH!`V2RZ7K`+#!(GOYe16d?#$=%r(ahWcw%= z2-YT3ArTfRGVmi{;{Mwm!?{Z79Qt0AF=~HbO2I7jDMiHn=)3;oE!;rDsEu72mttN{ zO$00iC^B^ZU~aeoQK$}RfFq7)KDlck$t{fDMjLrS%&Llfl`=w6Dh@wNi6={#8{%2T7@*jtd9N0?*pN7M$p3*w>gDJ?onfibyPtmW@$HVXZCA|4rp+Pv z0=j4=l-lJt$~HL5lSKRnDlqVG9azU|GWF3mI8T&)mWY`Y+oWcpXa^ zsuggU^l^T+=W1F+(K=tA`e%}Q?V%(ZRV75RN+%?H(M>tGtd_A3OlesFF|SvA0z0YR{g6UX(0^I3EiM+9VuwT`Y(aZ4|=9y%zC68nrs?*T^40_DwC7vRd^ODOEK zWLZlIHk1qN3j;h(0$7vDSB$#Rh6lq`&CGRp4v#qUmpV zvtoZDPaDG0X6dTg7_8F@XrlN?z(3OIzVy^lD;oXD&f3@gF{lZmJC%cwdBbD*q7C+X& zx6=Bs4vvt(2TImc<6NC&GkUzKB1!>)e~Tg!I(Q!+pboc(cahhNzW#a;%l(z9W1m6? zYM6;06iw1)m_%TG*gy=!PNWgqZq{5B1QFJO^!hCKA^V-IPWpcMBtqsXWR4>u{_4KH5oz>3;D}OE#)g!p%9o68*+Q zLiy}-n*h=W7Y-v#t26mwDJfok`&5}66g31iS3sE5+pgI_a=(!a!T!FLR|XJI0!qIWB?AV8nc8}NCEL3f=WXk z`&wsLhkAOL;FH)0?#fZBJOF<+*%G$8{d~8G*Dr*+xX6Zy&h{|I)>~jo#x^iJ4x@{x z&ps2{R(lj2fs6XhxBb8dheyHpZ%c0Kl67@b#^WcZTG=gwgbX;bb{zB7==TRm!=T0A z3yx4_f!3`_n#B3(CyW=M=N}>s7g9bj6klK;{r(=C;J^p>ggoaBu_0sDZAP3;=x6c! zVTLy%z{0y49&2ppm?kH`XeU0#8J@2;M32;q7*-mMon6_RJO}T-tOpU*b$>YV`dr`g zzJP=JP|rO%^&CCQRsa}62SW~%BgqS6R`?8ms%EUh%PPD$$oB_9tZYG7XDh9$oyLf! zkA^AsvA7raORx3JX7AhZ&tojp5?IhJQrFJE$@*|QszTI@V3H)78RCZg(*4ue2WG7# zL*2SK|D{%cVq1|*SMdwdwD%oMEv-t|sF{Tw8i;^%=lz&I7vjJ$r z@A$efPoPzQG(ax#Oz`Q)B|`4)#nzUwa(l=Sgg00SNhS&%CKpOEVnRl(*CZQPR&rtT z(=vv_3dW$%N}-i36}9P;Lrgkt40McQ*f2Q;?*USK-q7XN*5PLM$>j@!x99BnC6VmT zgV$--S$;uw!PeU8X|>K(;FZ6~2LsDH`s?J?5b`j5S1r1t#kXG z>0G2wz_pY};!*$#kBv^qWg9#EzN;q=hxPGIn6r29Bh5{M&FAZ52^F^W27EMOo`C>s z4CD14l|;1a+CVNZUV$nib(n-`?u>nj1>qcPi{UH^z{i+dE~wD#{k1%aC3}!Ym7_@N zk64eTIM5Pm9CG@khg%RQ55>mX7Awywqgwe5;=1DQ>qKB`@ z+`Xs5b4Hs&8BDZht<S`p zvW|_W5Pkn#0SzI#a!-k~XhIE9o=@ReNle=&GqS=(-_0TiOsx3ehbXJTng$5sMw*e^ zmH9fWe}kB#2Ry1nmsV7KG|CE=o5?H2_q+`CQc}OfBIl|oOcjTnnEpXq!zNf@tx58F zJAUZxTpnHjDUo|DTlnI~Pd0gTw_-9{-D{s*Oo>OrKZFyQMnO2wg1zRW4N2oRnJ_&G zPrf-c56%wut3yY3V0sm)RRk~M=RUbXswHk51dbfp1UY|$^fG}Foo%WOD_aRZ@sF@Q$GTN?w>Y(9cc;og>^pvhSVxpU6r;RfZBwE`a-F!Tre6rKw0Um7dMkg zhm1Pm*Csw91?MxRWOup#Lb&x>nAkYgP1p{F`_>0m@H4%>*K;8RdUU&{gU2Hq} zxgeTjNPIU%kC{Q2M1T9(QeTX%NAb=D2FNUr-jLVp&ep8AI^EbgjX03PnsR3#v8aviF4Wa zBb?7Ext!2959>DhJOnf>2yd7eMx#>y6~oZma4Dj1$DDMjGtmUqa6!Z4`leI_02wNx z3=owoG_$t$9x*Hz6RE7^xOIsBd5fEmpB$pTu<5p{e zY{vYLc6WAEF%p3tFd+Mgft22{@AakwtxR3`GqRA{Iu|k`t>5AlIwNa%vJ_V|A}?7w zDw+)*z3dolKNt1#yh)!kly~6a-Rx3hJvUUe%Cvi-?}SIeFli z6|d^L6SnqRA5mtlbxBZQsFmdU95YEewpOZ2eUYYg>G6z0(zia;QSiE64lv_Y7OXcu zI8|ZmL!g0x?(Vf?yMt6zux~n;fWw@FWhpYa>b@K+YMM~WfK^g>Y}Vt3XJcDVMDWTP zoKssylh4W_uqn*7ylP@gz<$yjFcL}sYVP#C`)j)$q&x!_aNzD6kNN?2f>W`XnpFa_ zV-#IY6gv{dhey%dI=&+{k80aL4T(1A4OmWFGADM|@uQpkBMP7AQtS8Fzg|6q((WS) z^IDKY{wNa#6FcTJsI7DxT4LcSNIlhnFw6)u7}r@b>9L__T=67OB{rnf-;juvX6zeI?AHgPvmtBLwr!a6jhp@jy?NhsS0v=+n8$KR){j>#lp>TqTVK zMrroA?`83@uE-|51B7;$hntJLFG^`AAN~pwvA;fSoai)qTnHT>Z-q1>u@pCZ%dK@= z+H@+g8xN25saQblm-c;#v!IM`O79g``-Xf^2Uh!4bNG|E&YZF7z5Pv|;kcOi zKw6r`loxG-=i$%0+t{1p%JXN{1dJIk7ngPqvRF~(qoQcLT)K);sUVBV@!+~%`sd)F zRxw^)Ud;&bI=;l&UTj1UL#u{kTBPA-F@QXS{Rsl@7n3WlWCA%9GFiZ}X&T!^qt5B7 zMUkLauj%UGkJOT*WayDKJJj3)B3z*bN?&Zm?!u;V{Cw=BrYjt+Z4}_>&LzuR6(hhY ztgY`l=6`qVE7|Vh2dRj0{TVK%0uxAH0)u1k8kh&9#0MXFa!5 zDJyav;{8ugR0wBhrC+~x%g|70@dM)IrsiQQnoNEH!H6&i6%_h4vohJ@<2E75mVxr( zgmSdKQ(f6Vwz;^T^Cr`+8W2i#K7au~IjLHcT|_<(O4s-`o3--rKakn^T6GGl##k`&dgVn)GVzeA?lbN1XHyquhLNoKZZmxCH(-lgSMDe&@z{12G+(!!&kMkphv zY7)l;{WsiYO9I}~&Mbv-SK@Ax2*q(>A1rSE5zYq(pvS$usM~RB@(wv_0T0(zvq8_p z&ViRhlV2M|#Y#3%t@TUdD`oZqOB`CdNhx$z;+x03%^dFH^+C$?q{?EeaSKstm-ThC zqYa1l^EwyL{4}rCKG4mCE9O3&g9AK1iC`?;$*$V+=seYDnmb;`G33Pu^X@re&Xr3{ zKZiNtpWOt6;uaN1kRdeRt`;O84+Q1xH0CMdJ9#%*@bB9Gz`6BlCI_ug#F&YZq@JX7HRr5~=jW8L|MG%4CHxV`!s3lr*>bgh#X;b^sMB;f;c_qhuNx_f%p%+cXJJY1;-e#0HeZMYrOoqu zx#dI@_X5{fAvBh)`vzIXTHl7qsSdkk_r*nxz4_ZSHTn$A?R@JCp{f^WF_=lq?==Ri zyi+{auF&R;6NnUX$?*sGPs6;aW)P-TZo99~>6B%87c9$g7)G{;0KqrN=M%!5Dc5e8 z!UD4tTm=|WV!}+wah1pc==@*Y+{qNuSRO%*!%rD#l4c?r|32)KmNtEzTPXCL+C5LaLTBHC?2lQzit#26B`>Hvl1K^ z^suBD(Fb@Ar^?l6|AIz*E2W_4f_wcGr9r=UIe5b+Wr55^uzlT%WJ=AwITP!aJvhdQ z#}(~a*n6)ITgLyH^86kpOAc{+>n&P13RoNRK7F=6EPf9XiOs|0E%d13_2GcVvFf8;#$o5h<&fd8b zMMe0g(`|#I7flP%p$3xdu01H_A^;ow0oaPZMW;Rc=*Uf-(J!i5@z}wHP|(;B8f31w zW9=Dxv^r5AdlK|LHif|-`i7F}{o)HX^$%nLYc@Q`PS>)SW9 z^@5Eatr;nox{ z@5otC3^4pW=ymWHi-6D|rS{4qC<^)Om<3m(9F9Ul)|Epidh|nvMI%9)(kt94L3?W^ znYMvVxzex#HEZtpZL@feuqjeSyiDqu@wk2JlwZ9bOo$U6m#F?B(%h>U*}Ap4xg;(8 zO-tEN;=IDC0kfcDbqBG;IAKCuA#P^%g1LUxZ9|>k_-mWprW2{CsM{<=5dCJMp)8rC zSQGQ^#1rB0j2l!qDdI3i!}bbp*_CwGw90fg&J+6myvK5Xu#htIveMs?4Qea}Et~Ky zo23*J3vi)B7~P+6s>uM!lodE$NC2)1JWka}Yfm~@FF^;7(Qrh)=uPuiJc^~CvhB$$ zt8i|#7hfjJf-}u*v=>k2AFW~%l6r4p6;@($Q%G|W@1qmhn8J)`XzF?AqNL3%crnyE43PX~5+d zw|-hz2Yus?dmp$IF+Qy>TmGVvQEQ;u>NLT3^T|h5WmV^J3+dC%s73DVd(Ja0{B!wEf&tC!)lA>J#=?hYchJabdn#M5{AIp3Cy$Q4tc&`=`9A{FSNf z>18{7FXAi~gPKgZnMm(%=+ah&RPfek0y!HooFsxaW8`#X^@8?~)MJCmOn>R*|xhl$&a?{7f z_|pphY|5cSJLS;~%bv^LvsFCRC<*^UI2r_dXencH4s(kpUc2Y*a}biLA<`b3g0wRuLW#6x@z~P+s9Awe4h*Y z5e1s%u(jU~9cZ4)7VroQ9Km^_8eSTP{`@^lqm3$D(2W^2o`Y?7?sw{L4BwwaQCR|U zHzLKquZ!6^&Os6auFpNg#2tRSdAmqQc|Q#VXD!_SaUVKR;azNpfBkMx7S2Q8ASz40 zK4-c6o@?@v@?ge@-eBEcc;7v%jr_5w`zb^Lsqkuh_I&7`5wA7xetHE4p=kJUGu4Ia z)S<-OF46OrG0Nl6CoGu)9tcXgpGbAtvuwid$Q%2^6#mg%U+g$fU$fngSl{!#6JHCO z+_l6_3y|-DF+u9WL5E41vQ@PC@Rx<=d-BAUcNC+F{xc#z-{eWHXOId&N{zZc7QwUM zbciN1bT~@EoP3={$aYZvsj7;ND0;}DH$2@TurJF_;$MGg0gO^%wh|a^M#=6EPLmx@n9FpZkRmgels?-;4+)p0&E4<60~Hgy6vl1cw4<4OcV)-xYlcvehjY1A z+6{l9Z3hNLTP}$N295YOg=UH^lVsMyGp;NXW{_AJj@bcq1mG()t8hVF7FH6>%k9>% zc2-1z7TK~a(_RSJH4zI!MPA-5_^h7vgWn!D1uQn#YFd9_~!Sbprq17W>*E( zEx5nilVp(t^Cn}9pycT})hG~I&9#3_$3nAuM!}f3?bj90>7pL@9-rQ~SZ4AcI&_PuaxfwDCO+OP zq^1y|*6$*Z;xB9X;h<%&pdB*)u9Z^zo8NeXT}hq-N%s=tA-ZaC!?E;}wUBh>-^t4( z%OhN*$NyMoH4BXYyUDxnkzMW+dKul|3!?|#mmVGi zU)#KeTwckDm<<{_Hq*co1uT%4s^`1AlYX?Cw7Hn{9n zdWYp=j{esH;Fe)Aai{UGhk37fpeVXn=98Z?NwL@$qk6X~mwh3NO(mmis)bTY^?(LY zIJj*p$xf}C@l!&TWy!|%^?I+>l}5ZLqc8v9G-*QEp>W3YQ^t{1hJSGWR^AX9U3cqb zop~{rOGn@H3jaxL*`%n5?baF|K2#o-7uQsROxvc?F>RL=htECMpNR-`bUJ7qSt?9_ z`M;$-BQLA>LW&)7M@*yHF8b_p3&NTXLBmLgDLV%ZoDLK%%&!wo^)*x{h@o1$l;7oL zyCrkD>;@4muzJ@bQyHv$++>hT(@eFz?oLkHOdOl_A>jbh?wx;DS0NZIMZ%FSz08w+ zCi%E&zTxc~B90CiZhK}$?fk3k9eZKsc+fLVMCqSel_6X0)5BpzjDtx*NSWp;!Bf=w z43K?>XgK!Zz=1vQ?|mmoR{YYIRGZ3anhAMbRoUf+dK{w#WU*L9Ki>)rvlZ}={H@3d z`@(WfNVsbusPb7Y+8h&buTz90FGrEAf|y$u@iDQ{P?%)7c9p}~BVWcXm!A11BH({c z^as~b9F$#(cfOr8xCD)KsmQu*&OtaCORKEJ9<}F@Cr9<`LGlH9PR(E6wU_49yF489 zvQAZK95fIdJ);8VOVu!(-$*f3|D~zwFG(E)Y0#Tk)%Ocb_iR;nq zuUTp8=e>GE=(uZ6^s^KC04w1Di<#^42$>jz63vwax&*N;5FGXzK ztf-c4yE${m8LfUG6~cf<(t%#5G^#vKS})4X^=K&}1D9eDnT=A6Z^YMBcyt^}zRO6b zja>YktRp&e5<*au>OipY#|@V|2`((E#m>PG-Nq08^PodE!?LJ;0X2@in>hH~6)vE`{%oNs?mTQsGbb9ikp|3d@Fl^YIR5K% zczT?>4Mo8gSW1fQ@JBY|G$|};U*f};7bi2&ftw?*mmnv8RyVZ}_p+aHK3-afe`wMy zIZN8`n3ZvA@`@p@yj&t+Iut)m|D^J?s(8@Jvj>elKUzR*U;GK!6Xl_=4W|kHQw@b4 z=@6Rp0FzDw-SFUuO%=O$2Th2jyRGRZp_*(76dzEJ|LsiA{O`j88ut)2S8E)C$cxG3 zC)8>25B}ALX=Y68$N)RcRR8b8k|e4-EQ*PdyIGx^Gow<7{Qr3R#;{8Jx9cl&nrz#) zZBKShP4?7e+s0(uQ&Ua0rkZTqcI|iH|KoVxulrlO-#)R{I@gktn;-JUp8$BWT%F)0 z4Wh!w={PLW_m$gNQ^dXzXPd6x4WQ~{hFRI@4#WxT|E1IJ7b87Pz7@kdO<+xeMWq2U zmhx_#;fEt-J@TDN+16@6Y-`y_USm2lAUXh;)&ygK?Y2E zR!c(GtI@6dQtybKaQ(pqdnip7si~NEy65se@(*6(78Io@|B6tH)NZhkxXD$5+^SRH z3V`M04l{p!-FO$qr?W%`r93EkvPZ~N*R{N6`hj-|Y`g_AXL(tUw2WPDniCjFa$5;r zD@OF(oWE4z&3Hi|a)1CnKOvG)+C^0ao1w0O;) zTZffv7sgn>g3VbhyMz)f+=_!>c!HLmhJ$?22teYtZ@W~C$_>|bmdDLj_MN%+ucTzY zDl@LXa!(P!oEMB3@DvJiGEqW>1@#rlqG4bZ!(ER+y&0~bvI+5#jom=E?-6N3p!Eu3 z-yMbs9weh?QIw@ftRIQ<=Z>|HORh#&GIw5bD2RNCPt{%vekmo+=DowTmAP=uKfpAY z?;GDUFXQA!P5R32_R+-dF~jop73bWPWA~a-TctYmYzBN&^FyoNn~)23f%!ZY@`JJj zF=7071UK?BF4-_PJ-n@%LH#?*3qSaQ8{pGsVdZjrnQ%Kaxrl@fe_$aMCC%x<+~}rk z{l}dU6B1(ME^)dP{@g``!LzQZx@9tsf^&c;pY{Uz%B{eB117 zI&}tIvFn$~J9}5k-1@vdp1+oM2TnR=zk6{$TE?4Ed*sq!I7yw95Jvfk5I9o-{yy|S zCuP0RX&~zJJ8=9b%essssA-VY6ugI3Zav9nP;jDCFa@9j|J@cH>G@DlOUpRFP5*{z z${J@^#u;Yg;-c^VHAz@#6Bmg1ktJ%|HXC*{;m;-V7ym5}Ej^e+*3b{#($(5ijra+t z7oY2iq@yXrQ+uI7Q>{Ya;#LuAg`JlyEv}rsp|p(=UbL=L-$||2y(I}J@hQn zdua7`U-Khc*vSrh;ih8Cj+w|9k&zCd-S>4p{sR)+0zw|v{zeW&%Cv=&xsmN(Lh*YP zKmKh`V{pB?p4dHwmnsbg??ZMvqmY$wYKzl>Tm&1@j7{C_x?B$ydrQOPULH1ov)^D) z5K?0OU6A)eq-$*k?1_m-a&rmMB^MX-yy$YXB6G`3|1N*)J{0laU4v^NMSYW>p(c|R zS$v%>I-H*ALVPbX9$LCW(6sF`!7P+~jcUX+Rm60Il0{B_XL*Nd%r2__GjTqM{Ac*N zb8^vu>71dy)sX-k3YpETRMRVo7AZ>$57iNm@dx!!pzV{5=o$C^9;5pw5931%rX<_- zo7k~77iccnhu^=cSICRyNCLftw1=f2prGx10@Q+<3Kqg^tN3{h^ia?LEM!p&jJAbN zDfrYPMq$`>%fkfFfl*$k421vazO9}$bWJoso{D^F*RWIHBSC`SMQDl~aw$;ra6MsK zSBHO}LLM6Q{52BBDe4Q3>gG~!Htsy#RSN&q?|z6WLDw&CT+!v`qA!`%Y)QYWjVEB7 zd>2eVBm{D2>!@p(1)a&va-PXyVa2B338`CBJ2f4b>)p0lN>8Db6t2-x*xn0ez+>z)l4Mn zYcEEaZ6o9V%uXFZieZEc|9+z!^BDcLF|(p_GJ|46$*I-KL)C)8EXSaS zZwLIl*O3RJOa>C2{E8p!X?h@`YHqmR+q;g7@HSK`0CV(1ekfhU01RME4mgZO?->~Q zo-v9ko_oG2dn#v`aLt8ga=hXuf}SaAC=b!24zqQSgLYrg6Xa(ZCmfBA1Pwcusc*J= zch|~DM*$C&NQ-6q81ACu>NYq58e?+dd&Ct;j@FqpXs~c0*H0F}SjDNq&^`N9qqaZ6 z-#zi{cV)S`e1nY5?sIvX+W6sXyE~P|@5Sojz;c4`Q?2u(3^_&_%uac^si4oyFugSflCTA3j)CU7Pp2T|PgU@fxJTTkn;m`t)(O zO_AU8Ask=A$u;99K3Bm5Uc@ncu7a-Y;ROYkjerRp67&Wmdl1*N9PN0yb9{0sr}f4M z7YZS#m^7yDu{?}ujDG>)EARF7)rO;4J&3d&+i@@wDx6_*mJ*E;hq47c&4y3<oVT|x{rBP`E;p9%&k z)hINitUp%IJ6{mSt{bNbOgvJkaR-FWHFnO98PvYd)>okGrBZdVOU5+&a57<2k1w{P zF=@lVt9^k6;;g8R16KMFTO?Ne^3$JRrg}}u0++ZeJ!2w)4$4oz(F&cCo;fPN06H#1 z|KqWs!4*!&Y2;g9CGt+hH#Q+I`eM|kHdv1Vg;a=yUd=DCJ$yXK-AZeRp?64QJNvY;DYDrAx-^B0(Yy9SX}alE3d!5n9wI`-z%& ztkd=oZt+L6!zy0KbIa zPhFUvUeQ>8b+Y(-%jAndMg&b*snre`eN`5g=hv+$!%Mc`$C>i@&SaMIglMs?xoCyD+tq#y)(L=YX zl_K^WOzJU0pu)ZOr;rD=P>`QXOplv218&^lt>&$da2K2u91|8FjVZ;gVo}Mr@49HD z0LIpOO=171Ad~1y$g4i!mFKV%^CZS=>6ut;9?~`N3dYiLlkJ=Q2v4$U$^KJ>6Bk@F z{_me!b0dfeT$8Sl3BQOa<0revXVbBOBYk7!erIT{TWs+C&)MMS+9 zL|Xtadi}ytv@?Tpe~E$Ogz=_*?+ix#^nZTqUZM_L`c$;MebOOMmR}iDcQb2Rs(rvE z3-j!+^37F_Z;^1NeW9S)wSw1Y5R1W_noLdsiKgTS2jwdkqm$1uhHtXn#hY=e2C#RK zIh*P=j6cH*mXI1%rg?TP6ksz)&db-~1n}GkZdTOg8!Z(t*Sq4)|2c2V7Y97%3Fu z+Vexmiq>m?Kdo==X*wijse2&nO#BU08)Sj6$PmiL%n#SOv71p68ZzjJo9Rw*e0;#fWgeue)7cL({ zKotZlO`$4OMsAm?UWeJaoAiZGZIK_p7CD@a}s=|7%x8b{qSxF*IyZ z;Zp0@Y`B*F^i&iAqNg(Idfdz{DZbBz;t_e1ca!_jW@w~>RQ-ek-+lMz_H_+A$7``3 z{yqmfYF1Mj9}?@Le!e7#O25B?YpI zo$XMj{NGaz&9dE(7iPG*j`6`arZrkkL$jws53y&;a**R*b^ z*<`A0-W#ICcaoDNHS#AC*=PTKe^y3p9;0GasRxnOwCYy0PfEIHUN2Sjuj&f(`hGBp z6&DDf*}GviM!o;xeV->HBaK{=q>NVA%&*hijj)=h-)(FFjmeih)80!_%O#a=Ei8lp3Gg`1i6Gj=437TwO!`KE z@5r?nK~IC#T$@P_d*-`cp5Q9rc7~UNxLZo>fSablq|Kcd;zE2a6+lM4sWuQth*4cm zewFuOJHFW(^Afion;M8Ckfp%?-Lv!?^X5c$8&7mk-%5?IyfW`3^{-UmPT2O0MvdaB z-&p5WV~AoZbIYIn*4UxT%kKE3ce)3HQLho^JbIx@RL4*pMzoUE>d(IlV4%LyL`qfL zqAx74W3w5V+gtG0t8GRuV!g+)X0;GhvM(=zEOQ42N;=V!!ItLFVT?+k0Q*-UrT1SS zZeAVIrVeIEl_Xwj$Wk@-SL30py~*~PQ>QKv*LSzN{zk6f73j3i&lsEF-d^U%j>PFd zNIo8oPWuzENQL0_J3>&5Q>nkc)WW1L8}P9Y+LcEjHG~aV21MR1H@oW5)6oRw{rBj@mk`S>zS=6ayvED;*0pQs|tl*HBxFkj&w(KnZ1)rWPNpH zFsEcH{a?rHgN}9Aa$On-;e^gwO&dpMo~qoJx3hLToMw%1`-OQbAaDNTdh62 z6XCwT6{-!{gEBXTJyLh~Vvtwk6gNg0;95xt&_Gbm17Wl*2tC(dyRWkB@kCxF(3%@H ztE>I>u}F98EX71jw(iC&QFvW`DaH_3v0L7S)oCXSWSEnDtlk-foUj&&dN`n>4@Z|5*3-&^&4*zLjZ0 zxIB9yeugtrrQHj!>mbfzaQnTYr_8`apAx=r|m10}AmJ}dm=-F(hKpYPS!F&D8jYs_ zVKTTP5c1c<9E5bnaUU7bJvyl&8K5Y=V0vJ|sMur7;DVRLOvt!op+2(=qMqf_W{HFE zAE_35J&0}_Gad?qV;(z4=+yt< z2aAMd!!-#y#`i>b1ud8lSLwp8vP*n4LaTFPE$SHeN{U1!Sy@7ZtNyT`q~2A49Nm5f4-=2IV`(B?*8c6ZiFN_@FlvcQ@ol5=RMFgMOlC))yRUf&FJ`2a)n04 zsp)3yJ*B5SQSGPeo!Uj-qgry1SGSQjG`Z9w%eJ4xafdoezMU0CvI8(|4`9R@$^gcq zF(j^*!TDlHXmvOSv53blFDkDK^0)Jt{M-3kXkXWTs+Y-R zMc773_FC73uuKPf>0eCxIYzxh+V#UxZrJe8F_d_v=C`T+ zSi%;vL@y)q)o}>9zVdpUwj3RGc|a;rZse7LrCBwb*;MTZ%V|*o)*TBC&7YceMRk$&-&sH*jp=2in6L7r@l5A%M6Guxmq z46ULyOunv8=eI~azW5Q20CMjdJt)0}q;zO_@LDVp1LAwPMlWbQ@$G!8K7h;@--V^2 zqK)BH0Vd!j%*Tx;h7}Q9%kcguOhRW7aeig>_He7+rTq(Tx{Mu)*v~KA`yHCP1_)R{ z`d^EFr%t!OLY3_J8d^A(2k|I*q7A&E7gPi~>I|%6QIoE2rjn#&N>C3(yAXwCj@^aSsBv?CM(qezedb}EN?0e)gERXtWZ+}*Z|Ak z#%sT)H&gIN)qm5>Lw2e(;73{<2{eTEGyj9D^L_kX8_>TWoOy7~`h0XnZ3@oo`&7J< zu-qe=*kaAdrBoA;ECt(oF0)BC=KB5K;oE7O?NV!cIz5o710y;f9qs(tVT~aeC5l=W zFg1XrN}&gQ1iaroF*A=>m))w=&bQOqa-J_euh%9I%JkW$&^$M2N*a~-^SdqSppf$j zB)_`yC=>Z2QuGfWOn#Ixzly|in$ET0l)U-pkg`88u1{W^*O;LYXCBE~fRY=}{4*78ze9awm YwIAO9?u1^*GAdJaP+ZD^VNK?g6qyKXw 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�b(;RH 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 + + + + + diff --git a/packages/web/components/Container.tsx b/packages/web/components/Container.tsx index f002a316..e99b0803 100644 --- a/packages/web/components/Container.tsx +++ b/packages/web/components/Container.tsx @@ -5,7 +5,7 @@ export const PageContainer: React.FC = ({ children, ...props }) => ( = ({ children, ...props }) => ( ); export const FlexContainer: React.FC = ({ children, ...props }) => ( - + {children} ); diff --git a/packages/web/components/EditProfileForm.tsx b/packages/web/components/EditProfileForm.tsx index b4ce8373..5e4e5aeb 100644 --- a/packages/web/components/EditProfileForm.tsx +++ b/packages/web/components/EditProfileForm.tsx @@ -52,6 +52,7 @@ import { useRouter } from 'next/router'; import React, { ReactElement, RefObject, + SyntheticEvent, useCallback, useEffect, useMemo, @@ -65,7 +66,7 @@ import { isEmpty } from 'utils/objectHelpers'; const MAX_DESC_LEN = 420; // characters export type ProfileEditorProps = { - player: Maybe; + player?: Maybe; onClose: () => void; }; @@ -80,25 +81,43 @@ const Label: React.FC = React.forwardRef( }, ); -const Input: React.FC = React.forwardRef( - ({ children, ...props }, reference) => { +const Input = React.forwardRef( + ({ children, ...props }, fwdRef) => { const [width, setWidth] = useState('9em'); - const ref = reference as RefObject; - const textRef = useRef(null); + const ref = fwdRef as RefObject; + const textRef = useRef(null); const isText = !props.type || props.type === 'text'; - const calcWidth = (text: string) => { - const input = textRef.current; - if (text && input) { - input.textContent = text; - setWidth( - `min(calc(100vw - 2rem), calc(${input.scrollWidth}px + 2.25em))`, - ); + + const calcWidth = useCallback((text?: string) => { + const layout = textRef.current; + const modal = layout?.closest('form'); + if (layout && modal && text) { + layout.textContent = text; + const widths = [ + `calc(${modal.clientWidth}px - 2rem)`, + `calc(${layout.scrollWidth}px + 2.25em)`, + ]; + setWidth(`min(${widths.join(',')})`); + } + }, []); + + const recalcText = (event: SyntheticEvent) => { + if (isText) { + const { + currentTarget: { value }, + } = event; + calcWidth(value); } }; return ( - + = React.forwardRef( caretColor: 'white', }, }} - // event is supposed to have a type definition in - // @types/react if the DOM library is included, - // but VS doesn't think it does. - onInput={(event /* { target: { value } } */) => { - const { - target: { value }, - } = (event as unknown) as { target: { value: string } }; - if (isText) calcWidth(value); - }} - onFocus={(evt) => { - if (isText) calcWidth(evt.target.value); - }} + onInput={recalcText} + onFocus={recalcText} + {...{ width, ref }} {...props} - {...{ ref, width }} > {children} @@ -182,7 +191,6 @@ export const EditProfileForm: React.FC = ({ const { value } = useProfileField({ field: key, player, - owner: true, }); return [key, value]; }), @@ -427,7 +435,7 @@ export const EditProfileForm: React.FC = ({ }; return ( - + @@ -705,8 +713,8 @@ export const EditProfileForm: React.FC = ({ type="number" placeholder="23" pl={9} - minW="5em" - maxW="7em" + minW={20} + maxW={22} borderTopEndRadius={0} borderBottomEndRadius={0} borderRight={0} @@ -734,7 +742,7 @@ export const EditProfileForm: React.FC = ({ - + { - const { connected, connect, connecting, disconnect } = useWeb3(); - const { user, fetching } = useUser(); + const { connecting, connected, connect, disconnect } = useWeb3(); + const { fetching, user } = useUser(); + const mounted = useMounted(); + const { name } = useProfileField({ + field: 'name', + player: user, + getter: getPlayerName, + }); return ( { left={0} bottom={0} justify={user ? 'space-between' : 'center'} - w="100%" - h="5rem" - bg="rgba(0,0,0,0.75)" + w="full" + h={20} + bg="rgba(0, 0, 0, 0.75)" borderColor="#2B2244" - px="1rem" + px={4} sx={{ backdropFilter: 'blur(10px)' }} > {connected && !!user && !fetching && !connecting ? ( @@ -42,10 +51,11 @@ export const MegaMenuFooter = () => {

diff --git a/packages/web/components/Setup/GenericWizardPane.tsx b/packages/web/components/Setup/GenericWizardPane.tsx deleted file mode 100644 index 83048ae2..00000000 --- a/packages/web/components/Setup/GenericWizardPane.tsx +++ /dev/null @@ -1,192 +0,0 @@ -import { - Box, - Button, - Flex, - FormControl, - FormErrorMessage, - MetaHeading, - Spinner, - Stack, - StatusedSubmitButton, - Text, - useToast, - Wrap, - WrapItem, -} from '@metafam/ds'; -import { Maybe } from '@metafam/utils'; -import { FlexContainer } from 'components/Container'; -import { useSetupFlow } from 'contexts/SetupContext'; -import { CeramicError } from 'lib/hooks'; -import { - PropsWithChildren, - ReactElement, - useCallback, - useEffect, - useState, -} from 'react'; -import { Control, useForm, UseFormRegisterReturn } from 'react-hook-form'; - -import { WizardPaneProps } from './ProfileWizardPane'; - -export type MaybeModalProps = { - onClose?: () => void; -}; - -export type GenericPaneProps = WizardPaneProps & { - value: Maybe; - fetching: boolean; - onSave?: ({ - values, - setStatus, - }: { - values: Record; - setStatus?: (msg: string) => void; - }) => void; -}; - -export type WizardPaneCallbackProps = { - register: ( - field: string, - opts: Record, - ) => UseFormRegisterReturn; - control: Control; - loading: boolean; - errored: boolean; - dirty: boolean; - current: T; - setter: (arg: T | ((prev: T) => T)) => void; -}; - -export const GenericWizardPane = ({ - field, - title, - prompt, - onClose, - onSave, - value: existing, - fetching = false, - children, -}: PropsWithChildren>) => { - const { onNextPress, nextButtonLabel } = useSetupFlow(); - const [status, setStatus] = useState>(); - const { - register, - control, - handleSubmit, - setValue, - watch, - formState: { errors, isValidating: validating }, - } = useForm(); - const current = watch(field, existing); - const toast = useToast(); - - useEffect(() => { - setValue(field, existing); - }, [existing, field, setValue]); - - const onSubmit = useCallback( - async (values) => { - try { - if (current === existing) { - setStatus('No Change. Skipping Save…'); - await new Promise((resolve) => { - setTimeout(resolve, 10); - }); - } else if (onSave) { - setStatus('Saving…'); - await onSave({ values, setStatus }); - } - - onNextPress(); - } catch (err) { - const heading = err instanceof CeramicError ? 'Ceramic Error' : 'Error'; - toast({ - title: heading, - description: (err as Error).message, - status: 'error', - isClosable: true, - duration: 12000, - }); - setStatus(null); - } - }, - [current, existing, onNextPress, onSave, toast], - ); - - const setter = useCallback( - (val: unknown) => { - let next = val; - if (val instanceof Function) { - next = val(current); - } - setValue(field, next); - }, - [current, field, setValue], - ); - - return ( - - {title && ( - - {title} - - )} - {typeof prompt === 'string' ? ( - - {prompt} - - ) : ( - prompt - )} - - {fetching && ( - - - Loading Current Value… - - )} - {validating && ( - - - Validating… - - )} - - {typeof children === 'function' - ? children.call(null, { - register, - control, - loading: fetching, - errored: !!errors[field], - dirty: current !== existing, - current, - setter, - }) - : children} - - {errors[field]?.message} - - - - - - - - - {onClose && ( - - - - )} - - - ); -}; diff --git a/packages/web/components/Setup/ProfileWizardPane.tsx b/packages/web/components/Setup/ProfileWizardPane.tsx index d9954d51..ade6b215 100644 --- a/packages/web/components/Setup/ProfileWizardPane.tsx +++ b/packages/web/components/Setup/ProfileWizardPane.tsx @@ -1,213 +1,40 @@ -import { - Box, - Button, - Flex, - FormControl, - FormErrorMessage, - MetaHeading, - Spinner, - Stack, - StatusedSubmitButton, - Text, - useToast, - Wrap, - WrapItem, -} from '@metafam/ds'; -import { Maybe } from '@metafam/utils'; -import { FlexContainer } from 'components/Container'; -import { useSetupFlow } from 'contexts/SetupContext'; import { useInsertCacheInvalidationMutation } from 'graphql/autogen/types'; import { - CeramicError, ProfileValueType, useProfileField, useSaveCeramicProfile, - useUser, } from 'lib/hooks'; -import { - PropsWithChildren, - ReactElement, - useCallback, - useEffect, - useState, -} from 'react'; -import { Control, useForm, UseFormRegisterReturn } from 'react-hook-form'; +import { PropsWithChildren, useCallback } from 'react'; -export type MaybeModalProps = { - onClose?: () => void; -}; - -export type WizardPaneProps = { - field: string; - title?: string | ReactElement; - prompt?: string | ReactElement; - onClose?: () => void; -}; - -export type WizardPaneCallbackProps = { - register: ( - field: string, - opts: Record, - ) => UseFormRegisterReturn; - control: Control; - loading: boolean; - errored: boolean; - dirty: boolean; - current: T; - setter: (arg: T | ((prev: T) => T)) => void; -}; +import { WizardPane, WizardPaneProps } from './WizardPane'; export const ProfileWizardPane = ({ field, - title, - prompt, - onClose, children, + ...props }: PropsWithChildren) => { - const { onNextPress, nextButtonLabel } = useSetupFlow(); - const [status, setStatus] = useState>(); - const { user } = useUser(); - const { value: existing } = useProfileField({ + const { value, user } = useProfileField({ field, - player: user, - owner: true, }); - const { - register, - control, - handleSubmit, - setValue, - watch, - formState: { errors, isValidating: validating }, - } = useForm(); - const current = watch(field, existing); const saveToCeramic = useSaveCeramicProfile({ - setStatus, fields: [field], }); const [, invalidateCache] = useInsertCacheInvalidationMutation(); - const toast = useToast(); - useEffect(() => { - setValue(field, existing); - }, [existing, field, setValue]); + const onSave = useCallback( + async ({ values, setStatus }) => { + setStatus('Saving to Ceramic…'); + await saveToCeramic({ values }); - const onSubmit = useCallback( - async (values) => { - try { - if (current === existing) { - setStatus('No Change. Skipping Save…'); - await new Promise((resolve) => { - setTimeout(resolve, 10); - }); - } else { - setStatus('Saving to Ceramic…'); - await saveToCeramic({ values }); - - if (user) { - setStatus('Invalidating Cache…'); - await invalidateCache({ playerId: user.id }); - } - } - - onNextPress(); - } catch (err) { - const heading = err instanceof CeramicError ? 'Ceramic Error' : 'Error'; - toast({ - title: heading, - description: (err as Error).message, - status: 'error', - isClosable: true, - duration: 12000, - }); - setStatus(null); + if (user) { + setStatus('Invalidating Cache…'); + await invalidateCache({ playerId: user.id }); } }, - [ - current, - existing, - invalidateCache, - onNextPress, - saveToCeramic, - toast, - user, - ], - ); - - const setter = useCallback( - (val: T | ((val: T) => T)) => { - let next = val; - if (val instanceof Function) { - next = val(current); - } - setValue(field, next); - }, - [current, field, setValue], + [invalidateCache, saveToCeramic, user], ); return ( - - {title && ( - - {title} - - )} - {typeof prompt === 'string' ? ( - - {prompt} - - ) : ( - prompt - )} - - {!user && ( - - - Loading Current Value… - - )} - {validating && ( - - - Validating… - - )} - {typeof children === 'function' - ? children.call(null, { - register, - control, - loading: !user, - errored: !!errors[field], - dirty: current !== existing, - current, - setter, - }) - : children} - - - {errors[field]?.message} - - - - - - - - - {onClose && ( - - - - )} - - + {children} ); }; diff --git a/packages/web/components/Setup/SetupAvailability.tsx b/packages/web/components/Setup/SetupAvailability.tsx index d88d4277..905f63fb 100644 --- a/packages/web/components/Setup/SetupAvailability.tsx +++ b/packages/web/components/Setup/SetupAvailability.tsx @@ -3,102 +3,74 @@ import { InputGroup, InputLeftElement, InputRightAddon, - MetaButton, - MetaHeading, Text, - useToast, } from '@metafam/ds'; -import { FlexContainer } from 'components/Container'; -import { useSetupFlow } from 'contexts/SetupContext'; -import { useUpdateProfileMutation } from 'graphql/autogen/types'; -import { useUser } from 'lib/hooks'; -import React, { useEffect, useState } from 'react'; +import React from 'react'; -export type SetupAvailabilityProps = { - available: number | null; - setAvailability: React.Dispatch>; -}; +import { ProfileWizardPane } from './ProfileWizardPane'; +import { WizardPaneCallbackProps } from './WizardPane'; -export const SetupAvailability: React.FC = ({ - available, - setAvailability, -}) => { - const { onNextPress, nextButtonLabel } = useSetupFlow(); - - const [invalid, setInvalid] = useState(false); - const { user } = useUser(); - const toast = useToast(); - - useEffect(() => { - const value = Number(available); - setInvalid(value < 0 || value > 24 * 7); - }, [available]); - - const [updateProfileRes, updateProfile] = useUpdateProfileMutation(); - const [loading, setLoading] = useState(false); - - const handleNextPress = async () => { - if (!user) return; - setLoading(true); - - const { error } = await updateProfile({ - playerId: user.id, - input: { - availableHours: Number(available), - }, - }); - - if (error) { - toast({ - title: 'Error', - description: `Unable to update availability: "${error}"`, - status: 'error', - isClosable: true, - }); - setLoading(false); - return; - } - - onNextPress(); - }; +export const SetupAvailability: React.FC = () => { + const field = 'availableHours'; return ( - - - Avail­ability - - - What is your weekly availability for any kind of freelance work? - - - - - 🕛 - - - { - setAvailability(parseFloat(value)); - }} - isInvalid={invalid} - /> - hr ⁄ week - + + {({ register, errored = false }: WizardPaneCallbackProps) => { + const { ref: registerRef, ...props } = register(field, { + valueAsNumber: true, + min: { + value: 0, + message: 'It’s not possible to be available for negative time.', + }, + max: { + value: 24 * 7, + message: `There’s only ${24 * 7} hours in a week.`, + }, + }); - - {nextButtonLabel} - - + return ( + + + + 🕛 + + + { + ref?.focus(); + registerRef(ref); + }} + {...props} + /> + + hrweek + + + ); + }} + ); }; diff --git a/packages/web/components/Setup/SetupColorDisposition.tsx b/packages/web/components/Setup/SetupColorDisposition.tsx new file mode 100644 index 00000000..729cfbab --- /dev/null +++ b/packages/web/components/Setup/SetupColorDisposition.tsx @@ -0,0 +1,217 @@ +import { + Button, + Flex, + Image, + Input, + Stack, + Text, + Wrap, + WrapItem, +} from '@metafam/ds'; +import { Maybe, Optional } from '@metafam/utils'; +import { MetaLink } from 'components/Link'; +import { ColorBar } from 'components/Player/ColorBar'; +import { + getPersonalityInfo, + images as MaskImages, + PersonalityInfo, +} from 'graphql/queries/enums/getPersonalityInfo'; +import { PersonalityOption } from 'graphql/types'; +import React, { useEffect, useState } from 'react'; + +import { ProfileWizardPane } from './ProfileWizardPane'; +import { MaybeModalProps, WizardPaneCallbackProps } from './WizardPane'; + +export type ColorButtonsProps = { + mask: number; + setMask: ( + bit: number | ((prev: Optional>) => Maybe), + ) => void; + types: NonNullable; + disabled: boolean; +}; + +// newMask should always only have at most a single bit +// set — the one being toggled +const toggleBit = ({ + base = 0, + bit = 0, +}: { + base?: number; + bit?: number; +}): number => { + if ((base & bit) > 0) { + // if the bit in mask is set + return base & ~bit; // unset it + } + return base | bit; // otherwise set it +}; + +export const ColorButtons: React.FC = ({ + mask, + setMask, + types, + disabled = false, +}) => ( + + {Object.entries(MaskImages) + .reverse() + .map(([bitString, image], idx) => { + const type = types[bitString]; + + if (!type) { + return ( + + Could not find a type for 0b + {Number(bitString).toString(2).padStart(5, '0')}. + + ); + } + + const { name, mask: bit = 0, description } = type; + const selected = (mask & bit) > 0; + + return ( + + + + ); + })} + +); + +export const SetupColorDisposition: React.FC = ({ + buttonLabel, + onClose, +}) => { + const field = 'colorMask'; + + const [types, setTypes] = useState>>( + null, + ); + + useEffect(() => { + const load = async () => { + setTypes(await getPersonalityInfo()); + }; + load(); + }, []); + + return ( + + Please select your personality components below. Not sure what type + you are? + Take + + a quick exam + + or + + a longer quiz + + . + + } + > + {({ + register, + loading, + current = 0, + setter, + }: WizardPaneCallbackProps) => { + if (types == null) { + return ( + + Loading Personality Information… + + ); + } + + return ( + + + + {!loading && ( + + )} + + ); + }} + + ); +}; diff --git a/packages/web/components/Setup/SetupDone.tsx b/packages/web/components/Setup/SetupDone.tsx index da9650ae..62e582ad 100644 --- a/packages/web/components/Setup/SetupDone.tsx +++ b/packages/web/components/Setup/SetupDone.tsx @@ -2,13 +2,10 @@ import { MetaButton, MetaHeading, Stack } from '@metafam/ds'; import { FlexContainer } from 'components/Container'; import { PlayerTile } from 'components/Player/PlayerTile'; import { useUser } from 'lib/hooks'; -import { useRouter } from 'next/router'; -import React, { useState } from 'react'; +import React from 'react'; export const SetupDone: React.FC = () => { - const router = useRouter(); const { user } = useUser(); - const [loading, setLoading] = useState(false); return ( Game On! @@ -20,18 +17,31 @@ export const SetupDone: React.FC = () => { align="center" > {user && } - { - setLoading(true); - router.push('/'); - }} - px={20} - py={8} - fontSize="xl" - isLoading={loading} - > - Play - + + + Play + + + Explore + + ); diff --git a/packages/web/components/Setup/SetupHeader.tsx b/packages/web/components/Setup/SetupHeader.tsx index 01edaba0..912969d1 100644 --- a/packages/web/components/Setup/SetupHeader.tsx +++ b/packages/web/components/Setup/SetupHeader.tsx @@ -1,44 +1,56 @@ -import { Box, BoxedNextImage, Flex, Grid, ResponsiveText } from '@metafam/ds'; -import BackImage from 'assets/Back.svg'; +import { + Box, + BoxedNextImage, + Flex, + Grid, + ResponsiveText, + Text, +} from '@metafam/ds'; import LogoImage from 'assets/logo.png'; -import SkipImage from 'assets/Skip.svg'; import { FlexContainer } from 'components/Container'; import { useSetupFlow } from 'contexts/SetupContext'; -import React from 'react'; +import React, { ReactElement } from 'react'; export const SetupHeader: React.FC = () => { - const { stepIndex, onNextPress, onBackPress, options } = useSetupFlow(); + const { + stepIndex, + onNextPress, + onBackPress, + options: { steps, sections }, + } = useSetupFlow(); - const { sectionIndex } = options.steps[stepIndex]; + const { sectionIndex } = steps[stepIndex]; - const templateColumns = [ - '0.5', - ...options.sections.map(() => '1'), - '0.5', - ].map((col) => `${col}fr`); + const templateColumns = [0, ...sections.map(() => 1), 0].map( + (col) => `${col}fr`, + ); return ( - + - + + < + - {options.sections.map((option, id) => ( + {sections.map(({ label, title }, id) => ( id} /> ))} - + + > + ); }; interface StepProps { - title: { [any: string]: string | undefined }; + title: { [any: string]: string | undefined | ReactElement }; isDone: boolean; isActive: boolean; } @@ -49,8 +61,8 @@ export const SectionProgress: React.FC = ({ isActive, }) => { const { options, stepIndex } = useSetupFlow(); - const progress = isDone ? 100 : options.progressWithinSection(stepIndex); + return ( = ({ fontWeight="bold" color="offwhite" opacity={isActive ? 1 : 0.4} - mb={4} + mb={2} content={title} + ml={[0, '3.5em']} + pr={2} + sx={{ textIndent: [0, '-1.5em'] }} + h={4} /> - + {(isActive || isDone) && ( )} @@ -78,12 +88,12 @@ export const SectionProgress: React.FC = ({ )} diff --git a/packages/web/components/Setup/SetupMemberships.tsx b/packages/web/components/Setup/SetupMemberships.tsx index 69f74ea7..5d206420 100644 --- a/packages/web/components/Setup/SetupMemberships.tsx +++ b/packages/web/components/Setup/SetupMemberships.tsx @@ -1,6 +1,5 @@ import { Box, - Center, ChainIcon, Flex, Heading, @@ -8,61 +7,79 @@ import { Image, MetaButton, MetaHeading, - SimpleGrid, + Spinner, Text, + Wrap, + WrapItem, } from '@metafam/ds'; +import { Maybe, Optional } from '@metafam/utils'; import { FlexContainer } from 'components/Container'; import { useSetupFlow } from 'contexts/SetupContext'; import { Membership } from 'graphql/types'; import React, { useState } from 'react'; -import { getDaoLink } from 'utils/daoHelpers'; +import { getDAOLink } from 'utils/daoHelpers'; -import { useWeb3 } from '../../lib/hooks'; +import { useMounted, useWeb3 } from '../../lib/hooks'; import { DaoHausLink } from '../Player/PlayerGuild'; export type SetupMembershipsProps = { memberships: Array | null | undefined; setMemberships: React.Dispatch< - React.SetStateAction | null | undefined> + React.SetStateAction>>> >; }; export const SetupMemberships: React.FC = ({ memberships, }) => { - const { connected } = useWeb3(); + const { connecting, connected } = useWeb3(); const { onNextPress, nextButtonLabel } = useSetupFlow(); const [loading, setLoading] = useState(false); + const mounted = useMounted(); return ( - Memberships + Member­ships - {!memberships && ( - - {connected ? 'Loading…' : 'Account Not Connected'} - - )} - {memberships && - (memberships.length > 0 ? ( - - - We found the following guilds associated with your account and - automatically added them to your profile. You can edit them later - in your profile. + {(() => { + if (!memberships) { + return ( + + + + {!mounted || connecting || connected + ? 'Loading…' + : 'Account Not Connected'} + + + ); + } + + if (memberships.length === 0) { + return ( + + We did not find any guilds associated with your account. - - {memberships.map((member) => ( - + ); + } + + return ( + + + We found the following guilds associated with your account and + automatically added them to your profile. + + + {memberships?.map((member) => ( + + + ))} - + - ) : ( - - We did not find any guilds associated with your account. - - ))} + ); + })()} { setLoading(true); @@ -81,49 +98,52 @@ type MembershipListingProps = { member: Membership; }; -const MembershipListing: React.FC = ({ member }) => { - const daoUrl = getDaoLink(member.moloch.chain, member.moloch.id); - - const { avatarUrl, chain, title } = member.moloch; +const MembershipListing: React.FC = ({ + member: { moloch }, +}) => { + const { id: molochId, avatarURL, chain, title } = moloch; + const daoURL = getDAOLink(chain, molochId); return ( - - - - {avatarUrl ? ( + + + + {avatarURL ? ( ) : ( - + )} - - -
- {title ?? ( - - Unknown{' '} - - {chain} - {' '} - DAO - - )} - -
-
-
+ + {title ?? ( + + Unknown{' '} + + {chain} + {' '} + DAO + + )} + +
); diff --git a/packages/web/components/Setup/SetupPersonalityType.tsx b/packages/web/components/Setup/SetupPersonalityType.tsx deleted file mode 100644 index a547c54c..00000000 --- a/packages/web/components/Setup/SetupPersonalityType.tsx +++ /dev/null @@ -1,327 +0,0 @@ -import { ModelManager } from '@glazed/devtools'; -import { DIDDataStore } from '@glazed/did-datastore'; -import { TileLoader } from '@glazed/tile-loader'; -import { - Button, - Flex, - Image, - LoadingState, - MetaButton, - MetaHeading, - ModalBody, - ModalFooter, - Spinner, - Text, - useToast, - Wrap, - WrapItem, -} from '@metafam/ds'; -import { extendedProfileModel } from '@metafam/utils'; -import { FlexContainer } from 'components/Container'; -import { MetaLink } from 'components/Link'; -import { ColorBar } from 'components/Player/ColorBar'; -import { useSetupFlow } from 'contexts/SetupContext'; -import { Maybe } from 'graphql/autogen/types'; -import { - getPersonalityInfo, - images as BaseImages, - PersonalityInfo, -} from 'graphql/queries/enums/getPersonalityInfo'; -import { useUser, useWeb3 } from 'lib/hooks'; -import React, { ReactElement, useEffect, useMemo, useState } from 'react'; -import { dispositionFor } from 'utils/playerHelpers'; - -export type SetupPersonalityTypeProps = { - isEdit?: boolean; - onClose?: () => void; -}; - -export const SetupPersonalityType: React.FC = ({ - isEdit, - onClose, -}) => { - const { onNextPress, nextButtonLabel } = useSetupFlow(); - const { fetching: fetchingUser, user } = useUser(); - const { ceramic } = useWeb3(); - const toast = useToast(); - const [status, setStatus] = useState>(null); - const [colorMask, setColorMask] = useState | undefined>(); - const [types, setPersonalityInfo] = useState({}); - const isWizard = !isEdit; - - useEffect(() => { - if (user?.profile?.colorMask != null) { - setColorMask(user.profile.colorMask); - } - }, [colorMask, user]); - - const [fetchingInfo, setFetchingInfo] = useState(true); - - const fetching = useMemo(() => fetchingUser || fetchingInfo || !user, [ - fetchingUser, - fetchingInfo, - user, - ]); - - useEffect(() => { - const fetchInfo = async () => - setPersonalityInfo(await getPersonalityInfo()); - - fetchInfo().then(() => setFetchingInfo(false)); - }, []); - - const handleNextPress = async () => { - setStatus('Saving…'); - - save(); - - onNextPress(); - }; - - const save = async () => { - if (!user) return; - - if (!ceramic) { - toast({ - title: 'Ceramic Error', - description: 'Ceramic is not defined. Cannot update.', - status: 'error', - isClosable: true, - }); - return; - } - - if (user.profile?.colorMask !== colorMask) { - try { - if (!ceramic.did?.authenticated) { - setStatus(Authenticating DID…); - await ceramic.did?.authenticate(); - } - - setStatus(Saving Color Disposition…); - - const cache = new Map(); - const loader = new TileLoader({ ceramic, cache }); - const manager = new ModelManager(ceramic); - manager.addJSONModel(extendedProfileModel); - - const store = new DIDDataStore({ - ceramic, - loader, - model: await manager.toPublished(), - }); - - const colorDisposition = dispositionFor(colorMask); - await store.merge('extendedProfile', { colorDisposition }); - } catch (err) { - console.warn(err); // eslint-disable-line no-console - toast({ - title: 'Error', - description: `Unable to update personality type. Error: ${ - (err as Error).message - }`, - status: 'error', - isClosable: true, - }); - setStatus(null); - } - } - }; - - // mask should always only have at most a single bit set - const toggleMaskElement = (mask = 0): void => { - setColorMask((current = 0) => { - // eslint-disable-next-line no-param-reassign - current ??= 0; // in case of null - if ((mask & current) > 0) { - // if the bit in mask is set - return current & ~mask; // unset it - } - return current | mask; // otherwise set it - }); - }; - - const setup = ( - - {isWizard && ( - Person­ality Type - )} - - Please select your personality components below. Not sure what type you - are? - Take - - a quick exam - - or - - a longer quiz - - . - - {fetching ? ( - - ) : ( - <> - - {Object.keys(types ?? {}).length && - Object.entries(BaseImages) - .reverse() - .map(([orig, image], idx) => { - const option = types?.[parseInt(orig, 10)]; - const { mask = 0 } = option ?? {}; - const selected = ((colorMask ?? 0) & mask) > 0; - - return ( - - - - ); - })} - - - - {isWizard && ( - - {nextButtonLabel} - - )} - - )} - - ); - - return isWizard ? ( - setup - ) : ( - <> - {setup}\ - {isEdit && onClose && ( - - - - - { - await save(); - onClose(); - }} - > - {!status ? ( - 'Save Changes' - ) : ( - - - {typeof status === 'string' ? ( - {status} - ) : ( - status - )} - - )} - - - - - - - - - )} - - ); -}; diff --git a/packages/web/components/Setup/SetupPlayerType.tsx b/packages/web/components/Setup/SetupPlayerType.tsx index 97120919..5a5861e2 100644 --- a/packages/web/components/Setup/SetupPlayerType.tsx +++ b/packages/web/components/Setup/SetupPlayerType.tsx @@ -1,222 +1,108 @@ -import { ModelManager } from '@glazed/devtools'; -import { DIDDataStore } from '@glazed/did-datastore'; -import { TileLoader } from '@glazed/tile-loader'; import { Button, - Flex, - MetaButton, - MetaHeading, - ModalBody, - ModalFooter, + Center, + Input, + InputGroup, SimpleGrid, - Spinner, + Stack, Text, - useToast, - Wrap, - WrapItem, } from '@metafam/ds'; -import { extendedProfileModel, Maybe } from '@metafam/utils'; -import { FlexContainer } from 'components/Container'; -import { useSetupFlow } from 'contexts/SetupContext'; +import { Maybe, Optional } from '@metafam/utils'; import { ExplorerType } from 'graphql/autogen/types'; import { getExplorerTypes } from 'graphql/queries/enums/getExplorerTypes'; -import { useUser, useWeb3 } from 'lib/hooks'; -import React, { ReactElement, useEffect, useState } from 'react'; +import React, { useEffect, useState } from 'react'; -export type Props = { - isEdit?: boolean; - onClose?: () => void; +import { ProfileWizardPane } from './ProfileWizardPane'; +import { MaybeModalProps, WizardPaneCallbackProps } from './WizardPane'; + +export type ExplorerTypesType = { + selectedType: Maybe; + setSelectedType: ( + arg: string | ((type: Optional>) => Maybe), + ) => void; + disabled?: boolean; }; -export const SetupPlayerType: React.FC = ({ isEdit, onClose }) => { - const { onNextPress, nextButtonLabel } = useSetupFlow(); - const { user } = useUser(); - const { ceramic } = useWeb3(); - const toast = useToast(); - const [status, setStatus] = useState>(null); - const [explorerType, setExplorerType] = useState(); - const [typeChoices, setTypeChoices] = useState([]); - const isWizard = !isEdit; - - const load = () => { - if (user) { - if (explorerType === undefined && user.profile?.explorerType != null) { - setExplorerType(user.profile.explorerType); - } - } - }; - useEffect(load, [explorerType, user, user?.profile?.explorerType]); +export const ExplorerTypes: React.FC = ({ + selectedType, + setSelectedType, + disabled = false, +}) => { + const [choices, setChoices] = useState>([]); useEffect(() => { const fetchTypes = async () => { - const response = await getExplorerTypes(); - setTypeChoices(response); + setChoices(await getExplorerTypes()); }; fetchTypes(); - }, [setTypeChoices]); + }, [setChoices]); - const handleNextPress = async () => { - setStatus('Saving Type Selection…'); - await save(); - onNextPress(); - }; + return ( + + + {choices.map((choice) => { + const selected = selectedType === choice.title; - const save = async () => { - if (!user) return; - - if (!ceramic) { - toast({ - title: 'Ceramic Error', - description: 'Ceramic is not defined. Cannot update.', - status: 'error', - isClosable: true, - }); - return; - } - - if (user?.profile?.explorerType?.id !== explorerType?.id) { - try { - if (!ceramic.did?.authenticated) { - setStatus('Authenticating DID…'); - await ceramic.did?.authenticate(); - } - - setStatus('Loading Profile Configuration…'); - - const cache = new Map(); - const loader = new TileLoader({ ceramic, cache }); - const manager = new ModelManager(ceramic); - manager.addJSONModel(extendedProfileModel); - - const store = new DIDDataStore({ - ceramic, - loader, - model: await manager.toPublished(), - }); - - setStatus('Saving to Ceramic…'); - await store.merge('extendedProfile', { - explorerType: explorerType?.title, - }); - } catch (err) { - console.warn(err); // eslint-disable-line no-console - toast({ - title: 'Error', - description: `Unable to update player type. Error: ${ - (err as Error).message - }`, - status: 'error', - isClosable: true, - }); - setStatus(null); - } - } - }; - - const setup = ( - - {isWizard && ( - - Player Type - - )} - - Please read the features of each player type below, and select the one - that suits you best. - - - {typeChoices.map((choice) => ( - setExplorerType(choice)} - align="stretch" - justify="flex-start" - border="2px" - borderColor={ - explorerType?.id === choice.id ? 'purple.400' : 'transparent' - } - > - - {choice.title} - - - {choice.description} - - - ))} + return ( + + ); + })} - {isWizard && ( - - {nextButtonLabel} - - )} - - ); - return isWizard ? ( - setup - ) : ( - <> - {setup} - - {isEdit && onClose && ( - - - - - { - await save(); - onClose(); - }} - > - {!status ? ( - 'Save Changes' - ) : ( - - - {typeof status === 'string' ? ( - {status} - ) : ( - status - )} - - )} - - - - - - - - - )} - + + ); +}; +export const SetupPlayerType: React.FC = ({ + onClose, + buttonLabel, +}) => { + const field = 'explorerTypeTitle'; + + return ( + + {({ register, loading, current, setter }: WizardPaneCallbackProps) => ( +
+ + +
+ )} +
); }; diff --git a/packages/web/components/Setup/SetupProfile.tsx b/packages/web/components/Setup/SetupProfile.tsx index e89c55f6..52392365 100644 --- a/packages/web/components/Setup/SetupProfile.tsx +++ b/packages/web/components/Setup/SetupProfile.tsx @@ -9,7 +9,7 @@ export const SetupProfile: React.FC = ({ children }) => { return ( {options.numSteps - 1 > stepIndex && } - + {children} diff --git a/packages/web/components/Setup/SetupPronouns.tsx b/packages/web/components/Setup/SetupPronouns.tsx index 275a7a82..f084ae64 100644 --- a/packages/web/components/Setup/SetupPronouns.tsx +++ b/packages/web/components/Setup/SetupPronouns.tsx @@ -1,73 +1,42 @@ -import { Input, MetaButton, MetaHeading, useToast } from '@metafam/ds'; -import { FlexContainer } from 'components/Container'; -import { useSetupFlow } from 'contexts/SetupContext'; -import { useUpdateProfilePronounsMutation } from 'graphql/autogen/types'; -import { useUser } from 'lib/hooks'; -import React, { useState } from 'react'; +import { Flex, Input } from '@metafam/ds'; +import React from 'react'; -export type SetupPronounsProps = { - pronouns: string | undefined; - setPronouns: React.Dispatch>; -}; +import { ProfileWizardPane } from './ProfileWizardPane'; +import { WizardPaneCallbackProps } from './WizardPane'; -export const SetupPronouns: React.FC = ({ - pronouns, - setPronouns, -}) => { - const { onNextPress, nextButtonLabel } = useSetupFlow(); - const { user } = useUser(); - const toast = useToast(); - - const [{ fetching }, updatePronouns] = useUpdateProfilePronounsMutation(); - const [loading, setLoading] = useState(false); - - const handleNextPress = async () => { - if (!user) return; - - setLoading(true); - const { error } = await updatePronouns({ - playerId: user.id, - input: { - pronouns: pronouns ?? '', - }, - }); - - if (error) { - toast({ - title: 'Error', - description: `Unable to update player pronouns. ${error.message}`, - status: 'error', - isClosable: true, - }); - setLoading(false); - return; - } - - onNextPress(); - }; +export const SetupPronouns: React.FC = () => { + const field = 'pronouns'; return ( - - - Which pronouns do you prefer? - - setPronouns(value)} - w="auto" - /> + + {({ register, errored }: WizardPaneCallbackProps) => { + const { ref: registerRef, ...props } = register(field, { + maxLength: { + value: 150, + message: 'Maximum length is 150 characters.', + }, + }); - - {nextButtonLabel} - - + return ( + + { + ref?.focus(); + registerRef(ref); + }} + {...props} + /> + + ); + }} + ); }; diff --git a/packages/web/components/Setup/SetupRoles.tsx b/packages/web/components/Setup/SetupRoles.tsx index d9fefa8b..60d9cb1f 100644 --- a/packages/web/components/Setup/SetupRoles.tsx +++ b/packages/web/components/Setup/SetupRoles.tsx @@ -4,359 +4,331 @@ import { Button, CloseIcon, Flex, + Heading, InfoIcon, - LoadingState, - MetaButton, - MetaHeading, - ModalBody, - ModalFooter, + Input, + SimpleGrid, Spacer, + Stack, Text, useBreakpointValue, - useToast, } from '@metafam/ds'; -import { FlexContainer } from 'components/Container'; -import { useSetupFlow } from 'contexts/SetupContext'; +import { Maybe, Optional } from '@metafam/utils'; import { PlayerRole, - useUpdatePlayerRolesMutation, + useUpdatePlayerRolesMutation as useUpdateRoles, } from 'graphql/autogen/types'; import { getPlayerRoles } from 'graphql/queries/enums/getRoles'; -import { useUser } from 'lib/hooks'; -import React, { useCallback, useEffect, useMemo, useState } from 'react'; +import { useOverridableField, useUser } from 'lib/hooks'; +import React, { ReactElement, useEffect, useState } from 'react'; +import { isEmpty } from 'utils/objectHelpers'; + +import { WizardPane, WizardPaneCallbackProps } from './WizardPane'; export type RoleValue = string; export type SetupRolesProps = { - roleChoices?: Array; + choices?: Maybe>; isEdit?: boolean; onClose?: () => void; + buttonLabel?: Optional; }; export const SetupRoles: React.FC = ({ - roleChoices: inputRoleChoices = [], - isEdit, + choices: inputChoices = null, onClose, + buttonLabel, }) => { - const isWizard = !isEdit; - const { onNextPress, nextButtonLabel } = useSetupFlow(); - const toast = useToast(); - const { fetching: fetchingUser, user } = useUser({ - requestPolicy: 'network-only', - }); - const [fetchingRoleChoices, setFetchingRoleChoices] = useState(true); - const [roleChoices, setRoleChoices] = useState( - inputRoleChoices, + const field = 'roles'; + const { user } = useUser(); + const [choices, setChoices] = useState>>( + inputChoices, ); + const [, updateRoles] = useUpdateRoles(); + const { value: roles, setter: setRoles } = useOverridableField>( + { + field, + loaded: !!user, + }, + ); + const mobile = useBreakpointValue({ base: true, sm: false }) ?? false; + useEffect(() => { - if (inputRoleChoices.length === 0 && roleChoices.length === 0) { - getPlayerRoles().then((s) => { - setRoleChoices(s.filter(({ basic }) => basic)); - setFetchingRoleChoices(false); - }); - } else { - setFetchingRoleChoices(false); + const fetchRoles = async () => { + const roleChoices = await getPlayerRoles(); + setChoices(roleChoices.filter(({ basic }) => basic)); + }; + + if (!choices) { + fetchRoles(); } - }, [inputRoleChoices, roleChoices]); - const fetching = useMemo(() => fetchingUser || fetchingRoleChoices, [ - fetchingUser, - fetchingRoleChoices, - ]); - const [roles, setRoles] = useState([]); + }, [choices]); + useEffect(() => { - setRoles(user?.roles.map((r) => r.role) ?? []); - }, [user]); + if (user && setRoles && !roles) { + setRoles(user.roles.map(({ role }) => role)); + } + }, [user, setRoles, roles]); - const availableRoles = useMemo( - () => - roleChoices.filter(({ role, basic }) => !roles.includes(role) && basic), - [roles, roleChoices], - ); + const onSave = async ({ + values, + setStatus, + }: { + values: Record; + setStatus?: (msg: string) => void; + }) => { + const { roles: toSet } = values as { ['roles']: Array }; - const [updateRolesResult, updateRoles] = useUpdatePlayerRolesMutation(); - const [loading, setLoading] = useState(false); - - const save = useCallback(async () => { - if (!user) return; - - setLoading(true); + setStatus?.('Writing to Hasura…'); const { error } = await updateRoles({ - roles: roles.map((r, i) => ({ - rank: i, - role: r, - })), + [field]: toSet.map((role, rank) => ({ rank, role })), }); if (error) { - toast({ - title: 'Error', - description: 'Unable to update roles. The octo is sad 😢', - status: 'error', - isClosable: true, - }); - setLoading(false); + throw new Error(`Unable to update roles. Error: ${error}`); } - }, [user, roles, toast, updateRoles]); - const handleNextPress = useCallback(async () => { - setLoading(true); - await save(); - onNextPress(); - }, [save, onNextPress]); - - const handleSelection = (role: PlayerRole, isPrimary?: boolean) => { - if (isPrimary === false && roles.length < 1) { - return; + if (setRoles) { + setStatus?.('Setting Local State…'); + setRoles(toSet); } - let newRoles: RoleValue[] = []; - const otherRoles = roles.filter((r) => r !== role.role); - if (isPrimary === true) { - newRoles = [role.role, ...otherRoles]; - } else { - newRoles = [...otherRoles, role.role]; - } - setRoles(newRoles); }; - const handleRemoval = (role: PlayerRole) => { - const newRoles = roles.filter((r) => r !== role.role); - setRoles(newRoles); - }; - - const roleContainerStyles = { - width: { - base: 'calc(100% - 4px)', - md: 'calc(50% - 16px)', - lg: 'calc(33% - 20px)', - }, - mr: { base: 0, md: 4 }, - mb: { base: 2, md: 4 }, - }; - - const isMobile = useBreakpointValue({ base: true, md: false }); - - const setup = ( - > + {...{ field, onClose, onSave, buttonLabel }} + value={roles} + title="Roles" + prompt={ + + Unlike other role-playing games, in MetaGame a player is free to take + multiple roles at the same time. + + } + fetching={!user} > - {isWizard && ( - - Select your role(s) - - )} - {fetching && } - {!fetching && - (roles.length === 0 ? ( - - Unlike other role-playing games, in MetaGame, anyone is free to play - multiple roles at the same time. -
- Players are required to specify their primary role, whereas any - secondary roles are optional. -
- ) : ( - - {roles.map((r, i) => { - const choice = roleChoices.find( - (roleChoice) => roleChoice.role === r, - ); - return ( - choice && ( - <> - - - {i === 0 && 'Primary Role'} - {i > 0 && roles.length === 2 && 'Secondary Role'} - {i === 1 && roles.length > 2 && 'Secondary Roles'} - {/* we still need a placeholder */} - {!isMobile && roles.length > 2 && i > 1 && ( -   - )} - + {({ + register, + current, + setter, + }: WizardPaneCallbackProps>) => { + if (!choices) { + return Loading Role Choices…; + } - - - {/* wrap after the primary */} - {i === 0 && } - - ) - ); - })} - - ))} - {availableRoles.length > 0 && !fetching && ( - <> - - Available Roles - - - {availableRoles.map((r) => ( - - - - ))} - - - )} + if (!current) return null; - {isWizard && !fetching && ( - - - {nextButtonLabel} - - - )} -
- ); - return isWizard ? ( - setup - ) : ( - <> - {setup} - {isEdit && onClose && ( - - - { - await save(); - onClose(); - }} - > - Save Changes - - - - - )} - + const availableRoles = + choices + ?.filter(({ role, basic }) => !current?.includes(role) && basic) + .map(({ role }) => role) ?? []; + + const select = ({ role }: PlayerRole, isPrimary?: boolean) => { + if (current) { + let out = null; + const otherRoles = current.filter((r) => r !== role); + if (isPrimary || isEmpty(otherRoles)) { + out = [role, ...otherRoles]; + } else { + out = [...otherRoles, role]; + } + setter(out); + } + }; + + const remove = ({ role }: PlayerRole) => { + if (current) { + const out = current.filter((r) => r !== role); + setter(out); + } + }; + + return ( + + + + + + + ); + }} + ); }; +export type RoleGroupProps = { + roles: Array; + choices: Array; + title: string; + active?: boolean; + primary?: boolean; + numSelectedRoles?: number; + select?: (role: PlayerRole, primary?: boolean) => void; + remove?: (role: PlayerRole, primary?: boolean) => void; + mobile: boolean; +}; + +const RoleGroup: React.FC = ({ + roles, + choices, + title, + active, + primary, + numSelectedRoles, + select, + remove, + mobile, +}) => + roles.length === 0 ? null : ( + + {title && ( + + {title} + {roles.length > 1 ? 's' : null} + + )} + + {roles.map((r) => { + const choice = choices?.find(({ role }) => role === r); + + return ( + + {!choice ? ( + Couldn't find role “{r}”. + ) : ( + + )} + + ); + })} + + + ); + type RoleProps = { role: PlayerRole; - selectionIndex?: number; + selected?: boolean; + primary?: boolean; numSelectedRoles?: number; - onSelect: (role: PlayerRole, isPrimary?: boolean) => void; + onSelect?: (role: PlayerRole, isPrimary?: boolean) => void; onRemove?: (role: PlayerRole) => void; + mobile: boolean; }; const Role: React.FC = ({ role, - selectionIndex, + selected = false, + primary = false, numSelectedRoles, onSelect, onRemove, + mobile = false, }) => { - const handleContainerClick = () => { - if (selectionIndex == null) { + const onClick = () => { + if (!selected && onSelect) { onSelect(role); } }; - const handleRemoveClick = () => { - if (onRemove) { - onRemove(role); - } - }; - const [showDetails, setShowDetails] = useState(false); - const isMobile = useBreakpointValue({ base: true, md: false }); - return ( - + { + if (selected) { + evt.stopPropagation(); + setShowDetails((show) => !show); + } + }} > {role.label} - {!isMobile && {role.description}} - - {isMobile && ( + {!mobile && ( + + {role.description} + + )} + + {mobile && (numSelectedRoles == null || numSelectedRoles <= 1) && ( { e.stopPropagation(); - setShowDetails(!showDetails); + setShowDetails((show) => !show); }} /> )} - {selectionIndex != null && ( - + {selected && ( + {numSelectedRoles != null && numSelectedRoles > 1 && - (isMobile ? ( + (mobile ? ( ) : ( ))} - {isMobile ? ( + {mobile ? ( @@ -411,9 +384,8 @@ const Role: React.FC = ({ borderColor="red.500" borderWidth={2} _hover={{ color: 'white', bgColor: 'red.500' }} - fontSize={{ md: '0.875rem', lg: '1rem' }} - whiteSpace="pre-wrap" - onClick={handleRemoveClick} + fontSize="sm" + onClick={() => onRemove?.(role)} > Remove @@ -422,7 +394,7 @@ const Role: React.FC = ({ )} {showDetails && ( - + {role.description} )} diff --git a/packages/web/components/Setup/SetupSkills.tsx b/packages/web/components/Setup/SetupSkills.tsx index 10ce6563..ad3db5ba 100644 --- a/packages/web/components/Setup/SetupSkills.tsx +++ b/packages/web/components/Setup/SetupSkills.tsx @@ -1,16 +1,12 @@ import { - Button, - MetaButton, - MetaHeading, + Center, + Flex, MetaTheme, - ModalBody, - ModalFooter, - searchSelectStyles, + multiSelectStyles, SelectSearch, - useToast, + Spinner, + Text, } from '@metafam/ds'; -import { FlexContainer } from 'components/Container'; -import { useSetupFlow } from 'contexts/SetupContext'; import { Skill, SkillCategory_Enum, @@ -18,20 +14,30 @@ import { } from 'graphql/autogen/types'; import { getSkills } from 'graphql/queries/enums/getSkills'; import { SkillColors } from 'graphql/types'; -import { useUser } from 'lib/hooks'; -import React, { CSSProperties, useCallback, useEffect, useState } from 'react'; +import { useMounted, useOverridableField, useUser } from 'lib/hooks'; +import React, { CSSProperties, useEffect, useMemo, useState } from 'react'; import { CategoryOption, parseSkills, SkillOption } from 'utils/skillHelpers'; +import { + MaybeModalProps, + WizardPane, + WizardPaneCallbackProps, +} from './WizardPane'; + export type SetupSkillsProps = { isEdit?: boolean; onClose?: () => void; }; -const styles: typeof searchSelectStyles = { - ...searchSelectStyles, +const styles: typeof multiSelectStyles = { + ...multiSelectStyles, + container: (s: CSSProperties) => ({ + ...s, + width: 'min(95vw, 40rem)', + }), menuList: (s: CSSProperties) => ({ ...s, - minHeight: '75vh', + minHeight: 'min(15rem, 60vh)', }), multiValue: (s: CSSProperties, { data }: { data: Skill }) => ({ ...s, @@ -48,7 +54,7 @@ const styles: typeof searchSelectStyles = { { children }: { children: SkillCategory_Enum }, ) => ({ ...s, - ...searchSelectStyles.groupHeading?.(s, { children }), + ...multiSelectStyles.groupHeading?.(s, { children }), background: SkillColors[children], }), option: ( @@ -58,140 +64,142 @@ const styles: typeof searchSelectStyles = { ...s, color: isSelected || isFocused ? MetaTheme.colors.black : MetaTheme.colors.white, - ':hover': { + background: + isSelected || isFocused + ? MetaTheme.colors.blue[50] + : MetaTheme.colors.dark, + ':hover, :focus, :active': { background: MetaTheme.colors.green[50], color: MetaTheme.colors.black, }, }), }; -export const SetupSkills: React.FC = ({ - isEdit, +export const SetupSkills: React.FC = ({ onClose, + buttonLabel, }) => { - const { onNextPress, nextButtonLabel } = useSetupFlow(); - const { user } = useUser({ requestPolicy: 'network-only' }); - const toast = useToast(); - const [skillChoices, setSkillChoices] = useState>([]); - const [updateSkillsRes, updateSkills] = useUpdatePlayerSkillsMutation(); - const [loading, setLoading] = useState(false); - const [playerSkills, setPlayerSkills] = useState>([]); - const isWizard = !isEdit; + const field = 'skills'; + const mounted = useMounted(); + const [choices, setChoices] = useState>(); + const { user } = useUser(); + const { value: strippedSkills, setter: setValue } = useOverridableField< + Array + >({ + field: 'skills', + loaded: !!user, + }); + const modal = !!onClose; + const [, updateSkills] = useUpdatePlayerSkillsMutation(); + const skills = useMemo( + () => + strippedSkills?.map( + (skill) => + ({ + ...skill, + get label() { + return this.name; + }, + get value() { + return this.id; + }, + } as SkillOption), + ), + [strippedSkills], + ); useEffect(() => { - if (user) { - if (user.skills && user.skills.length > 0 && playerSkills.length === 0) { - setPlayerSkills( - user.skills.map(({ Skill: skill }) => ({ - value: skill.id, - label: skill.name, - ...skill, - })), + if (user && setValue && choices && !skills) { + if (user.skills.length > 0) { + const options = choices.map(({ options: opts }) => opts).flat(); + setValue( + user.skills.map(({ Skill: { id: sid } }) => + options.find(({ id: cid }) => sid === cid), + ), ); } } - }, []); // eslint-disable-line react-hooks/exhaustive-deps + }, [choices, setValue, user, skills]); useEffect(() => { const fetchSkills = async () => { - const skills = await getSkills(); - setSkillChoices(parseSkills(skills)); + const skillChoices = await getSkills(); + setChoices(parseSkills(skillChoices)); }; fetchSkills(); }, []); - const save = useCallback(async () => { - if (!user) return; - - setLoading(true); + const onSave = async ({ + values: { skills: skillList }, + setStatus, + }: { + values: Record; + setStatus?: (msg: string) => void; + }) => { + setStatus?.('Writing to Hasura…'); const { error } = await updateSkills({ - skills: playerSkills.map(({ id }) => ({ skill_id: id })), + skills: (skillList as Array).map(({ id }) => ({ + skill_id: id, + })), }); if (error) { - console.warn(error); // eslint-disable-line no-console - toast({ - title: 'Update Error', - description: `Unable to update skills. Error: ${error}`, - status: 'error', - isClosable: true, - }); - setLoading(false); + throw new Error(`Unable to update skills. Error: ${error}`); } - }, [user, playerSkills, toast, updateSkills]); - const handleNextPress = useCallback(async () => { - setLoading(true); - await save(); - onNextPress(); - }, [save, onNextPress]); + if (setValue) { + setStatus?.('Setting Local State…'); + setValue(skillList); + } + }; - const setup = ( - - {isWizard && ( - - What are your super­powers? - - )} - - setPlayerSkills(value as Array)} - options={skillChoices} - autoFocus - closeMenuOnSelect={false} - placeholder="Add Your Skills…" - /> - + return ( + > + {...{ field, onClose, onSave, buttonLabel }} + title="Skills" + prompt="What are your super­powers?" + fetching={!user} + value={skills} + > + {({ + register, + setter, + current, + }: WizardPaneCallbackProps>) => { + const { ref: registerRef, onChange, ...props } = register(field, {}); - {isWizard && ( - - {nextButtonLabel} - - )} - - ); - return isWizard ? ( - setup - ) : ( - <> - {setup} - {isEdit && onClose && ( - - - { - await save(); - onClose(); + if (choices == null || !mounted) { + return ( + + + Loading Options… + + ); + } + + return ( +
+ { + const values = (newValue as unknown) as Array; + setter(values); }} - > - Save Changes - - - - - )} - + options={choices} + value={current} + autoFocus + closeMenuOnSelect={false} + placeholder="Add your skills…" + menuShouldScrollIntoView={true} + menuPlacement={modal ? 'auto' : 'top'} + {...props} + /> +
+ ); + }} + ); }; diff --git a/packages/web/components/Setup/SetupTimeZone.tsx b/packages/web/components/Setup/SetupTimeZone.tsx index 387a45b5..34c378a3 100644 --- a/packages/web/components/Setup/SetupTimeZone.tsx +++ b/packages/web/components/Setup/SetupTimeZone.tsx @@ -1,79 +1,41 @@ -import { MetaButton, MetaHeading, SelectTimeZone, useToast } from '@metafam/ds'; -import { FlexContainer } from 'components/Container'; -import { useSetupFlow } from 'contexts/SetupContext'; -import { useUpdateProfileMutation } from 'graphql/autogen/types'; -import { useUser } from 'lib/hooks'; -import React, { useEffect, useState } from 'react'; +import { Center, SelectTimeZone, Text } from '@metafam/ds'; +import { useMounted } from 'lib/hooks'; +import React from 'react'; +import { Controller } from 'react-hook-form'; + +import { ProfileWizardPane } from './ProfileWizardPane'; +import { WizardPaneCallbackProps } from './WizardPane'; export const SetupTimeZone: React.FC = () => { - const { onNextPress, nextButtonLabel } = useSetupFlow(); - const [timeZone, setTimeZone] = useState(''); - const { user } = useUser(); - const toast = useToast(); - - const [updateProfileRes, updateProfile] = useUpdateProfileMutation(); - const [loading, setLoading] = useState(false); - - useEffect(() => { - if (user) { - if (user.profile?.timeZone && !timeZone) { - setTimeZone(user.profile.timeZone); - } - } - }, [user, timeZone]); - - const handleNextPress = async () => { - if (!user) return; - - setLoading(true); - const { error } = await updateProfile({ - playerId: user.id, - input: { timeZone }, - }); - - if (error) { - toast({ - title: 'Error', - description: `Unable to update your time zone: ${error.message}`, - status: 'error', - isClosable: true, - }); - setLoading(false); - return; - } - - onNextPress(); - }; - - const [isComponentMounted, setIsComponentMounted] = useState(false); - - useEffect(() => setIsComponentMounted(true), []); - - if (!isComponentMounted) { - return null; - } + const field = 'timeZone'; + const mounted = useMounted(); return ( - - - Which time zone are you in? - - - setTimeZone(tz.value)} - labelStyle="abbrev" - /> - - - {nextButtonLabel} - - + + {({ control }: WizardPaneCallbackProps) => ( +
+ + !mounted ? ( + ⸘Not Mounted‽ // avoiding “different className” error + ) : ( + onChange(tz.value)} + {...props} + /> + ) + } + /> +
+ )} +
); }; diff --git a/packages/web/components/Setup/SetupUsername.tsx b/packages/web/components/Setup/SetupUsername.tsx index ef3711f5..03fb17d2 100644 --- a/packages/web/components/Setup/SetupUsername.tsx +++ b/packages/web/components/Setup/SetupUsername.tsx @@ -1,78 +1,61 @@ -import { Input, MetaButton, MetaHeading, useToast } from '@metafam/ds'; -import { FlexContainer } from 'components/Container'; -import { useSetupFlow } from 'contexts/SetupContext'; -import { useUpdatePlayerUsernameMutation } from 'graphql/autogen/types'; -import { useUser } from 'lib/hooks'; -import React, { useState } from 'react'; +import { Flex, Input } from '@metafam/ds'; +import { getPlayer } from 'graphql/getPlayer'; +import React from 'react'; -export type SetupUsernameProps = { - username: string | undefined; - setUsername: React.Dispatch>; -}; +import { ProfileWizardPane } from './ProfileWizardPane'; +import { WizardPaneCallbackProps } from './WizardPane'; -export const SetupUsername: React.FC = ({ - username, - setUsername, -}) => { - const { onNextPress, nextButtonLabel } = useSetupFlow(); - const { user } = useUser(); - const toast = useToast(); - - const [updateUsernameRes, updateUsername] = useUpdatePlayerUsernameMutation(); - const [loading, setLoading] = useState(false); - - const handleNextPress = async () => { - if (!user) return; - - setLoading(true); - const { error } = await updateUsername({ - playerId: user.id, - username: username ?? '', - }); - - if (error) { - let errorDetail = 'The octo is sad 😢'; - if (error.message.includes('Uniqueness violation')) { - errorDetail = 'This username is already taken 😢'; - } else if (error.message.includes('username_is_valid')) { - errorDetail = - 'A username can only contain lowercase letters, numbers, and dashes.'; - } - toast({ - title: 'Error', - description: `Unable to update Player Username. ${errorDetail}`, - status: 'error', - isClosable: true, - }); - setLoading(false); - return; - } - - onNextPress(); - }; +export const SetupUsername: React.FC = () => { + const field = 'username'; return ( - - - What username would you like? - - setUsername(value)} - w="auto" - /> + + {({ register, dirty, errored }: WizardPaneCallbackProps) => { + const { ref: registerRef, ...props } = register(field, { + validate: async (value: string) => { + if (/^0x[0-9a-z]{40}$/i.test(value)) { + return `Username “${value}” has the same format as an Ethereum address.`; + } + if (dirty && (await getPlayer(value))) { + return `Username “${value}” is already in use.`; + } + return true; + }, + pattern: { + value: /^[a-z0-9-_]+$/, + message: + 'Only lowercase letters, digits, dashes, & underscores allowed.', + }, + minLength: { + value: 3, + message: 'Must have at least three characters.', + }, + maxLength: { + value: 150, + message: 'Maximum length is 150 characters.', + }, + }); - - {nextButtonLabel} - - + return ( + + { + ref?.focus(); + registerRef(ref); + }} + {...props} + /> + + ); + }} + ); }; diff --git a/packages/web/components/Setup/WizardPane.tsx b/packages/web/components/Setup/WizardPane.tsx new file mode 100644 index 00000000..d950da43 --- /dev/null +++ b/packages/web/components/Setup/WizardPane.tsx @@ -0,0 +1,260 @@ +import { + Box, + Button, + chakra, + Flex, + FormControl, + FormErrorMessage, + Image, + MetaButton, + MetaHeading, + Spinner, + Stack, + StatusedSubmitButton, + Text, + Tooltip, + useToast, + Wrap, + WrapItem, +} from '@metafam/ds'; +import { Maybe, Optional } from '@metafam/utils'; +import cursiveTitle from 'assets/cursive-title-small.png'; +import discord from 'assets/discord.svg'; +import { FlexContainer } from 'components/Container'; +import { HeadComponent } from 'components/Seo'; +import { useSetupFlow } from 'contexts/SetupContext'; +import { CeramicError, useWeb3 } from 'lib/hooks'; +import { + PropsWithChildren, + ReactElement, + useCallback, + useEffect, + useState, +} from 'react'; +import { Control, useForm, UseFormRegisterReturn } from 'react-hook-form'; + +export type MaybeModalProps = { + buttonLabel?: string | ReactElement; + onClose?: () => void; +}; + +export type WizardPaneProps = { + field: string; + title?: string | ReactElement; + prompt?: string | ReactElement; + buttonLabel?: string | ReactElement; + onClose?: () => void; +}; + +export type PaneProps = WizardPaneProps & { + value: Optional>; + fetching?: boolean; + authenticating?: boolean; + onSave?: ({ + values, + setStatus, + }: { + values: Record; + setStatus?: (msg: string) => void; + }) => Promise; +}; + +export type WizardPaneCallbackProps = { + register: ( + field: string, + opts: Record, + ) => UseFormRegisterReturn; + control: Control; + loading: boolean; + errored: boolean; + dirty: boolean; + current: T; + setter: (arg: T | ((prev: Optional>) => Maybe)) => void; +}; + +export const WizardPane = ({ + field, + title, + prompt, + buttonLabel, + onClose, + onSave, + value: existing, + fetching = false, + children, +}: PropsWithChildren>) => { + const { onNextPress, nextButtonLabel } = useSetupFlow(); + const [status, setStatus] = useState>(); + const { + register, + control, + handleSubmit, + setValue, + watch, + formState: { errors, isValidating: validating, dirtyFields }, + } = useForm(); + const current = watch(field, existing); + const dirty = current !== existing || dirtyFields[field]; + const { connecting, connected, connect } = useWeb3(); + const toast = useToast(); + + useEffect(() => { + setValue(field, existing); + }, [existing, field, setValue]); + + const onSubmit = useCallback( + async (values) => { + try { + if (!dirty) { + setStatus('No Change. Skipping Save…'); + await new Promise((resolve) => { + setTimeout(resolve, 10); + }); + } else if (onSave) { + setStatus('Saving…'); + await onSave({ values, setStatus }); + } + + (onClose ?? onNextPress).call(this); + } catch (err) { + const heading = err instanceof CeramicError ? 'Ceramic Error' : 'Error'; + toast({ + title: heading, + description: (err as Error).message, + status: 'error', + isClosable: true, + duration: 12000, + }); + setStatus(null); + } + }, + [dirty, onClose, onNextPress, onSave, toast], + ); + + const setter = useCallback( + (val: unknown) => { + let next = val; + if (val instanceof Function) { + next = val(current); + } + setValue(field, next); + }, + [current, field, setValue], + ); + + if (!connecting && !connected) { + return ( + + + + + Connect To Progress + + + + + + Get Help + + + + + 📚 Learn More + + + + + ); + } + + return ( + + + {title && ( + + {title} + + )} + {prompt && ( + + {typeof prompt === 'string' ? ( + + {prompt} + + ) : ( + prompt + )} + + )} + + {(!connected || fetching || validating) && ( + + + + {(() => { + if (!connected) return 'Authenticating…'; + if (validating) return 'Validating…'; + return 'Loading Current Value…'; + })()} + + + )} + + {typeof children === 'function' + ? children.call(null, { + register, + control, + loading: !connected || fetching, + errored: !!errors[field], + dirty, + current, + setter, + }) + : children} + + {errors[field]?.message} + + + + + + + + + {onClose && ( + + + + )} + + + ); +}; diff --git a/packages/web/graphql/fragments.ts b/packages/web/graphql/fragments.ts index 7b55fde1..a0bb41a5 100644 --- a/packages/web/graphql/fragments.ts +++ b/packages/web/graphql/fragments.ts @@ -44,12 +44,7 @@ export const PlayerFragment = /* GraphQL */ ` availableHours timeZone colorMask - explorerType { - id - title - description - imageURL - } + explorerTypeTitle } daohausMemberships @skip(if: $forLoginDisplay) { @@ -62,7 +57,7 @@ export const PlayerFragment = /* GraphQL */ ` version totalShares chain - avatarUrl + avatarURL } } diff --git a/packages/web/graphql/getMemberships.ts b/packages/web/graphql/getMemberships.ts index 23a77209..4ab6d279 100644 --- a/packages/web/graphql/getMemberships.ts +++ b/packages/web/graphql/getMemberships.ts @@ -16,7 +16,7 @@ const daoMembershipsQuery = /* GraphQL */ ` title version chain - avatarUrl + avatarURL } } } @@ -70,12 +70,12 @@ export type GuildMembership = { memberId: string; memberShares?: string; memberRank?: string; - memberXp?: number; + memberXP?: number; title?: string; daoShares?: string; chain?: string; address?: string; - logoUrl?: string; + logoURL?: string; guildname?: string; }; @@ -91,22 +91,22 @@ export const getAllMemberships = async (player: Player) => { ), ); - const memberships: GuildMembership[] = [ + const memberships: Array = [ ...(guildPlayers || []).map((gp) => ({ memberId: `${gp.guild_id}:${player.id}`, title: gp.Guild.name, guildname: gp.Guild.guildname, - memberRank: gp.discordRoles[0].name || undefined, - memberXp: gp.Guild.guildname === 'metafam' ? player.totalXP : null, - logoUrl: gp.Guild.logo || undefined, + memberRank: gp.discordRoles[0].name ?? undefined, + memberXP: gp.Guild.guildname === 'metafam' ? player.totalXP : null, + logoURL: gp.Guild.logo ?? undefined, })), ...(daohausMemberships || []).map((m) => ({ memberId: m.id, - title: m.moloch.title || undefined, + title: m.moloch.title ?? undefined, memberShares: m.shares, daoShares: m.moloch.totalShares, chain: m.moloch.chain, - logoUrl: m.moloch.avatarUrl || undefined, + logoURL: m.moloch.avatarURL ?? undefined, address: m.molochAddress, })), ]; diff --git a/packages/web/graphql/getPlayers.ts b/packages/web/graphql/getPlayers.ts index edd471d3..a90ca5a0 100644 --- a/packages/web/graphql/getPlayers.ts +++ b/packages/web/graphql/getPlayers.ts @@ -133,6 +133,7 @@ export const getPlayersWithCount = async ( const playerUsernamesQuery = /* GraphQL */ ` query GetPlayerUsernames($limit: Int) { player(order_by: { totalXP: desc }, limit: $limit) { + ethereumAddress profile { username } @@ -140,7 +141,9 @@ const playerUsernamesQuery = /* GraphQL */ ` } `; -export const getPlayerUsernames = async (limit = 150): Promise => { +export const getPlayerUsernames = async ( + limit = 150, +): Promise }>> => { const { data, error } = await defaultClient .query( playerUsernamesQuery, @@ -148,15 +151,12 @@ export const getPlayerUsernames = async (limit = 150): Promise => { ) .toPromise(); - if (!data) { - if (error) { - throw error; - } - return []; - } - return data.player - .map(({ profile }) => profile?.username ?? null) - .filter((u) => !!u) as Array; + if (error) throw error; + + return (data?.player ?? []).map(({ ethereumAddress: address, profile }) => ({ + address, + username: profile?.username ?? null, + })); }; export const getTopPlayerUsernames = getPlayerUsernames; diff --git a/packages/web/graphql/mutations/idxCache.ts b/packages/web/graphql/mutations/idxCache.ts index 59dd7e09..21a9be4c 100644 --- a/packages/web/graphql/mutations/idxCache.ts +++ b/packages/web/graphql/mutations/idxCache.ts @@ -1,7 +1,5 @@ export const InsertCacheInvalidation = /* GraphQL */ ` mutation InsertCacheInvalidation($playerId: uuid!) { - updateIDXProfile(playerId: $playerId) { - success - } + updateIDXProfile(playerId: $playerId) } `; diff --git a/packages/web/graphql/types.ts b/packages/web/graphql/types.ts index 9e421834..157df470 100644 --- a/packages/web/graphql/types.ts +++ b/packages/web/graphql/types.ts @@ -27,7 +27,7 @@ export type PersonalityOption = { }; export type Membership = Pick & { - moloch: Pick; + moloch: Pick; }; export type MeType = diff --git a/packages/web/lib/hooks/brightId.ts b/packages/web/lib/hooks/brightId.ts index 8c47fec9..cbab5c81 100644 --- a/packages/web/lib/hooks/brightId.ts +++ b/packages/web/lib/hooks/brightId.ts @@ -40,7 +40,6 @@ export const useBrightIdStatus = ({ const verified = isStatusVerified(player.brightid_status, contextId); const deeplink = `${DEEPLINK_ENDPOINT}/${contextId}`; const universalLink = `${UNIVERSAL_LINK_ENDPOINT}/${contextId}`; - return { verified, deeplink, universalLink }; } return undefined; @@ -66,7 +65,7 @@ export const useBrightIdUpdated = ({ player: Player; poll: boolean; }): void => { - const contextId = player.id; + const contextId = player?.id; useEffect(() => { if (!contextId || !poll) return () => undefined; diff --git a/packages/web/lib/hooks/opensea.ts b/packages/web/lib/hooks/opensea.ts index e4764885..c806a1a8 100644 --- a/packages/web/lib/hooks/opensea.ts +++ b/packages/web/lib/hooks/opensea.ts @@ -1,41 +1,44 @@ +import { Maybe } from '@metafam/utils'; import { Player } from 'graphql/autogen/types'; import { useEffect, useState } from 'react'; import { Collectible } from 'utils/openseaHelpers'; export const useOpenSeaCollectibles = ({ - player, + player: { ethereumAddress: owner }, }: { player: Player; }): { favorites: Array; data: Array; loading: boolean; + error: Maybe; } => { const [favorites, setFavorites] = useState>([]); const [data, setData] = useState>([]); const [loading, setLoading] = useState(false); - const owner = player.ethereumAddress; + const [error, setError] = useState>(null); useEffect(() => { - async function load() { + const load = async () => { setLoading(true); + setError(null); try { - if (owner) { - const allData = await fetchAllOpenSeaData(owner); - setData(allData); - setFavorites(allData.slice(0, 3)); - } + const allData = await fetchAllOpenSeaData(owner); + setData(allData); + setFavorites(allData.slice(0, 3)); + } catch (err) { + setError((err as Error).message); } finally { setLoading(false); } - } + }; if (owner) { load(); } }, [owner]); - return { favorites, data, loading }; + return { favorites, data, loading, error }; }; const fetchAllOpenSeaData = async ( @@ -59,17 +62,11 @@ const fetchOpenSeaData = async ( offset: number, limit: number, ): Promise> => { - try { - const res = await fetch( - `/api/opensea?owner=${owner}&offset=${offset}&limit=${limit}`, - ); - const { assets, error } = await res.json(); - if (error) throw new Error(error); - if (!assets) throw new Error('Received empty assets'); - return assets; - } catch (err) { - // eslint-disable-next-line no-console - console.error(`Error Retrieving OpenSea Assets: ${(err as Error).message}`); - return Promise.resolve([]); - } + const res = await fetch( + `/api/opensea?owner=${owner}&offset=${offset}&limit=${limit}`, + ); + const { assets, error } = await res.json(); + if (error) throw new Error(error); + if (!assets) throw new Error(`Received ${assets} assets`); + return assets; }; diff --git a/packages/web/lib/hooks/useField.ts b/packages/web/lib/hooks/useField.ts index cafea155..4d2db7c8 100644 --- a/packages/web/lib/hooks/useField.ts +++ b/packages/web/lib/hooks/useField.ts @@ -1,13 +1,19 @@ import { httpLink, Maybe, Optional } from '@metafam/utils'; import { ExplorerType, Player, Profile } from 'graphql/autogen/types'; import { Atom, atom as newAtom, PrimitiveAtom, useAtom } from 'jotai'; -import { useMemo } from 'react'; +import { optimizedImage } from 'utils/imageHelpers'; + +// eslint-disable-next-line import/no-cycle +import { useUser } from './useUser'; export type ProfileFieldType = { [field in keyof Profile]?: Maybe; } & { value: Maybe; setter: Maybe<(value: unknown) => void>; + owner: Maybe; + user: Maybe; + fetching: boolean; }; export type ProfileValueType = string | number | Array | ExplorerType; @@ -24,40 +30,53 @@ export const clearJotaiState = () => { export const useProfileField = ({ field, player = null, - owner = false, getter = null, }: { field: string; player?: Maybe; - owner?: boolean; getter?: Maybe<(player: Maybe) => Optional>>; }): ProfileFieldType => { + const { fetching, user } = useUser(); + player ??= user; // eslint-disable-line no-param-reassign + const owner = user ? user.id === player?.id : null; const key = field as keyof Profile; + let value = player?.profile?.[key]; let setter: Maybe<(val: unknown) => void> = null; - let value = useMemo( - () => (getter ? getter(player) : player?.profile?.[key]) ?? null, - [key, getter, player], - ); let atom = owner ? fields[field] : null; - if (!atom && owner && player) { + if (!atom && owner) { // eslint-disable-next-line no-multi-assign fields[field] = atom = newAtom>(value); } // eslint-disable-next-line @typescript-eslint/no-shadow - const ret = useAtom((atom ?? nullAtom) as PrimitiveAtom>); + const response = useAtom( + (atom ?? nullAtom) as PrimitiveAtom>, + ); + console.debug({ field, player, value, response }); if (atom) { - [value, setter] = ret; + [value, setter] = response; } - if (field.endsWith('ImageURL')) { - value = httpLink(value); + // to unset, set value = null + if (value == null) { + value = getter?.(player); + } + + if (typeof value === 'string' && /^\w{1,10}:\/\/./.test(value)) { + if (field.endsWith('ImageURL')) { + value = optimizedImage(field, value); + } else if (field.endsWith('URL')) { + value = httpLink(value); + } } return { value, setter, [field]: value, + owner, + user, + fetching, }; }; diff --git a/packages/web/lib/hooks/useSaveCeramicProfile.ts b/packages/web/lib/hooks/useSaveCeramicProfile.ts index 1e00f0eb..0ed62099 100644 --- a/packages/web/lib/hooks/useSaveCeramicProfile.ts +++ b/packages/web/lib/hooks/useSaveCeramicProfile.ts @@ -60,7 +60,6 @@ export const useSaveCeramicProfile = ({ useProfileField({ field: key, player: user, - owner: true, }); return [key, setter]; }), diff --git a/packages/web/lib/hooks/useUser.ts b/packages/web/lib/hooks/useUser.ts index 33db4914..e338603f 100644 --- a/packages/web/lib/hooks/useUser.ts +++ b/packages/web/lib/hooks/useUser.ts @@ -1,5 +1,6 @@ import { Maybe } from '@metafam/utils'; import { Player, useGetMeQuery } from 'graphql/autogen/types'; +// eslint-disable-next-line import/no-cycle import { useWeb3 } from 'lib/hooks/useWeb3'; import { useRouter } from 'next/router'; import { useEffect, useMemo } from 'react'; @@ -16,13 +17,14 @@ export const useUser = ({ redirectIfNotFound = false, requestPolicy = 'cache-first', }: UseUserOpts = {}): { + connecting: boolean; + connected: boolean; user: Maybe; fetching: boolean; error?: CombinedError; } => { const { authToken, connecting, connected } = useWeb3(); const router = useRouter(); - const [{ data, error, fetching }] = useGetMeQuery({ pause: connecting || !connected || !authToken, requestPolicy, @@ -48,5 +50,11 @@ export const useUser = ({ } }, [router, user, fetching, connecting, redirectIfNotFound, redirectTo]); - return { user, fetching, error }; + return { + connecting, + connected, + user, + fetching, + error, + }; }; diff --git a/packages/web/next.config.js b/packages/web/next.config.js index a5c4656b..4fde2eb4 100644 --- a/packages/web/next.config.js +++ b/packages/web/next.config.js @@ -25,6 +25,16 @@ module.exports = withTM( destination: '/community/guilds', permanent: false, }, + { + source: '/profile/setup', + destination: '/profile/setup/username', + permanent: false, + }, + { + source: '/join', + destination: '/profile/setup', + permanent: false, + }, ]; }, async rewrites() { diff --git a/packages/web/package.json b/packages/web/package.json index 1b98926e..e966ef2f 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -34,6 +34,7 @@ "cids": "1.1.9", "classnames": "2.3.1", "copy-to-clipboard": "3.3.1", + "deep-equal": "^2.0.5", "dids": "2.4.3", "draft-js": "0.11.7", "draftjs-to-html": "0.9.1", @@ -71,6 +72,7 @@ }, "devDependencies": { "@types/busboy": "0.3.1", + "@types/deep-equal": "^1.0.1", "@types/react": "17.0.6", "@types/react-grid-layout": "1.1.3", "@types/react-vis": "1.11.10" diff --git a/packages/web/pages/api/opensea.ts b/packages/web/pages/api/opensea.ts index bb15f570..2fa8ee7e 100644 --- a/packages/web/pages/api/opensea.ts +++ b/packages/web/pages/api/opensea.ts @@ -3,6 +3,7 @@ import { utils } from 'ethers'; import { NextApiRequest, NextApiResponse } from 'next'; import { OpenSeaAPI } from 'opensea-js'; import { OpenSeaAssetQuery } from 'opensea-js/lib/types'; +import { isEmpty } from 'utils/objectHelpers'; import { Collectible, parseOpenSeaAssets } from 'utils/openseaHelpers'; const opensea = new OpenSeaAPI({ apiKey: CONFIG.openseaApiKey }); @@ -20,12 +21,23 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { return res.json({ assets }); } catch (err) { - return res.json({ error: (err as Error).message }); + let status = 500; + let msg = (err as Error).message; + if (/403.*unauthorized/i.test(msg)) { + status = 403; + msg = 'Unauthorized'; + if (CONFIG.openseaApiKey == null || isEmpty(CONFIG.openseaApiKey)) { + msg += ': Missing OPENSEA_API_KEY Environment Variable'; + } + } + return res.status(status).json({ error: msg }); } } else if (!utils.isAddress(owner as string)) { - return res.json({ error: `Invalid Owner Address` }); + return res.status(400).json({ error: `Invalid Owner Address` }); } else { - return res.json({ error: `Incorrect Method: ${req.method}` }); + return res + .status(405) + .json({ error: `Incorrect Method: ${req.method} (GET Supported)` }); } } diff --git a/packages/web/pages/guild/[guildname].tsx b/packages/web/pages/guild/[guildname].tsx index 5b14e74b..7ebecf8d 100644 --- a/packages/web/pages/guild/[guildname].tsx +++ b/packages/web/pages/guild/[guildname].tsx @@ -16,7 +16,7 @@ import { import { useRouter } from 'next/router'; import Page404 from 'pages/404'; import React from 'react'; -import { BoxType } from 'utils/boxTypes'; +import { BoxTypes } from 'utils/boxTypes'; import { getGuildCoverImageFull } from 'utils/playerHelpers'; type Props = InferGetStaticPropsType; @@ -31,8 +31,8 @@ const GuildPage: React.FC = ({ guild }) => { // BoxType.GUILD_GALLERY, const boxes = [ - [BoxType.GUILD_PLAYERS], - [BoxType.GUILD_ANNOUNCEMENTS, BoxType.GUILD_LINKS], + [BoxTypes.GUILD_PLAYERS], + [BoxTypes.GUILD_ANNOUNCEMENTS, BoxTypes.GUILD_LINKS], ]; if (router.isFallback) { @@ -45,11 +45,11 @@ const GuildPage: React.FC = ({ guild }) => { const getBox = (name: string): React.ReactNode => { switch (name) { - case BoxType.GUILD_PLAYERS: + case BoxTypes.GUILD_PLAYERS: return ; - case BoxType.GUILD_LINKS: + case BoxTypes.GUILD_LINKS: return ; - case BoxType.GUILD_ANNOUNCEMENTS: + case BoxTypes.GUILD_ANNOUNCEMENTS: return (

No announcements.

diff --git a/packages/web/pages/me.tsx b/packages/web/pages/me.tsx index 6cafbdc0..d0d1ea04 100644 --- a/packages/web/pages/me.tsx +++ b/packages/web/pages/me.tsx @@ -1,23 +1,16 @@ -import { Flex, Link, MetaButton, Spinner, Text, Tooltip } from '@metafam/ds'; -import { getPersonalityInfo } from 'graphql/queries/enums/getPersonalityInfo'; +import { Center, Link, MetaButton, Spinner, Stack, Text } from '@metafam/ds'; import { useMounted, useUser, useWeb3 } from 'lib/hooks'; import { InferGetStaticPropsType } from 'next'; import { PlayerPage } from 'pages/player/[username]'; -export const getStaticProps = async () => { - const personalityInfo = await getPersonalityInfo(); - - return { - props: { - personalityInfo, - }, - revalidate: 1, - }; -}; +export const getStaticProps = async () => ({ + props: {}, + revalidate: 1, +}); type Props = InferGetStaticPropsType; -const CurrentUserPage: React.FC = ({ personalityInfo }) => { +const CurrentUserPage: React.FC = () => { const { connect, connecting, connected } = useWeb3(); const { user, fetching, error } = useUser(); const mounted = useMounted(); @@ -31,25 +24,33 @@ const CurrentUserPage: React.FC = ({ personalityInfo }) => { ); } - if (mounted && (connecting || fetching)) { + if (connecting || fetching) { return ( - - +
+ + + {connecting ? 'Connecting…' : 'Fetching User…'} + - - + +
); } if (user) { - return ; + return ; } if (error) { return ( - - Error Loading User: {error.message} - +
+ + + Error Loading User: {error.message} + + Try Again + +
); } diff --git a/packages/web/pages/player/[username].tsx b/packages/web/pages/player/[username].tsx index f0fcd880..1a0f25f8 100644 --- a/packages/web/pages/player/[username].tsx +++ b/packages/web/pages/player/[username].tsx @@ -12,8 +12,10 @@ import { MetaButton, RepeatClockIcon, ResponsiveText, + useBreakpointValue, useToast, } from '@metafam/ds'; +import { Maybe } from '@metafam/utils'; import { PageContainer } from 'components/Container'; import { ALL_BOXES, @@ -26,22 +28,19 @@ import { import { PlayerAddSection } from 'components/Player/Section/PlayerAddSection'; import { PlayerSection } from 'components/Profile/PlayerSection'; import { HeadComponent } from 'components/Seo'; +import deepEquals from 'deep-equal'; import { Player, - useInsertCacheInvalidationMutation, - useUpdatePlayerProfileLayoutMutation, + useInsertCacheInvalidationMutation as useInvalidateCache, + useUpdatePlayerProfileLayoutMutation as useUpdateLayout, } from 'graphql/autogen/types'; import { getPlayer } from 'graphql/getPlayer'; import { getTopPlayerUsernames } from 'graphql/getPlayers'; -import { - getPersonalityInfo, - PersonalityInfo, -} from 'graphql/queries/enums/getPersonalityInfo'; -import { useUser, useWeb3 } from 'lib/hooks'; +import { useProfileField, useUser, useWeb3 } from 'lib/hooks'; import { GetStaticPaths, GetStaticPropsContext } from 'next'; import { useRouter } from 'next/router'; import Page404 from 'pages/404'; -import { +import React, { ReactElement, useCallback, useEffect, @@ -50,14 +49,20 @@ import { useState, } from 'react'; import { Layout, Layouts, Responsive, WidthProvider } from 'react-grid-layout'; -import { BoxMetadata, BoxType, getBoxKey } from 'utils/boxTypes'; +import { + BoxMetadata, + BoxType, + BoxTypes, + createBoxKey, + getBoxKey, +} from 'utils/boxTypes'; import { addBoxToLayouts, - disableAddBoxInLayoutData, - enableAddBoxInLayoutData, + disableAddBox, + enableAddBox, isSameLayouts, - onRemoveBoxFromLayouts, - updateHeightsInLayouts, + removeBoxFromLayouts, + updatedLayouts, } from 'utils/layoutHelpers'; import { getPlayerBannerFull, @@ -71,14 +76,22 @@ const ResponsiveGridLayout = WidthProvider(Responsive); type Props = { player: Player; - personalityInfo: PersonalityInfo; }; -export const PlayerPage: React.FC = ({ - player, - personalityInfo, -}): ReactElement => { +export const PlayerPage: React.FC = ({ player }): ReactElement => { const router = useRouter(); + const { value: banner } = useProfileField({ + field: 'bannerImageURL', + player, + getter: getPlayerBannerFull, + }); + const [, invalidateCache] = useInvalidateCache(); + + useEffect(() => { + if (player?.id) { + invalidateCache({ playerId: player.id }); + } + }, [player?.id, invalidateCache]); if (router.isFallback) { return ; @@ -87,23 +100,24 @@ export const PlayerPage: React.FC = ({ if (!player) return ; return ( - + - - + + ); @@ -111,34 +125,38 @@ export const PlayerPage: React.FC = ({ export default PlayerPage; -const getBoxKeyFromTarget = (target: HTMLElement | null): string => - (target?.offsetParent as HTMLElement)?.offsetParent?.id ?? ''; - -const useItemHeights = (items: HTMLElement[]): { [boxKey: string]: number } => { - const [heights, setHeights] = useState<{ [boxKey: string]: number }>({}); +const useItemHeights = (items: Array>) => { + const [heights, setHeights] = useState>({}); useEffect(() => { const observer = new ResizeObserver((entries) => { setHeights((oldHeights) => { - const newHeights = { ...oldHeights }; - entries.forEach((entry) => { - newHeights[getBoxKeyFromTarget(entry.target as HTMLElement)] = - entry.contentRect.height; - }); - return newHeights; + const entryHeights = Object.fromEntries( + entries.map(({ target }) => [ + getBoxKey(target as HTMLElement), + target.scrollHeight, // entry.contentRect.height, + ]), + ); + return { ...oldHeights, ...entryHeights }; }); }); - const newHeights: { [boxKey: string]: number } = {}; + + const newHeights: Record = {}; items.forEach((item) => { - const target = item.children[0] as HTMLElement; - if (target) { - newHeights[ - getBoxKeyFromTarget(target) - ] = target.getBoundingClientRect().height; - observer.observe(target); + if (item) { + const target = item.children[0] as HTMLElement; + const key = getBoxKey(target); + if (key && target) { + newHeights[key] = target.scrollHeight; + observer.observe(target); + } else { + // eslint-disable-next-line no-console + console.warn(`Missing:`, target, key); + } } }); setHeights(newHeights); + return () => { observer.disconnect(); }; @@ -147,40 +165,27 @@ const useItemHeights = (items: HTMLElement[]): { [boxKey: string]: number } => { return heights; }; -export const Grid: React.FC = ({ - player: initPlayer, - personalityInfo, -}): ReactElement => { +export const Grid: React.FC = ({ player }): ReactElement => { const [isOwnProfile, setIsOwnProfile] = useState(false); - const [, invalidateCache] = useInsertCacheInvalidationMutation(); const { user, fetching } = useUser(); const { connected } = useWeb3(); - const [player, setPlayer] = useState(initPlayer); + const [saving, setSaving] = useState(false); const [exitAlertCancel, setExitAlertCancel] = useState(false); const [exitAlertReset, setExitAlertReset] = useState(false); - - useEffect(() => { - if (!fetching && user && user.id === player?.id) { - setPlayer(user); - if (connected) { - setIsOwnProfile(true); - } - } - }, [user, fetching, connected, player?.id]); - - useEffect(() => { - if (player?.id) { - invalidateCache({ playerId: player.id }); - } - }, [player?.id, invalidateCache]); - + const [changed, setChanged] = useState(false); + const [editing, setEditing] = useState(false); + const itemsRef = useRef>>([]); + const heights = useItemHeights(itemsRef.current); + const mobile = useBreakpointValue({ base: true, sm: false }); const toast = useToast(); - const [ - { fetching: fetchingSaveRes }, - saveLayoutData, - ] = useUpdatePlayerProfileLayoutMutation(); - const [saving, setSaving] = useState(false); + const [{ fetching: updating }, saveLayoutData] = useUpdateLayout(); + + useEffect(() => { + if (!fetching && user && user.id === player.id && connected) { + setIsOwnProfile(true); + } + }, [user, fetching, connected, player?.id]); const savedLayoutData = useMemo( () => @@ -199,17 +204,13 @@ export const Grid: React.FC = ({ layouts: currentLayouts, } = currentLayoutData; - const itemsRef = useRef([]); - useEffect(() => { itemsRef.current = itemsRef.current.slice(0, currentLayoutItems.length); }, [currentLayoutItems]); - const heights = useItemHeights(itemsRef.current); - useEffect(() => { - const layouts = updateHeightsInLayouts(currentLayouts, heights); - if (JSON.stringify(layouts) !== JSON.stringify(currentLayouts)) { + const layouts = updatedLayouts(currentLayouts, heights); + if (!deepEquals(layouts, currentLayouts)) { setCurrentLayoutData(({ layoutItems }) => ({ layouts, layoutItems, @@ -217,21 +218,17 @@ export const Grid: React.FC = ({ } }, [currentLayouts, heights]); - const [changed, setChanged] = useState(false); - - const [canEdit, setCanEdit] = useState(false); + const handleReset = useCallback(() => { + setCurrentLayoutData(enableAddBox(DEFAULT_PLAYER_LAYOUT_DATA)); + setExitAlertReset(false); + }, []); const handleCancel = useCallback(() => { setCurrentLayoutData(savedLayoutData); - setCanEdit(false); + setEditing(false); setExitAlertCancel(false); }, [savedLayoutData]); - const handleReset = useCallback(() => { - setCurrentLayoutData(enableAddBoxInLayoutData(DEFAULT_PLAYER_LAYOUT_DATA)); - setExitAlertReset(false); - }, []); - const isDefaultLayout = useMemo( () => isSameLayouts(DEFAULT_PLAYER_LAYOUT_DATA, currentLayoutData), [currentLayoutData], @@ -239,57 +236,64 @@ export const Grid: React.FC = ({ const persistLayoutData = useCallback( async (layoutData: ProfileLayoutData) => { - if (!user) return; + if (!user) throw new Error('User is not set.'); - setSaving(true); const { error } = await saveLayoutData({ playerId: user.id, layout: JSON.stringify(layoutData), }); - if (error) { - toast({ - title: 'Error', - description: `Unable to save layout. Error: ${error}`, - status: 'error', - isClosable: true, - }); - handleCancel(); - } else { - setCurrentLayoutData(layoutData); - } - setSaving(false); + if (error) throw error; }, - [handleCancel, saveLayoutData, toast, user], + [saveLayoutData, user], ); const toggleEditLayout = useCallback(async () => { - if (canEdit) { - await persistLayoutData(disableAddBoxInLayoutData(currentLayoutData)); - } else { - setCurrentLayoutData(enableAddBoxInLayoutData(currentLayoutData)); + try { + let layoutData = DEFAULT_PLAYER_LAYOUT_DATA; + if (editing) { + setSaving(true); + layoutData = disableAddBox(currentLayoutData); + await persistLayoutData(layoutData); + } else { + layoutData = enableAddBox(currentLayoutData); + } + setCurrentLayoutData(layoutData); + setEditing((e) => !e); + setChanged(false); + } catch (err) { + toast({ + title: 'Error', + description: `Unable to save layout. Error: ${(err as Error).message}`, + status: 'error', + isClosable: true, + }); + } finally { + setSaving(false); } - setCanEdit(!canEdit); - setChanged(false); - }, [canEdit, currentLayoutData, persistLayoutData]); + }, [editing, currentLayoutData, persistLayoutData, toast]); const handleLayoutChange = useCallback( - (_layoutItems: Layout[], layouts: Layouts) => { - setCurrentLayoutData({ layouts, layoutItems: currentLayoutItems }); - setChanged(true); + (_items: Array, layouts: Layouts) => { + const oldData = { + layouts: currentLayouts, + layoutItems: currentLayoutItems, + }; + const newData = { layouts, layoutItems: currentLayoutItems }; + // automatic height adjustments dirty `changed` + setChanged(changed || (editing && !isSameLayouts(oldData, newData))); + setCurrentLayoutData(newData); }, - [currentLayoutItems], + [currentLayouts, currentLayoutItems, editing, changed], ); - const wrapperSX = useMemo(() => gridConfig.wrapper(canEdit), [canEdit]); + const wrapperSX = useMemo(() => gridConfig.wrapper(editing), [editing]); const onRemoveBox = useCallback( (boxKey: string): void => { const layoutData = { - layouts: onRemoveBoxFromLayouts(boxKey, currentLayouts), - layoutItems: currentLayoutItems.filter( - (item) => item.boxKey !== boxKey, - ), + layouts: removeBoxFromLayouts(currentLayouts, boxKey), + layoutItems: currentLayoutItems.filter((item) => item.key !== boxKey), }; setCurrentLayoutData(layoutData); setChanged(true); @@ -298,17 +302,14 @@ export const Grid: React.FC = ({ ); const onAddBox = useCallback( - (boxType: BoxType, boxMetadata: BoxMetadata): void => { - const boxKey = getBoxKey(boxType, boxMetadata); - if (currentLayoutItems.find((item) => item.boxKey === boxKey)) { + (type: BoxType, metadata: BoxMetadata): void => { + const key = createBoxKey(type, metadata); + if (currentLayoutItems.find((item) => item.key === key)) { return; } const layoutData = { - layouts: addBoxToLayouts(boxType, boxMetadata, currentLayouts), - layoutItems: [ - ...currentLayoutItems, - { boxType, boxMetadata, boxKey: getBoxKey(boxType, boxMetadata) }, - ], + layouts: addBoxToLayouts(currentLayouts, type, metadata), + layoutItems: [...currentLayoutItems, { type, metadata, key }], }; setCurrentLayoutData(layoutData); @@ -317,11 +318,11 @@ export const Grid: React.FC = ({ [currentLayouts, currentLayoutItems], ); - const availableBoxList = useMemo( + const availableBoxes = useMemo( () => ALL_BOXES.filter( (box) => - !currentLayoutItems.map(({ boxType }) => boxType).includes(box) || + !currentLayoutItems.map(({ type }) => type).includes(box) || MULTIPLE_ALLOWED_BOXES.includes(box), ), [currentLayoutItems], @@ -333,58 +334,55 @@ export const Grid: React.FC = ({ {isOwnProfile && ( - {changed && canEdit && !isDefaultLayout && ( + {changed && editing && !isDefaultLayout && ( setExitAlertReset(true)} - leftIcon={} - whiteSpace="pre-wrap" + leftIcon={mobile ? undefined : } > Reset )} - {changed && canEdit && ( + {editing && ( setExitAlertCancel(true)} - leftIcon={} + leftIcon={mobile ? undefined : } > Cancel )} - setExitAlertReset(false)} onYep={handleReset} - header="Are you sure you want to reset the layout to default?" + header="Are you sure you want to reset the layout to its default?" /> = ({ onYep={handleCancel} header="Are you sure you want to cancel editing the layout?" /> - - } - transition="color 0.2s ease" - isLoading={saving || fetchingSaveRes} - onClick={toggleEditLayout} - > - - + {(!editing || changed) && ( + } + transition="color 0.2s ease" + isLoading={saving || updating} + onClick={toggleEditLayout} + > + + + )} )} = ({ breakpoints={{ lg: 1180, md: 900, sm: 0 }} cols={{ lg: 3, md: 2, sm: 1 }} rowHeight={GRID_ROW_HEIGHT} - isDraggable={!!canEdit} + isDraggable={!!editing} isResizable={false} margin={{ lg: [30, 30], @@ -440,29 +437,28 @@ export const Grid: React.FC = ({ sm: [20, 20], }} > - {currentLayoutItems.map(({ boxKey, boxType, boxMetadata }, i) => ( - - {boxType === BoxType.PLAYER_ADD_BOX ? ( + {currentLayoutItems.map(({ key, type, metadata }, i) => ( + + {type === BoxTypes.PLAYER_ADD_BOX ? ( { - itemsRef.current[i] = e as HTMLElement; + boxes={availableBoxes} + {...{ player, onAddBox }} + ref={(e: Maybe) => { + itemsRef.current[i] = e; }} /> ) : ( { - itemsRef.current[i] = e as HTMLElement; + ref={(e: Maybe) => { + itemsRef.current[i] = e; }} /> )} @@ -476,12 +472,19 @@ export const Grid: React.FC = ({ type QueryParams = { username: string }; export const getStaticPaths: GetStaticPaths = async () => { - const usernames = await getTopPlayerUsernames(); + const names = await getTopPlayerUsernames(); return { - paths: usernames.map((username) => ({ - params: { username }, - })), + paths: names + .map(({ username, address }) => { + const out = []; + if (username) { + out.push({ params: { username } }); + } + out.push({ params: { username: address } }); + return out; + }) + .flat(), fallback: 'blocking', }; }; @@ -500,11 +503,9 @@ export const getStaticProps = async ( } const player = await getPlayer(username); - const personalityInfo = await getPersonalityInfo(); return { props: { - personalityInfo, player: player ?? null, // must be serializable key: username.toLowerCase(), hideTopMenu: !player, diff --git a/packages/web/pages/profile/setup/availability.tsx b/packages/web/pages/profile/setup/availability.tsx index 16cc3165..781bccf0 100644 --- a/packages/web/pages/profile/setup/availability.tsx +++ b/packages/web/pages/profile/setup/availability.tsx @@ -1,10 +1,8 @@ import { SetupAvailability } from 'components/Setup/SetupAvailability'; import { SetupProfile } from 'components/Setup/SetupProfile'; import { SetupContextProvider } from 'contexts/SetupContext'; -import { Maybe } from 'graphql/autogen/types'; -import { useUser } from 'lib/hooks'; import { InferGetStaticPropsType } from 'next'; -import React, { useState } from 'react'; +import React from 'react'; export const getStaticProps = async () => ({ props: { @@ -14,25 +12,12 @@ export const getStaticProps = async () => ({ export type DefaultSetupProps = InferGetStaticPropsType; -const AvailabilitySetup: React.FC = () => { - const { user } = useUser(); - const [available, setAvailability] = useState>( - user?.profile?.availableHours ?? null, - ); - - if (user) { - if (user.profile?.availableHours != null && available === null) { - setAvailability(user.profile.availableHours); - } - } - - return ( - - - - - - ); -}; +const AvailabilitySetup: React.FC = () => ( + + + + + +); export default AvailabilitySetup; diff --git a/packages/web/pages/profile/setup/personalityType.tsx b/packages/web/pages/profile/setup/colorDisposition.tsx similarity index 67% rename from packages/web/pages/profile/setup/personalityType.tsx rename to packages/web/pages/profile/setup/colorDisposition.tsx index 4658f0d3..7e0ef53f 100644 --- a/packages/web/pages/profile/setup/personalityType.tsx +++ b/packages/web/pages/profile/setup/colorDisposition.tsx @@ -1,4 +1,4 @@ -import { SetupPersonalityType } from 'components/Setup/SetupPersonalityType'; +import { SetupColorDisposition } from 'components/Setup/SetupColorDisposition'; import { SetupProfile } from 'components/Setup/SetupProfile'; import { SetupContextProvider } from 'contexts/SetupContext'; import { InferGetStaticPropsType } from 'next'; @@ -12,11 +12,12 @@ export const getStaticProps = async () => ({ export type DefaultSetupProps = InferGetStaticPropsType; -const PersonalityTypeSetup: React.FC = () => ( +const ColorDispositionSetup: React.FC = () => ( - + ); -export default PersonalityTypeSetup; + +export default ColorDispositionSetup; diff --git a/packages/web/pages/profile/setup/pronouns.tsx b/packages/web/pages/profile/setup/pronouns.tsx index 9d058cbb..de6592fb 100644 --- a/packages/web/pages/profile/setup/pronouns.tsx +++ b/packages/web/pages/profile/setup/pronouns.tsx @@ -1,9 +1,8 @@ import { SetupProfile } from 'components/Setup/SetupProfile'; import { SetupPronouns } from 'components/Setup/SetupPronouns'; import { SetupContextProvider } from 'contexts/SetupContext'; -import { useUser } from 'lib/hooks'; import { InferGetStaticPropsType } from 'next'; -import React, { useState } from 'react'; +import React from 'react'; export const getStaticProps = async () => ({ props: { @@ -13,20 +12,12 @@ export const getStaticProps = async () => ({ export type DefaultSetupProps = InferGetStaticPropsType; -const PronounsSetup: React.FC = () => { - const [pronouns, setPronouns] = useState(); - const { user } = useUser(); +const PronounsSetup: React.FC = () => ( + + + + + +); - if (user?.profile?.pronouns && pronouns === undefined) { - setPronouns(user.profile.pronouns); - } - - return ( - - - - - - ); -}; export default PronounsSetup; diff --git a/packages/web/pages/profile/setup/roles.tsx b/packages/web/pages/profile/setup/roles.tsx index 6084be92..d01ce55f 100644 --- a/packages/web/pages/profile/setup/roles.tsx +++ b/packages/web/pages/profile/setup/roles.tsx @@ -9,7 +9,7 @@ export const getStaticProps = async () => { return { props: { - roleChoices: roleChoices.filter(({ basic }) => basic), + choices: roleChoices.filter(({ basic }) => basic), hideTopMenu: true, }, }; @@ -17,10 +17,10 @@ export const getStaticProps = async () => { type Props = InferGetStaticPropsType; -const PlayerRolesSetup: React.FC = ({ roleChoices }) => ( +const PlayerRolesSetup: React.FC = ({ choices }) => ( - + ); diff --git a/packages/web/pages/profile/setup/username.tsx b/packages/web/pages/profile/setup/username.tsx index 04fc6628..09b743a2 100644 --- a/packages/web/pages/profile/setup/username.tsx +++ b/packages/web/pages/profile/setup/username.tsx @@ -1,9 +1,8 @@ import { SetupProfile } from 'components/Setup/SetupProfile'; import { SetupUsername } from 'components/Setup/SetupUsername'; import { SetupContextProvider } from 'contexts/SetupContext'; -import { useUser, useWeb3 } from 'lib/hooks'; import { InferGetStaticPropsType } from 'next'; -import React, { useState } from 'react'; +import React from 'react'; export const getStaticProps = async () => ({ props: { @@ -13,26 +12,12 @@ export const getStaticProps = async () => ({ export type DefaultSetupProps = InferGetStaticPropsType; -const UsernameSetup: React.FC = () => { - const [username, setUsername] = useState(); - const { address } = useWeb3(); - const { user } = useUser(); - const { username: name } = user?.profile ?? {}; +const UsernameSetup: React.FC = () => ( + + + + + +); - if ( - name && - name.toLowerCase() !== address?.toLowerCase() && - username === undefined - ) { - setUsername(name); - } - - return ( - - - - - - ); -}; export default UsernameSetup; diff --git a/packages/web/public/assets/roles/artist.svg b/packages/web/public/assets/roles/artist.svg index 421d0c36..524203fb 100644 --- a/packages/web/public/assets/roles/artist.svg +++ b/packages/web/public/assets/roles/artist.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/web/public/assets/roles/builder.svg b/packages/web/public/assets/roles/builder.svg index eca1c088..424ba40f 100644 --- a/packages/web/public/assets/roles/builder.svg +++ b/packages/web/public/assets/roles/builder.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/web/public/assets/roles/designer.svg b/packages/web/public/assets/roles/designer.svg index ddef8199..dd45ced3 100644 --- a/packages/web/public/assets/roles/designer.svg +++ b/packages/web/public/assets/roles/designer.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/web/public/assets/roles/innkeeper.svg b/packages/web/public/assets/roles/innkeeper.svg index 8e10d941..bfa86bfd 100644 --- a/packages/web/public/assets/roles/innkeeper.svg +++ b/packages/web/public/assets/roles/innkeeper.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/web/public/assets/roles/patron.svg b/packages/web/public/assets/roles/patron.svg index 70f6232b..f91102d4 100644 --- a/packages/web/public/assets/roles/patron.svg +++ b/packages/web/public/assets/roles/patron.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/web/public/assets/roles/shiller.svg b/packages/web/public/assets/roles/shiller.svg index 687d1429..3bb2074c 100644 --- a/packages/web/public/assets/roles/shiller.svg +++ b/packages/web/public/assets/roles/shiller.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/web/public/assets/roles/writer.svg b/packages/web/public/assets/roles/writer.svg index a8d62c3d..1d41163e 100644 --- a/packages/web/public/assets/roles/writer.svg +++ b/packages/web/public/assets/roles/writer.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/web/utils/boxTypes.ts b/packages/web/utils/boxTypes.ts index 56e334ac..38e96162 100644 --- a/packages/web/utils/boxTypes.ts +++ b/packages/web/utils/boxTypes.ts @@ -1,37 +1,43 @@ +import { Maybe, Values } from '@metafam/utils'; import { hashCode } from 'utils/stringHelpers'; -export enum BoxType { +export const BoxTypes = { // Player Profile Boxes - PLAYER_HERO = 'player-hero', - PLAYER_SKILLS = 'player-skills', - PLAYER_NFT_GALLERY = 'player-nft-gallery', - PLAYER_DAO_MEMBERSHIPS = 'player-dao-memberships', - PLAYER_ACHIEVEMENTS = 'player-achievements', - PLAYER_TYPE = 'player-type', - PLAYER_COLOR_DISPOSITION = 'player-color-disposition', - PLAYER_ROLES = 'player-roles', - PLAYER_COMPLETED_QUESTS = 'player-completed-quests', - PLAYER_ADD_BOX = 'player-add-box', + PLAYER_HERO: 'player-hero', + PLAYER_SKILLS: 'player-skills', + PLAYER_NFT_GALLERY: 'nft-gallery', + PLAYER_DAO_MEMBERSHIPS: 'dao-memberships', + PLAYER_ACHIEVEMENTS: 'player-achievements', // WIP + PLAYER_TYPE: 'player-type', + PLAYER_COLOR_DISPOSITION: 'color-disposition', + PLAYER_ROLES: 'player-roles', + PLAYER_COMPLETED_QUESTS: 'completed-quests', + PLAYER_ADD_BOX: 'player-add-box', // Guild Profile Boxes - GUILD_SKILLS = 'guild-skills', - GUILD_GALLERY = 'guild-gallery', - GUILD_ANNOUNCEMENTS = 'guild-announcements', - GUILD_PLAYERS = 'guild-players', - GUILD_QUESTS = 'quild-quests', - GUILD_STATS = 'guild-stats', - GUILD_LINKS = 'guild-links', + GUILD_SKILLS: 'guild-skills', + GUILD_GALLERY: 'guild-gallery', + GUILD_ANNOUNCEMENTS: 'guild-announcements', + GUILD_PLAYERS: 'guild-players', + GUILD_QUESTS: 'quild-quests', + GUILD_STATS: 'guild-stats', + GUILD_LINKS: 'guild-links', // Common Profile Boxes - EMBEDDED_URL = 'embedded-url', -} + EMBEDDED_URL: 'embedded-url', +} as const; + +export type BoxType = Values; export type BoxMetadata = { [record: string]: string; }; -export const getBoxKey = ( - boxType: BoxType, - boxMetadata: { [record: string]: string }, -): string => `${boxType}-${hashCode(JSON.stringify(boxMetadata))}`; +export const createBoxKey = ( + type: BoxType, + metadata: Record = {}, +) => `${type}-${hashCode(JSON.stringify(metadata))}`; -export const getBoxTypeFromKey = (boxKey: string): BoxType => +export const getBoxKey = (target: Maybe) => + (target?.offsetParent as HTMLElement)?.offsetParent?.id; + +export const getBoxType = (boxKey: string): BoxType => boxKey.split('-').slice(0, -1).join('-') as BoxType; diff --git a/packages/web/utils/daoHelpers.ts b/packages/web/utils/daoHelpers.ts index b44cf688..37bf359c 100644 --- a/packages/web/utils/daoHelpers.ts +++ b/packages/web/utils/daoHelpers.ts @@ -1,6 +1,6 @@ import { getHexChainId } from '@metafam/utils'; -export const getDaoLink = (chain?: string, address?: string): string | null => { +export const getDAOLink = (chain?: string, address?: string): string | null => { if (address && chain) { const hexChainId = getHexChainId(chain); return `https://app.daohaus.club/dao/${hexChainId}/${address.toLowerCase()}`; diff --git a/packages/web/utils/dashboardHelpers.ts b/packages/web/utils/dashboardHelpers.ts index af0117f8..6473eb54 100644 --- a/packages/web/utils/dashboardHelpers.ts +++ b/packages/web/utils/dashboardHelpers.ts @@ -19,20 +19,17 @@ export function findHighLowPrice( export function volumeChange( vols: Array>, - todayVol: Record, + { usd: today }: Record, ): number { - const plots = []; - let element: Array = []; - - for (let i = 0; i < vols.length; i++) { - element = vols[i]; - plots.push({ date: element[0], volume: element[1] }); + const plots = vols.map(([date, volume]) => ({ date, volume })); + if (plots.length < 2) { + throw new Error('Insufficient Data'); } - const lastVol = plots[plots.length - 2].volume; - const diff = +todayVol.usd - +lastVol; - const volPercent = Number((diff / todayVol.usd) * 100); + const [{ volume: previous }] = plots.slice(-2); + const Δ = today - previous; + const percent = Number((Δ / today) * 100); - return volPercent; + return percent; } type TickerProps = { diff --git a/packages/web/utils/layoutHelpers.ts b/packages/web/utils/layoutHelpers.ts index 993dc01a..3d073ffd 100644 --- a/packages/web/utils/layoutHelpers.ts +++ b/packages/web/utils/layoutHelpers.ts @@ -1,6 +1,7 @@ import { getBoxLayoutItemDefaults, GRID_ROW_HEIGHT, + HEIGHT_MODIFIER, LayoutItem, ProfileLayoutData, } from 'components/Player/Section/config'; @@ -8,23 +9,14 @@ import { Layout, Layouts } from 'react-grid-layout'; import { BoxMetadata, BoxType, - getBoxKey, - getBoxTypeFromKey, + BoxTypes, + createBoxKey, + getBoxType, } from 'utils/boxTypes'; -export const makeLayouts = (canEdit: boolean, layouts: Layouts): Layouts => - Object.fromEntries( - Object.entries(layouts).map(([key, items]) => [ - key, - items.map((item) => - item.i === 'hero' ? { ...item, isResizable: canEdit } : item, - ), - ]), - ); - -export const onRemoveBoxFromLayouts = ( - boxKey: string, +export const removeBoxFromLayouts = ( layouts: Layouts, + boxKey: string, ): Layouts => Object.fromEntries( Object.entries(layouts).map(([key, items]) => [ @@ -34,110 +26,103 @@ export const onRemoveBoxFromLayouts = ( ); export const addBoxToLayouts = ( - boxType: BoxType, - boxMetadata: BoxMetadata, layouts: Layouts, + type: BoxType, + metadata: BoxMetadata = {}, + opts: Partial = {}, ): Layouts => Object.fromEntries( Object.entries(layouts).map(([key, items]) => { const heroItem = items.find( - (item) => item.i === getBoxKey(BoxType.PLAYER_HERO, {}), + (item) => item.i === createBoxKey(BoxTypes.PLAYER_HERO), ); return [ key, [ ...items, { - ...getBoxLayoutItemDefaults(boxType), + ...getBoxLayoutItemDefaults(type), x: 0, y: heroItem ? heroItem.y + heroItem.h : 0, - i: getBoxKey(boxType, boxMetadata), + i: createBoxKey(type, metadata), + ...opts, }, ], ]; }), ); -const HEIGHT_MODIFIER = 0.57; // not sure why 0.57 but for some reason it works! - -export const updateHeightsInLayouts = ( +export const updatedLayouts = ( layouts: Layouts, - heights: { [boxKey: string]: number }, + heights: Record, ): Layouts => Object.fromEntries( Object.entries(layouts).map(([key, items]) => [ key, items.map((item) => { const itemHeight = - (HEIGHT_MODIFIER * (heights[item.i] || 0)) / GRID_ROW_HEIGHT; - const boxType = getBoxTypeFromKey(item.i); - return boxType === BoxType.PLAYER_ADD_BOX + (heights[item.i] ?? 0) / (GRID_ROW_HEIGHT * HEIGHT_MODIFIER); + const type = getBoxType(item.i); + return type === BoxTypes.PLAYER_ADD_BOX ? item : { ...item, - h: itemHeight >= 1 ? itemHeight : 1, + h: Math.max(itemHeight, 1), }; }), ]), ); -export const disableAddBoxInLayoutData = ({ +export const disableAddBox = ({ layouts, layoutItems, }: ProfileLayoutData): ProfileLayoutData => ({ - layouts: onRemoveBoxFromLayouts( - getBoxKey(BoxType.PLAYER_ADD_BOX, {}), - layouts, - ), + layouts: removeBoxFromLayouts(layouts, createBoxKey(BoxTypes.PLAYER_ADD_BOX)), layoutItems: layoutItems.filter( - (item) => item.boxType !== BoxType.PLAYER_ADD_BOX, + (item) => item.type !== BoxTypes.PLAYER_ADD_BOX, ), }); -export const enableAddBoxInLayoutData = ({ +export const enableAddBox = ({ layouts, layoutItems, }: ProfileLayoutData): ProfileLayoutData => ({ - layouts: addBoxToLayouts(BoxType.PLAYER_ADD_BOX, {}, layouts), + layouts: addBoxToLayouts( + layouts, + BoxTypes.PLAYER_ADD_BOX, + {}, + { x: 1, y: -1 }, + ), layoutItems: [ ...layoutItems, { - boxType: BoxType.PLAYER_ADD_BOX, - boxMetadata: {}, - boxKey: getBoxKey(BoxType.PLAYER_ADD_BOX, {}), + type: BoxTypes.PLAYER_ADD_BOX, + key: createBoxKey(BoxTypes.PLAYER_ADD_BOX), }, ], }); const layoutItemSorter = (i: LayoutItem, j: LayoutItem) => - i.boxKey > j.boxKey ? 1 : -1; + i.key.localeCompare(j.key); const layoutSorter = (i: Layout, j: Layout) => { - if (i.x > j.x) { - return 1; + let diff = i.x - j.x; + if (diff === 0) { + diff = i.y - j.y; } - if (i.x === j.x) { - if (i.y > j.y) { - return 1; - } - if (i.y === j.y) { - return 0; - } - return -1; - } - return -1; + return diff; }; export const isSameLayouts = ( inputA: ProfileLayoutData, inputB: ProfileLayoutData, ) => { - const a = disableAddBoxInLayoutData(inputA); - const b = disableAddBoxInLayoutData(inputB); + const a = disableAddBox(inputA); + const b = disableAddBox(inputB); const itemsA = a.layoutItems.sort(layoutItemSorter); const itemsB = b.layoutItems.sort(layoutItemSorter); const isSameItems = itemsA.reduce( - (t, item, i) => t && item.boxKey === itemsB[i].boxKey, + (t, item, i) => t && item.key === itemsB[i].key, true, ); if (isSameItems) { diff --git a/packages/web/utils/setupOptions.tsx b/packages/web/utils/setupOptions.tsx index 9b135613..71b1e9cd 100644 --- a/packages/web/utils/setupOptions.tsx +++ b/packages/web/utils/setupOptions.tsx @@ -1,3 +1,6 @@ +import { Maybe } from '@metafam/utils'; +import { ReactElement } from 'react'; + export type SetupStep = { label: string; slug?: string; @@ -7,7 +10,7 @@ export type SetupStep = { export type SetupSection = { label: string; title: { - [any: string]: string | undefined; + [any: string]: string | undefined | ReactElement; }; }; @@ -21,8 +24,8 @@ export class SetupOptions { label: 'Professional Profile', title: { base: 'Pro', - sm: '2. Professional', - lg: '2. Professional Profile', + sm: <>2. Pro­fess­ional, + lg: <>2. Pro­fess­ional Profile, }, }, { @@ -50,8 +53,8 @@ export class SetupOptions { sectionIndex: 0, }, { - label: 'Personality Type', - slug: 'personalityType', + label: 'Color Disposition', + slug: 'colorDisposition', sectionIndex: 0, }, { @@ -96,7 +99,7 @@ export class SetupOptions { }, ]; - stepIndexMatchingSlug(slug: string | null): number { + stepIndexMatchingSlug(slug: Maybe): number { return this.steps.findIndex((step) => step.slug === slug); } diff --git a/schema.graphql b/schema.graphql index 9328e6f5..f1be1b27 100644 --- a/schema.graphql +++ b/schema.graphql @@ -201,9 +201,7 @@ type BrightIdStatus { } type CacheProcessOutput { - error: String - queued: Boolean! - success: Boolean! + updateIDXProfile: uuid } type CollectiblesFavorites { @@ -2640,7 +2638,7 @@ type Member { } type Moloch { - avatarUrl: String + avatarURL: String chain: String! id: ID! summoner: String! @@ -3550,7 +3548,7 @@ type mutation_root { """ perform the action: "updateIDXProfile" """ - updateIDXProfile(playerId: uuid): CacheProcessOutput + updateIDXProfile(playerId: uuid): uuid! """ perform the action: "updateQuestCompletion" @@ -5305,6 +5303,9 @@ unique or primary key constraints on table "player_skill" enum player_skill_constraint { """unique or primary key constraint""" player_skill_pkey + + """unique or primary key constraint""" + player_skill_player_id_skill_id_key } """ @@ -7761,6 +7762,16 @@ type query_root { """fetch data from the table: "skill" using primary key columns""" skill_by_pk(id: uuid!): skill + + """ + retrieve the result of action: "updateIDXProfile" + """ + updateIDXProfile( + """ + id of the action: "updateIDXProfile" + """ + id: uuid! + ): updateIDXProfile } """ @@ -11282,6 +11293,16 @@ type subscription_root { """fetch data from the table: "skill" using primary key columns""" skill_by_pk(id: uuid!): skill + + """ + retrieve the result of action: "updateIDXProfile" + """ + updateIDXProfile( + """ + id of the action: "updateIDXProfile" + """ + id: uuid! + ): updateIDXProfile } scalar timestamptz @@ -11307,6 +11328,23 @@ type TokenBalances { seedBalance: String! } +""" +fields of action: "updateIDXProfile" +""" +type updateIDXProfile { + """the time at which this action was created""" + created_at: timestamptz + + """errors related to the invocation""" + errors: json + + """the unique id of an action""" + id: uuid + + """the output fields of this action""" + output: CacheProcessOutput +} + type UpdateIDXProfileResponse { accountLinks: [String] ceramic: String! diff --git a/tokenlog.json b/tokenlog.json index 8406d9a2..1c08b110 100644 --- a/tokenlog.json +++ b/tokenlog.json @@ -1,7 +1,7 @@ { "org": "MetaFam", "repo": "TheGame", - "tokenAddress": "0x30cF203b48edaA42c3B4918E955fED26Cd012A3F", + "tokenAddress": "0xeaecc18198a475c921b24b8a6c1c1f0f5f3f7ea0", "labels": ["RoadMap"], "votingMethod": "QUADRATIC", "chainId": 1 diff --git a/yarn.lock b/yarn.lock index 93ee50a7..03d14c8d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5464,6 +5464,11 @@ resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== +"@types/deep-equal@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/deep-equal/-/deep-equal-1.0.1.tgz#71cfabb247c22bcc16d536111f50c0ed12476b03" + integrity sha512-mMUu4nWHLBlHtxXY17Fg6+ucS/MnndyOWyOe7MmwkoMYxvfQU2ajtRaEvqSUv+aVkMqH/C0NCI8UoVfRNQ10yg== + "@types/draft-js@*", "@types/draft-js@0.11.3": version "0.11.3" resolved "https://registry.yarnpkg.com/@types/draft-js/-/draft-js-0.11.3.tgz#8110c143e0ab419c04f749480b313e6ccc8713bb" @@ -10298,6 +10303,27 @@ deep-equal@^1.0.1, deep-equal@~1.1.1: object-keys "^1.1.1" regexp.prototype.flags "^1.2.0" +deep-equal@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.0.5.tgz#55cd2fe326d83f9cbf7261ef0e060b3f724c5cb9" + integrity sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw== + dependencies: + call-bind "^1.0.0" + es-get-iterator "^1.1.1" + get-intrinsic "^1.0.1" + is-arguments "^1.0.4" + is-date-object "^1.0.2" + is-regex "^1.1.1" + isarray "^2.0.5" + object-is "^1.1.4" + object-keys "^1.1.1" + object.assign "^4.1.2" + regexp.prototype.flags "^1.3.0" + side-channel "^1.0.3" + which-boxed-primitive "^1.0.1" + which-collection "^1.0.1" + which-typed-array "^1.1.2" + deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -11109,6 +11135,20 @@ es-abstract@^1.19.0, es-abstract@^1.19.1: string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.1" +es-get-iterator@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.2.tgz#9234c54aba713486d7ebde0220864af5e2b283f7" + integrity sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.0" + has-symbols "^1.0.1" + is-arguments "^1.1.0" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.5" + isarray "^2.0.5" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -12988,7 +13028,7 @@ get-graphql-schema@2.1.2: minimist "^1.2.0" node-fetch "^2.2.0" -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: +get-intrinsic@^1.0.1, get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== @@ -14390,6 +14430,14 @@ is-arguments@^1.0.4: dependencies: call-bind "^1.0.0" +is-arguments@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -14481,6 +14529,13 @@ is-date-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== +is-date-object@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + is-decimal@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" @@ -14638,6 +14693,11 @@ is-lower-case@^2.0.2: dependencies: tslib "^2.0.3" +is-map@^2.0.1, is-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== + is-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" @@ -14737,7 +14797,7 @@ is-regex@^1.0.4, is-regex@^1.1.2: call-bind "^1.0.2" has-symbols "^1.0.1" -is-regex@^1.1.4: +is-regex@^1.1.1, is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== @@ -14759,6 +14819,11 @@ is-relative@^1.0.0: dependencies: is-unc-path "^1.0.0" +is-set@^2.0.1, is-set@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== + is-shared-array-buffer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" @@ -14847,6 +14912,11 @@ is-utf8@^0.2.0: resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= +is-weakmap@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== + is-weakref@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" @@ -14854,6 +14924,14 @@ is-weakref@^1.0.1: dependencies: call-bind "^1.0.0" +is-weakset@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" + integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + is-whitespace-character@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" @@ -14886,7 +14964,7 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= -isarray@^2.0.1: +isarray@^2.0.1, isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== @@ -18392,7 +18470,7 @@ object-inspect@~1.7.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== -object-is@^1.0.1: +object-is@^1.0.1, object-is@^1.1.4: version "1.1.5" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== @@ -20511,6 +20589,14 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: call-bind "^1.0.2" define-properties "^1.1.3" +regexp.prototype.flags@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" + integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -21398,7 +21484,7 @@ shortid@^2.2.8: dependencies: nanoid "^2.1.0" -side-channel@^1.0.4: +side-channel@^1.0.3, side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== @@ -24172,7 +24258,7 @@ whatwg-url@^8.0.0, whatwg-url@^8.4.0, whatwg-url@^8.5.0: tr46 "^2.0.2" webidl-conversions "^6.1.0" -which-boxed-primitive@^1.0.2: +which-boxed-primitive@^1.0.1, which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== @@ -24183,6 +24269,16 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" +which-collection@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== + dependencies: + is-map "^2.0.1" + is-set "^2.0.1" + is-weakmap "^2.0.1" + is-weakset "^2.0.1" + which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"