diff --git a/apps/web/features/merch/constants/index.tsx b/apps/web/features/merch/constants/index.tsx new file mode 100644 index 00000000..2f581e88 --- /dev/null +++ b/apps/web/features/merch/constants/index.tsx @@ -0,0 +1,2 @@ +export * from "./queryKeys" +export * from "./routes" \ No newline at end of file diff --git a/apps/web/features/merch/functions/index.tsx b/apps/web/features/merch/functions/index.tsx new file mode 100644 index 00000000..317c01db --- /dev/null +++ b/apps/web/features/merch/functions/index.tsx @@ -0,0 +1,3 @@ +export * from "./cart" +export * from "./currency" +export * from "./stock" diff --git a/apps/web/pages/merch/index.tsx b/apps/web/pages/merch/index.tsx index e584c61d..a4e34b33 100644 --- a/apps/web/pages/merch/index.tsx +++ b/apps/web/pages/merch/index.tsx @@ -1,12 +1,11 @@ import React, { useState } from "react"; import { Flex, Divider, Select, Heading, Grid } from "@chakra-ui/react"; import { useQuery } from "@tanstack/react-query"; -import { Card, Page } from "ui/components/merch"; -import { QueryKeys } from "features/merch/constants/queryKeys"; +import { Card, MerchListSkeleton, Page } from "ui/components/merch"; +import { QueryKeys } from "features/merch/constants"; import { api } from "features/merch/services/api"; import { Product } from "types/lib/merch"; -import { MerchListSkeleton } from "ui/components/merch/skeleton"; -import { isOutOfStock } from "features/merch/functions/stock"; +import { isOutOfStock } from "features/merch/functions"; const MerchandiseList = () => { const [selectedCategory, setSelectedCategory] = useState(""); diff --git a/apps/web/pages/merch/product/[slug].tsx b/apps/web/pages/merch/product/[slug].tsx index 97461e88..01cb6525 100644 --- a/apps/web/pages/merch/product/[slug].tsx +++ b/apps/web/pages/merch/product/[slug].tsx @@ -29,19 +29,20 @@ import { useCartStore, } from "features/merch/context/cart"; import { api } from "features/merch/services/api"; -import { routes } from "features/merch/constants/routes"; -import { QueryKeys } from "features/merch/constants/queryKeys"; -import { displayPrice } from "features/merch/functions/currency"; +import { routes, QueryKeys } from "features/merch/constants"; import { + displayPrice, + displayQtyInCart, displayStock, getDefaultColor, getDefaultSize, + getQtyInCart, getQtyInStock, isColorAvailable, isOutOfStock, isSizeAvailable, -} from "features/merch/functions/stock"; -import { displayQtyInCart, getQtyInCart } from "features/merch/functions/cart"; +} from "features/merch/functions"; + const GroupTitle = ({ children }: any) => ( diff --git a/packages/ui/components/merch/Card.tsx b/packages/ui/components/merch/Card.tsx index a2675a34..610e7032 100644 --- a/packages/ui/components/merch/Card.tsx +++ b/packages/ui/components/merch/Card.tsx @@ -1,8 +1,8 @@ import { ArrowForwardIcon } from "@chakra-ui/icons"; import { Box, Image, Text, GridItem, Flex, Badge, Center } from "@chakra-ui/react"; import Link from "next/link"; -import { displayPrice } from "web/features/merch/functions/currency"; -import { routes } from "web/features/merch/constants/routes" +import { displayPrice } from "web/features/merch/functions"; +import { routes } from "web/features/merch/constants" type CardProps = { _productId: string; diff --git a/packages/ui/components/merch/CartHeader.tsx b/packages/ui/components/merch/CartHeader.tsx new file mode 100644 index 00000000..24801557 --- /dev/null +++ b/packages/ui/components/merch/CartHeader.tsx @@ -0,0 +1,45 @@ +import { + Box, + Flex, + HStack, + Spacer, + Show, + Hide, + Icon, +} from "@chakra-ui/react"; +import Link from 'next/link'; +import { routes } from "web/features/merch/constants"; + + +export const CartHeader = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + ); +}; \ No newline at end of file diff --git a/packages/ui/components/merch/EmptyProductView.tsx b/packages/ui/components/merch/EmptyProductView.tsx index 259842b2..1536450d 100644 --- a/packages/ui/components/merch/EmptyProductView.tsx +++ b/packages/ui/components/merch/EmptyProductView.tsx @@ -1,6 +1,6 @@ import React, { useEffect } from "react"; import { Center, Flex, Heading, Spinner, Text } from "@chakra-ui/react"; -import routes from "../../../../apps/web/features/merch/constants/routes"; +import { routes } from "web/features/merch/constants"; export const EmptyProductView: React.FC = () => { useEffect(() => {