blob: 98fd8cbfb319895d0f5cbd2e0853b2e7ab211f32 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import { useStore } from '@nanostores/preact';
import { cartItems, isCartOpen } from '../cartStore';
import styles from './CartFlyout.module.css';
export default function CartFlyout() {
const $isCartOpen = useStore(isCartOpen);
const $cartItems = useStore(cartItems);
return (
<aside hidden={!$isCartOpen} className={styles.container}>
{Object.values($cartItems).length ? (
<ul className={styles.list} role="list">
{Object.values($cartItems).map((cartItem) => (
<li className={styles.listItem}>
<img className={styles.listItemImg} src={cartItem.imageSrc} alt={cartItem.name} />
<div>
<h3>{cartItem.name}</h3>
<p>Quantity: {cartItem.quantity}</p>
</div>
</li>
))}
</ul>
) : (
<p>Your cart is empty!</p>
)}
</aside>
);
}
|