diff --git a/src/app/dashboard/[subdomain]/settings/general/page.tsx b/src/app/dashboard/[subdomain]/settings/general/page.tsx index 5382820c..3d819696 100644 --- a/src/app/dashboard/[subdomain]/settings/general/page.tsx +++ b/src/app/dashboard/[subdomain]/settings/general/page.tsx @@ -77,7 +77,7 @@ export default function SiteSettingsGeneralPage() { !form.getValues("banner") && form.setValue( "banner", - site.data?.metadata?.content?.banners?.[0] + site.data?.metadata?.content?.banners?.[0]?.address ? { address: toIPFS( site.data?.metadata?.content?.banners?.[0].address || "", diff --git a/src/components/site/SiteFooter.tsx b/src/components/site/SiteFooter.tsx index 7355b820..d241caf8 100644 --- a/src/components/site/SiteFooter.tsx +++ b/src/components/site/SiteFooter.tsx @@ -46,8 +46,27 @@ export const SiteFooter: React.FC<{ {site?.metadata?.content?.connected_accounts && (
{site?.metadata?.content?.connected_accounts.map( - (account, index) => { - const match = account.match(/:\/\/account:(.*)@(.*)/) + ( + account: + | string + | { uri: string } + | { identity: string; platform: string } + | any, // Otherwise type check will alarm + index, + ) => { + let match: RegExpMatchArray | null = null + switch (typeof account) { + case "string": + match = account.match(/:\/\/account:(.*)@(.*)/) + break + case "object": + if (account.uri) { + match = account.uri.match(/:\/\/account:(.*)@(.*)/) + } else if (account.identity && account.platform) { + match = ["", account.identity, account.platform] + } + break + } if (match) { return ( { ) } if (expandedCharacter.metadata.content.banners) { - expandedCharacter.metadata.content.banners.map((banner) => { - banner.address = toGateway(banner.address) - return banner - }) + expandedCharacter.metadata.content.banners.map( + (banner: { address: string; mime_type: string } | string) => { + let expandedBanner + switch (typeof banner) { + case "string": + expandedBanner = { + address: toGateway(banner), + } + break + case "object": + expandedBanner = { + ...banner, + address: toGateway(banner.address), + } + break + } + return expandedBanner + }, + ) } return expandedCharacter