import { Product } from "@/lib/product"; import Ionicons from "@expo/vector-icons/Ionicons"; import React from "react"; import { useState } from "react"; import { StyleSheet, Text, TextInput, TouchableHighlight, View } from "react-native"; export type ProductAttributeChangeFunc = (product_id: string, key: string, newValue: string) => any; export type ProductAttributeDeleteFunc = (product_id: string, key: string) => any; export type ProductAttributeProps = { product: Product, attributeKey: string, attributeValue: string, onChange?: ProductAttributeChangeFunc, onDelete?: ProductAttributeChangeFunc, }; export const ProductAttributeEditor = ({ product, attributeKey: key, attributeValue: value, onDelete, onChange } : ProductAttributeProps) => { const [doEdit, setDoEdit] = useState(true); const [newValue, setNewValue] = useState(value); const doChange = (e: any) => { setNewValue(e); onChange && onChange(product.id, key, e); } return ( {key} setDoEdit(!doEdit)} aria-label="Property Value" > {doEdit ? ({newValue}) : () } onDelete && onDelete(product.id, key, value)} aria-label="Delete Attribute"> ) } const style = StyleSheet.create({ });