From 5f2b7a8a34ccedd84d3d46a1b8a4deff76ce2fbd Mon Sep 17 00:00:00 2001 From: biud436 Date: Sun, 7 Jan 2024 00:06:17 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=EC=BB=B4=ED=8F=AC=EB=84=8C?= =?UTF-8?q?=ED=8A=B8=20=EA=B5=AC=EC=A1=B0=EB=A5=BC=20URL=5FMAP=20=EA=B8=B0?= =?UTF-8?q?=EC=A4=80=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/posts/[id]/page.tsx | 2 +- .../{ => common}/atomic/DrawerHeader.tsx | 0 .../{ => common}/atomic/Loading.tsx | 0 .../{ => common}/atomic/RefreshButton.tsx | 0 .../{ => common}/atomic/ScrollProgressBar.tsx | 0 .../{ => common}/builder/SearchBuilder.tsx | 0 .../{ => common}/category/CategoryWrapper.tsx | 0 .../{ => common}/category/LoginButton.tsx | 1 - .../{ => common}/category/LogoutButton.tsx | 0 .../{ => common}/category/ManageButton.tsx | 0 .../category/MenuPostWriteButton.tsx | 0 .../{ => common}/error/ErrorBoundary.tsx | 0 .../{ => common}/header/HeaderIconButton.tsx | 0 .../{ => common}/header/MyBlogHeader.tsx | 5 +- .../components/{ => common}/menu/AppBar.tsx | 0 .../{ => common}/menu/GithubOAuthButton.tsx | 0 .../{ => common}/menu/LoginGuard.tsx | 4 +- .../components/{ => common}/menu/Main.tsx | 0 .../{ => common}/menu/MobileHamburger.tsx | 0 .../{ => common}/menu/MobileNav.tsx | 2 +- .../menu/MyBlogContentConsumer.tsx | 2 +- .../menu/MyBlogContentContainer.tsx | 0 .../{ => common}/menu/MyBlogFooter.tsx | 2 +- .../components/{ => common}/menu/SideMenu.tsx | 2 +- .../{ => common}/menu/WriteButton.tsx | 0 .../components/{ => common}/utils/Meta.tsx | 0 .../{ => common}/utils/meta-config.json | 0 src/blog/components/post/PostContent.tsx | 2 +- .../{ => post}/editor/CustomMUIInput.tsx | 0 .../{ => post}/editor/PostButtonGroup.tsx | 0 .../{ => post}/editor/PostEditorPresent.tsx | 0 .../{ => post}/editor/PostSelectCategory.tsx | 0 .../{ => post}/editor/PostTitleInput.tsx | 0 .../{ => post}/editor/PostTuiEditor.tsx | 0 .../{ => post}/editor/TUIEditorWrapper.tsx | 0 .../{posts => post/list}/BlogLoading.tsx | 0 .../{posts => post/list}/CardStylePost.tsx | 2 +- .../{posts => post/list}/PostsPresent.tsx | 4 +- .../{posts => post/list}/SearchComponent.tsx | 0 .../{ => post}/viewer/ForcusToc.tsx | 0 .../viewer/HeadingElementWrapper.tsx | 0 .../{ => post}/viewer/TuiEditorViewer.tsx | 3 +- src/blog/components/posts/BoardStyle.tsx | 60 ------------------ src/blog/components/posts/BoardStylePost.tsx | 62 ------------------- src/blog/pages/post/index.tsx | 2 +- src/blog/pages/posts/index.tsx | 2 +- src/common/URL.ts | 24 +++++++ src/containers/ErrorFoundPage.tsx | 2 +- src/containers/LoginContainer.tsx | 2 +- src/containers/PostEditorContainer.tsx | 4 +- src/containers/PostsContainer.tsx | 2 +- src/layouts/BlogMainLayout.tsx | 10 +-- src/layouts/ManageLayout.tsx | 2 +- 53 files changed, 50 insertions(+), 153 deletions(-) rename src/blog/components/{ => common}/atomic/DrawerHeader.tsx (100%) rename src/blog/components/{ => common}/atomic/Loading.tsx (100%) rename src/blog/components/{ => common}/atomic/RefreshButton.tsx (100%) rename src/blog/components/{ => common}/atomic/ScrollProgressBar.tsx (100%) rename src/blog/components/{ => common}/builder/SearchBuilder.tsx (100%) rename src/blog/components/{ => common}/category/CategoryWrapper.tsx (100%) rename src/blog/components/{ => common}/category/LoginButton.tsx (95%) rename src/blog/components/{ => common}/category/LogoutButton.tsx (100%) rename src/blog/components/{ => common}/category/ManageButton.tsx (100%) rename src/blog/components/{ => common}/category/MenuPostWriteButton.tsx (100%) rename src/blog/components/{ => common}/error/ErrorBoundary.tsx (100%) rename src/blog/components/{ => common}/header/HeaderIconButton.tsx (100%) rename src/blog/components/{ => common}/header/MyBlogHeader.tsx (95%) rename src/blog/components/{ => common}/menu/AppBar.tsx (100%) rename src/blog/components/{ => common}/menu/GithubOAuthButton.tsx (100%) rename src/blog/components/{ => common}/menu/LoginGuard.tsx (91%) rename src/blog/components/{ => common}/menu/Main.tsx (100%) rename src/blog/components/{ => common}/menu/MobileHamburger.tsx (100%) rename src/blog/components/{ => common}/menu/MobileNav.tsx (98%) rename src/blog/components/{ => common}/menu/MyBlogContentConsumer.tsx (95%) rename src/blog/components/{ => common}/menu/MyBlogContentContainer.tsx (100%) rename src/blog/components/{ => common}/menu/MyBlogFooter.tsx (92%) rename src/blog/components/{ => common}/menu/SideMenu.tsx (96%) rename src/blog/components/{ => common}/menu/WriteButton.tsx (100%) rename src/blog/components/{ => common}/utils/Meta.tsx (100%) rename src/blog/components/{ => common}/utils/meta-config.json (100%) rename src/blog/components/{ => post}/editor/CustomMUIInput.tsx (100%) rename src/blog/components/{ => post}/editor/PostButtonGroup.tsx (100%) rename src/blog/components/{ => post}/editor/PostEditorPresent.tsx (100%) rename src/blog/components/{ => post}/editor/PostSelectCategory.tsx (100%) rename src/blog/components/{ => post}/editor/PostTitleInput.tsx (100%) rename src/blog/components/{ => post}/editor/PostTuiEditor.tsx (100%) rename src/blog/components/{ => post}/editor/TUIEditorWrapper.tsx (100%) rename src/blog/components/{posts => post/list}/BlogLoading.tsx (100%) rename src/blog/components/{posts => post/list}/CardStylePost.tsx (98%) rename src/blog/components/{posts => post/list}/PostsPresent.tsx (98%) rename src/blog/components/{posts => post/list}/SearchComponent.tsx (100%) rename src/blog/components/{ => post}/viewer/ForcusToc.tsx (100%) rename src/blog/components/{ => post}/viewer/HeadingElementWrapper.tsx (100%) rename src/blog/components/{ => post}/viewer/TuiEditorViewer.tsx (98%) delete mode 100644 src/blog/components/posts/BoardStyle.tsx delete mode 100644 src/blog/components/posts/BoardStylePost.tsx diff --git a/src/app/posts/[id]/page.tsx b/src/app/posts/[id]/page.tsx index 9c62657..624f127 100644 --- a/src/app/posts/[id]/page.tsx +++ b/src/app/posts/[id]/page.tsx @@ -5,7 +5,7 @@ import React from 'react'; import { cookies, headers } from 'next/headers'; import { API_URL, CacheControl } from '@/blog/api/request'; import { Post } from '@/models/Post'; -import { ErrorBoundary } from '@/blog/components/error/ErrorBoundary'; +import { ErrorBoundary } from '@/blog/components/common/error/ErrorBoundary'; import { PostPage } from '@/blog/pages/post'; import { Metadata, ResolvingMetadata } from 'next'; diff --git a/src/blog/components/atomic/DrawerHeader.tsx b/src/blog/components/common/atomic/DrawerHeader.tsx similarity index 100% rename from src/blog/components/atomic/DrawerHeader.tsx rename to src/blog/components/common/atomic/DrawerHeader.tsx diff --git a/src/blog/components/atomic/Loading.tsx b/src/blog/components/common/atomic/Loading.tsx similarity index 100% rename from src/blog/components/atomic/Loading.tsx rename to src/blog/components/common/atomic/Loading.tsx diff --git a/src/blog/components/atomic/RefreshButton.tsx b/src/blog/components/common/atomic/RefreshButton.tsx similarity index 100% rename from src/blog/components/atomic/RefreshButton.tsx rename to src/blog/components/common/atomic/RefreshButton.tsx diff --git a/src/blog/components/atomic/ScrollProgressBar.tsx b/src/blog/components/common/atomic/ScrollProgressBar.tsx similarity index 100% rename from src/blog/components/atomic/ScrollProgressBar.tsx rename to src/blog/components/common/atomic/ScrollProgressBar.tsx diff --git a/src/blog/components/builder/SearchBuilder.tsx b/src/blog/components/common/builder/SearchBuilder.tsx similarity index 100% rename from src/blog/components/builder/SearchBuilder.tsx rename to src/blog/components/common/builder/SearchBuilder.tsx diff --git a/src/blog/components/category/CategoryWrapper.tsx b/src/blog/components/common/category/CategoryWrapper.tsx similarity index 100% rename from src/blog/components/category/CategoryWrapper.tsx rename to src/blog/components/common/category/CategoryWrapper.tsx diff --git a/src/blog/components/category/LoginButton.tsx b/src/blog/components/common/category/LoginButton.tsx similarity index 95% rename from src/blog/components/category/LoginButton.tsx rename to src/blog/components/common/category/LoginButton.tsx index 60e1546..af9351a 100644 --- a/src/blog/components/category/LoginButton.tsx +++ b/src/blog/components/common/category/LoginButton.tsx @@ -4,7 +4,6 @@ import ListItemButton from '@mui/material/ListItemButton'; import ListItemIcon from '@mui/material/ListItemIcon'; import ListItemText from '@mui/material/ListItemText'; import LogoutIcon from '@mui/icons-material/Logout'; -import { URL_MAP } from '@/common/URL'; import { useRouter } from 'next/navigation'; export function LoginButton() { diff --git a/src/blog/components/category/LogoutButton.tsx b/src/blog/components/common/category/LogoutButton.tsx similarity index 100% rename from src/blog/components/category/LogoutButton.tsx rename to src/blog/components/common/category/LogoutButton.tsx diff --git a/src/blog/components/category/ManageButton.tsx b/src/blog/components/common/category/ManageButton.tsx similarity index 100% rename from src/blog/components/category/ManageButton.tsx rename to src/blog/components/common/category/ManageButton.tsx diff --git a/src/blog/components/category/MenuPostWriteButton.tsx b/src/blog/components/common/category/MenuPostWriteButton.tsx similarity index 100% rename from src/blog/components/category/MenuPostWriteButton.tsx rename to src/blog/components/common/category/MenuPostWriteButton.tsx diff --git a/src/blog/components/error/ErrorBoundary.tsx b/src/blog/components/common/error/ErrorBoundary.tsx similarity index 100% rename from src/blog/components/error/ErrorBoundary.tsx rename to src/blog/components/common/error/ErrorBoundary.tsx diff --git a/src/blog/components/header/HeaderIconButton.tsx b/src/blog/components/common/header/HeaderIconButton.tsx similarity index 100% rename from src/blog/components/header/HeaderIconButton.tsx rename to src/blog/components/common/header/HeaderIconButton.tsx diff --git a/src/blog/components/header/MyBlogHeader.tsx b/src/blog/components/common/header/MyBlogHeader.tsx similarity index 95% rename from src/blog/components/header/MyBlogHeader.tsx rename to src/blog/components/common/header/MyBlogHeader.tsx index a8a1213..43e8808 100644 --- a/src/blog/components/header/MyBlogHeader.tsx +++ b/src/blog/components/common/header/MyBlogHeader.tsx @@ -2,11 +2,10 @@ import * as React from 'react'; import Typography from '@mui/material/Typography'; import { URL_MAP } from '@/common/URL'; import { Box, Button, Grid } from '@mui/material'; -import { NextRouter } from 'next/router'; import GitHubIcon from '@mui/icons-material/GitHub'; import RssFeedIcon from '@mui/icons-material/RssFeed'; -import MetaCommonConfig from '@/blog/components/utils/meta-config.json'; -import { WriteButton } from '@/blog/components/menu/WriteButton'; +import MetaCommonConfig from '@/blog/components/common/utils/meta-config.json'; +import { WriteButton } from '@/blog/components/common/menu/WriteButton'; import styled from 'styled-components'; import MenuIcon from '@mui/icons-material/Menu'; diff --git a/src/blog/components/menu/AppBar.tsx b/src/blog/components/common/menu/AppBar.tsx similarity index 100% rename from src/blog/components/menu/AppBar.tsx rename to src/blog/components/common/menu/AppBar.tsx diff --git a/src/blog/components/menu/GithubOAuthButton.tsx b/src/blog/components/common/menu/GithubOAuthButton.tsx similarity index 100% rename from src/blog/components/menu/GithubOAuthButton.tsx rename to src/blog/components/common/menu/GithubOAuthButton.tsx diff --git a/src/blog/components/menu/LoginGuard.tsx b/src/blog/components/common/menu/LoginGuard.tsx similarity index 91% rename from src/blog/components/menu/LoginGuard.tsx rename to src/blog/components/common/menu/LoginGuard.tsx index 4b521f9..303ee5c 100644 --- a/src/blog/components/menu/LoginGuard.tsx +++ b/src/blog/components/common/menu/LoginGuard.tsx @@ -5,8 +5,8 @@ import { useEffect } from 'react'; import { useAuth } from '@/blog/providers/auth/authProvider'; import { LoginButton } from '../category/LoginButton'; import { LogoutButton } from '../category/LogoutButton'; -import { RequestHandler } from '../../api/axios'; -import { ManageButton } from '@/blog/components/category/ManageButton'; +import { RequestHandler } from '../../../api/axios'; +import { ManageButton } from '@/blog/components/common/category/ManageButton'; export function LoginGuard() { const auth = useAuth(); diff --git a/src/blog/components/menu/Main.tsx b/src/blog/components/common/menu/Main.tsx similarity index 100% rename from src/blog/components/menu/Main.tsx rename to src/blog/components/common/menu/Main.tsx diff --git a/src/blog/components/menu/MobileHamburger.tsx b/src/blog/components/common/menu/MobileHamburger.tsx similarity index 100% rename from src/blog/components/menu/MobileHamburger.tsx rename to src/blog/components/common/menu/MobileHamburger.tsx diff --git a/src/blog/components/menu/MobileNav.tsx b/src/blog/components/common/menu/MobileNav.tsx similarity index 98% rename from src/blog/components/menu/MobileNav.tsx rename to src/blog/components/common/menu/MobileNav.tsx index 9d2600b..bbebe12 100644 --- a/src/blog/components/menu/MobileNav.tsx +++ b/src/blog/components/common/menu/MobileNav.tsx @@ -4,7 +4,7 @@ import { Box } from '@mui/material'; import { CategoryDepthVO } from '@/models/CategoryDepthVO'; import { observer } from 'mobx-react-lite'; import { menuStore } from '@/store/'; -import { drawerWidth } from '../menu/AppBar'; +import { drawerWidth } from './AppBar'; import { SideMenu } from './SideMenu'; export const MobileNav = observer( diff --git a/src/blog/components/menu/MyBlogContentConsumer.tsx b/src/blog/components/common/menu/MyBlogContentConsumer.tsx similarity index 95% rename from src/blog/components/menu/MyBlogContentConsumer.tsx rename to src/blog/components/common/menu/MyBlogContentConsumer.tsx index d6e3541..5d1ccf3 100644 --- a/src/blog/components/menu/MyBlogContentConsumer.tsx +++ b/src/blog/components/common/menu/MyBlogContentConsumer.tsx @@ -3,7 +3,7 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/no-explicit-any */ import * as React from 'react'; -import { DrawerHeader } from '@/blog/components/atomic/DrawerHeader'; +import { DrawerHeader } from '@/blog/components/common/atomic/DrawerHeader'; import { Grid } from '@mui/material'; import { CategoryDepthVO } from '@/models/CategoryDepthVO'; import { observer } from 'mobx-react-lite'; diff --git a/src/blog/components/menu/MyBlogContentContainer.tsx b/src/blog/components/common/menu/MyBlogContentContainer.tsx similarity index 100% rename from src/blog/components/menu/MyBlogContentContainer.tsx rename to src/blog/components/common/menu/MyBlogContentContainer.tsx diff --git a/src/blog/components/menu/MyBlogFooter.tsx b/src/blog/components/common/menu/MyBlogFooter.tsx similarity index 92% rename from src/blog/components/menu/MyBlogFooter.tsx rename to src/blog/components/common/menu/MyBlogFooter.tsx index 53cdfee..1b4ca4b 100644 --- a/src/blog/components/menu/MyBlogFooter.tsx +++ b/src/blog/components/common/menu/MyBlogFooter.tsx @@ -3,7 +3,7 @@ import Typography from '@mui/material/Typography'; import { Button, Box, Grid } from '@mui/material'; import { observer } from 'mobx-react-lite'; import NextLink from 'next/link'; -import MetaCommonConfig from '@/blog/components/utils/meta-config.json'; +import MetaCommonConfig from '@/blog/components/common/utils/meta-config.json'; export const MyBlogFooter = observer(() => ( diff --git a/src/blog/components/menu/SideMenu.tsx b/src/blog/components/common/menu/SideMenu.tsx similarity index 96% rename from src/blog/components/menu/SideMenu.tsx rename to src/blog/components/common/menu/SideMenu.tsx index 053840a..1e13465 100644 --- a/src/blog/components/menu/SideMenu.tsx +++ b/src/blog/components/common/menu/SideMenu.tsx @@ -5,7 +5,7 @@ import Divider from '@mui/material/Divider'; import IconButton from '@mui/material/IconButton'; import ChevronLeftIcon from '@mui/icons-material/ChevronLeft'; import ChevronRightIcon from '@mui/icons-material/ChevronRight'; -import { DrawerHeader } from '@/blog/components/atomic/DrawerHeader'; +import { DrawerHeader } from '@/blog/components/common/atomic/DrawerHeader'; import { CategoryDepthVO } from '@/models/CategoryDepthVO'; import { CategoryWrapper } from '../category/CategoryWrapper'; import { LoginGuard } from './LoginGuard'; diff --git a/src/blog/components/menu/WriteButton.tsx b/src/blog/components/common/menu/WriteButton.tsx similarity index 100% rename from src/blog/components/menu/WriteButton.tsx rename to src/blog/components/common/menu/WriteButton.tsx diff --git a/src/blog/components/utils/Meta.tsx b/src/blog/components/common/utils/Meta.tsx similarity index 100% rename from src/blog/components/utils/Meta.tsx rename to src/blog/components/common/utils/Meta.tsx diff --git a/src/blog/components/utils/meta-config.json b/src/blog/components/common/utils/meta-config.json similarity index 100% rename from src/blog/components/utils/meta-config.json rename to src/blog/components/common/utils/meta-config.json diff --git a/src/blog/components/post/PostContent.tsx b/src/blog/components/post/PostContent.tsx index f79467f..0e0b5e1 100644 --- a/src/blog/components/post/PostContent.tsx +++ b/src/blog/components/post/PostContent.tsx @@ -7,7 +7,7 @@ import dynamic from 'next/dynamic'; const Viewer = dynamic( async () => { - const [mod] = await Promise.all([import('../viewer/TuiEditorViewer')]); + const [mod] = await Promise.all([import('./viewer/TuiEditorViewer')]); return mod.default; }, diff --git a/src/blog/components/editor/CustomMUIInput.tsx b/src/blog/components/post/editor/CustomMUIInput.tsx similarity index 100% rename from src/blog/components/editor/CustomMUIInput.tsx rename to src/blog/components/post/editor/CustomMUIInput.tsx diff --git a/src/blog/components/editor/PostButtonGroup.tsx b/src/blog/components/post/editor/PostButtonGroup.tsx similarity index 100% rename from src/blog/components/editor/PostButtonGroup.tsx rename to src/blog/components/post/editor/PostButtonGroup.tsx diff --git a/src/blog/components/editor/PostEditorPresent.tsx b/src/blog/components/post/editor/PostEditorPresent.tsx similarity index 100% rename from src/blog/components/editor/PostEditorPresent.tsx rename to src/blog/components/post/editor/PostEditorPresent.tsx diff --git a/src/blog/components/editor/PostSelectCategory.tsx b/src/blog/components/post/editor/PostSelectCategory.tsx similarity index 100% rename from src/blog/components/editor/PostSelectCategory.tsx rename to src/blog/components/post/editor/PostSelectCategory.tsx diff --git a/src/blog/components/editor/PostTitleInput.tsx b/src/blog/components/post/editor/PostTitleInput.tsx similarity index 100% rename from src/blog/components/editor/PostTitleInput.tsx rename to src/blog/components/post/editor/PostTitleInput.tsx diff --git a/src/blog/components/editor/PostTuiEditor.tsx b/src/blog/components/post/editor/PostTuiEditor.tsx similarity index 100% rename from src/blog/components/editor/PostTuiEditor.tsx rename to src/blog/components/post/editor/PostTuiEditor.tsx diff --git a/src/blog/components/editor/TUIEditorWrapper.tsx b/src/blog/components/post/editor/TUIEditorWrapper.tsx similarity index 100% rename from src/blog/components/editor/TUIEditorWrapper.tsx rename to src/blog/components/post/editor/TUIEditorWrapper.tsx diff --git a/src/blog/components/posts/BlogLoading.tsx b/src/blog/components/post/list/BlogLoading.tsx similarity index 100% rename from src/blog/components/posts/BlogLoading.tsx rename to src/blog/components/post/list/BlogLoading.tsx diff --git a/src/blog/components/posts/CardStylePost.tsx b/src/blog/components/post/list/CardStylePost.tsx similarity index 98% rename from src/blog/components/posts/CardStylePost.tsx rename to src/blog/components/post/list/CardStylePost.tsx index 5e9c4fe..69b276b 100644 --- a/src/blog/components/posts/CardStylePost.tsx +++ b/src/blog/components/post/list/CardStylePost.tsx @@ -10,7 +10,7 @@ import { CardMedia, Typography, } from '@mui/material'; -import { DateUtil, Formatter } from '../../api/date'; +import { DateUtil, Formatter } from '../../../api/date'; import LockIcon from '@mui/icons-material/Lock'; export interface CardStylePostProps { diff --git a/src/blog/components/posts/PostsPresent.tsx b/src/blog/components/post/list/PostsPresent.tsx similarity index 98% rename from src/blog/components/posts/PostsPresent.tsx rename to src/blog/components/post/list/PostsPresent.tsx index 5047071..5c1682a 100644 --- a/src/blog/components/posts/PostsPresent.tsx +++ b/src/blog/components/post/list/PostsPresent.tsx @@ -2,7 +2,7 @@ /* eslint-disable @typescript-eslint/no-non-null-assertion */ /* eslint-disable @typescript-eslint/no-explicit-any */ import React from 'react'; -import { SearchBuilder } from '@/blog/components/builder/SearchBuilder'; +import { SearchBuilder } from '@/blog/components/common/builder/SearchBuilder'; import { postsStore } from '@/store'; import { PostsSearchType } from '@/models/PostsSearchType'; @@ -107,11 +107,9 @@ export const PostsPresent = observer(() => { const goToPage = (post: PostEntity) => { const postId = post.id; if (post.isPrivate) { - // router.push(`/secret/[id]`, `/secret/${postId}`); router.push(`/secret/${postId}`); return; } - // router.push(`/posts/[id]`, `/posts/${postId}`); router.push(`/posts/${postId}`); }; diff --git a/src/blog/components/posts/SearchComponent.tsx b/src/blog/components/post/list/SearchComponent.tsx similarity index 100% rename from src/blog/components/posts/SearchComponent.tsx rename to src/blog/components/post/list/SearchComponent.tsx diff --git a/src/blog/components/viewer/ForcusToc.tsx b/src/blog/components/post/viewer/ForcusToc.tsx similarity index 100% rename from src/blog/components/viewer/ForcusToc.tsx rename to src/blog/components/post/viewer/ForcusToc.tsx diff --git a/src/blog/components/viewer/HeadingElementWrapper.tsx b/src/blog/components/post/viewer/HeadingElementWrapper.tsx similarity index 100% rename from src/blog/components/viewer/HeadingElementWrapper.tsx rename to src/blog/components/post/viewer/HeadingElementWrapper.tsx diff --git a/src/blog/components/viewer/TuiEditorViewer.tsx b/src/blog/components/post/viewer/TuiEditorViewer.tsx similarity index 98% rename from src/blog/components/viewer/TuiEditorViewer.tsx rename to src/blog/components/post/viewer/TuiEditorViewer.tsx index 6b7bdc5..fadeb91 100644 --- a/src/blog/components/viewer/TuiEditorViewer.tsx +++ b/src/blog/components/post/viewer/TuiEditorViewer.tsx @@ -20,14 +20,13 @@ import codeSyntaxHighlight from '@toast-ui/editor-plugin-code-syntax-highlight'; import '@toast-ui/editor/dist/toastui-editor.css'; import '@toast-ui/editor/dist/i18n/ko-kr'; -import { ForwardedScrollProgressBar } from '../atomic/ScrollProgressBar'; +import { ForwardedScrollProgressBar } from '../../common/atomic/ScrollProgressBar'; import { useEffect, useMemo, useRef } from 'react'; import styled from 'styled-components'; import * as React from 'react'; import { useCallback } from 'react'; import { HeadingElementWrapper } from './HeadingElementWrapper'; - declare var Prism: any; const ViewerWrapper = styled.div` diff --git a/src/blog/components/posts/BoardStyle.tsx b/src/blog/components/posts/BoardStyle.tsx deleted file mode 100644 index 24e9efa..0000000 --- a/src/blog/components/posts/BoardStyle.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import React from 'react'; -import { postsStore } from '@/store'; -import { PostDto } from '@/models/PostDto'; -import { - SxProps, - Table, - TableContainer, - Paper, - TableCell, - TableHead, - TableRow, - TableBody, -} from '@mui/material'; -import { BoardStylePost } from './BoardStylePost'; - -export function BoardStyle({ - goToPage, -}: { - goToPage: (post: PostDto) => void; -}) { - return ( - - - - - 카테고리 - 제목 - 작성자 - 작성일 - 조회수 - - - - {postsStore.getEntities() ? ( - postsStore.getEntities()?.map(post => { - const mediaProp: SxProps = { - cursor: 'pointer', - width: '100%', - minHeight: 200, - maxHeight: 200, - }; - return ( - - ); - }) - ) : ( - - - 조회 결과가 없습니다 - - - )} - -
-
- ); -} diff --git a/src/blog/components/posts/BoardStylePost.tsx b/src/blog/components/posts/BoardStylePost.tsx deleted file mode 100644 index 03babd2..0000000 --- a/src/blog/components/posts/BoardStylePost.tsx +++ /dev/null @@ -1,62 +0,0 @@ -/* eslint-disable @typescript-eslint/no-unused-vars */ -/* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */ -/* eslint-disable @typescript-eslint/no-non-null-assertion */ -import React from 'react'; -import { Box, Stack, TableCell, TableRow } from '@mui/material'; -import { DateUtil, Formatter } from '../../api/date'; -import { CardStylePostProps } from './CardStylePost'; -import LockIcon from '@mui/icons-material/Lock'; -import InsertPhotoIcon from '@mui/icons-material/InsertPhoto'; - -export function BoardStylePost({ - post, - mediaProp, - goToPage, -}: CardStylePostProps): JSX.Element { - return ( - - {post.category?.name} - goToPage(post)} - > - - {post.title} - - {post.isPrivate && ( - - - - )} - - {post.images && post.images.length > 0 && ( - - )} - - - {post.user?.profile.nickname} - - {DateUtil.ToDateStringBySeoul( - post.uploadDate!, - Formatter.DATETIME, - )} - - {post.viewCount?.count ?? 0} - - ); -} diff --git a/src/blog/pages/post/index.tsx b/src/blog/pages/post/index.tsx index 2f5a17a..59b7c21 100644 --- a/src/blog/pages/post/index.tsx +++ b/src/blog/pages/post/index.tsx @@ -9,7 +9,7 @@ import { observer } from 'mobx-react-lite'; import React, { useEffect } from 'react'; import { toast } from 'react-toastify'; import { PostPresent } from '../../components/post/PostPresent'; -import { Meta } from '@/blog/components/utils/Meta'; +import { Meta } from '@/blog/components/common/utils/Meta'; import { GlobalStyle } from '@/styles/global-styles'; import { PostServiceProvider } from '@/services/PostService'; import { useRouter } from 'next/navigation'; diff --git a/src/blog/pages/posts/index.tsx b/src/blog/pages/posts/index.tsx index 33dc226..83ff858 100644 --- a/src/blog/pages/posts/index.tsx +++ b/src/blog/pages/posts/index.tsx @@ -6,7 +6,7 @@ import { observer } from 'mobx-react-lite'; import { PostsContainer } from '../../../containers/PostsContainer'; import { ToastContainer } from 'react-toastify'; import 'react-toastify/dist/ReactToastify.css'; -import { Meta } from '@/blog/components/utils/Meta'; +import { Meta } from '@/blog/components/common/utils/Meta'; import { GlobalStyle } from '@/styles/global-styles'; export const PostsPage = observer(() => { diff --git a/src/common/URL.ts b/src/common/URL.ts index 4d598c4..0fbc3bc 100644 --- a/src/common/URL.ts +++ b/src/common/URL.ts @@ -1,11 +1,35 @@ export const URL_MAP = { MAIN: '/', + /** + * 로그인 + */ LOGIN: '/login', + /** + * 게시물 편집 + */ POST_EDIT: '/edit2', + /** + * 포스트 + */ POSTS: '/post', + /** + * 관리 + */ MANAGE: '/manage', + /** + * 카테고리 관리 + */ ADMIN_CATEGORY: '/manage/category', + /** + * 블로그 정보 관리 + */ ADMIN_BLOG_INFO: '/manage/info', + /** + * 포스트 관리 + */ ADMIN_POST: '/manage/post', + /** + * 비밀글 + */ SECRET: '/secret', }; diff --git a/src/containers/ErrorFoundPage.tsx b/src/containers/ErrorFoundPage.tsx index b93fbd7..2b8374d 100644 --- a/src/containers/ErrorFoundPage.tsx +++ b/src/containers/ErrorFoundPage.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { MainLayout } from '@/layouts/BlogMainLayout'; import { Alert } from '@mui/material'; import { observer } from 'mobx-react-lite'; -import { Meta } from '@/blog/components/utils/Meta'; +import { Meta } from '@/blog/components/common/utils/Meta'; interface ErrorComponentProps { message: string; diff --git a/src/containers/LoginContainer.tsx b/src/containers/LoginContainer.tsx index 67aeba4..9020e44 100644 --- a/src/containers/LoginContainer.tsx +++ b/src/containers/LoginContainer.tsx @@ -9,7 +9,7 @@ import { useAuth } from '@/blog/providers/auth/authProvider'; import { toast, ToastContainer } from 'react-toastify'; import { Box, Button, Stack, ThemeProvider, Typography } from '@mui/material'; import { URL_MAP } from '@/common/URL'; -import { Meta } from '@/blog/components/utils/Meta'; +import { Meta } from '@/blog/components/common/utils/Meta'; import 'react-toastify/dist/ReactToastify.css'; import { diff --git a/src/containers/PostEditorContainer.tsx b/src/containers/PostEditorContainer.tsx index 3172958..ab4d6dc 100644 --- a/src/containers/PostEditorContainer.tsx +++ b/src/containers/PostEditorContainer.tsx @@ -7,7 +7,7 @@ import { useAuthorized } from '@/hooks/auth/useAuthorized'; import dynamic from 'next/dynamic'; import { ToastContainer } from 'react-toastify'; import 'react-toastify/dist/ReactToastify.css'; -import { Meta } from '@/blog/components/utils/Meta'; +import { Meta } from '@/blog/components/common/utils/Meta'; import FlexibleLoading from '@/blog/components/common/FlexibleLoading'; import { PostEditorPageHeader } from './PostEditorPageHeader'; import { PostEditorPageDescription } from './PostEditorPageDescription'; @@ -22,7 +22,7 @@ export interface EditPageProps { const PostEditorPresent = dynamic( async () => { const [mod] = await Promise.all([ - import('../blog/components/editor/PostEditorPresent'), + import('../blog/components/post/editor/PostEditorPresent'), ]); return mod.PostEditorPresent; diff --git a/src/containers/PostsContainer.tsx b/src/containers/PostsContainer.tsx index 75fc6f2..e3238e8 100644 --- a/src/containers/PostsContainer.tsx +++ b/src/containers/PostsContainer.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { observer } from 'mobx-react-lite'; -import { PostsPresent } from '../blog/components/posts/PostsPresent'; +import { PostsPresent } from '../blog/components/post/list/PostsPresent'; export const PostsContainer = observer(() => { return ; diff --git a/src/layouts/BlogMainLayout.tsx b/src/layouts/BlogMainLayout.tsx index e5c0749..4fdd03c 100644 --- a/src/layouts/BlogMainLayout.tsx +++ b/src/layouts/BlogMainLayout.tsx @@ -11,11 +11,11 @@ import { useCategoryService } from '@/hooks/services/useCategoryService'; import { observer } from 'mobx-react-lite'; import { useMediaQuery } from 'react-responsive'; import { menuStore } from '@/store/'; -import { MyBlogHeader } from '../blog/components/header/MyBlogHeader'; -import { MobileNav } from '../blog/components/menu/MobileNav'; -import { MobileHamburger } from '../blog/components/menu/MobileHamburger'; -import { MyBlogContentContainer } from '../blog/components/menu/MyBlogContentContainer'; -import { MyBlogContentConsumer } from '../blog/components/menu/MyBlogContentConsumer'; +import { MyBlogHeader } from '../blog/components/common/header/MyBlogHeader'; +import { MobileNav } from '../blog/components/common/menu/MobileNav'; +import { MobileHamburger } from '../blog/components/common/menu/MobileHamburger'; +import { MyBlogContentContainer } from '../blog/components/common/menu/MyBlogContentContainer'; +import { MyBlogContentConsumer } from '../blog/components/common/menu/MyBlogContentConsumer'; import { useCategoryTree } from '@/hooks/api/useCategoryTree'; import { useRouter } from 'next/navigation'; diff --git a/src/layouts/ManageLayout.tsx b/src/layouts/ManageLayout.tsx index e6c8fc0..afa76da 100644 --- a/src/layouts/ManageLayout.tsx +++ b/src/layouts/ManageLayout.tsx @@ -16,7 +16,7 @@ import { ToastContainer } from 'react-toastify'; import { ManageMenu } from '../blog/components/manage/ManageMenu'; import 'react-toastify/dist/ReactToastify.css'; -import { Meta } from '@/blog/components/utils/Meta'; +import { Meta } from '@/blog/components/common/utils/Meta'; import { useCallback, useState } from 'react'; import { useThemeStore } from '@/hooks/useThemeStore';