import { Product } from "@/lib/product" import { useState } from "react" import { StyleSheet, Text, TouchableHighlight } from "react-native" import { FlatList } from "react-native-reanimated/lib/typescript/Animated"; import ProductAttributeEditor from "./ProductAttributeEditor"; export type ProductUpdatedFunc = (product_id : string, product : Product) => any; export type ProductDeletedFunc = (product_id : string) => any; export type ProductEditorItemProps = { product : Product, onProductUpdated?: ProductUpdatedFunc, onProductDeleted?: ProductDeletedFunc, } export const ProductEditorItem = ({ product, onProductUpdated, onProductDeleted }: ProductEditorItemProps) => { const [showAttributes, setShowAttributes] = useState(true); function onAttributeChanged(product_id: string, key: string, newValue: string) { product.attributes[key] = newValue; onProductUpdated && onProductUpdated(product_id, product); } function onAttributeDelete(product_id: string, key: string) { product.removeAttribute(key); onProductUpdated && onProductUpdated(product_id, product); } return ( setShowAttributes(true)} > {product.attributes.name || `Product ${product.id}`} {showAttributes && ( ( )} /> ) } ) } const styles = StyleSheet.create({ product: {}, })