diff --git a/package-lock.json b/package-lock.json index 913d745..d7a5446 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,6 +25,7 @@ "react-i18next": "^13.5.0", "react-icons": "^4.12.0", "react-select": "^5.8.0", + "react-tabs": "^6.0.2", "sass": "^1.69.5", "sharp": "^0.32.6", "yup": "^1.3.2" @@ -6969,6 +6970,18 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/react-tabs": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-6.0.2.tgz", + "integrity": "sha512-aQXTKolnM28k3KguGDBSAbJvcowOQr23A+CUJdzJtOSDOtTwzEaJA+1U4KwhNL9+Obe+jFS7geuvA7ICQPXOnQ==", + "dependencies": { + "clsx": "^2.0.0", + "prop-types": "^15.5.0" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, "node_modules/react-transition-group": { "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", @@ -8438,6 +8451,111 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.0.3.tgz", + "integrity": "sha512-64JbSvi3nbbcEtyitNn2LEDS/hcleAFpHdykpcnrstITFlzFgB/bW0ER5/SJJwUPj+ZPY+z3e+1jAfcczRLVGw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.0.3.tgz", + "integrity": "sha512-RkTf+KbAD0SgYdVn1XzqE/+sIxYGB7NLMZRn9I4Z24afrhUpVJx6L8hsRnIwxz3ERE2NFURNliPjJ2QNfnWicQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.0.3.tgz", + "integrity": "sha512-3tBWGgz7M9RKLO6sPWC6c4pAw4geujSwQ7q7Si4d6bo0l6cLs4tmO+lnSwFp1Tm3lxwfMk0SgkJT7EdwYSJvcg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.0.3.tgz", + "integrity": "sha512-v0v8Kb8j8T23jvVUWZeA2D8+izWspeyeDGNaT2/mTHWp7+37fiNfL8bmBWiOmeumXkacM/AB0XOUQvEbncSnHA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.0.3.tgz", + "integrity": "sha512-WRDp8QrmsL1bbGtsh5GqQ/KWulmrnMBgbnb+59qNTW1kVi1nG/2ndZLkcbs2GX7NpFLlToLRMWSQXmPzQm4tog==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.0.3.tgz", + "integrity": "sha512-EKffQeqCrj+t6qFFhIFTRoqb2QwX1mU7iTOvMyLbYw3QtqTw9sMwjykyiMlZlrfm2a4fA84+/aeW+PMg1MjuTg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.0.3.tgz", + "integrity": "sha512-ERhKPSJ1vQrPiwrs15Pjz/rvDHZmkmvbf/BjPN/UCOI++ODftT0GtasDPi0j+y6PPJi5HsXw+dpRaXUaw4vjuQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } } } } diff --git a/package.json b/package.json index b3f7619..c4621d3 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "react-i18next": "^13.5.0", "react-icons": "^4.12.0", "react-select": "^5.8.0", + "react-tabs": "^6.0.2", "sass": "^1.69.5", "sharp": "^0.32.6", "yup": "^1.3.2" diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 9f25d6b..0ac1d9b 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -35,5 +35,11 @@ "language": { "fr": "French", "en": "English" - } + }, + "lang": "Language", + "settings": "Settings", + "profile": "Profile", + "select-your-lang": "Change the language", + "name": "Name", + "email": "Email" } diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index b1db5aa..31c03e9 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -35,5 +35,11 @@ "language": { "fr": "Français", "en": "Anglais" - } + }, + "lang": "Langage", + "settings": "Paramètres", + "profile": "Profil", + "select-your-lang": "Modifier la langue", + "name": "Nom", + "email": "Email" } diff --git a/src/components/Links/links.module.scss b/src/components/Links/links.module.scss index e781da6..1075e22 100644 --- a/src/components/Links/links.module.scss +++ b/src/components/Links/links.module.scss @@ -31,7 +31,7 @@ & h2 { color: $blue; - margin-bottom: 15px; + margin-bottom: 0.25em; font-weight: 500; & .links-count { diff --git a/src/components/Modal/modal.module.scss b/src/components/Modal/modal.module.scss index b46c5f8..6c5dfe9 100644 --- a/src/components/Modal/modal.module.scss +++ b/src/components/Modal/modal.module.scss @@ -28,12 +28,13 @@ .modal-header { width: 100%; - margin-bottom: 1.5em; + margin-bottom: 0.75em; display: flex; align-items: center; justify-content: space-between; & button.btn-close { + cursor: pointer; color: $blue; background-color: transparent; border: 0; diff --git a/src/components/Navbar/Navbar.tsx b/src/components/Navbar/Navbar.tsx index 4f4af50..d8b861a 100644 --- a/src/components/Navbar/Navbar.tsx +++ b/src/components/Navbar/Navbar.tsx @@ -3,8 +3,8 @@ import { useSession } from 'next-auth/react'; import PATHS from 'constants/paths'; import styles from './navbar.module.scss'; import { useTranslation } from 'next-i18next'; -import Image from 'next/image'; import { TFunctionParam } from 'types/i18next'; +import RoundedImage from '../RoundedImage/RoundedImage'; export default function Navbar() { const { data, status } = useSession(); @@ -13,6 +13,7 @@ export default function Navbar() { const avatarLabel = t('common:avatar', { name: data?.user?.name, } as TFunctionParam); + return (