Carousselle des produits vedettes et search bar reconstitué
@ -19,6 +19,7 @@
|
|||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"react-router-dom": "^6.4.1",
|
"react-router-dom": "^6.4.1",
|
||||||
"react-scripts": "5.0.1",
|
"react-scripts": "5.0.1",
|
||||||
|
"react-transition-group": "^4.4.5",
|
||||||
"web-vitals": "^2.1.4"
|
"web-vitals": "^2.1.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"react-router-dom": "^6.4.1",
|
"react-router-dom": "^6.4.1",
|
||||||
"react-scripts": "5.0.1",
|
"react-scripts": "5.0.1",
|
||||||
|
"react-transition-group": "^4.4.5",
|
||||||
"web-vitals": "^2.1.4"
|
"web-vitals": "^2.1.4"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 1.1 MiB |
After Width: | Height: | Size: 527 KiB |
After Width: | Height: | Size: 296 KiB |
After Width: | Height: | Size: 410 KiB |
After Width: | Height: | Size: 6.3 KiB |
BIN
GrossesMitaines/grosses-mitaines-ui/public/images/moman.jpg
Normal file
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 917 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 726 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 2.9 MiB |
@ -1,11 +0,0 @@
|
|||||||
|
|
||||||
const FeaturedCard = () => {
|
|
||||||
|
|
||||||
return(
|
|
||||||
<div className="border border-primary">
|
|
||||||
<h1 className="text-primary">FeaturedCard</h1>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default FeaturedCard;
|
|
@ -1,11 +1,23 @@
|
|||||||
import FeaturedCard from "./FeaturedCard";
|
import { Carousel } from "react-bootstrap";
|
||||||
|
const FeaturedList = ({ products }) => {
|
||||||
|
|
||||||
const FeaturedList = () => {
|
return (
|
||||||
|
<Carousel variant="dark" className="featured-lst">
|
||||||
return(
|
{products.map((product) => (
|
||||||
<div>
|
<Carousel.Item className="featured-itm">
|
||||||
<FeaturedCard/>
|
<img
|
||||||
</div>
|
className="featured-img"
|
||||||
|
src={product.imageUrl}
|
||||||
|
/>
|
||||||
|
<Carousel.Caption className="featured-info">
|
||||||
|
<h3>{product.title}</h3>
|
||||||
|
<p>{product.description}</p>
|
||||||
|
<h5>Seulement</h5>
|
||||||
|
<h4 className="featured-prc">{product.price}$+tx</h4>
|
||||||
|
</Carousel.Caption>
|
||||||
|
</Carousel.Item>
|
||||||
|
))}
|
||||||
|
</Carousel>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
const ResearchBar = () => {
|
const ResearchBar = () => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div className="research-container">
|
||||||
<input placeholder="Rechercher..."></input>
|
<input className="research-input" placeholder="Rechercher..."></input>
|
||||||
<button>
|
<button className="research-btn">
|
||||||
<div className="fa fa-search"/>
|
<div className="fa fa-search"/>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,8 +2,7 @@ import React from 'react'
|
|||||||
import ReactDOM from 'react-dom/client'
|
import ReactDOM from 'react-dom/client'
|
||||||
import 'font-awesome/css/font-awesome.min.css'
|
import 'font-awesome/css/font-awesome.min.css'
|
||||||
import 'bootstrap/dist/css/bootstrap.min.css'
|
import 'bootstrap/dist/css/bootstrap.min.css'
|
||||||
|
import './stylesheets/site.css'
|
||||||
import './site.css'
|
|
||||||
import App from './components/App'
|
import App from './components/App'
|
||||||
|
|
||||||
const container = document.getElementById('root')
|
const container = document.getElementById('root')
|
||||||
|
@ -5,14 +5,37 @@ import FeatuerdList from "../components/FeaturedList";
|
|||||||
|
|
||||||
const Home = () => {
|
const Home = () => {
|
||||||
|
|
||||||
|
const products = [
|
||||||
|
{
|
||||||
|
"title": "Ceinture flèchée",
|
||||||
|
"description": "Pour faire votre propre bonhomme de 1837, comme dans le bon vieux temps.",
|
||||||
|
"price": "85,86",
|
||||||
|
"imageUrl":"/images/ceintureflechee.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Pantoufles du Canadien en Phentex",
|
||||||
|
"description": "Parce que ça sent la coupe!",
|
||||||
|
"price": "15,64",
|
||||||
|
"imageUrl":"/images/pantouflesCH.jpg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Jean-Luc Mongrain",
|
||||||
|
"description": "On ne lui ferait pas mal, en tout cas!!",
|
||||||
|
"price": "1453,12",
|
||||||
|
"imageUrl":"/images/jeanlucmongrain.jpg"
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
document.title = 'Maison';
|
document.title = 'Maison';
|
||||||
});
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<ResearchBar/>
|
<ResearchBar />
|
||||||
<FeatuerdList/>
|
<FeatuerdList
|
||||||
|
products={products}
|
||||||
|
/>
|
||||||
Maison
|
Maison
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import {Outlet} from "react-router-dom";
|
import { Outlet } from "react-router-dom";
|
||||||
import Navbar from "../components/Navbar";
|
import Navbar from "../components/Navbar";
|
||||||
import Footer from "../components/Footer";
|
import Footer from "../components/Footer";
|
||||||
|
|
||||||
@ -8,7 +8,7 @@ const Layout = () => {
|
|||||||
<>
|
<>
|
||||||
<Navbar />
|
<Navbar />
|
||||||
<Outlet />
|
<Outlet />
|
||||||
<Footer/>
|
<Footer />
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,112 +0,0 @@
|
|||||||
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400&display=swap');
|
|
||||||
|
|
||||||
* {
|
|
||||||
box-sizing: border-box;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-family: 'Poppins', sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.container {
|
|
||||||
max-width: 500px;
|
|
||||||
margin: 30px auto;
|
|
||||||
overflow: auto;
|
|
||||||
min-height: 300px;
|
|
||||||
border: 1px solid steelblue;
|
|
||||||
padding: 30px;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.header {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn {
|
|
||||||
display: inline-block;
|
|
||||||
background: #000;
|
|
||||||
color: #fff;
|
|
||||||
border: none;
|
|
||||||
padding: 10px 20px;
|
|
||||||
margin: 5px;
|
|
||||||
border-radius: 5px;
|
|
||||||
cursor: pointer;
|
|
||||||
text-decoration: none;
|
|
||||||
font-size: 15px;
|
|
||||||
font-family: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn:focus {
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn:active {
|
|
||||||
transform: scale(0.98);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-block {
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.task {
|
|
||||||
background: #f4f4f4;
|
|
||||||
margin: 5px;
|
|
||||||
padding: 10px 20px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.task.reminder {
|
|
||||||
border-left: 5px solid green;
|
|
||||||
}
|
|
||||||
|
|
||||||
.task h3 {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.add-form {
|
|
||||||
margin-bottom: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-control {
|
|
||||||
margin: 20px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-control label {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-control input {
|
|
||||||
width: 100%;
|
|
||||||
height: 40px;
|
|
||||||
margin: 5px;
|
|
||||||
padding: 3px 7px;
|
|
||||||
font-size: 17px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-control-check {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-control-check label {
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-control-check input {
|
|
||||||
flex: 2;
|
|
||||||
height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
footer {
|
|
||||||
margin-top: 30px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
88
GrossesMitaines/grosses-mitaines-ui/src/stylesheets/site.css
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
body {
|
||||||
|
background-image: url('/public/images/blured_wool_carpet.png');
|
||||||
|
background-color: gray;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-attachment: fixed;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.research-container {
|
||||||
|
/* border: black solid 1px; */
|
||||||
|
padding: 4px 6px 4px 6px;
|
||||||
|
background-color: purple;
|
||||||
|
box-shadow: 2px 3px rgba(0, 0, 0, .25);
|
||||||
|
border-radius: 5px;
|
||||||
|
height: 40px;
|
||||||
|
margin:auto;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
width: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.research-input {
|
||||||
|
height: 100%;
|
||||||
|
width: 89%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.research-btn {
|
||||||
|
margin-left: 1%;
|
||||||
|
border-radius: 5px;
|
||||||
|
width: 10%;
|
||||||
|
height: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.featured-lst {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.featured-itm {
|
||||||
|
background-color: beige;
|
||||||
|
border-radius: 10px;
|
||||||
|
height: 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.featured-img {
|
||||||
|
border: 5px purple double;
|
||||||
|
border-radius: 10px;
|
||||||
|
height: 100%;
|
||||||
|
margin-bottom: 75%;
|
||||||
|
width: auto;
|
||||||
|
max-width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.featured-info {
|
||||||
|
border: 1px black solid;
|
||||||
|
color: black;
|
||||||
|
text-align: right;
|
||||||
|
left: 55%;
|
||||||
|
right: 12%;
|
||||||
|
bottom: 25%;
|
||||||
|
top: 25%;
|
||||||
|
padding-right: 2%;
|
||||||
|
box-shadow: 5px 10px rgba(0, 0, 0, .5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.featured-prc {
|
||||||
|
margin-left: 50%;
|
||||||
|
padding-right: 10px;
|
||||||
|
background-color: plum;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* specification pour les écrans plus petits / cells */
|
||||||
|
@media (max-width:450px) {
|
||||||
|
.featured-img {
|
||||||
|
border: 5px purple double;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.featured-info {
|
||||||
|
left: 12%;
|
||||||
|
top: auto;
|
||||||
|
bottom: 10%;
|
||||||
|
padding-right: 20px;
|
||||||
|
background-color: rgba(255, 255, 255, .75);
|
||||||
|
}
|
||||||
|
}
|