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}
-
-
- }
- onClick={handleCreateDocumentModalOpen}
- >
- New Note
-
-
-
+
- fetchNextPage()}
- hasMore={hasNextPage}
- loader={
-
-
-
- }
- useWindow={false}
- >
-
-
- {documentList.map((document) => (
-
-
-
- ))}
-
-
-
-
+
+
+ {workspace?.title}{" "}
+
+ {documentPageList?.pages[0].totalLength}
+
+
+ }
+ onClick={handleCreateDocumentModalOpen}
+ >
+ New Note
+
+
+
+
+
+ {tabs.map((tab) => (
+
+ ))}
+
+
+ fetchNextPage()}
+ hasMore={hasNextPage}
+ loader={
+
+
+
+ }
+ >
+
+
+ {documentList.map((document) => (
+
+
+
+ ))}
+
+
+
-
+
{workspace?.title}{" "}