├── components ├── layout │ ├── Header │ │ ├── Header.md │ │ ├── logo.png │ │ ├── Header.module.css │ │ └── Header.tsx │ ├── Section │ │ ├── SectionContext │ │ │ ├── TitleSection.module.css │ │ │ ├── TitleSection.md │ │ │ └── TitleSection.tsx │ │ ├── Section.tsx │ │ └── Section.md │ ├── Main.tsx │ └── Footer │ │ ├── Footer.module.css │ │ ├── FooterData.json │ │ └── Footer.tsx ├── base │ ├── Icon │ │ ├── FrontendshipLogo.png │ │ ├── Icon.tsx │ │ ├── Icon.md │ │ └── selection.json │ └── Title │ │ ├── Title.module.css │ │ ├── Title.tsx │ │ └── Title.md ├── sections │ ├── Banner │ │ ├── PlayButton.tsx │ │ ├── playButton.json │ │ ├── Banner.module.css │ │ └── Banner.tsx │ ├── Contributors │ │ ├── Contributors.module.css │ │ ├── Card │ │ │ ├── Card.module.css │ │ │ └── Card.tsx │ │ └── Contributors.tsx │ ├── Blog │ │ ├── Card │ │ │ ├── sample.json │ │ │ ├── Card.module.scss │ │ │ └── Card.tsx │ │ └── Blog.tsx │ ├── Brief │ │ ├── Brief.module.css │ │ ├── Brief.tsx │ │ └── sample.json │ └── GitHub │ │ ├── GitHub.module.css │ │ ├── GitHub.tsx │ │ └── Card │ │ ├── Card.module.css │ │ └── Card.tsx └── index.ts ├── .eslintrc.json ├── types ├── html.types.ts ├── style.types.ts └── index.types.ts ├── public ├── cat.jpeg ├── icon.png ├── logo.png ├── banner-asset │ ├── image1.png │ ├── image2.png │ └── image3.png ├── event-asset │ ├── event1.png │ ├── event2.png │ ├── event3.png │ ├── event4.png │ └── event-main.png ├── contributors-asset │ ├── photo-1.png │ ├── photo-2.png │ ├── photo-3.png │ ├── photo-4.png │ └── background.png └── logo │ └── logo.svg ├── styles └── globals.css ├── postcss.config.js ├── .prettierrc ├── pages ├── _app.tsx └── index.tsx ├── next.config.js ├── .gitignore ├── tsconfig.json ├── package.json ├── tailwind.config.js ├── LICENSE ├── README.md └── contributing.md /components/layout/Header/Header.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /types/html.types.ts: -------------------------------------------------------------------------------- 1 | export type HtmlHeadLevel = 1 | 2 | 3 | 4 | 5 | 6 2 | -------------------------------------------------------------------------------- /public/cat.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/cat.jpeg -------------------------------------------------------------------------------- /public/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/icon.png -------------------------------------------------------------------------------- /public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/logo.png -------------------------------------------------------------------------------- /styles/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /types/style.types.ts: -------------------------------------------------------------------------------- 1 | export type StyleTypes = { 2 | readonly [key: string]: string 3 | } 4 | -------------------------------------------------------------------------------- /public/banner-asset/image1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/banner-asset/image1.png -------------------------------------------------------------------------------- /public/banner-asset/image2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/banner-asset/image2.png -------------------------------------------------------------------------------- /public/banner-asset/image3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/banner-asset/image3.png -------------------------------------------------------------------------------- /public/event-asset/event1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/event-asset/event1.png -------------------------------------------------------------------------------- /public/event-asset/event2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/event-asset/event2.png -------------------------------------------------------------------------------- /public/event-asset/event3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/event-asset/event3.png -------------------------------------------------------------------------------- /public/event-asset/event4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/event-asset/event4.png -------------------------------------------------------------------------------- /components/layout/Header/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/components/layout/Header/logo.png -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /public/event-asset/event-main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/event-asset/event-main.png -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 80, 3 | "singleQuote": true, 4 | "trailingComma": "all", 5 | "semi": false 6 | } 7 | -------------------------------------------------------------------------------- /public/contributors-asset/photo-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/contributors-asset/photo-1.png -------------------------------------------------------------------------------- /public/contributors-asset/photo-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/contributors-asset/photo-2.png -------------------------------------------------------------------------------- /public/contributors-asset/photo-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/contributors-asset/photo-3.png -------------------------------------------------------------------------------- /public/contributors-asset/photo-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/contributors-asset/photo-4.png -------------------------------------------------------------------------------- /components/base/Icon/FrontendshipLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/components/base/Icon/FrontendshipLogo.png -------------------------------------------------------------------------------- /public/contributors-asset/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frontendship/website/HEAD/public/contributors-asset/background.png -------------------------------------------------------------------------------- /types/index.types.ts: -------------------------------------------------------------------------------- 1 | export interface IBlogCard { 2 | id: number 3 | title: string 4 | image: string 5 | path: string 6 | } 7 | -------------------------------------------------------------------------------- /components/layout/Section/SectionContext/TitleSection.module.css: -------------------------------------------------------------------------------- 1 | .subTitle { 2 | @apply text-lg font-normal leading-7 mb-10 mx-6 max-w-2xl text-center text-[#656464]; 3 | } 4 | -------------------------------------------------------------------------------- /pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import '../styles/globals.css' 2 | import type { AppProps } from 'next/app' 3 | 4 | function MyApp({ Component, pageProps }: AppProps) { 5 | return 6 | } 7 | 8 | export default MyApp 9 | -------------------------------------------------------------------------------- /components/base/Icon/Icon.tsx: -------------------------------------------------------------------------------- 1 | import IcoMoon, { IconProps } from 'react-icomoon' 2 | import iconSet from './selection.json' 3 | 4 | const Icon = (props: IconProps) => 5 | 6 | export default Icon 7 | -------------------------------------------------------------------------------- /components/sections/Banner/PlayButton.tsx: -------------------------------------------------------------------------------- 1 | import IcoMoon, { IconProps } from 'react-icomoon' 2 | import iconSet from './playButton.json' 3 | 4 | const Icon = (props: IconProps) => 5 | 6 | export default Icon 7 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | reactStrictMode: true, 4 | swcMinify: true, 5 | images: { 6 | domains: ['avatars.githubusercontent.com', 'images.pexels.com'], 7 | }, 8 | } 9 | 10 | module.exports = nextConfig 11 | -------------------------------------------------------------------------------- /components/sections/Contributors/Contributors.module.css: -------------------------------------------------------------------------------- 1 | .container { 2 | @apply bg-primary-blue-400 flex flex-col gap-[65px] justify-center items-center pt-20 pb-24 pl-4 pr-4; 3 | } 4 | 5 | .titleContainer { 6 | @apply relative flex flex-col justify-center items-center text-center; 7 | } 8 | 9 | .cardContainer { 10 | @apply grid md:grid-cols-2 xl:grid-cols-4 gap-8; 11 | } 12 | -------------------------------------------------------------------------------- /pages/index.tsx: -------------------------------------------------------------------------------- 1 | import type { NextPage } from 'next' 2 | 3 | import { Event, Brief, GitHub, Banner, Contributors, Main } from 'components' 4 | 5 | const Home: NextPage = () => { 6 | return ( 7 | <> 8 |
9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | ) 17 | } 18 | 19 | export default Home 20 | -------------------------------------------------------------------------------- /components/sections/Blog/Card/sample.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "title": "It Does Not Matter Hows Slowly go as Long", 4 | "img": "/cat.jpeg", 5 | "path": "/" 6 | }, 7 | { 8 | "title": "Netbook Network Added New Photo Filter", 9 | "img": "/cat.jpeg", 10 | "path": "/" 11 | }, 12 | { 13 | "title": "We Optimised Netbooks Better Navigation", 14 | "img": "/cat.jpeg", 15 | "path": "/" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /components/sections/Brief/Brief.module.css: -------------------------------------------------------------------------------- 1 | .card { 2 | @apply grid gap-8 grid-cols-1 mx-6 md:mx-0 md:grid-cols-3; 3 | } 4 | .cardContent { 5 | @apply flex flex-col justify-start items-start max-w-[386px] bg-white rounded-xl py-8 px-8; 6 | } 7 | 8 | .description { 9 | @apply text-primary-blue-400 opacity-50 font-normal; 10 | } 11 | 12 | .subDescription { 13 | @apply text-lg font-normal leading-7 mb-10 mx-6 max-w-2xl text-center text-[#656464]; 14 | } 15 | -------------------------------------------------------------------------------- /components/sections/Blog/Blog.tsx: -------------------------------------------------------------------------------- 1 | import Card from './Card/Card' 2 | import { SectionContainer, SectionContext } from 'components' 3 | 4 | const Blog = () => { 5 | return ( 6 | 7 | 11 | 12 | 13 | ) 14 | } 15 | 16 | export default Blog 17 | -------------------------------------------------------------------------------- /components/layout/Main.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Header, Footer } from '../index' 3 | import Head from 'next/head' 4 | 5 | function Main({ children }: { children: React.ReactNode }) { 6 | return ( 7 | <> 8 | 9 | 10 | Frontendship 11 | 12 |
13 | {children} 14 |