diff --git a/apps/time/.gitignore b/apps/time/.gitignore new file mode 100644 index 00000000..fd3dbb57 --- /dev/null +++ b/apps/time/.gitignore @@ -0,0 +1,36 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/apps/time/README.md b/apps/time/README.md new file mode 100644 index 00000000..dc3a17f0 --- /dev/null +++ b/apps/time/README.md @@ -0,0 +1 @@ +# Time diff --git a/apps/time/app/components/common/Footer/Footer.tsx b/apps/time/app/components/common/Footer/Footer.tsx new file mode 100644 index 00000000..9ab636a1 --- /dev/null +++ b/apps/time/app/components/common/Footer/Footer.tsx @@ -0,0 +1,47 @@ +import Link from 'next/link'; +import React from 'react'; +import { PATH } from '@constants/path'; + +const links = [ + { + name: '이용약관', + path: PATH.TERMS, + }, + { + name: '개인정보처리방침', + path: PATH.PRIVACY, + }, + { + name: '동아리운영규칙', + path: PATH.RULES, + }, +] as const; + +const Footer = () => { + return ( + + ); +}; + +export default Footer; diff --git a/apps/time/app/components/common/Footer/index.ts b/apps/time/app/components/common/Footer/index.ts new file mode 100644 index 00000000..60c8c2cc --- /dev/null +++ b/apps/time/app/components/common/Footer/index.ts @@ -0,0 +1,2 @@ +import Footer from './Footer'; +export default Footer; diff --git a/apps/time/app/components/common/Nav/Nav.tsx b/apps/time/app/components/common/Nav/Nav.tsx new file mode 100644 index 00000000..02233352 --- /dev/null +++ b/apps/time/app/components/common/Nav/Nav.tsx @@ -0,0 +1,52 @@ +import React from 'react'; +import Link from 'next/link'; +import { FiUser } from 'react-icons/fi'; +import { PATH } from '@constants/path'; + +const links = [ + + 홈 + , + + 시간표 + , + + 학점 + , + + 도서관 + , + + 분실물 + , + + 학식 + , +] as const; + +const actions = [ + , +] as const; + +const Nav = () => { + return ( + + ); +}; + +export default Nav; diff --git a/apps/time/app/components/common/Nav/index.ts b/apps/time/app/components/common/Nav/index.ts new file mode 100644 index 00000000..0e78a88d --- /dev/null +++ b/apps/time/app/components/common/Nav/index.ts @@ -0,0 +1,2 @@ +import Nav from './Nav'; +export default Nav; diff --git a/apps/time/app/components/common/PageLayout/PageLayout.tsx b/apps/time/app/components/common/PageLayout/PageLayout.tsx new file mode 100644 index 00000000..57556bd3 --- /dev/null +++ b/apps/time/app/components/common/PageLayout/PageLayout.tsx @@ -0,0 +1,30 @@ +import React from 'react'; +import Nav from '../Nav'; +import Footer from '../Footer'; +import { cn } from '@utils/component'; + +interface PageProps { + nav?: boolean; + footer?: boolean; + className?: string; + children: React.ReactNode; +} + +const Page = ({ + nav = false, + footer = false, + className, + children, +}: PageProps) => { + return ( + <> + {nav &&