import { AddressSummary } from '@components/common/customer/address/AddressSummary.jsx'; import { CheckboxField } from '@components/common/form/CheckboxField.js'; import { Form } from '@components/common/form/Form.js'; import { Button } from '@components/common/ui/Button.js'; import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from '@components/common/ui/Dialog.js'; import { Item, ItemActions, ItemContent } from '@components/common/ui/Item.js'; import CustomerAddressForm from '@components/frontStore/customer/address/addressForm/Index.js'; import { ExtendedCustomerAddress, useCustomer, useCustomerDispatch } from '@components/frontStore/customer/CustomerContext.jsx'; import { _ } from '@evershop/evershop/lib/locale/translate/_'; import React from 'react'; import { toast } from 'react-toastify'; const Address: React.FC<{ address: ExtendedCustomerAddress; }> = ({ address }) => { const { updateAddress, deleteAddress } = useCustomerDispatch(); const [dialogOpen, setDialogOpen] = React.useState(false); const classes = address.isDefault ? 'border-2 border-primary' : ''; return (
{_('Edit Address')}
{ try { await updateAddress(address.addressId, data); setDialogOpen(false); toast.success(_('Address has been updated successfully!')); } catch (error) { toast.error(error.message); } }} >
); }; export function MyAddresses({ title }: { title?: string }) { const { customer } = useCustomer(); const { addAddress } = useCustomerDispatch(); const [dialogOpen, setDialogOpen] = React.useState(false); if (!customer) { return null; } return (
{title && (

{_('Address Book')}

)} {customer.addresses.length === 0 && (
{_('You have no addresses saved')}
)}
{customer.addresses.map((address) => (
))}
{_('Add new address')}
{ try { await addAddress(data as ExtendedCustomerAddress); setDialogOpen(false); toast.success(_('Address has been saved successfully!')); } catch (error) { toast.error(error.message); } }} >
); }