From 3ce8c2fd35a442620c265657c47b339784ed0a8b Mon Sep 17 00:00:00 2001 From: Wooseong Kim Date: Thu, 7 Sep 2023 21:03:23 +0900 Subject: [PATCH 01/14] =?UTF-8?q?(chore):=20eslint=20=EC=97=90=EC=84=9C=20?= =?UTF-8?q?react/prop-types=20=EC=98=B5=EC=85=98=EC=9D=84=20=EB=81=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 1 + 1 file changed, 1 insertion(+) diff --git a/.eslintrc.js b/.eslintrc.js index bcdfc4e5..b1776478 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -22,6 +22,7 @@ module.exports = { 'no-undef': 0, 'prettier/prettier': 2, // Means error 'react/react-in-jsx-scope': 'off', + 'react/prop-types': 'off', // TypeScript 에서 이미 컴포넌트의 props를 검증하기 위해 타입 체크를 제공 }, settings: { react: { From 21eb5544c912f00f7847260fe4e8391bf48a8a4c Mon Sep 17 00:00:00 2001 From: Wooseong Kim Date: Thu, 7 Sep 2023 21:35:37 +0900 Subject: [PATCH 02/14] =?UTF-8?q?feat(app):=20=EA=B0=81=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=97=90=EC=84=9C=20=EA=B3=B5=EC=9A=A9?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EC=82=AC=EC=9A=A9=ED=95=A0=20NavBar=20?= =?UTF-8?q?=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/react-world/src/components/NavBar.tsx | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 apps/react-world/src/components/NavBar.tsx diff --git a/apps/react-world/src/components/NavBar.tsx b/apps/react-world/src/components/NavBar.tsx new file mode 100644 index 00000000..49baff27 --- /dev/null +++ b/apps/react-world/src/components/NavBar.tsx @@ -0,0 +1,28 @@ +export const Navbar: React.FC = () => { + return ( + + ); +}; From eee902a822701934fab68b28f5746193acf9a096 Mon Sep 17 00:00:00 2001 From: Wooseong Kim Date: Thu, 7 Sep 2023 21:35:42 +0900 Subject: [PATCH 03/14] =?UTF-8?q?feat(app):=20=EA=B0=81=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=97=90=EC=84=9C=20=EA=B3=B5=EC=9A=A9?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EC=82=AC=EC=9A=A9=ED=95=A0=20Footer=20?= =?UTF-8?q?=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/react-world/src/components/Footer.tsx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 apps/react-world/src/components/Footer.tsx diff --git a/apps/react-world/src/components/Footer.tsx b/apps/react-world/src/components/Footer.tsx new file mode 100644 index 00000000..5a8d332f --- /dev/null +++ b/apps/react-world/src/components/Footer.tsx @@ -0,0 +1,16 @@ +export const Footer: React.FC = () => { + return ( +
+
+ + conduit + + + An interactive learning project from{' '} + Thinkster. Code & design + licensed under MIT. + +
+
+ ); +}; From dc006d2ca678aa5946111722dc8cb61f460e3c29 Mon Sep 17 00:00:00 2001 From: Wooseong Kim Date: Thu, 7 Sep 2023 21:36:02 +0900 Subject: [PATCH 04/14] =?UTF-8?q?feat(home):=20=ED=99=88=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=EC=97=90=EC=84=9C=20=EC=82=AC=EC=9A=A9=ED=95=A0=20Hom?= =?UTF-8?q?eBaner=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/react-world/src/components/home/HomeBanner.tsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 apps/react-world/src/components/home/HomeBanner.tsx diff --git a/apps/react-world/src/components/home/HomeBanner.tsx b/apps/react-world/src/components/home/HomeBanner.tsx new file mode 100644 index 00000000..d3903397 --- /dev/null +++ b/apps/react-world/src/components/home/HomeBanner.tsx @@ -0,0 +1,12 @@ +export const HomeBanner: React.FC = () => { + return ( +
+
+
+

conduit

+

A place to share your knowledge.

+
+
+
+ ); +}; From 2cd24b2c6a0f568ff072d82da7f51bfab383050d Mon Sep 17 00:00:00 2001 From: Wooseong Kim Date: Thu, 7 Sep 2023 21:36:09 +0900 Subject: [PATCH 05/14] =?UTF-8?q?feat(home):=20=ED=99=88=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=EC=97=90=EC=84=9C=20=EC=82=AC=EC=9A=A9=ED=95=A0=20Hom?= =?UTF-8?q?eFeedTab=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/home/HomeFeedTab.tsx | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 apps/react-world/src/components/home/HomeFeedTab.tsx diff --git a/apps/react-world/src/components/home/HomeFeedTab.tsx b/apps/react-world/src/components/home/HomeFeedTab.tsx new file mode 100644 index 00000000..938a720d --- /dev/null +++ b/apps/react-world/src/components/home/HomeFeedTab.tsx @@ -0,0 +1,28 @@ +interface HomeFeedTabProps { + activeFeed: 'my_feed' | 'global_feed'; +} + +const HomeFeedTab: React.FC = ({ activeFeed }) => ( + +); + +export default HomeFeedTab; From 5d2186dc7ba10bef346fd01af70b3fc2b8f8d53d Mon Sep 17 00:00:00 2001 From: Wooseong Kim Date: Thu, 7 Sep 2023 21:36:22 +0900 Subject: [PATCH 06/14] =?UTF-8?q?feat(home):=20=ED=99=88=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=EC=97=90=EC=84=9C=20=EC=82=AC=EC=9A=A9=ED=95=A0=20Art?= =?UTF-8?q?iclePreview=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/home/ArticlePreview.tsx | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 apps/react-world/src/components/home/ArticlePreview.tsx diff --git a/apps/react-world/src/components/home/ArticlePreview.tsx b/apps/react-world/src/components/home/ArticlePreview.tsx new file mode 100644 index 00000000..47a36bbf --- /dev/null +++ b/apps/react-world/src/components/home/ArticlePreview.tsx @@ -0,0 +1,54 @@ +interface ArticlePreviewProps { + authorProfileLink: string; + authorProfileImageUrl: string; + authorName: string; + publishDate: string; + likeCount: number; + articleLink: string; + articleTitle: string; + articleDescription: string; + tags: string[]; +} + +const ArticlePreview: React.FC = ({ + authorProfileLink, + authorProfileImageUrl, + authorName, + publishDate, + likeCount, + articleLink, + articleTitle, + articleDescription, + tags, +}) => ( + +); + +export default ArticlePreview; From eb39b9694066c25650f0d93b52c50ae1bc5465f6 Mon Sep 17 00:00:00 2001 From: Wooseong Kim Date: Thu, 7 Sep 2023 21:36:30 +0900 Subject: [PATCH 07/14] =?UTF-8?q?feat(home):=20=ED=99=88=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=EC=97=90=EC=84=9C=20=EC=82=AC=EC=9A=A9=ED=95=A0=20Art?= =?UTF-8?q?icleTagList=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/home/ArticleTagList.tsx | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 apps/react-world/src/components/home/ArticleTagList.tsx diff --git a/apps/react-world/src/components/home/ArticleTagList.tsx b/apps/react-world/src/components/home/ArticleTagList.tsx new file mode 100644 index 00000000..c9acb277 --- /dev/null +++ b/apps/react-world/src/components/home/ArticleTagList.tsx @@ -0,0 +1,20 @@ +interface ArticleTagListProps { + tags: string[]; +} + +const ArticleTagList: React.FC = ({ tags }) => ( +
+
+

Popular Tags

+
+ {tags.map(tag => ( + + {tag} + + ))} +
+
+
+); + +export default ArticleTagList; From 4c6071532d74828edc9a64dc4ec0b60212df90c7 Mon Sep 17 00:00:00 2001 From: Wooseong Kim Date: Thu, 7 Sep 2023 21:36:36 +0900 Subject: [PATCH 08/14] =?UTF-8?q?feat(home):=20=ED=99=88=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=EC=97=90=EC=84=9C=20=EC=82=AC=EC=9A=A9=ED=95=A0=20Pag?= =?UTF-8?q?ination=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/home/Pagination.tsx | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 apps/react-world/src/components/home/Pagination.tsx diff --git a/apps/react-world/src/components/home/Pagination.tsx b/apps/react-world/src/components/home/Pagination.tsx new file mode 100644 index 00000000..cd1d7f6f --- /dev/null +++ b/apps/react-world/src/components/home/Pagination.tsx @@ -0,0 +1,23 @@ +interface PaginationProps { + pages: number[]; + activePage: number; +} + +const Pagination: React.FC = ({ pages, activePage }) => { + return ( + + ); +}; + +export default Pagination; From bc15bc35c561324c80b9e448ba416391e76478c1 Mon Sep 17 00:00:00 2001 From: Wooseong Kim Date: Thu, 7 Sep 2023 21:37:13 +0900 Subject: [PATCH 09/14] =?UTF-8?q?feat(home):=20=ED=99=88=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=EB=A5=BC=20React=20=EC=BB=B4=ED=8F=AC=EB=84=8C?= =?UTF-8?q?=ED=8A=B8=20=EA=B8=B0=EB=B0=98=EC=9C=BC=EB=A1=9C=20=EB=A6=AC?= =?UTF-8?q?=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/react-world/src/pages/home.tsx | 211 +++++++--------------------- 1 file changed, 47 insertions(+), 164 deletions(-) diff --git a/apps/react-world/src/pages/home.tsx b/apps/react-world/src/pages/home.tsx index e68f0cf5..d21363e6 100644 --- a/apps/react-world/src/pages/home.tsx +++ b/apps/react-world/src/pages/home.tsx @@ -1,185 +1,68 @@ +import { Navbar } from '../components/NavBar'; +import { HomeBanner } from '../components/home/HomeBanner'; +import { Footer } from '../components/Footer'; +import HomeFeedTab from '../components/home/HomeFeedTab'; +import ArticleTagList from '../components/home/ArticleTagList'; +import ArticlePreview from '../components/home/ArticlePreview'; +import Pagination from '../components/home/Pagination'; + export const HomePage = () => { return ( <> - + -
-
- - conduit - - - An interactive learning project from{' '} - Thinkster. Code & design - licensed under MIT. - -
-
+