import React, { useState, useEffect } from 'react'; import { View, Text, TextInput, Button, FlatList, TouchableOpacity, StyleSheet } from 'react-native'; import AsyncStorage from '@react-native-async-storage/async-storage'; interface Product { id: string; name: string; price: number; } export default function App() { const [products, setProducts] = useState([]); const [name, setName] = useState(''); const [price, setPrice] = useState(''); const [editId, setEditId] = useState(null); useEffect(() => { loadProducts(); }, []); const loadProducts = async () => { const data = await AsyncStorage.getItem('products'); if (data) setProducts(JSON.parse(data)); }; const saveProducts = async (newProducts: Product[]) => { await AsyncStorage.setItem('products', JSON.stringify(newProducts)); setProducts(newProducts); }; const addProduct = () => { const newProduct = { id: Date.now().toString(), name, price: parseFloat(price) }; saveProducts([...products, newProduct]); setName(''); setPrice(''); }; const updateProduct = () => { const updated = products.map(p => p.id === editId ? { ...p, name, price: parseFloat(price) } : p); saveProducts(updated); setEditId(null); setName(''); setPrice(''); }; const deleteProduct = (id: string) => { saveProducts(products.filter(p => p.id !== id)); }; const sortByPrice = () => { saveProducts([...products].sort((a, b) => a.price - b.price)); }; return (