diff --git a/package-lock.json b/package-lock.json
index 25473ef..fa93bac 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,6 +21,7 @@
"@testing-library/user-event": "^13.5.0",
"addeventlistener": "^2.0.0",
"axios": "^1.2.1",
+ "bootstrap": "^5.2.3",
"chart": "^0.1.2",
"chart.js": "^4.0.1",
"crypto-js": "^4.1.1",
@@ -30,6 +31,7 @@
"pg": "^8.8.0",
"react": "^18.2.0",
"react-big-calendar": "^1.5.0",
+ "react-bootstrap": "^2.7.0",
"react-chartjs-2": "^5.0.1",
"react-datepicker": "^4.8.0",
"react-dom": "^18.2.0",
@@ -4154,6 +4156,17 @@
"url": "https://opencollective.com/popperjs"
}
},
+ "node_modules/@react-aria/ssr": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.4.0.tgz",
+ "integrity": "sha512-qzuGk14/fUyUAoW/EBwgFcuMkVNXJVGlezTgZ1HovpCZ+p9844E7MUFHE7CuzFzPEIkVeqhBNIoIu+VJJ8YCOA==",
+ "dependencies": {
+ "@babel/runtime": "^7.6.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
"node_modules/@remix-run/router": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.4.tgz",
@@ -4173,6 +4186,26 @@
"react": ">=16.8.0"
}
},
+ "node_modules/@restart/ui": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/@restart/ui/-/ui-1.4.1.tgz",
+ "integrity": "sha512-J7wFOx2DcmkBqCqiZgDsggLO7faiNh4Nv1/v80FmbRgP+MYpwaVDKKXLC69DA4+ejgNIsBP5ORtC74EZqO1j8A==",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "@popperjs/core": "^2.11.5",
+ "@react-aria/ssr": "^3.2.0",
+ "@restart/hooks": "^0.4.7",
+ "@types/warning": "^3.0.0",
+ "dequal": "^2.0.2",
+ "dom-helpers": "^5.2.0",
+ "uncontrollable": "^7.2.1",
+ "warning": "^4.0.3"
+ },
+ "peerDependencies": {
+ "react": ">=16.14.0",
+ "react-dom": ">=16.14.0"
+ }
+ },
"node_modules/@rollup/plugin-babel": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz",
@@ -6350,6 +6383,24 @@
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
},
+ "node_modules/bootstrap": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.3.tgz",
+ "integrity": "sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/twbs"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/bootstrap"
+ }
+ ],
+ "peerDependencies": {
+ "@popperjs/core": "^2.11.6"
+ }
+ },
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -16584,6 +16635,23 @@
"react-is": "^16.13.1"
}
},
+ "node_modules/prop-types-extra": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz",
+ "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==",
+ "dependencies": {
+ "react-is": "^16.3.2",
+ "warning": "^4.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=0.14.0"
+ }
+ },
+ "node_modules/prop-types-extra/node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
"node_modules/prop-types/node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
@@ -16795,6 +16863,35 @@
"react-dom": "^16.14.0 || ^17 || ^18"
}
},
+ "node_modules/react-bootstrap": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.7.0.tgz",
+ "integrity": "sha512-Jcrn6aUuRVBeSB6dzKODKZU1TONOdhAxu0IDm4Sv74SJUm98dMdhSotF2SNvFEADANoR+stV+7TK6SNX1wWu5w==",
+ "dependencies": {
+ "@babel/runtime": "^7.17.2",
+ "@restart/hooks": "^0.4.6",
+ "@restart/ui": "^1.4.1",
+ "@types/react-transition-group": "^4.4.4",
+ "classnames": "^2.3.1",
+ "dom-helpers": "^5.2.1",
+ "invariant": "^2.2.4",
+ "prop-types": "^15.8.1",
+ "prop-types-extra": "^1.1.0",
+ "react-transition-group": "^4.4.2",
+ "uncontrollable": "^7.2.1",
+ "warning": "^4.0.3"
+ },
+ "peerDependencies": {
+ "@types/react": ">=16.14.8",
+ "react": ">=16.14.0",
+ "react-dom": ">=16.14.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/react-chartjs-2": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.0.1.tgz",
@@ -22853,6 +22950,14 @@
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz",
"integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw=="
},
+ "@react-aria/ssr": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.4.0.tgz",
+ "integrity": "sha512-qzuGk14/fUyUAoW/EBwgFcuMkVNXJVGlezTgZ1HovpCZ+p9844E7MUFHE7CuzFzPEIkVeqhBNIoIu+VJJ8YCOA==",
+ "requires": {
+ "@babel/runtime": "^7.6.2"
+ }
+ },
"@remix-run/router": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.4.tgz",
@@ -22866,6 +22971,22 @@
"dequal": "^2.0.2"
}
},
+ "@restart/ui": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/@restart/ui/-/ui-1.4.1.tgz",
+ "integrity": "sha512-J7wFOx2DcmkBqCqiZgDsggLO7faiNh4Nv1/v80FmbRgP+MYpwaVDKKXLC69DA4+ejgNIsBP5ORtC74EZqO1j8A==",
+ "requires": {
+ "@babel/runtime": "^7.18.3",
+ "@popperjs/core": "^2.11.5",
+ "@react-aria/ssr": "^3.2.0",
+ "@restart/hooks": "^0.4.7",
+ "@types/warning": "^3.0.0",
+ "dequal": "^2.0.2",
+ "dom-helpers": "^5.2.0",
+ "uncontrollable": "^7.2.1",
+ "warning": "^4.0.3"
+ }
+ },
"@rollup/plugin-babel": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz",
@@ -24514,6 +24635,12 @@
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
},
+ "bootstrap": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.3.tgz",
+ "integrity": "sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ==",
+ "requires": {}
+ },
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -31817,6 +31944,22 @@
}
}
},
+ "prop-types-extra": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz",
+ "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==",
+ "requires": {
+ "react-is": "^16.3.2",
+ "warning": "^4.0.0"
+ },
+ "dependencies": {
+ "react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ }
+ }
+ },
"proxy-addr": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -31966,6 +32109,25 @@
"uncontrollable": "^7.2.1"
}
},
+ "react-bootstrap": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.7.0.tgz",
+ "integrity": "sha512-Jcrn6aUuRVBeSB6dzKODKZU1TONOdhAxu0IDm4Sv74SJUm98dMdhSotF2SNvFEADANoR+stV+7TK6SNX1wWu5w==",
+ "requires": {
+ "@babel/runtime": "^7.17.2",
+ "@restart/hooks": "^0.4.6",
+ "@restart/ui": "^1.4.1",
+ "@types/react-transition-group": "^4.4.4",
+ "classnames": "^2.3.1",
+ "dom-helpers": "^5.2.1",
+ "invariant": "^2.2.4",
+ "prop-types": "^15.8.1",
+ "prop-types-extra": "^1.1.0",
+ "react-transition-group": "^4.4.2",
+ "uncontrollable": "^7.2.1",
+ "warning": "^4.0.3"
+ }
+ },
"react-chartjs-2": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.0.1.tgz",
diff --git a/package.json b/package.json
index d122104..8afcf8a 100644
--- a/package.json
+++ b/package.json
@@ -16,6 +16,7 @@
"@testing-library/user-event": "^13.5.0",
"addeventlistener": "^2.0.0",
"axios": "^1.2.1",
+ "bootstrap": "^5.2.3",
"chart": "^0.1.2",
"chart.js": "^4.0.1",
"crypto-js": "^4.1.1",
@@ -25,6 +26,7 @@
"pg": "^8.8.0",
"react": "^18.2.0",
"react-big-calendar": "^1.5.0",
+ "react-bootstrap": "^2.7.0",
"react-chartjs-2": "^5.0.1",
"react-datepicker": "^4.8.0",
"react-dom": "^18.2.0",
diff --git a/public/LogoApp.svg b/public/LogoApp.svg
index efe961e..c9bd527 100644
--- a/public/LogoApp.svg
+++ b/public/LogoApp.svg
@@ -3,7 +3,7 @@
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-
+
{/* Create an account page */}
Dashboard
-
![]()
+
@@ -73,34 +99,43 @@ function Dashboard(){
- Mes infos
+
Mes infos
+
+
Nom : {contact.lastname}
+
Prénom : {contact.firstname}
+
Email : {contact.mail}
+
Téléphone : {contact.phone}
+
- Alertes
+
Alertes
+
+ { data12.length != 0 ? (data12[8].total+data12[9].total+data12[10].total)/3 > data12[11].total ?
Le chiffre d'affaire de ce mois est en baisse
:
Le chiffre d'affaire de ce mois est en hausse
:
}
+
- Mes prochaines activités
+
Mes prochaines activités
- Chiffre_clés
-
{datakey.total}
+
Chiffre clés
+
{dataKey.total}
- Chiffre_clés
-
{datakey.totalcontact}
+
Chiffre clés
+
{dataKey.totalcontact}
- Chiffre_clés
+
Chiffre clés
{infoBestCustomer.name + " : " + infoBestCustomer.total}
- Chiffre_clés
+
Chiffre clés
{new Date().getFullYear() + " : " + (new Date().getMonth() + 1)}
@@ -109,16 +144,16 @@ function Dashboard(){
- clients important
+
Clients importants
- contacts ajouté récemment
+
Contacts ajoutés récemment
{infoContactRecent.map(info => (
{info.firstname + " " + info.lastname}
))}
-
+