diff --git a/apps/web/package.json b/apps/web/package.json index 091516ff..1b43019d 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -11,10 +11,10 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@review-canvas/theme": "workspace:*", "@emotion/react": "^11.11.4", "@emotion/styled": "^11.11.0", "@react-hookz/web": "^24.0.4", + "@review-canvas/theme": "workspace:*", "@tanstack/react-query": "^5.28.8", "axios": "^1.6.8", "dayjs": "^1.11.10", @@ -32,6 +32,7 @@ "@review-canvas/eslint-config": "workspace:*", "@review-canvas/tailwind-config": "workspace:*", "@review-canvas/typescript-config": "workspace:*", + "@svgr/webpack": "^8.1.0", "@types/node": "^20.11.24", "@types/react": "^18.2.61", "@types/react-dom": "^18.2.19", diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index 263081c8..7ac966f3 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -4,10 +4,10 @@ import { useEffect } from 'react'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import GlobalStyles from '@/components/global-styles.tsx'; -import { DesignPropertyServiceProvider } from '@/services/design-property.tsx'; -import useShop from '@/state/shop.ts'; -import { notoSansKR } from '@/theme/font.ts'; +import GlobalStyles from '@/components/global-styles'; +import { DesignPropertyServiceProvider } from '@/services/design-property'; +import useShop from '@/state/shop'; +import { notoSansKR } from '@/theme/font'; import './globals.css'; diff --git a/apps/web/src/app/mypage/[productID]/connected-page.tsx b/apps/web/src/app/mypage/[productID]/connected-page.tsx index dbd4a007..31270ca3 100644 --- a/apps/web/src/app/mypage/[productID]/connected-page.tsx +++ b/apps/web/src/app/mypage/[productID]/connected-page.tsx @@ -4,10 +4,10 @@ import { Suspense } from 'react'; import { useSuspenseQuery } from '@tanstack/react-query'; -import CloseButton from '@/components/close-button'; -import MyReviewList from '@/components/review/my-list'; -import { ReviewItemStyleProvider } from '@/contexts/style/review-item'; -import { ReviewListStyleProvider } from '@/contexts/style/review-list'; +import CloseButton from '@/components/button/close'; +import MyReviewListOnProduct from '@/components/review/my-review/list'; +import { ReviewItemStyleProvider } from '@/contexts/style/review-item-style'; +import { ReviewListStyleProvider } from '@/contexts/style/review-list-style'; import useReviewCanvasReady from '@/hooks/use-review-canvas-ready.ts'; import { useDesignPropertyService } from '@/services/design-property'; import { useConnectedShop } from '@/state/shop.ts'; @@ -42,7 +42,7 @@ export default function MyReviewsPage({ productID }: ConnectedPageProps) { value={designPropertyService.convertDesignPropertyToReviewItemStyle(designPropertyQuery.data)} > loading...}> - + diff --git a/apps/web/src/app/mypage/connected-page.tsx b/apps/web/src/app/mypage/connected-page.tsx new file mode 100644 index 00000000..3094485c --- /dev/null +++ b/apps/web/src/app/mypage/connected-page.tsx @@ -0,0 +1,41 @@ +'use client'; + +import { Suspense } from 'react'; + +import { useSuspenseQuery } from '@tanstack/react-query'; + +import MyReviewList from '@/components/review/my-page/list'; +import { ReviewItemStyleProvider } from '@/contexts/style/review-item-style'; +import { ReviewListStyleProvider } from '@/contexts/style/review-list-style'; +import useReviewCanvasReady from '@/hooks/use-review-canvas-ready.ts'; +import { useDesignPropertyService } from '@/services/design-property'; +import { useConnectedShop } from '@/state/shop.ts'; + +export default function MyReviewsPage() { + const { id } = useConnectedShop(); + const designPropertyService = useDesignPropertyService(); + + useReviewCanvasReady('mypage'); + const designPropertyQuery = useSuspenseQuery({ + queryKey: ['design-property', id], + queryFn: () => designPropertyService.get(id), + }); + + return ( +
+
+ + + loading...
}> + + + + + +
+ ); +} diff --git a/apps/web/src/app/mypage/page.tsx b/apps/web/src/app/mypage/page.tsx new file mode 100644 index 00000000..52d4bdb6 --- /dev/null +++ b/apps/web/src/app/mypage/page.tsx @@ -0,0 +1,26 @@ +'use client'; + +import { Suspense } from 'react'; + +import useReviewCanvasReady from '@/hooks/use-review-canvas-ready'; +import DisconnectedPage from '@/pages/disconnected-page'; +import { ReviewServiceProvider } from '@/services/review'; +import useShop from '@/state/shop'; + +import ConnectedPage from './connected-page'; + +export default function Page() { + const shop = useShop(); + + useReviewCanvasReady('list'); + + if (!shop.connected) return ; + + return ( + + loading...}> + + + + ); +} diff --git a/apps/web/src/app/products/[productID]/reviews/connected-page.tsx b/apps/web/src/app/products/[productID]/reviews/connected-page.tsx index 9c15137d..568cfbdb 100644 --- a/apps/web/src/app/products/[productID]/reviews/connected-page.tsx +++ b/apps/web/src/app/products/[productID]/reviews/connected-page.tsx @@ -4,12 +4,12 @@ import { Suspense } from 'react'; import { useSuspenseQuery } from '@tanstack/react-query'; -import ReviewList from '@/components/review/list.tsx'; -import { ReviewItemStyleProvider } from '@/contexts/style/review-item.ts'; -import { ReviewListStyleProvider } from '@/contexts/style/review-list.ts'; -import useMessageToShop from '@/hooks/use-message-to-shop.ts'; -import { useDesignPropertyService } from '@/services/design-property.tsx'; -import { useConnectedShop } from '@/state/shop.ts'; +import ReviewList from '@/components/review/list'; +import { ReviewItemStyleProvider } from '@/contexts/style/review-item-style'; +import { ReviewListStyleProvider } from '@/contexts/style/review-list-style'; +import useMessageToShop from '@/hooks/use-message-to-shop'; +import { useDesignPropertyService } from '@/services/design-property'; +import { useConnectedShop } from '@/state/shop'; import { MESSAGE_TYPES } from '@/utils/message'; interface ConnectedPageProps { @@ -49,7 +49,7 @@ export default function ConnectedPage({ productID }: ConnectedPageProps) { onClick={openMyPage} type="button" > - My Page + My Review