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