diff --git a/components/boxcolor/boxcolor.css b/components/boxcolor/boxcolor.css new file mode 100644 index 0000000..afe40c8 --- /dev/null +++ b/components/boxcolor/boxcolor.css @@ -0,0 +1,10 @@ +.cbox{ + margin:10px; + padding:30px; + text-align: center; + border:2px solid #000000; + height: 100px; + font-weight:500; + font-size: xx-large; + display: flex; +} diff --git a/components/boxcolor/boxcolor.jsx b/components/boxcolor/boxcolor.jsx new file mode 100644 index 0000000..a42a2a5 --- /dev/null +++ b/components/boxcolor/boxcolor.jsx @@ -0,0 +1,15 @@ +import "./BoxColor.css" +function BoxColor(props) +{ + const toHex = (number) => { + let hex = number.toString(16); + return hex.length === 1 ? "0" + hex : hex; + }; + let color='#'+(toHex(props.r))+(toHex(props.g))+(toHex(props.b)) + return
+

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

+

{color}

+
+} + +export default BoxColor diff --git a/components/carousel/carousel.css b/components/carousel/carousel.css new file mode 100644 index 0000000..15e706a --- /dev/null +++ b/components/carousel/carousel.css @@ -0,0 +1,12 @@ +.carousel{ + display:flex; + width:100%; + justify-content:center; + align-items:center; +} +.carousel button{ + padding:10px 15px; +} +.carousel img{ + margin:10px; +} diff --git a/components/carousel/carousel.jsx b/components/carousel/carousel.jsx new file mode 100644 index 0000000..454a977 --- /dev/null +++ b/components/carousel/carousel.jsx @@ -0,0 +1,26 @@ +import React from 'react'; +import './Carousel.css' + +function Carousel(props) +{ + let arr=props.images + let len=arr.length + const[img_num , setImg]=React.useState(2) + function left() + { + if(img_num===0) + setImg(len-1) + else + setImg((img_num-1)%len) + } + function right() + { + setImg((img_num+1)%len) + } + return
+ + pic + +
+} +export default Carousel diff --git a/components/carousel/clickable.jsx b/components/carousel/clickable.jsx new file mode 100644 index 0000000..728c7fc --- /dev/null +++ b/components/carousel/clickable.jsx @@ -0,0 +1,14 @@ +import React from 'react'; +function Clickable(props) +{ + const [img,putGlasses]=React.useState(props.img) + function glasses() + { + putGlasses(props.imgClicked) + } + return
+ pic +
+} + +export default Clickable diff --git a/components/creditcard/creditcard.css b/components/creditcard/creditcard.css new file mode 100644 index 0000000..b891e0a --- /dev/null +++ b/components/creditcard/creditcard.css @@ -0,0 +1,16 @@ +.credit{ + width:300px; + border-radius: 10px; + padding:18px; + height: 150px; + + margin:5px; + display: inline-block; +} +.credit > div{ + text-align: right; +} +.credit img{ + width:50px; + +} diff --git a/components/creditcard/creditcard.jsx b/components/creditcard/creditcard.jsx new file mode 100644 index 0000000..07af554 --- /dev/null +++ b/components/creditcard/creditcard.jsx @@ -0,0 +1,23 @@ +import './CreditCard.css' +import visa from '../../assets/images/visa.png' +import mastercard from '../../assets/images/mastercard.png' +function CreditCard(props) +{ + const img = props.type === 'Visa' ? visa : mastercard; + let mon=props.expirationMonth + let yr=props.expirationYear%100 + let ex='' + if(mon<10) + ex='0'+mon+'/'+yr + + return
+
+ pic +
+

.... .... .... {props.number.slice(12)}

+

Expires {ex} {props.bank}

+

{props.owner}

+
; +} + +export default CreditCard; diff --git a/components/creditcard/dice.jsx b/components/creditcard/dice.jsx new file mode 100644 index 0000000..5c93b78 --- /dev/null +++ b/components/creditcard/dice.jsx @@ -0,0 +1,46 @@ +import dice0 from '../assets/images/dice-empty.png' +import dice1 from '../assets/images/dice1.png' +import dice2 from '../assets/images/dice2.png' +import dice3 from '../assets/images/dice3.png' +import dice4 from '../assets/images/dice4.png' +import dice5 from '../assets/images/dice5.png' +import dice6 from '../assets/images/dice6.png' + +import React from 'react'; + +function Dice() +{ + const [img, throwDice]=React.useState(dice0) + setInterval(change,1000) + function change() + { + let n=parseInt(Math.random()*6) + switch(n) + { + case 0: + throwDice(dice0) + break; + case 1: + throwDice(dice1) + break; + case 2: + throwDice(dice2) + break; + case 3: + throwDice(dice3) + break; + case 4: + throwDice(dice4) + break; + case 5: + throwDice(dice5) + break; + default : + throwDice(dice6) + break; + } + } + return
dice
+} + +export default Dice diff --git a/components/drivercard/drivercard.css b/components/drivercard/drivercard.css new file mode 100644 index 0000000..14dc466 --- /dev/null +++ b/components/drivercard/drivercard.css @@ -0,0 +1,17 @@ +.driver{ + display: flex; + width:100%; + border-radius: 10px; + background-color: rgb(68, 118, 255); + justify-content: center; + align-items: center; + padding:25px; + margin:10px; + color: white; +} +.driver img{ + width:100px; + height:100px; + border-radius: 50%; + margin-right: 15px; +} diff --git a/components/drivercard/drivercard.jsx b/components/drivercard/drivercard.jsx new file mode 100644 index 0000000..e2a4d98 --- /dev/null +++ b/components/drivercard/drivercard.jsx @@ -0,0 +1,17 @@ +import './DriverCard.css' +import Rating from '../Rating/Rating'; +function DriverCard(props) +{ +return
+
+ pic +
+
+

{props.name}

+ {props.rating} +

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

+
+ +
+} diff --git a/components/greetings/greetings.css b/components/greetings/greetings.css new file mode 100644 index 0000000..9e65a43 --- /dev/null +++ b/components/greetings/greetings.css @@ -0,0 +1,7 @@ +.greeting{ + border: 2px solid black; + font-size: 30px; + font-weight: 500; + margin: 10px; + padding: 5px; + } diff --git a/components/greetings/greetings.jsx b/components/greetings/greetings.jsx new file mode 100644 index 0000000..6c5af99 --- /dev/null +++ b/components/greetings/greetings.jsx @@ -0,0 +1,15 @@ +import "./Greetings.css"; +const Greetings = (props) => { + let text; + if(props.lang === "de"){ + text = "Hallo"; + } else if(props.lang === "fr" || props.lang === "es"){ + text = "Bonjour"; + } + return( + <> +

{text} {props.children}

+ + ); +}; +export default Greetings;