mirror of
https://github.com/hazemKrimi/personal-website.git
synced 2026-05-02 02:10:27 +00:00
Improve content styles
This commit is contained in:
@@ -1,9 +1,11 @@
|
|||||||
---
|
---
|
||||||
title: 'React Weather App'
|
title: 'React Weather App'
|
||||||
description: 'Weather app made with React and OpenWeatherMap API'
|
description: 'Weather app made with React, TypeScript and OpenWeatherMap API'
|
||||||
date: '2021-09-19'
|
date: '2021-09-19'
|
||||||
image: 'https://res.cloudinary.com/dun9hhyz1/image/upload/v1632077200/personal-website/portfolio/react-weather-app/tuxpi.com.1632076521_a0wxsq_hw299g.jpg'
|
image: 'https://res.cloudinary.com/dun9hhyz1/image/upload/v1632077200/personal-website/portfolio/react-weather-app/tuxpi.com.1632076521_a0wxsq_hw299g.jpg'
|
||||||
hideImage: true
|
hideImage: true
|
||||||
|
demo: 'https://hazemkrimi.github.io/react-weather-app'
|
||||||
|
code: 'https://github.com/hazemKrimi/react-weather-app'
|
||||||
---
|
---
|
||||||
|
|
||||||
# About the project
|
# About the project
|
||||||
@@ -17,12 +19,6 @@ This is a project that I made as a step in the interview process for my final ye
|
|||||||
- Styled Components
|
- Styled Components
|
||||||
- OpenWeatherMap API
|
- OpenWeatherMap API
|
||||||
|
|
||||||
# Showcase
|
# Screenshots
|
||||||
|
|
||||||
<Button variant='action' link='https://hazemkrimi.github.io/react-weather-app' target='_blank'>
|

|
||||||
Demo
|
|
||||||
</Button>
|
|
||||||
|
|
||||||
<Button variant='outline' link='https://github.com/hazemKrimi/react-weather-app' target='_blank'>
|
|
||||||
Source Code
|
|
||||||
</Button>
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import { Wrapper } from '../../styles/portfolio/slug';
|
|||||||
import Head from 'next/head';
|
import Head from 'next/head';
|
||||||
import IconButton from '../../components/IconButton';
|
import IconButton from '../../components/IconButton';
|
||||||
import CodeBlock from '../../components/CodeBlock';
|
import CodeBlock from '../../components/CodeBlock';
|
||||||
|
import MDXButton from '../../components/MDXButton';
|
||||||
import Image from 'next/image';
|
import Image from 'next/image';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
@@ -82,6 +83,16 @@ const PortfolioProject: FC<Props> = ({ source, frontMatter }) => {
|
|||||||
<MDXEmbedProvider>
|
<MDXEmbedProvider>
|
||||||
<div className='content'>
|
<div className='content'>
|
||||||
<MDXRemote {...source} components={components} />
|
<MDXRemote {...source} components={components} />
|
||||||
|
<h1>Showcase</h1>
|
||||||
|
<div className='showcase-buttons'>
|
||||||
|
<MDXButton variant='action' link={frontMatter.demo} target='_blank'>
|
||||||
|
Demo
|
||||||
|
</MDXButton>
|
||||||
|
|
||||||
|
<MDXButton variant='outline' link={frontMatter.code} target='_blank'>
|
||||||
|
Source Code
|
||||||
|
</MDXButton>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</MDXEmbedProvider>
|
</MDXEmbedProvider>
|
||||||
</MDXProvider>
|
</MDXProvider>
|
||||||
|
|||||||
@@ -75,7 +75,17 @@ export const Wrapper = styled.div`
|
|||||||
|
|
||||||
ul,
|
ul,
|
||||||
ol {
|
ol {
|
||||||
margin-left: 1.5rem;
|
margin-inline-start: 0.5rem;
|
||||||
|
list-style-position: inside;
|
||||||
|
}
|
||||||
|
|
||||||
|
.showcase-buttons {
|
||||||
|
width: 100%;
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(2, 1fr);
|
||||||
|
gap: 1rem;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|||||||
Reference in New Issue
Block a user