import React from "react"; import { View } from "react-native"; import { QBImage } from "@applicaster/zapp-react-native-ui-components/Components"; export type ItemIconProps = { width: number; height: number; asset?: string | string[] | CellActionAssetComponent; flavour?: "flavour_1" | "flavour_2"; marginTop: number; marginBottom: number; marginLeft: number; marginRight: number; }; function isImageAsset(asset) { return typeof asset === "string" || Array.isArray(asset); } function getImageAsset(asset, flavour) { if (typeof asset === "string") return asset; if (flavour) { const flavourIndex = Number(flavour.replace("flavour_", "")); if (flavourIndex > -1) return asset?.[flavourIndex - 1]; } return asset?.[0]; } export function ItemIcon(props: ItemIconProps) { const { width, height, asset, flavour, ...styles } = props; if (isImageAsset(asset)) { const imageAsset = getImageAsset(asset, flavour); return ( ); } const AssetComponent = asset as CellActionAssetComponent; return ( ); }