+
{(item: QortalMetadata, index: number) => (
-
+ <>
+ {styles?.gap && }
+
+
+ {styles?.gap && }
+ >
)}
@@ -78,38 +112,44 @@ interface ListItemWrapperProps {
item: QortalMetadata;
index: number;
render: (item: ListItem, index: number) => React.ReactNode;
+ defaultLoaderParams?: DefaultLoaderParams;
+ renderListItemLoader?:(status: "LOADING" | "ERROR")=> React.ReactNode;
}
const ListItemWrapper: React.FC
= ({
item,
index,
render,
+ defaultLoaderParams,
+ renderListItemLoader
}) => {
- console.log("Rendering wrapped item:", item, index);
const getResourceCache = useCacheStore().getResourceCache;
const findCachedResource = getResourceCache(
`${item.service}-${item.name}-${item.identifier}`,
true
);
- if (findCachedResource === null)
+ if (findCachedResource === null && !renderListItemLoader)
return (
);
- if (findCachedResource === false)
+ if (findCachedResource === false && !renderListItemLoader)
return (
);
+ if(renderListItemLoader && (findCachedResource === false || findCachedResource === null)){
+ return renderListItemLoader(findCachedResource === null ? "LOADING" : "ERROR")
+ }
// Example transformation (Modify item if needed)
const transformedItem = findCachedResource