Update card styles

This commit is contained in:
Hazem Krimi
2021-01-19 00:46:01 +01:00
parent bf70d7f2c7
commit 496f783377
2 changed files with 42 additions and 16 deletions
+32 -10
View File
@@ -1,17 +1,19 @@
import { FC, useContext } from 'react';
import { DarkModeContext } from '../components/DarkMode';
import styled from 'styled-components';
import Image from 'next/image';
interface Props {
title: string;
description: string;
image?: string;
tags?: string[];
onClick?: () => void;
}
const StyledCard = styled.div<{ dark: boolean }>`
cursor: pointer;
padding: 1rem;
padding: 1rem 0rem;
width: 100%;
display: grid;
align-items: center;
@@ -20,7 +22,7 @@ const StyledCard = styled.div<{ dark: boolean }>`
transition: box-shadow 250ms ease-in-out, color 0ms ease-in-out;
@media (max-width: 768px) {
padding: 0.5rem;
padding: 0.5rem 0rem;
}
&:hover {
@@ -29,6 +31,25 @@ const StyledCard = styled.div<{ dark: boolean }>`
box-shadow: ${({ dark }) => !dark && '5px 2px 26px 6px rgba(21, 115, 202, 0.30)'};
}
div {
display: grid;
row-gap: 0.5rem;
}
h3,
p,
.tags-wrapper {
padding: 0rem 1rem;
@media (max-width: 768px) {
padding: 0rem 0.5rem;
}
}
h3 {
font-size: 1.3rem;
}
.tags-wrapper {
display: flex;
flex-direction: row;
@@ -36,26 +57,27 @@ const StyledCard = styled.div<{ dark: boolean }>`
flex-wrap: wrap;
}
h3 {
font-size: 1.3rem;
}
span {
font-size: 0.7rem;
}
`;
const Card: FC<Props> = ({ title, description, tags, onClick }) => {
const Card: FC<Props> = ({ title, description, image, tags, onClick }) => {
const { dark } = useContext(DarkModeContext);
return (
<StyledCard dark={dark} onClick={onClick}>
<div>
<h3>{title}</h3>
{image && (
<Image src={image} className='image' width='auto' height='auto' layout='responsive' />
)}
<p>{description}</p>
<div className='tags-wrapper'>
{tags && tags.map((tag, index) => <span key={index}>#{tag}&nbsp;</span>)}
</div>
{tags && (
<div className='tags-wrapper'>
{tags && tags.map((tag, index) => <span key={index}>#{tag}&nbsp;</span>)}
</div>
)}
</div>
</StyledCard>
);
+10 -6
View File
@@ -106,9 +106,11 @@ const Index: FC<Props> = ({ blogPosts, portfolioProjects }) => {
<div className='portfolio'>
<div className='projects-wrapper'>
{portfolioProjects.length !== 0 ? (
portfolioProjects.map(({ slug, ...rest }) => (
<Card {...rest} key={slug} onClick={() => router.push(`/portfolio/${slug}`)} />
))
portfolioProjects
.slice(0, 3)
.map(({ slug, ...rest }) => (
<Card {...rest} key={slug} onClick={() => router.push(`/portfolio/${slug}`)} />
))
) : (
<h4>Nothing for now</h4>
)}
@@ -121,9 +123,11 @@ const Index: FC<Props> = ({ blogPosts, portfolioProjects }) => {
<div className='blog'>
<div className='articles-wrapper'>
{blogPosts.length !== 0 ? (
blogPosts.map(({ slug, ...rest }) => (
<Card {...rest} key={slug} onClick={() => router.push(`/blog/${slug}`)} />
))
blogPosts
.slice(0, 3)
.map(({ slug, ...rest }) => (
<Card {...rest} key={slug} onClick={() => router.push(`/blog/${slug}`)} />
))
) : (
<h4>Nothing for now</h4>
)}