-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathindex.tsx
40 lines (38 loc) · 1.15 KB
/
index.tsx
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
29
30
31
32
33
34
35
36
37
38
39
40
import { dinero, DineroSnapshot } from "dinero.js";
import { FC, Suspense } from "react";
import { Product } from "../product";
import AddToCart from "./AddToCart";
import AddToCartFromCookies from "./AddToCartFromCookies";
import LoadingDots from "./LoadingDots";
import Ping from "./Ping";
import ProductPrice from "./ProductPrice";
import { UserSpecificDetails } from "./UserSpecificDetails";
const Pricing: FC<{ product: Product }> = ({
product: {
discount, id, price: priceRaw, stock
}
}) => {
const price = dinero(priceRaw as DineroSnapshot<number>);
return (
<div
className="space-y-4 rounded-lg bg-gray-900 p-3"
>
<ProductPrice
discount={discount}
price={price}
/>
<Ping />
<Suspense
fallback={<LoadingDots />}
>
<UserSpecificDetails productId={id} />
</Suspense>
<Suspense
fallback={<AddToCart initialCartCount={0} />}
>
<AddToCartFromCookies />
</Suspense>
</div>
);
};
export default Pricing;