diff --git a/src/App.js b/src/App.js index e7ca67f20..6f6a57d1e 100755 --- a/src/App.js +++ b/src/App.js @@ -1,14 +1,67 @@ import React, { Component } from 'react'; +import IdCard from './components/IdCard' +import Greetings from './components/Greetings'; +import Random from './components/Random'; +import BoxColor from './components/BoxColor'; +import Rating from './components/Rating'; +import DriverCard from './components/DriverCard'; class App extends Component { render() { return (

IdCard

- {/* TODO: Use the IdCard component */} + + +

Greetings

- {/* TODO: Use the Greetings component */} + John + Ludwing + Sonia + Alex + +

Random Number

+ + + +

Box Color

+ + + +

Rating

+ 0 + 1.49 + 1.5 + 3 + 4 + 5 + +

Driver Card

+ + +
); } diff --git a/src/components/BoxColor.js b/src/components/BoxColor.js new file mode 100644 index 000000000..1f4368333 --- /dev/null +++ b/src/components/BoxColor.js @@ -0,0 +1,11 @@ +import React from 'react' + +const BoxColor = ({r, g, b}) => { + return ( +
+

rgb({r},{g},{b})

+
+ ) +} + +export default BoxColor diff --git a/src/components/DriverCard.js b/src/components/DriverCard.js new file mode 100644 index 000000000..52d9f05b7 --- /dev/null +++ b/src/components/DriverCard.js @@ -0,0 +1,20 @@ +import React from 'react' +import Rating from './Rating' + +const DriverCard = (props) => { + return ( +
+
+ +
+
+

{props.name}

+ {props.rating} +

{props.car.model} - {props.car.licensePlate}

+
+ +
+ ) +} + +export default DriverCard diff --git a/src/components/Greetings.js b/src/components/Greetings.js new file mode 100644 index 000000000..74245082e --- /dev/null +++ b/src/components/Greetings.js @@ -0,0 +1,29 @@ +import React from 'react' + +const Greetings = ({lang, children}) => { + let greet = "" + switch (lang) { + case "en": + greet = "Hello" + break; + case "fr": + greet = "Bonjour" + break; + case "es": + greet = "Hola" + break; + case "de": + greet = "Hallo" + break; + default: + break; + } + return ( +

+ {""+greet+' '+children} +

+ ) +} + +export default Greetings + diff --git a/src/components/IdCard.js b/src/components/IdCard.js new file mode 100644 index 000000000..eec6a9c01 --- /dev/null +++ b/src/components/IdCard.js @@ -0,0 +1,19 @@ +import React from 'react' + + const IdCard = (props) => { + return ( +
+
+ +
+
+

First name:{props.firstName}

+

Last name:{props.lastName}

+

Gender:{props.gender}

+

Height:{props.heigth}

+

Birth:{props.birth}

+
+
+ ) +} +export default IdCard \ No newline at end of file diff --git a/src/components/Random.js b/src/components/Random.js new file mode 100644 index 000000000..a924893cf --- /dev/null +++ b/src/components/Random.js @@ -0,0 +1,12 @@ +import React from 'react' + +const Random = ({min, max}) => { + const randomNum = (num)=> Math.floor(Math.random() * (max - min) + min) + return ( +
+

Random value between {min} and {max} => {randomNum(max)}

+
+ ) +} + +export default Random diff --git a/src/components/Rating.js b/src/components/Rating.js new file mode 100644 index 000000000..c56b8f434 --- /dev/null +++ b/src/components/Rating.js @@ -0,0 +1,29 @@ +import React from 'react' + +const Rating = ({children}, props) => { + console.log(props) + const roundNum = Math.round(children); + + const fullStars = (roundNum) =>{ + let aux = '' + for(let i=0; i < roundNum+1; i++){ + aux = aux + '★' + } + return aux + } + const emptyStars = (roundNum) =>{ + let aux='' + for(let i=0; i < 5-roundNum; i++){ + aux = aux+'☆' + } + return aux + } + + return ( +
+

{fullStars(roundNum)}{emptyStars(roundNum)}

+
+ ) +} + +export default Rating