From e368a036753d0d67d1d33747587f29d619aad65f Mon Sep 17 00:00:00 2001 From: 1g2g Date: 2024年1月11日 16:31:34 +0900 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=EC=9C=A0=EC=A0=80=20=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=20=EB=B0=98=ED=99=98=20=EC=9C=A0=ED=8B=B8=EC=84=B1=20?= =?UTF-8?q?=ED=95=A8=EC=88=98=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/utils/user.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/app/utils/user.ts b/src/app/utils/user.ts index 0309644..c910654 100644 --- a/src/app/utils/user.ts +++ b/src/app/utils/user.ts @@ -33,3 +33,10 @@ export function getUsersByRole(role: string) { const users = getUsers(); return users.filter((user) => user.role === role); } + +export function getUser(name: string) { + const userContent = readFileSync(`./public/${name}/index.md`, 'utf8'); + const { data } = matter(userContent) as any; + + return { name, ...data }; +} From 304d8ab17b463ef0c18eef3e6717dbb9ac523583 Mon Sep 17 00:00:00 2001 From: 1g2g Date: 2024年1月11日 16:32:05 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20=EB=92=A4=EB=A1=9C=EA=B0=80?= =?UTF-8?q?=EA=B8=B0=20=EB=B2=84=ED=8A=BC=20=EC=BB=B4=ED=8F=AC=EB=84=8C?= =?UTF-8?q?=ED=8A=B8=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/[username]/_components/BackButton.tsx | 17 +++++++++++++++++ src/assets/backArrow.svg | 3 +++ 2 files changed, 20 insertions(+) create mode 100644 src/app/(root)/user/[username]/_components/BackButton.tsx create mode 100644 src/assets/backArrow.svg diff --git a/src/app/(root)/user/[username]/_components/BackButton.tsx b/src/app/(root)/user/[username]/_components/BackButton.tsx new file mode 100644 index 0000000..6bb30f0 --- /dev/null +++ b/src/app/(root)/user/[username]/_components/BackButton.tsx @@ -0,0 +1,17 @@ +'use client'; + +import BackArrow from '@/assets/backArrow.svg'; +import Image from 'next/image'; +import { useRouter } from 'next/navigation'; +import { ReactNode } from 'react'; + +export default function BackButton({ children }: { children: ReactNode }) { + const router = useRouter(); + + return ( + + ); +} diff --git a/src/assets/backArrow.svg b/src/assets/backArrow.svg new file mode 100644 index 0000000..4089138 --- /dev/null +++ b/src/assets/backArrow.svg @@ -0,0 +1,3 @@ + + + From fb344d42420835e4ab9e9d0d7fc20960252dfeeb Mon Sep 17 00:00:00 2001 From: 1g2g Date: 2024年1月11日 16:32:32 +0900 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20=EC=9C=A0=EC=A0=80=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=97=90=20=EC=9C=A0=EC=A0=80=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/(root)/user/[username]/page.tsx | 25 ++++++++++++++++--- src/app/_components/MemberItem/MemberItem.tsx | 9 +++---- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/app/(root)/user/[username]/page.tsx b/src/app/(root)/user/[username]/page.tsx index 17921db..a6703f1 100644 --- a/src/app/(root)/user/[username]/page.tsx +++ b/src/app/(root)/user/[username]/page.tsx @@ -1,10 +1,27 @@ +import BackButton from './_components/BackButton'; +import { MemberItem } from '@/app/_components/MemberItem'; import { PostItemList } from '@/app/_components/PostItemList'; -import { getPostDatasByUsername, getUsers } from '@/app/utils'; +import { getPostDatasByUsername, getUser, getUsers } from '@/app/utils'; +import BackArrow from '@/assets/backArrow.svg'; +import Image from 'next/image'; -export default function Page({ params }: { params: { username: string } }) { - const postDatas = getPostDatasByUsername(params.username); +export default function Page({ + params: { username }, +}: { + params: { username: string }; +}) { + const postDatas = getPostDatasByUsername(username); + const userData = getUser(username); - return ; + return ( + + 다른 팀원 보기 +
+ + +
+
+ ); } export function generateStaticParams() { diff --git a/src/app/_components/MemberItem/MemberItem.tsx b/src/app/_components/MemberItem/MemberItem.tsx index 36ff393..b814365 100644 --- a/src/app/_components/MemberItem/MemberItem.tsx +++ b/src/app/_components/MemberItem/MemberItem.tsx @@ -1,11 +1,10 @@ 'use client'; -import { useRouter } from 'next/navigation'; -import Link from 'next/link'; -import Image from 'next/image'; - import GitHub from '@/assets/github.svg'; import { User } from '@/type/User'; +import Image from 'next/image'; +import Link from 'next/link'; +import { useRouter } from 'next/navigation'; export const MemberItem = ({ name, @@ -16,7 +15,7 @@ export const MemberItem = ({ const router = useRouter(); return (
router.push(`/user/${name}`)} >

AltStyle によって変換されたページ (->オリジナル) /