-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #29 from firehawk89/add-project-page
Add Project Page
- Loading branch information
Showing
38 changed files
with
425 additions
and
138 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
--- | ||
title: 'iTour' | ||
image: '/iTour.jpg' | ||
features: [] | ||
technologies: ['JavaScript', 'React', 'Next.js', 'TailwindCSS', 'i18n'] | ||
website: 'https://travel-agency-eight-murex.vercel.app/' | ||
--- | ||
|
||
iTour project info goes here |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,10 @@ | ||
--- | ||
title: 'Skauna' | ||
image: '/Skauna.jpg' | ||
technologies: ['HTML', 'CSS', 'JavaScript'] | ||
features: ['Cascade Slider', 'Animated Site Background'] | ||
technologies: ['HTML', 'CSS', 'SCSS', 'JavaScript', 'jQuery'] | ||
website: 'https://skauna.com/' | ||
github: 'https://github.com/firehawk89/Skauna-website' | ||
--- | ||
|
||
Skauna project info goes here | ||
Responsive landing for Skauna. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
--- | ||
title: 'YelpCamp' | ||
image: '/YelpCamp.jpg' | ||
features: | ||
[ | ||
'User Authentication (Log In and Register) and Authorization (Post, Edit, Delete or Rate Campground)', | ||
'Campground Star Rating', | ||
'Cluster Map', | ||
'Image Upload' | ||
] | ||
technologies: ['JavaScript', 'Node.js', 'Express', 'EJS', 'MongoDB', 'Bootstrap'] | ||
website: 'https://yelp-camp-1s3s.onrender.com/' | ||
github: 'https://github.com/firehawk89/YelpCamp' | ||
--- | ||
|
||
An upgraded version of Node.js web app project from the "The Web Developer Bootcamp" course on Udemy by Colt Steele. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,4 +5,6 @@ Nextdotjs | |
Tailwindcss | ||
Skauna | ||
hookform | ||
sonner | ||
sonner | ||
Bootcamp | ||
Udemy |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
import ProjectPageChips from '@/components/project-page-chips' | ||
import Card from '@/components/ui/card' | ||
import Chips from '@/components/ui/chips/chips' | ||
import ChipsItem from '@/components/ui/chips/chips-item' | ||
import Content from '@/components/ui/content' | ||
import Heading from '@/components/ui/heading' | ||
import IconsList from '@/components/ui/icons-list/icons-list' | ||
import IconsListItem from '@/components/ui/icons-list/icons-list-item' | ||
import ImagePlaceholder from '@/components/ui/image-placeholder' | ||
import { getProject, getSlugs } from '@/utils/projects' | ||
import Image from 'next/image' | ||
import { FaGithub } from 'react-icons/fa' | ||
import { TfiWorld } from 'react-icons/tfi' | ||
|
||
type ProjectPageProps = { | ||
params: { slug: string } | ||
} | ||
|
||
export async function generateStaticParams() { | ||
const slugs = await getSlugs() | ||
return slugs.map((slug) => ({ slug })) | ||
} | ||
|
||
export default async function Project({ params: { slug } }: ProjectPageProps) { | ||
const { body, features, github, image, technologies, title, website } = | ||
await getProject(slug) | ||
|
||
return ( | ||
<section className="pt-header"> | ||
<Content className="pb-16 pt-12 md:pb-24 md:pt-20" size="tight"> | ||
<article className="flex flex-col gap-5 md:gap-7"> | ||
<header> | ||
{website || github ? ( | ||
<div className="flex items-center justify-between"> | ||
<Heading size="h1">{title}</Heading> | ||
<IconsList> | ||
{website && ( | ||
<IconsListItem | ||
Icon={TfiWorld} | ||
href={website} | ||
title="Go to Website" | ||
/> | ||
)} | ||
{github && ( | ||
<IconsListItem | ||
Icon={FaGithub} | ||
href={github} | ||
title="Go to GitHub repository" | ||
/> | ||
)} | ||
</IconsList> | ||
</div> | ||
) : ( | ||
<Heading size="h1">{title}</Heading> | ||
)} | ||
{body && ( | ||
<p | ||
className="mt-7 md:text-lg" | ||
dangerouslySetInnerHTML={{ __html: body }} | ||
/> | ||
)} | ||
</header> | ||
<Card className="relative aspect-video"> | ||
{image ? ( | ||
<Image alt={title || slug} fill sizes="100vw" src={image} /> | ||
) : ( | ||
<ImagePlaceholder /> | ||
)} | ||
</Card> | ||
{!!features.length && ( | ||
<div> | ||
<Heading level={2} size="h3"> | ||
Features | ||
</Heading> | ||
<ul className="mt-3 list-inside list-disc marker:text-accent md:text-lg"> | ||
{features.map((feature) => ( | ||
<li key={feature}>{feature}</li> | ||
))} | ||
</ul> | ||
</div> | ||
)} | ||
{!!technologies.length && ( | ||
<div> | ||
<Heading level={2} size="h3"> | ||
Used Tools & Technologies | ||
</Heading> | ||
<ProjectPageChips className="mt-2 md:mt-3" data={technologies} /> | ||
</div> | ||
)} | ||
</article> | ||
</Content> | ||
</section> | ||
) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
'use client' | ||
|
||
import Chips, { ChipsProps } from '@/components/ui/chips/chips' | ||
import ChipsItem from '@/components/ui/chips/chips-item' | ||
import useMediaQuery from '@/hooks/use-media-query' | ||
import { MOBILE_BREAKPOINT } from '@/utils' | ||
import { FC } from 'react' | ||
|
||
interface ProjectPageChipsProps extends ChipsProps { | ||
data: string[] | ||
} | ||
|
||
const ProjectPageChips: FC<ProjectPageChipsProps> = ({ className, data }) => { | ||
const isMobile = useMediaQuery(MOBILE_BREAKPOINT) | ||
|
||
return ( | ||
<Chips className={className}> | ||
{data.map((item) => ( | ||
<ChipsItem key={item} label={item} size={isMobile ? 'sm' : 'default'} /> | ||
))} | ||
</Chips> | ||
) | ||
} | ||
|
||
export default ProjectPageChips |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.