diff --git a/frontend/index.html b/frontend/index.html index aa9e1caf..1ec0e472 100755 --- a/frontend/index.html +++ b/frontend/index.html @@ -6,6 +6,12 @@ + CodePair diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index bcceea47..484bb9c7 100755 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,7 +1,3 @@ -import "@fontsource/roboto/300.css"; -import "@fontsource/roboto/400.css"; -import "@fontsource/roboto/500.css"; -import "@fontsource/roboto/700.css"; import { Box, CssBaseline, ThemeProvider, createTheme, useMediaQuery } from "@mui/material"; import * as Sentry from "@sentry/react"; import { QueryCache, QueryClient, QueryClientProvider } from "@tanstack/react-query"; @@ -67,6 +63,7 @@ function App() { button: { textTransform: "none", }, + fontFamily: `"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;`, }, palette: { mode: config.theme == "default" ? defaultMode : config.theme, diff --git a/frontend/src/components/cards/DocumentCard.tsx b/frontend/src/components/cards/DocumentCard.tsx index 95395c11..aaedd186 100644 --- a/frontend/src/components/cards/DocumentCard.tsx +++ b/frontend/src/components/cards/DocumentCard.tsx @@ -1,8 +1,8 @@ -import AccessTimeIcon from "@mui/icons-material/AccessTime"; -import { Card, CardActionArea, CardContent, Stack, Typography } from "@mui/material"; -import moment from "moment"; -import { useNavigate, useParams } from "react-router-dom"; +import { Paper, Stack, Typography } from "@mui/material"; +import { Link, useParams } from "react-router-dom"; import { Document } from "../../hooks/api/types/document.d"; +import moment from "moment"; +import AccessTimeIcon from "@mui/icons-material/AccessTime"; interface DocumentCardProps { document: Document; @@ -10,20 +10,46 @@ interface DocumentCardProps { function DocumentCard(props: DocumentCardProps) { const { document } = props; - const navigate = useNavigate(); const params = useParams(); - const handleToDocument = () => { - navigate(`/${params.workspaceSlug}/${document.id}`); - }; - return ( - - - - - {document.title} + + + + + {moment(document.createdAt).format("D MMM YYYY")} + + {/* TODO(devleejb): When the document deletion is implemented, uncomment the following code */} + {/* + + */} + + + {document.title} + + + {/* TODO(devleejb): When the tag sytem is implemented, uncomment the following code */} + {/* {new Array(4).fill(0).map((_, index) => ( + + ))} */} + + - Changed {moment(document.updatedAt).fromNow()} + {moment(document.updatedAt).format("D MMM YYYY")} - - - + {/* TODO(devleejb): When the fetching presemces from yorkie is implemented, uncomment the following code */} + {/* + + + + + + + + + + */} + + + ); } diff --git a/frontend/src/components/layouts/WorkspaceLayout.tsx b/frontend/src/components/layouts/WorkspaceLayout.tsx index 808891bd..84fcc090 100644 --- a/frontend/src/components/layouts/WorkspaceLayout.tsx +++ b/frontend/src/components/layouts/WorkspaceLayout.tsx @@ -20,16 +20,18 @@ function WorkspaceLayout() { const { drawerOpen } = useSelector(selectConfig); return ( - + - + - + - + + + - + ); } diff --git a/frontend/src/index.css b/frontend/src/index.css index 917a5ec7..64f81824 100755 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -1,7 +1,26 @@ +* { + font-family: + "Pretendard Variable", + Pretendard, + -apple-system, + BlinkMacSystemFont, + system-ui, + Roboto, + "Helvetica Neue", + "Segoe UI", + "Apple SD Gothic Neo", + "Noto Sans KR", + "Malgun Gothic", + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol", + sans-serif; +} + body { margin: 0; min-height: 100vh; - overflow: hidden; + /* overflow: hidden; */ } #yorkie-intelligence-footer .wmde-markdown { diff --git a/frontend/src/pages/workspace/Index.tsx b/frontend/src/pages/workspace/Index.tsx index 69e2b015..d61d60fd 100644 --- a/frontend/src/pages/workspace/Index.tsx +++ b/frontend/src/pages/workspace/Index.tsx @@ -4,7 +4,18 @@ import { useGetWorkspaceDocumentListQuery, } from "../../hooks/api/workspaceDocument"; import { useGetWorkspaceQuery } from "../../hooks/api/workspace"; -import { Backdrop, Box, Button, CircularProgress, Grid, Stack, Typography } from "@mui/material"; +import { + Backdrop, + Box, + Button, + CircularProgress, + Grid2, + Paper, + Stack, + Tab, + Tabs, + Typography, +} from "@mui/material"; import DocumentCard from "../../components/cards/DocumentCard"; import { useMemo, useState } from "react"; import { Document } from "../../hooks/api/types/document.d"; @@ -12,6 +23,11 @@ import InfiniteScroll from "react-infinite-scroller"; import CreateModal from "../../components/modals/CreateModal"; import AddIcon from "@mui/icons-material/Add"; +const tabs = [ + "BOARD", + // "TABLE" +]; + function WorkspaceIndex() { const params = useParams(); const navigate = useNavigate(); @@ -51,54 +67,65 @@ function WorkspaceIndex() { }; return ( - - - - {workspace?.title}{" "} - - {documentPageList?.pages[0].totalLength} - - - - - + - fetchNextPage()} - hasMore={hasNextPage} - loader={ - - - - } - useWindow={false} - > - - - {documentList.map((document) => ( - - - - ))} - - - - + + + {workspace?.title}{" "} + + {documentPageList?.pages[0].totalLength} + + + + + + + + {tabs.map((tab) => ( + + ))} + + + fetchNextPage()} + hasMore={hasNextPage} + loader={ + + + + } + > + + + {documentList.map((document) => ( + + + + ))} + + + - + {workspace?.title}{" "}