Skip to content

Commit 2ea49ef

Browse files
authored
simplify structure (#118)
1 parent 2666572 commit 2ea49ef

34 files changed

+55
-46
lines changed

src/app/archive/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import CoreLayout from "@/components/layouts/CoreLayout";
22
import { serviceClient } from "@/lib/api";
33

4-
import { MediaProvider } from "@/components/global/MediaProvider";
5-
import { ArchiveMediaItem } from "@/components/global/MediaProvider/ArchiveMediaItem";
4+
import { FullscreenImagesCarousel } from "@/components/sections/FullscreenImagesCarousel";
5+
import { ArchiveMediaItem } from "@/components/sections/FullscreenImagesCarousel/ArchiveMediaItem";
66

77
export default async function Page() {
88
const { archives } = await serviceClient.GetArchivesPaged({
@@ -23,7 +23,7 @@ export default async function Page() {
2323
{/* todo: fix images. make sure all the images have known size + add scroll when there are more images */}
2424

2525
{a.items && (
26-
<MediaProvider
26+
<FullscreenImagesCarousel
2727
mediaList={a.items.map((x) => x.archiveItem?.media!)}
2828
ItemComponent={ArchiveMediaItem}
2929
/>

src/app/cart/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { Suspense } from "react";
2-
import CartProductsList from "@/components/cart/CartProductsList";
2+
import CartProductsList from "@/components/sections/Cart/CartProductsList";
33
import CoreLayout from "@/components/layouts/CoreLayout";
44
import { CartProductsSkeleton } from "@/components/ui/Skeleton";
55
import Button from "@/components/ui/Button";
66
import { ButtonStyle } from "@/components/ui/Button/styles";
77
import Link from "next/link";
8-
import TotalPrice from "@/components/cart/TotalPrice";
8+
import TotalPrice from "@/components/sections/Cart/TotalPrice";
99
import { getCookieCart } from "@/lib/utils/cart";
1010

1111
export const dynamic = "force-dynamic";

src/app/catalog/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import CatalogSection from "@/components/sections/CatalogSection";
2-
import Filters from "@/components/Filters";
2+
import Filters from "@/components/sections/Filters";
33
import CoreLayout from "@/components/layouts/CoreLayout";
44
import { CATALOG_LIMIT } from "@/constants";
55
import { serviceClient } from "@/lib/api";

src/app/not-found.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import Header from "@/components/global/Header";
1+
import Header from "@/components/sections/Header";
22
import Button from "@/components/ui/Button";
33
import { ButtonStyle } from "@/components/ui/Button/styles";
44
import Link from "next/link";

src/app/product/[...productParams]/page.tsx

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
import { addCartProduct } from "@/actions/cart";
22
import AddToCartForm from "@/components/forms/AddToCartForm";
3-
import { MediaProvider } from "@/components/global/MediaProvider";
4-
import { ProductMediaItem } from "@/components/global/MediaProvider/ProductMediaItem";
5-
import Modal from "@/components/ui/Modal";
3+
import { FullscreenImagesCarousel } from "@/components/sections/FullscreenImagesCarousel";
4+
import { ProductMediaItem } from "@/components/sections/FullscreenImagesCarousel/ProductMediaItem";
65
import CoreLayout from "@/components/layouts/CoreLayout";
7-
import MeasurementsModalContent from "@/components/product/MeasurementsModalContent";
8-
import Button from "@/components/ui/Button";
9-
import { ButtonStyle } from "@/components/ui/Button/styles";
6+
import MeasurementsModal from "@/components/sections/MeasurementsModal";
107
import { CURRENCY_MAP, MAX_LIMIT } from "@/constants";
118
import { serviceClient } from "@/lib/api";
129
import { notFound } from "next/navigation";
@@ -62,7 +59,7 @@ export default async function ProductPage({ params }: ProductPageProps) {
6259
<div className="flex flex-col bg-white pb-20 pt-5">
6360
{product?.media && (
6461
<div className="grid w-full grid-cols-6 items-end gap-2">
65-
<MediaProvider
62+
<FullscreenImagesCarousel
6663
mediaList={product.media}
6764
ItemComponent={ProductMediaItem}
6865
/>
@@ -80,15 +77,7 @@ export default async function ProductPage({ params }: ProductPageProps) {
8077
{product?.product?.productDisplay?.productBody?.description}
8178
</div>
8279
<div className="mt-4">
83-
<Modal
84-
openElement={
85-
<Button asChild style={ButtonStyle.underlinedButton}>
86-
measurements
87-
</Button>
88-
}
89-
>
90-
<MeasurementsModalContent />
91-
</Modal>
80+
<MeasurementsModal />
9281
</div>
9382

9483
{baseCurrencyPrice &&

src/components/layouts/CoreLayout.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import CartPopup from "@/components/cart/CartPopup";
2-
import Footer from "@/components/global/Footer";
3-
import Header from "@/components/global/Header";
1+
import CartPopup from "@/components/sections/Cart/CartPopup";
2+
import Footer from "@/components/sections/Footer";
3+
import Header from "@/components/sections/Header";
44
import Button from "@/components/ui/Button";
55
import { ButtonStyle } from "@/components/ui/Button/styles";
66
import Link from "next/link";
77
import { Suspense } from "react";
8-
import CartProductsList from "../cart/CartProductsList";
9-
import TotalPrice from "../cart/TotalPrice";
8+
import CartProductsList from "@/components/sections/Cart/CartProductsList";
9+
import TotalPrice from "@/components/sections/Cart/TotalPrice";
1010
import { getCookieCart } from "@/lib/utils/cart";
1111

1212
export default function CoreLayout({

src/components/layouts/HeroContextLayout.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { serviceClient } from "@/lib/api";
2-
import { HeroContextProvider } from "../contexts/HeroContext";
2+
import { HeroContextProvider } from "@/components/contexts/HeroContext";
33

44
type Props = {
55
children: React.ReactNode;

src/components/sections/AdsSection.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { common_HeroItem } from "@/api/proto-http/frontend";
2-
import Image from "@/components/global/Image";
2+
import Image from "@/components/ui/Image";
33
import { calculateAspectRatio } from "@/lib/utils";
44

55
export default function AdsSection({

src/components/cart/CartItemRow.tsx renamed to src/components/sections/Cart/CartItemRow.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { changeCartProductQuantity, removeCartProduct } from "@/actions/cart";
22
import type { common_ProductFull } from "@/api/proto-http/frontend";
3-
import ImageComponent from "../global/Image";
3+
import ImageComponent from "@/components/ui/Image";
44
import ProductAmountButtons from "./ProductAmountButtons";
55

66
export default function CartItemRow({

src/components/cart/CartPopup.tsx renamed to src/components/sections/Cart/CartPopup.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { cn } from "@/lib/utils";
55
import { useClickAway } from "@uidotdev/usehooks";
66
import Link from "next/link";
77
import { useState } from "react";
8-
import { ButtonStyle } from "../ui/Button/styles";
8+
import { ButtonStyle } from "@/components/ui/Button/styles";
99

1010
export default function CartPopup({
1111
children,

src/components/cart/CartProductsList.tsx renamed to src/components/sections/Cart/CartProductsList.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import CartItemRow from "@/components/cart/CartItemRow";
21
import Button from "@/components/ui/Button";
32
import { serviceClient } from "@/lib/api";
43
import {
54
getCartProductSlugAndSizeFromKey,
65
getCookieCart,
76
} from "@/lib/utils/cart";
87
import Link from "next/link";
8+
import CartItemRow from "./CartItemRow";
99

1010
export default async function CartProductsList() {
1111
const cartData = getCookieCart();

src/components/Filters/Category.tsx renamed to src/components/sections/Filters/Category.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use client";
22

3-
import { useHeroContext } from "../contexts/HeroContext";
4-
import GenericPopover from "../ui/Popover";
3+
import { useHeroContext } from "@/components/contexts/HeroContext";
4+
import GenericPopover from "@/components/ui/Popover";
55
import useFilterQueryParams from "./useFilterQueryParams";
66
import FilterOptionButtons from "./FilterOptionButtons";
77

src/components/Filters/Order.tsx renamed to src/components/sections/Filters/Order.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use client";
22

3-
import { useHeroContext } from "../contexts/HeroContext";
4-
import GenericPopover from "../ui/Popover";
3+
import { useHeroContext } from "@/components/contexts/HeroContext";
4+
import GenericPopover from "@/components/ui/Popover";
55
import useFilterQueryParams from "./useFilterQueryParams";
66
import FilterOptionButtons from "./FilterOptionButtons";
77

src/components/Filters/Size.tsx renamed to src/components/sections/Filters/Size.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use client";
2-
import { useHeroContext } from "../contexts/HeroContext";
3-
import GenericPopover from "../ui/Popover";
2+
import { useHeroContext } from "@/components/contexts/HeroContext";
3+
import GenericPopover from "@/components/ui/Popover";
44
import useFilterQueryParams from "./useFilterQueryParams";
55
import FilterOptionButtons from "./FilterOptionButtons";
66

src/components/Filters/Sort.tsx renamed to src/components/sections/Filters/Sort.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use client";
22

33
import GenericPopover from "@/components/ui/Popover";
4-
import { useHeroContext } from "../contexts/HeroContext";
4+
import { useHeroContext } from "@/components/contexts/HeroContext";
55
import useFilterQueryParams from "./useFilterQueryParams";
66
import FilterOptionButtons from "./FilterOptionButtons";
77

src/components/global/MediaProvider/ArchiveMediaItem.tsx renamed to src/components/sections/FullscreenImagesCarousel/ArchiveMediaItem.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use client";
22

33
import { common_MediaFull } from "@/api/proto-http/frontend";
4-
import GlobalImage from "@/components/global/Image";
4+
import GlobalImage from "@/components/ui/Image";
55
import { calculateAspectRatio } from "@/lib/utils";
66
import { PhotoView } from "react-photo-view";
77

src/components/global/MediaProvider/ProductMediaItem.tsx renamed to src/components/sections/FullscreenImagesCarousel/ProductMediaItem.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use client";
22

33
import { common_MediaFull } from "@/api/proto-http/frontend";
4-
import GlobalImage from "@/components/global/Image";
4+
import GlobalImage from "@/components/ui/Image";
55
import { calculateAspectRatio } from "@/lib/utils";
66
import { PhotoView } from "react-photo-view";
77

src/components/global/MediaProvider/index.tsx renamed to src/components/sections/FullscreenImagesCarousel/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { common_MediaFull } from "@/api/proto-http/frontend";
44
import { PhotoProvider } from "react-photo-view";
55
import "react-photo-view/dist/react-photo-view.css";
66

7-
export function MediaProvider({
7+
export function FullscreenImagesCarousel({
88
mediaList,
99
ItemComponent,
1010
}: {

src/components/global/Header/index.tsx renamed to src/components/sections/Header/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use client";
22

33
import Link from "next/link";
4-
import Image from "@/components/global/Image";
4+
import Image from "@/components/ui/Image";
55
import useMobileMenu from "./useMobileMenu";
66
import Button from "@/components/ui/Button";
77

src/components/sections/HeroSection.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { common_HeroItem } from "@/api/proto-http/frontend";
2-
import Image from "@/components/global/Image";
2+
import Image from "@/components/ui/Image";
33

44
export default function Hero({ media }: common_HeroItem) {
55
if (!media) return null;

src/components/product/MeasurementsModalContent.tsx renamed to src/components/sections/MeasurementsModal/MeasurementsModalContent.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
"use client";
2+
23
import { useLockBodyScroll } from "@uidotdev/usehooks";
34

45
export default function MeasurementsModalContent() {
56
useLockBodyScroll();
7+
68
return (
79
<div className="flex h-full w-full pt-20 text-buttonTextColor">
810
<div className="w-1/2 ">Image placeholder</div>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import Button from "@/components/ui/Button";
2+
import { ButtonStyle } from "@/components/ui/Button/styles";
3+
import Modal from "@/components/ui/Modal";
4+
import MeasurementsModalContent from "./MeasurementsModalContent";
5+
6+
export default function Component() {
7+
return (
8+
<Modal
9+
openElement={
10+
<Button asChild style={ButtonStyle.underlinedButton}>
11+
measurements
12+
</Button>
13+
}
14+
>
15+
<MeasurementsModalContent />
16+
</Modal>
17+
);
18+
}

src/components/sections/ProductsGridSection/ProductItem.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { common_Product } from "@/api/proto-http/frontend";
2-
import Image from "@/components/global/Image";
2+
import Image from "@/components/ui/Image";
33
import Button from "@/components/ui/Button";
44
import { CURRENCY_MAP } from "@/constants";
55
import { cn } from "@/lib/utils";

0 commit comments

Comments
 (0)