fix: add compatibility for legacy formats (#514)

This commit is contained in:
Nya Candy 2023-05-09 23:08:25 +08:00 committed by GitHub
parent 6d75d56a0f
commit 32e82e69ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 41 additions and 7 deletions

View File

@ -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 || "",

View File

@ -46,8 +46,27 @@ export const SiteFooter: React.FC<{
{site?.metadata?.content?.connected_accounts && (
<div className="sm:-mr-5 sm:block inline-block align-middle mr-4">
{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 (
<Platform

View File

@ -124,10 +124,25 @@ export const expandCrossbellCharacter = (site: CharacterEntity) => {
)
}
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