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/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}`)} >
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 }; +} 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 @@ + + +

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