Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 134 additions & 0 deletions src/components/home/Features.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
import { ArrowRightIcon, CodeIcon, ExternalLinkIcon } from '@heroicons/react/outline'
import NextImage from 'next/image'
import NextLink from 'next/link'
import React from 'react'

const DocsImage = () => {
return (
<NextImage
className="object-cover object-center shadow-xl"
alt="Javaistic Docs"
src={require('@/img/home/docs.svg').default}
width={1213}
height={1023}
layout="responsive"
blurDataURL={require('@/img/home/docs.svg').default}
placeholder="blur"
loading="lazy"
/>
)
}

const ProgImage = () => {
return (
<NextImage
className="object-cover object-center shadow-xl"
alt="Javaistic Programs"
src={require('@/img/home/programs.svg').default}
width={1213}
height={1023}
layout="responsive"
blurDataURL={require('@/img/home/programs.svg').default}
placeholder="blur"
loading="lazy"
/>
)
}

const OpenSourceImage = () => {
return (
<NextImage
className="object-cover object-center shadow-xl"
alt="Javaistic Open Source On GitHub"
src={require('@/img/home/open-source.svg').default}
width={613}
height={521}
layout="responsive"
blurDataURL={require('@/img/home/open-source.svg').default}
placeholder="blur"
loading="lazy"
/>
)
}

export function Features() {
return (
<section className="font-sans">
<div className="container mx-auto py-24 sm:px-10 md:flex-row">
<div className="mx-auto mb-10 flex flex-col items-center py-10 sm:flex-row">
<div className="mb-10 w-5/6 md:mb-0 md:w-1/2 lg:w-full lg:max-w-lg">
<DocsImage />
</div>
<div className="flex w-5/6 flex-col items-start px-1 text-left sm:px-0 md:w-1/2 md:items-start md:pl-16 md:text-left lg:flex-grow lg:pl-24">
<h1 className="mb-8 text-3xl font-extrabold leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl lg:text-6xl">
Quality over quantity
</h1>
<p className="mb-8 text-left text-xl font-medium leading-relaxed">
We value creating high quality, 100% free Java education. Beautifully designed and
well written Java Docs which is very easy to understand.
</p>
<div className="flex justify-center">
<NextLink href="/docs">
<button className="focus:outline-none w-full flex-none rounded-lg border border-transparent bg-gray-900 py-3 px-6 text-lg font-semibold leading-6 text-white shadow-md transition-colors duration-200 hover:bg-gray-800 hover:shadow-xl focus:ring-2 focus:ring-gray-900 focus:ring-offset-2 focus:ring-offset-white dark:bg-gray-700 dark:hover:bg-gray-600 sm:w-auto">
<span className="flex items-center">
Start Learning
<ArrowRightIcon className="ml-2 h-6" />
</span>
</button>
</NextLink>
</div>
</div>
</div>
<div className="mx-auto my-10 flex flex-col items-center py-10 sm:flex-row">
<div className="flex w-5/6 flex-col items-start px-1 text-left sm:px-0 md:w-1/2 md:items-start md:pr-16 md:text-left lg:flex-grow lg:pr-24">
<h1 className="mb-8 text-3xl font-extrabold leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl lg:text-6xl">
Coding is fun
</h1>
<p className="mb-8 text-xl font-medium leading-relaxed">
Start coding immediately, or go through our step by step explanation of programs.
</p>
<div className="flex justify-center">
<NextLink href="/programs">
<button className="focus:outline-none w-full flex-none rounded-lg border border-transparent bg-gray-900 py-3 px-6 text-lg font-semibold leading-6 text-white shadow-md transition-colors duration-200 hover:bg-gray-800 hover:shadow-xl focus:ring-2 focus:ring-gray-900 focus:ring-offset-2 focus:ring-offset-white dark:bg-gray-700 dark:hover:bg-gray-600 sm:w-auto">
<span className="flex items-center">
<CodeIcon className="mr-2 h-6" />
Start Coding
</span>
</button>
</NextLink>
</div>
</div>
<div className="order-first mb-10 w-5/6 sm:order-none md:mb-0 md:w-1/2 lg:w-full lg:max-w-lg">
<ProgImage />
</div>
</div>
<div className="my-10 mx-auto flex flex-col items-center py-10 sm:flex-row">
<div className="mb-10 w-5/6 md:mb-0 md:w-1/2 lg:w-full lg:max-w-lg">
<OpenSourceImage />
</div>
<div className="flex w-5/6 flex-col items-start px-1 text-left sm:px-0 md:w-1/2 md:items-start md:pl-16 md:text-left lg:flex-grow lg:pl-24">
<h1 className="mb-8 text-3xl font-extrabold leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl lg:text-6xl">
Open to anyone.&nbsp;
<br className="hidden lg:inline-block" />
Fork it, twist it. Flip it.
</h1>
<p className="mb-8 text-xl font-medium leading-relaxed">
Join the community and help us build the best open source Java learning site for
everyone.
</p>
<div className="flex justify-center">
<NextLink href="https://github.com/javaistic/javaistic" target="_blank">
<button className="focus:outline-none w-full flex-none rounded-lg border border-transparent bg-gray-900 py-3 px-6 text-lg font-semibold leading-6 text-white shadow-md transition-colors duration-200 hover:bg-gray-800 hover:shadow-xl focus:ring-2 focus:ring-gray-900 focus:ring-offset-2 focus:ring-offset-white dark:bg-gray-700 dark:hover:bg-gray-600 sm:w-auto">
<span className="flex items-center">
View on GitHub
<ExternalLinkIcon className="ml-2 h-6" />
</span>
</button>
</NextLink>
</div>
</div>
</div>
</div>
</section>
)
}
1 change: 1 addition & 0 deletions src/img/home/docs.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading