From 5194bb072503cdfb3e515faaa61911671cf60563 Mon Sep 17 00:00:00 2001 From: RihardsJ Date: Wed, 21 Oct 2020 13:41:32 +0100 Subject: [PATCH] create casePage, greyBadge svd and theme for the page && displayed badges to the page Relates #10' --- src/App.css | 10 ++++++++++ src/App.js | 12 +++++++++++- src/components/Image.js | 19 +++++++++++++------ src/components/Text.js | 2 +- src/components/themes.js | 13 ++++++++++++- src/images/greyBadge.svg | 3 +++ src/pages/casesPage.js | 40 ++++++++++++++++++++++++++++++++++++++++ src/pages/profile.js | 3 ++- 8 files changed, 92 insertions(+), 10 deletions(-) create mode 100644 src/images/greyBadge.svg create mode 100644 src/pages/casesPage.js diff --git a/src/App.css b/src/App.css index d0cce6e..7c60d85 100644 --- a/src/App.css +++ b/src/App.css @@ -28,6 +28,7 @@ .avatar { height: 10rem; + width: 10rem; background-image: url(./images/avatar.svg); background-repeat: no-repeat; background-size: contain; @@ -60,3 +61,12 @@ background-size: contain; background-position: center; } + +.greyBadge { + height: 12rem; + width: 12rem; + background-image: url(./images/greyBadge.svg); + background-repeat: no-repeat; + background-size: contain; + background-position: center; +} diff --git a/src/App.js b/src/App.js index 0935ced..a856fbb 100644 --- a/src/App.js +++ b/src/App.js @@ -9,11 +9,17 @@ import Profile from './pages/profile'; import TryAgain from './pages/tryAgain'; import GameOver from './pages/gameoverPage'; import BadgePage from './pages/badgePage'; +import CasesPage from './pages/casesPage'; function App() { const [points, setPoints] = React.useState(2); - const badgeType = 'Troll Hunter'; + const badgeType = null; const alias = 'BrownFox'; + const cases = { + case1: 'Troll Hunter', + case2: null, + case3: null + }; return ( @@ -29,6 +35,10 @@ function App() { + + + + diff --git a/src/components/Image.js b/src/components/Image.js index bb66c2b..0f7828d 100644 --- a/src/components/Image.js +++ b/src/components/Image.js @@ -7,17 +7,22 @@ export const Img = styled.img` border: solid red 3px; `; -const BadgeImage = styled.div``; +export const Avatar = styled.div``; -const BadgeContainer = styled.div` +export const BadgeImage = styled.div``; + +export const BadgeContainer = styled.div` border: 5px solid; padding: 2rem; border-radius: 50px; border-color: ${props => props.theme.borderColor}; `; -const BadgeTitle = styled.h2` - color: ${props => props.theme.badgeTextColor}; +export const BadgeTitle = styled.h2` + color: ${props => + props.badgeType === null + ? props.theme.badgeGreyColor + : props.theme.badgeTextColor}; font-family: var(--title-font); margin-top: 0; `; @@ -25,8 +30,10 @@ const BadgeTitle = styled.h2` export const Badge = ({ badgeType }) => { return ( - {badgeType} - + + {badgeType !== null ? badgeType : 'Earn a badge'} + + ); }; diff --git a/src/components/Text.js b/src/components/Text.js index 1c160a6..22271e9 100644 --- a/src/components/Text.js +++ b/src/components/Text.js @@ -21,7 +21,7 @@ export const MainTitle = styled.span` export const Text = styled.p` color: ${props => props.theme.textColor}; - font-family: var(--title-font); + font-family: var(--info-font); `; export const Title = () => { diff --git a/src/components/themes.js b/src/components/themes.js index e981a67..c0f4325 100644 --- a/src/components/themes.js +++ b/src/components/themes.js @@ -37,5 +37,16 @@ export const badgePageTheme = { h1Color: 'var(--color-3)', btnColor: 'var(--color-3)', btnTextColor: 'var(--color-4)', - borderColor: 'var(--color-1)' + borderColor: 'var(--color-1)', + badgeGreyColor: 'var(--color-1)' +}; + +export const casesPageTheme = { + textColor: 'var(--color-3)', + h1Color: 'var(--color-5)', + btnColor: 'var(--color-3)', + btnTextColor: 'var(--color-4)', + borderColor: 'var(--color-1)', + badgeGreyColor: 'var(--color-1)', + badgeTextColor: 'var(--color-2)' }; diff --git a/src/images/greyBadge.svg b/src/images/greyBadge.svg new file mode 100644 index 0000000..724a35d --- /dev/null +++ b/src/images/greyBadge.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/pages/casesPage.js b/src/pages/casesPage.js new file mode 100644 index 0000000..9c42c3c --- /dev/null +++ b/src/pages/casesPage.js @@ -0,0 +1,40 @@ +import React from 'react'; +import { ThemeProvider } from 'styled-components'; +import { Badge, Avatar } from '../components/Image'; +import { H1, H2, Text } from '../components/Text'; +import { casesPageTheme } from './../components/themes'; +import styled from 'styled-components'; + +const BadgeDisplay = styled.div` + display: flex; + justify-content: space-between; + width: 90%; +`; + +const SubTitle = styled(H2)` + margin-left: 4rem; + align-self: flex-start; +`; + +const CasesPage = ({ alias, cases }) => { + const displayBadges = cases => { + let badgeArray = []; + for (const property in cases) { + badgeArray.push(); + } + return badgeArray; + }; + + const Badges = displayBadges(cases); + + return ( + +

Cases solved

+ + Alias: {alias} + Badges + {Badges} +
+ ); +}; +export default CasesPage; diff --git a/src/pages/profile.js b/src/pages/profile.js index 443d049..185d736 100644 --- a/src/pages/profile.js +++ b/src/pages/profile.js @@ -6,6 +6,7 @@ import { Container } from './../components/Forms'; import { ThemeProvider } from 'styled-components'; import { ratingPageTheme } from './../components/themes'; import RatingBar from '../components/RatingBar.js'; +import { Avatar } from '../components/Image'; const Profile = () => { const history = useHistory(); @@ -17,7 +18,7 @@ const Profile = () => {

Hello Brown Fox!

-
+

RATE YOUR SKILLS!