fix: move puffs map to own container

This commit is contained in:
Simon Emanuelsson
2024-02-12 16:43:46 +01:00
parent d174b12431
commit 93089289b5
8 changed files with 25 additions and 13 deletions

View File

@@ -1,6 +1,4 @@
import { Fragment } from "react"
import Puff from "./Asides/Puff"
import Puffs from "./Asides/Puffs"
import { AsideTypenameEnum } from "@/types/requests/utils/typename"
import type { AsideProps } from "@/types/components/current/aside"
@@ -18,13 +16,7 @@ export default function Aside({ blocks }: AsideProps) {
case AsideTypenameEnum.CurrentBlocksPageAsideContact:
return null
case AsideTypenameEnum.CurrentBlocksPageAsidePuff:
return (
<Fragment key={`puff-${idx}`}>
{block.puff.puffConnection.edges.map(puff => (
<Puff key={puff.node.system.uid} {...puff.node} />
))}
</Fragment>
)
return <Puffs key={`block-${idx}`} puffs={block.puff.puffConnection.edges} />
default:
return null
}

View File

@@ -8,7 +8,7 @@ import styles from "./puff.module.css"
import type { PuffProps } from "@/types/components/current/asides/puff"
export default function Puff({ imageConnection, is_internal, link, link_text, pageConnection, text, title }: PuffProps) {
export default function Puff({ imageConnection, is_internal, link, pageConnection, text, title }: PuffProps) {
if (is_internal) {
const page = pageConnection.edges[0]
if (!page?.node?.url) {

View File

@@ -0,0 +1,16 @@
import Puff from "./Puff"
import type { PuffsProps } from "@/types/components/current/asides/puffs"
export default function Puffs({ puffs }: PuffsProps) {
if (!puffs.length) {
return null
}
return (
<>
{puffs.map(puff => (
<Puff key={puff.node.system.uid} {...puff.node} />
))}
</>
)
}

View File

@@ -14,7 +14,6 @@ fragment Puff on Puff {
href
title
}
link_text
pageConnection {
edges {
node {

View File

@@ -0,0 +1,6 @@
import type { Node } from "@/types/requests/utils/edges"
import type { Puff } from "@/types/requests/puff"
export type PuffsProps = {
puffs: Node<Puff>[]
}

View File

@@ -11,7 +11,6 @@ export type Puff = {
href: string
title: string
}
link_text?: string
pageConnection: Edges<PageLink>
system: {
uid: string