From 72b0794c6175496460f8a36b5be848b1e44c0bb6 Mon Sep 17 00:00:00 2001 From: Julien Oculi Date: Tue, 16 Jul 2024 17:00:40 +0200 Subject: [PATCH] revert(island): :rewind: c6eb4383 --- islands/CardList.tsx | 5 +++-- islands/Suspens.tsx | 17 +++++++---------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/islands/CardList.tsx b/islands/CardList.tsx index 336e86e..d8741e7 100644 --- a/islands/CardList.tsx +++ b/islands/CardList.tsx @@ -54,8 +54,9 @@ export default function CardList( loader={placeholder({ ref: index === 0 ? ref : undefined })} fallback={fallback} signal={ac.signal} - value={updateFromList(list, index)} - /> + > + {updateFromList(list, index)} + )) return <>{placeholders} } diff --git a/islands/Suspens.tsx b/islands/Suspens.tsx index b952709..1678fbd 100644 --- a/islands/Suspens.tsx +++ b/islands/Suspens.tsx @@ -18,14 +18,13 @@ function RenderError( export type Fallback = ({ error }: { error: Error }) => JSX.Element -export type SuspenseProps = { - loader: JSX.Element - fallback?: Fallback - signal?: AbortSignal -} & ({ children: Promise } | { value: Promise }) - export default function Suspense( - { loader, fallback, signal, ...props }: SuspenseProps, + { loader, fallback, signal, children }: { + loader: JSX.Element + fallback?: Fallback + signal?: AbortSignal + children: Promise + }, ) { const displayed = useSignal(loader) let loaded = false @@ -39,9 +38,7 @@ export default function Suspense( } }) - //Prevent transpilation error due to children expected to not be a promise - const inner = 'value' in props ? props.value : props.children - inner + children .then((element) => { if (signal?.aborted) return displayed.value = element