import React from 'react'; import { View, Text, StyleSheet, TouchableOpacity, FlatList, } from 'react-native'; import { X as CloseIcon } from 'react-native-feather'; import { startActivity } from 'react-native-activitykit'; import { useAppDispatch, useAppSelector } from '../store/hooks'; import { useNavigation } from '@react-navigation/native'; import { createOrder } from '../store/orders'; import { clearCart } from '../store/cart'; import Name from '../../assets/images/name.svg'; import type { CartItem, Order } from '../config/types'; import { Button } from '../components'; import theme from '../config/theme'; const styles = StyleSheet.create({ container: { flex: 1, }, header: { marginTop: 60, flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', marginHorizontal: 20, }, content: { marginTop: 20, marginHorizontal: 20, }, title: { fontWeight: '700', fontSize: 30, }, description: { color: theme.colors.description, fontSize: 12, marginBottom: 24, }, topping: { height: 48, width: '100%', display: 'flex', flexDirection: 'row', backgroundColor: theme.colors.bg, alignItems: 'center', justifyContent: 'space-between', paddingHorizontal: 16, }, toppingText: { color: theme.colors.text, fontSize: 16, }, list: { marginHorizontal: 8, }, buttons: { position: 'absolute', bottom: 100, width: '100%', flexDirection: 'row', justifyContent: 'space-around', }, }); const renderItem = ({ item }: { item: CartItem }) => ( {item.pizza.title} ); const Cart = () => { const navigation = useNavigation(); const dispatch = useAppDispatch(); const cart = useAppSelector((state) => state.cart.cart); const orderIds = useAppSelector((state) => state.orders.orders.map((o) => o.orderId) ); const nextOrderId = orderIds.length > 0 ? Math.max(...orderIds) + 1 : 1; const handleCheckout = async () => { const activity = await startActivity({ status: 'preparing' }); console.log({ activity }) const order: Order = { activityId: activity.id, orderId: nextOrderId, items: cart, total: 20, status: 'preparing', }; dispatch(createOrder(order)); dispatch(clearCart()); navigation.goBack(); }; return ( navigation.goBack()}> {'Cart'} {'Check out your delicious selections!'}