diff --git a/src/app/(routes)/bomiTest/tabTest/comment/page.tsx b/src/app/(routes)/bomiTest/tabTest/comment/page.tsx new file mode 100644 index 00000000..1dc07ac9 --- /dev/null +++ b/src/app/(routes)/bomiTest/tabTest/comment/page.tsx @@ -0,0 +1,5 @@ +const CommentTest = () => { + return
댓글 페이지
+} + +export default CommentTest diff --git a/src/app/(routes)/bomiTest/tabTest/layout.tsx b/src/app/(routes)/bomiTest/tabTest/layout.tsx new file mode 100644 index 00000000..9b30ebe1 --- /dev/null +++ b/src/app/(routes)/bomiTest/tabTest/layout.tsx @@ -0,0 +1,34 @@ +'use client' + +import React, { useState } from 'react' +import Tab from '@/components/common/Tab/Tab' +import TabItem from '@/components/common/Tab/TabItem' + +const TabTestPage = ({ children }: { children: React.ReactNode }) => { + const [currentTab, setCurrentTab] = useState(0) + + const tabArr = [ + { text: '스페이스', content: '스페이스 페이지', dest: '/bomiTest/tabTest' }, + { text: '댓글', content: '댓글 페이지', dest: '/bomiTest/tabTest/comment' }, + { text: '설정', content: '설정 페이지', dest: '/bomiTest/tabTest/setting' }, + ] + + return ( +
+ + {tabArr.map((tabItem, index) => ( + setCurrentTab(index)} + /> + ))} + + {children} +
+ ) +} + +export default TabTestPage diff --git a/src/app/(routes)/bomiTest/tabTest/page.tsx b/src/app/(routes)/bomiTest/tabTest/page.tsx new file mode 100644 index 00000000..e0dcc0b7 --- /dev/null +++ b/src/app/(routes)/bomiTest/tabTest/page.tsx @@ -0,0 +1,7 @@ +import React from 'react' + +const SpaceTest = () => { + return
스페이스 페이지
+} + +export default SpaceTest diff --git a/src/app/(routes)/bomiTest/tabTest/setting/page.tsx b/src/app/(routes)/bomiTest/tabTest/setting/page.tsx new file mode 100644 index 00000000..2012bf89 --- /dev/null +++ b/src/app/(routes)/bomiTest/tabTest/setting/page.tsx @@ -0,0 +1,5 @@ +const SettingTest = () => { + return
세팅 페이지
+} + +export default SettingTest diff --git a/src/components/common/Tab/Tab.tsx b/src/components/common/Tab/Tab.tsx new file mode 100644 index 00000000..165c6f79 --- /dev/null +++ b/src/components/common/Tab/Tab.tsx @@ -0,0 +1,9 @@ +interface TabProps { + children?: React.ReactNode +} + +const Tab = ({ children }: TabProps) => { + return
{children}
+} + +export default Tab diff --git a/src/components/common/Tab/TabItem.tsx b/src/components/common/Tab/TabItem.tsx new file mode 100644 index 00000000..34f9332d --- /dev/null +++ b/src/components/common/Tab/TabItem.tsx @@ -0,0 +1,28 @@ +import { cls } from '@/utils' +import Link from 'next/link' + +interface TabItemProps { + active?: boolean + text?: string + dest: string + onClick: (_e?: React.MouseEvent) => void +} + +const TabItem = ({ active, text, dest, onClick }: TabItemProps) => { + return ( + +
+ {text} +
+ + ) +} + +export default TabItem