From 5d0f99d18d6954cc84493ecd14ace85a47507fa4 Mon Sep 17 00:00:00 2001 From: Hazem Krimi Date: Sat, 4 Sep 2021 23:05:30 +0100 Subject: [PATCH] Update card and content pages layout --- _portfolio/sample.mdx | 1 + components/Card.tsx | 44 +++++++++++++++++++++++-------------- next.config.js | 6 ++++- pages/404.tsx | 4 ++-- pages/blog/[slug].tsx | 26 ++++++++++++++++++++-- pages/blog/index.tsx | 1 + pages/portfolio/[slug].tsx | 31 ++++++++++++++++++++++---- pages/portfolio/index.tsx | 1 + public/no-image.png | Bin 0 -> 34069 bytes utils/blog.ts | 1 + 10 files changed, 89 insertions(+), 26 deletions(-) create mode 100644 public/no-image.png diff --git a/_portfolio/sample.mdx b/_portfolio/sample.mdx index c2ba4e9..5cb7b21 100644 --- a/_portfolio/sample.mdx +++ b/_portfolio/sample.mdx @@ -2,6 +2,7 @@ title: 'Sample Portfolio Project' description: 'Sample description' date: '2020-01-14' +image: 'https://res.cloudinary.com/dun9hhyz1/image/upload/v1630772436/personal-website/portfolio/sample_jpdjsw.jpg' --- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean mattis dignissim orci, a aliquet leo vehicula in. Proin accumsan, justo luctus tristique ornare, tortor eros sodales arcu, quis maximus nunc tellus eu erat. Proin nisl lorem, congue at dignissim tempor, condimentum nec augue. Duis vulputate, metus eu luctus facilisis, elit mauris cursus felis, ullamcorper tempor diam est vel felis. Sed scelerisque, risus quis semper consectetur, eros lectus ornare turpis, et accumsan turpis nisi et erat. Donec sit amet elementum nunc. Nam eget dolor quis dolor rhoncus molestie id ut nisi. Vivamus suscipit ligula in sem tempor, sit amet lacinia augue luctus. Ut quis urna varius, volutpat sem eget, tincidunt augue. Duis porta dui nec sem tincidunt, ac porttitor magna molestie. Pellentesque massa ligula, malesuada ut urna nec, blandit volutpat libero. Cras sed laoreet massa. diff --git a/components/Card.tsx b/components/Card.tsx index 2d7a118..d99232d 100644 --- a/components/Card.tsx +++ b/components/Card.tsx @@ -11,29 +11,35 @@ interface Props { onClick?: () => void; } -const StyledCard = styled.div<{ dark: boolean }>` +const StyledCard = styled.div<{ dark: boolean; image: boolean }>` cursor: pointer; - padding: 1rem 0rem; width: 100%; display: grid; - align-items: center; - background: ${({ dark, theme }) => (dark ? '#2f2f2f' : theme.colors.dark.text)}; + grid-template-columns: auto 150px; + align-items: stretch; box-shadow: ${({ dark }) => !dark && `1px 1px 10px 0px rgba(0, 0, 0, 0.15)`}; transition: box-shadow 250ms ease-in-out, color 0ms ease-in-out; - @media (max-width: 768px) { - padding: 0.5rem 0rem; - } - &:hover { - background: #1573ca; - color: ${({ theme }) => theme.colors.dark.text}; - box-shadow: ${({ dark }) => !dark && '5px 2px 26px 6px rgba(21, 115, 202, 0.30)'}; + & > div { + background: #1573ca; + color: ${({ theme }) => theme.colors.dark.text}; + } + + img { + filter: ${({ image }) => (image ? 'grayscale(80%)' : 'none')}; + } } - div { + & > div { + padding: 1rem 0rem; + background: ${({ dark, theme }) => (dark ? '#2f2f2f' : theme.colors.dark.text)}; display: grid; row-gap: 0.5rem; + + @media (max-width: 768px) { + padding: 0.75rem 0rem; + } } h3, @@ -66,19 +72,23 @@ const Card: FC = ({ title, description, image, tags, onClick }) => { const { dark } = useContext(DarkModeContext); return ( - +

{title}

- {image && ( - - )}

{description}

{tags && (
- {tags && tags.map((tag, index) => #{tag} )} + {tags.map((tag, index) => ( + #{tag}  + ))}
)}
+ {image ? ( + + ) : ( + + )}
); }; diff --git a/next.config.js b/next.config.js index 7ed80c4..9a80df0 100644 --- a/next.config.js +++ b/next.config.js @@ -1,6 +1,10 @@ const withMDX = require('@next/mdx')({ extension: /\.mdx?$/ }); + module.exports = withMDX({ - pageExtensions: ['ts', 'tsx', 'md', 'mdx'] + pageExtensions: ['ts', 'tsx', 'md', 'mdx'], + images: { + domains: ['res.cloudinary.com'] + } }); diff --git a/pages/404.tsx b/pages/404.tsx index 7840be2..5199786 100644 --- a/pages/404.tsx +++ b/pages/404.tsx @@ -56,9 +56,9 @@ const NotFound: FC = () => {

404: This page could not be found

-
router.back()}> +
router.push('/')}> - Go Back + Go Home
diff --git a/pages/blog/[slug].tsx b/pages/blog/[slug].tsx index a26827b..af843e4 100644 --- a/pages/blog/[slug].tsx +++ b/pages/blog/[slug].tsx @@ -41,6 +41,23 @@ const Wrapper = styled.div` align-items: center; } + .image { + height: 0; + width: 100%; + overflow: hidden; + padding-top: calc(591.44 / 1127.34 * 100%); + position: relative; + margin-bottom: 1rem; + + img { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + } + h1, p, .tags-wrapper { @@ -145,6 +162,11 @@ const BlogPost: FC = ({ source, frontMatter, text }) => {
+ {frontMatter.image ? ( +
+ portfolio project image +
+ ) : null}
router.back()}> Back @@ -154,13 +176,13 @@ const BlogPost: FC = ({ source, frontMatter, text }) => {

By {frontMatter.author} on {frontMatter.date} ({stats.text})

- {frontMatter.tags && ( + {frontMatter.tags ? (
{frontMatter.tags.map((tag: string, index: number) => ( #{tag}  ))}
- )} + ) : null}
diff --git a/pages/blog/index.tsx b/pages/blog/index.tsx index c6d8929..afc8605 100644 --- a/pages/blog/index.tsx +++ b/pages/blog/index.tsx @@ -11,6 +11,7 @@ interface Props { title: string; author: string; description: string; + image?: string; slug: string; date: string; tags?: string[]; diff --git a/pages/portfolio/[slug].tsx b/pages/portfolio/[slug].tsx index f20b4ad..8a27e47 100644 --- a/pages/portfolio/[slug].tsx +++ b/pages/portfolio/[slug].tsx @@ -1,4 +1,4 @@ -import { FC, useEffect } from 'react'; +import { FC, useEffect, useRef } from 'react'; import { getPortfolioPorjectsSlugs, getPortfolioProjectdata } from '../../utils/portfolio'; import { useRouter } from 'next/router'; import { MdxRemote } from 'next-mdx-remote/types'; @@ -39,6 +39,23 @@ const Wrapper = styled.div` align-items: center; } + .image { + height: 0; + width: 100%; + overflow: hidden; + padding-top: calc(591.44 / 1127.34 * 100%); + position: relative; + margin-bottom: 1rem; + + img { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + } + h1, p { text-align: left; @@ -88,6 +105,7 @@ const components = AllComponents; const PortfolioProject: FC = ({ source, frontMatter }) => { const content = hydrate(source, { components }); const router = useRouter(); + const metaRef = useRef(null); useEffect(() => { window.scrollTo(0, 0); @@ -125,20 +143,25 @@ const PortfolioProject: FC = ({ source, frontMatter }) => { {frontMatter.title} | Hazem Krimi -
+
+ {frontMatter.image ? ( +
+ portfolio project image +
+ ) : null}
router.back()}> Back

{frontMatter.title}

{frontMatter.description}

- {frontMatter.tags && ( + {frontMatter.tags ? (
{frontMatter.tags.map((tag: string, index: number) => ( #{tag}  ))}
- )} + ) : null}
diff --git a/pages/portfolio/index.tsx b/pages/portfolio/index.tsx index df2e6f2..f6490b6 100644 --- a/pages/portfolio/index.tsx +++ b/pages/portfolio/index.tsx @@ -10,6 +10,7 @@ interface Props { portfolioProjects: { title: string; description: string; + image?: string; slug: string; date: string; tags?: string[]; diff --git a/public/no-image.png b/public/no-image.png new file mode 100644 index 0000000000000000000000000000000000000000..8b4b36dcbc57b2407a5fc09fc604fcf49501ac99 GIT binary patch literal 34069 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 literal 0 HcmV?d00001 diff --git a/utils/blog.ts b/utils/blog.ts index a4c6c35..48ae207 100644 --- a/utils/blog.ts +++ b/utils/blog.ts @@ -15,6 +15,7 @@ export const getBlogPosts = () => { const { data } = matter(fileContents); const options = { month: 'long', day: 'numeric', year: 'numeric' }; + // @ts-ignore const formattedDate = new Date(data.date).toLocaleDateString('en-IN', options); const frontmatter = {