Amélioration de la splash_page et du login
24
web/.gitignore
vendored
@@ -1,24 +0,0 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
@@ -2,13 +2,16 @@
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/png" href="/images/geosector-logo.png" />
|
||||
<link rel="icon" type="image/png" href="/favicon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png" />
|
||||
<link rel="icon" type="image/png" sizes="64x64" href="/favicon-64.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="description" content="Geosector - Une application puissante et intuitive pour la gestion efficace de vos distributions" />
|
||||
<meta name="keywords" content="geosector, distribution, logistique, optimisation, tournées, livraison" />
|
||||
<link rel="preload" href="/fonts/Figtree-VariableFont_wght.ttf" as="font" type="font/ttf" crossorigin />
|
||||
<title>Geosector - Gestion efficace de vos distributions</title>
|
||||
<script type="module" crossorigin src="/assets/index-mT7N7BKi.js"></script>
|
||||
<script type="module" crossorigin src="/assets/index-DOjj7eym.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-C15RTrFl.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
12
web/dist/.htaccess
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
# Configuration pour le mode histoire (HTML5 History API)
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine On
|
||||
RewriteBase /
|
||||
|
||||
# Si le fichier ou répertoire demandé existe, servir directement
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
|
||||
# Sinon, rediriger vers index.html pour permettre au routeur client de gérer
|
||||
RewriteRule . /index.html [L]
|
||||
</IfModule>
|
||||
1
web/dist/assets/index-C15RTrFl.css
vendored
Normal file
65
web/dist/assets/index-DOjj7eym.js
vendored
Normal file
BIN
web/dist/favicon-16.png
vendored
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
web/dist/favicon-32.png
vendored
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
web/dist/favicon-64.png
vendored
Normal file
|
After Width: | Height: | Size: 9.5 KiB |
BIN
web/dist/favicon.png
vendored
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
web/dist/fonts/Figtree-VariableFont_wght.ttf
vendored
Normal file
BIN
web/dist/fonts/Kallisto-Bold.otf
vendored
Normal file
BIN
web/dist/fonts/Kallisto-Medium.otf
vendored
Normal file
BIN
web/dist/fonts/Kallisto-Thin.otf
vendored
Normal file
BIN
web/dist/icons/Icon-152.png
vendored
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
web/dist/icons/Icon-167.png
vendored
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
web/dist/icons/Icon-180.png
vendored
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
web/dist/icons/Icon-192.png
vendored
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
web/dist/icons/Icon-512.png
vendored
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
web/dist/icons/Icon-maskable-192.png
vendored
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
web/dist/icons/Icon-maskable-512.png
vendored
Normal file
|
After Width: | Height: | Size: 97 KiB |
47
web/dist/images/Logo-geosector-horizontal.svg
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="Calque_2" data-name="Calque 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 272.62 63.25">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: #002c66;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: #e3170a;
|
||||
}
|
||||
|
||||
.cls-3 {
|
||||
fill: #fff;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g id="Calque_2-2" data-name="Calque 2">
|
||||
<g>
|
||||
<g>
|
||||
<path class="cls-1" d="M92.17,27.62c-.47-.86-1.14-1.52-2.02-1.98-.88-.46-1.91-.68-3.09-.68-2.05,0-3.69.67-4.92,2.02-1.23,1.34-1.85,3.14-1.85,5.38,0,2.39.65,4.26,1.94,5.61s3.08,2.02,5.35,2.02c1.55,0,2.87-.39,3.94-1.18,1.07-.79,1.86-1.92,2.35-3.4h-8.03v-4.66h13.76v5.88c-.47,1.58-1.26,3.05-2.39,4.4-1.12,1.36-2.55,2.46-4.27,3.29-1.73.84-3.68,1.26-5.85,1.26-2.57,0-4.85-.56-6.86-1.68-2.01-1.12-3.58-2.68-4.7-4.68-1.12-2-1.68-4.28-1.68-6.84s.56-4.85,1.68-6.86c1.12-2.01,2.68-3.58,4.68-4.7s4.28-1.68,6.85-1.68c3.11,0,5.73.75,7.86,2.26,2.13,1.5,3.55,3.59,4.24,6.25h-6.99Z"/>
|
||||
<path class="cls-1" d="M123.21,36.57h-14.32c.1,1.28.51,2.26,1.24,2.94.73.68,1.62,1.02,2.68,1.02,1.58,0,2.68-.67,3.29-2h6.73c-.35,1.36-.97,2.58-1.87,3.66-.9,1.09-2.03,1.94-3.38,2.55-1.36.62-2.88.92-4.55.92-2.02,0-3.82-.43-5.4-1.29-1.58-.86-2.81-2.1-3.7-3.7-.89-1.6-1.33-3.48-1.33-5.62s.44-4.02,1.31-5.62c.88-1.6,2.1-2.84,3.68-3.7,1.58-.86,3.39-1.29,5.44-1.29s3.77.42,5.33,1.26,2.77,2.04,3.64,3.59,1.31,3.37,1.31,5.44c0,.59-.04,1.21-.11,1.85ZM116.85,33.06c0-1.09-.37-1.95-1.11-2.59-.74-.64-1.67-.96-2.77-.96s-1.96.31-2.68.92c-.73.62-1.18,1.49-1.35,2.63h7.92Z"/>
|
||||
<path class="cls-1" d="M131.34,44.38c-1.62-.86-2.88-2.1-3.81-3.7-.92-1.6-1.39-3.48-1.39-5.62s.47-3.99,1.41-5.61c.94-1.62,2.22-2.85,3.85-3.72,1.63-.86,3.45-1.29,5.48-1.29s3.85.43,5.48,1.29c1.63.86,2.91,2.1,3.85,3.72.94,1.62,1.41,3.48,1.41,5.61s-.47,3.99-1.42,5.61c-.95,1.62-2.25,2.85-3.88,3.72-1.64.86-3.47,1.29-5.5,1.29s-3.84-.43-5.46-1.29ZM139.88,38.87c.85-.89,1.28-2.16,1.28-3.81s-.41-2.92-1.24-3.81-1.84-1.33-3.05-1.33-2.26.44-3.07,1.31c-.81.88-1.22,2.15-1.22,3.83s.4,2.92,1.2,3.81,1.81,1.33,3.02,1.33,2.24-.44,3.09-1.33Z"/>
|
||||
<path class="cls-1" d="M155.29,44.75c-1.41-.62-2.52-1.46-3.33-2.53-.81-1.07-1.27-2.28-1.37-3.61h6.25c.07.72.41,1.29,1,1.74.59.44,1.32.67,2.18.67.79,0,1.4-.15,1.83-.46s.65-.71.65-1.2c0-.59-.31-1.03-.93-1.31-.62-.28-1.62-.6-3-.94-1.48-.34-2.71-.71-3.7-1.09s-1.84-.99-2.55-1.81c-.71-.83-1.07-1.94-1.07-3.35,0-1.18.33-2.26.98-3.24.65-.97,1.62-1.75,2.88-2.31,1.27-.57,2.78-.85,4.53-.85,2.59,0,4.63.64,6.12,1.92s2.35,2.98,2.57,5.11h-5.85c-.1-.71-.41-1.28-.94-1.7-.53-.42-1.23-.63-2.09-.63-.74,0-1.31.14-1.7.43-.39.28-.59.67-.59,1.17,0,.59.31,1.04.94,1.33.63.3,1.61.59,2.94.89,1.53.39,2.78.78,3.74,1.17.96.38,1.81,1,2.54,1.85.73.85,1.1,1.99,1.13,3.42,0,1.21-.34,2.29-1.02,3.24-.68.95-1.65,1.7-2.92,2.24s-2.74.81-4.42.81c-1.8,0-3.4-.31-4.81-.92Z"/>
|
||||
<path class="cls-1" d="M192.44,36.57h-14.32c.1,1.28.51,2.26,1.24,2.94.73.68,1.62,1.02,2.68,1.02,1.58,0,2.68-.67,3.29-2h6.73c-.35,1.36-.97,2.58-1.87,3.66-.9,1.09-2.03,1.94-3.38,2.55-1.36.62-2.88.92-4.55.92-2.02,0-3.82-.43-5.4-1.29-1.58-.86-2.81-2.1-3.7-3.7-.89-1.6-1.33-3.48-1.33-5.62s.44-4.02,1.31-5.62c.88-1.6,2.1-2.84,3.68-3.7,1.58-.86,3.39-1.29,5.44-1.29s3.77.42,5.33,1.26,2.77,2.04,3.64,3.59,1.31,3.37,1.31,5.44c0,.59-.04,1.21-.11,1.85ZM186.08,33.06c0-1.09-.37-1.95-1.11-2.59-.74-.64-1.67-.96-2.77-.96s-1.96.31-2.68.92c-.73.62-1.18,1.49-1.35,2.63h7.92Z"/>
|
||||
<path class="cls-1" d="M196.68,29.43c.88-1.6,2.1-2.84,3.66-3.7s3.36-1.29,5.38-1.29c2.59,0,4.75.68,6.49,2.03,1.74,1.36,2.88,3.27,3.42,5.74h-6.73c-.57-1.58-1.67-2.37-3.29-2.37-1.16,0-2.08.45-2.78,1.35-.69.9-1.04,2.19-1.04,3.87s.35,2.97,1.04,3.87,1.62,1.35,2.78,1.35c1.63,0,2.73-.79,3.29-2.37h6.73c-.54,2.42-1.69,4.32-3.44,5.7-1.75,1.38-3.91,2.07-6.48,2.07-2.02,0-3.82-.43-5.38-1.29-1.57-.86-2.79-2.1-3.66-3.7-.88-1.6-1.31-3.48-1.31-5.62s.44-4.02,1.31-5.62Z"/>
|
||||
<path class="cls-1" d="M231.25,40.01v5.37h-3.22c-2.29,0-4.08-.56-5.37-1.68-1.28-1.12-1.92-2.95-1.92-5.49v-8.21h-2.52v-5.25h2.52v-5.03h6.33v5.03h4.14v5.25h-4.14v8.29c0,.62.15,1.06.44,1.33s.79.41,1.48.41h2.26Z"/>
|
||||
<path class="cls-1" d="M239.45,44.38c-1.62-.86-2.88-2.1-3.81-3.7-.92-1.6-1.39-3.48-1.39-5.62s.47-3.99,1.41-5.61c.94-1.62,2.22-2.85,3.85-3.72,1.63-.86,3.45-1.29,5.48-1.29s3.85.43,5.48,1.29c1.63.86,2.91,2.1,3.85,3.72.94,1.62,1.41,3.48,1.41,5.61s-.47,3.99-1.42,5.61c-.95,1.62-2.25,2.85-3.88,3.72-1.64.86-3.47,1.29-5.5,1.29s-3.84-.43-5.46-1.29ZM248,38.87c.85-.89,1.28-2.16,1.28-3.81s-.41-2.92-1.24-3.81-1.84-1.33-3.05-1.33-2.26.44-3.07,1.31c-.81.88-1.22,2.15-1.22,3.83s.4,2.92,1.2,3.81,1.81,1.33,3.02,1.33,2.24-.44,3.09-1.33Z"/>
|
||||
<path class="cls-1" d="M268.92,25.49c1.11-.65,2.34-.98,3.7-.98v6.7h-1.74c-1.58,0-2.76.34-3.55,1.02-.79.68-1.18,1.87-1.18,3.57v9.58h-6.33v-20.65h6.33v3.44c.74-1.13,1.67-2.03,2.78-2.68Z"/>
|
||||
</g>
|
||||
<g>
|
||||
<rect class="cls-2" width="63.25" height="63.25" rx="15.51" ry="15.51"/>
|
||||
<g>
|
||||
<path class="cls-3" d="M38.29,52.85h-13.34c-9.49,0-14.5-5.14-14.5-14.85v-12.7c0-9.75,5.01-14.91,14.5-14.91h13.34c9.07,0,13.93,4.38,14.44,13.01.05.87-.26,1.4-.53,1.69-.27.28-.76.62-1.61.62h-5.22c-1.29,0-2.12-.81-2.2-2.16-.28-3.09-1.33-3.94-4.87-3.94h-13.34c-1.27,0-2.17.12-2.84.37-.84.31-1.36.86-1.68,1.77l-1.42-.5c.47-1.34,1.31-2.21,2.57-2.68.84-.32,1.91-.46,3.37-.46h13.34c3.63,0,5.97.89,6.38,5.33.04.65.27.77.7.77h5.22c.14,0,.4-.02.52-.15.09-.1.14-.3.12-.56-.47-7.8-4.7-11.59-12.94-11.59h-13.34c-8.62,0-12.99,4.51-12.99,13.4v12.7c0,8.85,4.37,13.34,12.99,13.34h13.34c8.62,0,12.99-4.49,12.99-13.34v-7.31c0-.51-.18-.7-.7-.7h-16.59c-.51,0-.7.18-.7.7v4.18c0,.51.18.7.7.7h3.5v1.51h-3.5c-1.34,0-2.2-.87-2.2-2.2v-4.18c0-1.34.87-2.2,2.2-2.2h16.59c1.34,0,2.2.87,2.2,2.2v7.31c0,9.71-5.01,14.85-14.5,14.85ZM38.29,45.14h-13.34c-3.97,0-6.44-1.14-6.44-6.84h1.51c0,4.6,1.45,5.34,4.93,5.34h13.34c1.82,0,2.94-.26,3.65-.85l.97,1.16c-1.01.84-2.39,1.2-4.61,1.2Z"/>
|
||||
<g>
|
||||
<circle class="cls-1" cx="43.9" cy="36.68" r="4.47"/>
|
||||
<path class="cls-3" d="M42.96,39.02c-.17,0-.34-.07-.47-.2l-1.62-1.62c-.26-.26-.26-.69,0-.95s.69-.26.95,0l1.14,1.14,2.76-2.76c.26-.26.69-.26.95,0s.26.69,0,.95l-3.23,3.23c-.13.13-.3.2-.47.2Z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="cls-3" d="M24.04,27.75c0,1.03-.26,2.15-.77,3.33-.42.95-.99,1.94-1.71,2.94-.98,1.36-1.98,2.38-2.35,2.74-.37-.36-1.36-1.38-2.35-2.73-.73-1-1.3-2-1.71-2.95-.51-1.18-.77-2.3-.77-3.34,0-1.29.5-2.51,1.42-3.42.91-.92,2.13-1.42,3.42-1.42s2.5.5,3.42,1.42c.91.91,1.42,2.13,1.42,3.42Z"/>
|
||||
<circle class="cls-1" cx="19.21" cy="27.29" r="2"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.5 KiB |
47
web/dist/images/Logo-geosector-vertical.svg
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="Calque_2" data-name="Calque 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 188.95 102.59">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: #002c66;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: #e3170a;
|
||||
}
|
||||
|
||||
.cls-3 {
|
||||
fill: #fff;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g id="Calque_2-2" data-name="Calque 2">
|
||||
<g>
|
||||
<g>
|
||||
<rect class="cls-2" x="62.09" width="64.29" height="64.29" rx="15.51" ry="15.51"/>
|
||||
<g>
|
||||
<path class="cls-3" d="M101.01,53.72h-13.56c-9.64,0-14.74-5.22-14.74-15.09v-12.91c0-9.91,5.1-15.15,14.74-15.15h13.56c9.22,0,14.16,4.45,14.68,13.22.05.89-.26,1.42-.54,1.71-.27.29-.78.63-1.64.63h-5.31c-1.31,0-2.15-.82-2.24-2.19-.29-3.14-1.35-4-4.95-4h-13.56c-1.29,0-2.21.12-2.89.37-.85.32-1.38.87-1.71,1.8l-1.44-.51c.48-1.36,1.33-2.25,2.62-2.73.86-.32,1.95-.47,3.42-.47h13.56c3.69,0,6.07.91,6.48,5.41.04.66.27.78.71.78h5.31c.14,0,.4-.02.53-.15.1-.1.14-.31.12-.57-.47-7.93-4.78-11.78-13.15-11.78h-13.56c-8.76,0-13.21,4.58-13.21,13.62v12.91c0,9,4.44,13.56,13.21,13.56h13.56c8.76,0,13.21-4.56,13.21-13.56v-7.43c0-.52-.19-.71-.71-.71h-16.86c-.52,0-.71.19-.71.71v4.24c0,.52.19.71.71.71h3.56v1.53h-3.56c-1.36,0-2.24-.88-2.24-2.24v-4.24c0-1.36.88-2.24,2.24-2.24h16.86c1.36,0,2.24.88,2.24,2.24v7.43c0,9.87-5.1,15.09-14.74,15.09ZM101.01,45.88h-13.56c-4.04,0-6.54-1.16-6.54-6.96h1.53c0,4.67,1.48,5.43,5.01,5.43h13.56c1.85,0,2.99-.27,3.71-.86l.98,1.18c-1.02.85-2.43,1.22-4.69,1.22Z"/>
|
||||
<g>
|
||||
<circle class="cls-1" cx="106.7" cy="37.28" r="4.55"/>
|
||||
<path class="cls-3" d="M105.75,39.66c-.17,0-.35-.07-.48-.2l-1.64-1.64c-.27-.27-.27-.7,0-.96s.7-.27.96,0l1.16,1.16,2.8-2.8c.27-.27.7-.27.96,0s.27.7,0,.96l-3.29,3.29c-.13.13-.31.2-.48.2Z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="cls-3" d="M86.52,28.21c0,1.05-.26,2.19-.78,3.39-.42.97-1.01,1.98-1.74,2.99-1,1.38-2.01,2.42-2.39,2.79-.38-.37-1.38-1.4-2.39-2.78-.74-1.02-1.32-2.03-1.74-3-.52-1.2-.79-2.34-.79-3.39,0-1.31.51-2.55,1.44-3.48.93-.93,2.16-1.44,3.48-1.44s2.54.51,3.48,1.44c.93.93,1.44,2.16,1.44,3.48Z"/>
|
||||
<circle class="cls-1" cx="81.61" cy="27.74" r="2.03"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path class="cls-1" d="M17.41,85.42c-.45-.82-1.08-1.45-1.92-1.88-.83-.43-1.81-.65-2.94-.65-1.95,0-3.51.64-4.68,1.92-1.17,1.28-1.76,2.98-1.76,5.12,0,2.27.62,4.05,1.85,5.33,1.23,1.28,2.92,1.92,5.08,1.92,1.48,0,2.73-.38,3.75-1.13,1.02-.75,1.76-1.83,2.23-3.24h-7.63v-4.43h13.08v5.59c-.45,1.5-1.2,2.9-2.27,4.19-1.07,1.29-2.42,2.33-4.06,3.13-1.64.8-3.49,1.2-5.56,1.2-2.44,0-4.61-.53-6.52-1.6-1.91-1.07-3.4-2.55-4.47-4.45-1.07-1.9-1.6-4.07-1.6-6.51s.53-4.61,1.6-6.52c1.07-1.91,2.55-3.4,4.45-4.47,1.9-1.07,4.07-1.6,6.51-1.6,2.95,0,5.45.72,7.47,2.15,2.03,1.43,3.37,3.41,4.03,5.94h-6.65Z"/>
|
||||
<path class="cls-1" d="M46.92,93.94h-13.61c.09,1.22.49,2.15,1.18,2.8.69.65,1.54.97,2.55.97,1.5,0,2.54-.63,3.13-1.9h6.4c-.33,1.29-.92,2.45-1.78,3.48-.86,1.03-1.93,1.84-3.22,2.43-1.29.59-2.73.88-4.33.88-1.92,0-3.64-.41-5.14-1.23-1.5-.82-2.67-1.99-3.52-3.52-.84-1.52-1.27-3.31-1.27-5.35s.42-3.82,1.25-5.35c.83-1.52,2-2.7,3.5-3.52,1.5-.82,3.22-1.23,5.17-1.23s3.59.4,5.06,1.2c1.48.8,2.63,1.93,3.46,3.41.83,1.48,1.25,3.2,1.25,5.17,0,.56-.04,1.15-.11,1.76ZM40.87,90.59c0-1.03-.35-1.85-1.06-2.46-.7-.61-1.58-.91-2.64-.91s-1.86.29-2.55.88c-.69.59-1.12,1.42-1.28,2.5h7.53Z"/>
|
||||
<path class="cls-1" d="M54.64,101.36c-1.54-.82-2.74-1.99-3.62-3.52-.88-1.52-1.32-3.31-1.32-5.35s.44-3.79,1.34-5.33c.89-1.54,2.11-2.71,3.66-3.54,1.55-.82,3.28-1.23,5.21-1.23s3.66.41,5.21,1.23c1.55.82,2.77,2,3.66,3.54.89,1.54,1.34,3.31,1.34,5.33s-.45,3.79-1.35,5.33c-.9,1.54-2.13,2.71-3.69,3.54-1.56.82-3.3,1.23-5.22,1.23s-3.65-.41-5.19-1.23ZM62.77,96.12c.81-.84,1.21-2.05,1.21-3.62s-.39-2.78-1.18-3.62c-.79-.84-1.75-1.27-2.9-1.27s-2.15.42-2.92,1.25-1.16,2.05-1.16,3.64.38,2.78,1.14,3.62c.76.84,1.72,1.27,2.87,1.27s2.13-.42,2.94-1.27Z"/>
|
||||
<path class="cls-1" d="M77.42,101.71c-1.34-.59-2.39-1.39-3.16-2.41-.77-1.02-1.21-2.16-1.3-3.43h5.94c.07.68.39,1.23.95,1.65.56.42,1.25.63,2.07.63.75,0,1.33-.15,1.74-.44.41-.29.62-.67.62-1.14,0-.56-.29-.98-.88-1.25-.59-.27-1.54-.57-2.85-.9-1.41-.33-2.58-.67-3.52-1.04-.94-.36-1.75-.94-2.43-1.72s-1.02-1.85-1.02-3.18c0-1.13.31-2.15.93-3.08.62-.93,1.54-1.66,2.74-2.2,1.21-.54,2.64-.81,4.31-.81,2.46,0,4.4.61,5.82,1.83,1.42,1.22,2.23,2.84,2.45,4.85h-5.56c-.09-.68-.39-1.22-.9-1.62-.5-.4-1.17-.6-1.99-.6-.7,0-1.24.14-1.62.4s-.56.64-.56,1.11c0,.56.3.98.9,1.27.6.28,1.53.56,2.8.84,1.45.38,2.64.75,3.55,1.11.92.36,1.72.95,2.41,1.76.69.81,1.05,1.89,1.07,3.25,0,1.15-.32,2.18-.97,3.08-.65.9-1.57,1.61-2.78,2.13-1.21.52-2.61.77-4.2.77-1.71,0-3.24-.29-4.57-.88Z"/>
|
||||
<path class="cls-1" d="M112.73,93.94h-13.61c.09,1.22.49,2.15,1.18,2.8.69.65,1.54.97,2.55.97,1.5,0,2.54-.63,3.13-1.9h6.4c-.33,1.29-.92,2.45-1.78,3.48-.86,1.03-1.93,1.84-3.22,2.43-1.29.59-2.73.88-4.33.88-1.92,0-3.64-.41-5.14-1.23-1.5-.82-2.67-1.99-3.52-3.52-.84-1.52-1.27-3.31-1.27-5.35s.42-3.82,1.25-5.35c.83-1.52,2-2.7,3.5-3.52,1.5-.82,3.22-1.23,5.17-1.23s3.59.4,5.06,1.2c1.48.8,2.63,1.93,3.46,3.41.83,1.48,1.25,3.2,1.25,5.17,0,.56-.04,1.15-.11,1.76ZM106.68,90.59c0-1.03-.35-1.85-1.06-2.46-.7-.61-1.58-.91-2.64-.91s-1.86.29-2.55.88c-.69.59-1.12,1.42-1.28,2.5h7.53Z"/>
|
||||
<path class="cls-1" d="M116.76,87.15c.83-1.52,1.99-2.7,3.48-3.52,1.49-.82,3.19-1.23,5.12-1.23,2.46,0,4.52.65,6.17,1.93,1.65,1.29,2.74,3.11,3.25,5.45h-6.4c-.54-1.5-1.58-2.25-3.13-2.25-1.1,0-1.98.43-2.64,1.28-.66.86-.98,2.08-.98,3.68s.33,2.82.98,3.68,1.54,1.28,2.64,1.28c1.55,0,2.59-.75,3.13-2.25h6.4c-.52,2.3-1.61,4.1-3.27,5.42-1.67,1.31-3.72,1.97-6.16,1.97-1.92,0-3.63-.41-5.12-1.23s-2.65-1.99-3.48-3.52c-.83-1.52-1.25-3.31-1.25-5.35s.42-3.82,1.25-5.35Z"/>
|
||||
<path class="cls-1" d="M149.63,97.21v5.1h-3.06c-2.18,0-3.88-.53-5.1-1.6-1.22-1.07-1.83-2.81-1.83-5.22v-7.81h-2.39v-4.99h2.39v-4.78h6.02v4.78h3.94v4.99h-3.94v7.88c0,.59.14,1.01.42,1.27.28.26.75.39,1.41.39h2.14Z"/>
|
||||
<path class="cls-1" d="M157.42,101.36c-1.54-.82-2.74-1.99-3.62-3.52-.88-1.52-1.32-3.31-1.32-5.35s.44-3.79,1.34-5.33c.89-1.54,2.11-2.71,3.66-3.54,1.55-.82,3.28-1.23,5.21-1.23s3.66.41,5.21,1.23c1.55.82,2.77,2,3.66,3.54.89,1.54,1.34,3.31,1.34,5.33s-.45,3.79-1.35,5.33c-.9,1.54-2.13,2.71-3.69,3.54-1.56.82-3.3,1.23-5.22,1.23s-3.65-.41-5.19-1.23ZM165.54,96.12c.81-.84,1.21-2.05,1.21-3.62s-.39-2.78-1.18-3.62c-.79-.84-1.75-1.27-2.9-1.27s-2.15.42-2.92,1.25-1.16,2.05-1.16,3.64.38,2.78,1.14,3.62c.76.84,1.72,1.27,2.87,1.27s2.13-.42,2.94-1.27Z"/>
|
||||
<path class="cls-1" d="M185.43,83.4c1.05-.62,2.23-.93,3.52-.93v6.37h-1.65c-1.5,0-2.63.32-3.38.97-.75.65-1.13,1.78-1.13,3.39v9.11h-6.01v-19.63h6.01v3.27c.7-1.08,1.58-1.93,2.64-2.55Z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.5 KiB |
43
web/dist/images/app-screenshot.png
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="300" height="600" viewBox="0 0 300 600" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Fond de smartphone -->
|
||||
<rect width="300" height="600" rx="30" fill="#2E4057" />
|
||||
<rect x="10" y="30" width="280" height="540" rx="15" fill="#FFFFFF" />
|
||||
|
||||
<!-- Interface de l'application -->
|
||||
<rect x="10" y="30" width="280" height="60" rx="15" fill="#048BA8" />
|
||||
<circle cx="40" cy="60" r="15" fill="#FFFFFF" opacity="0.8" />
|
||||
<rect x="70" y="50" width="120" height="20" rx="5" fill="#FFFFFF" opacity="0.8" />
|
||||
<rect x="240" y="50" width="30" height="20" rx="5" fill="#FFFFFF" opacity="0.8" />
|
||||
|
||||
<!-- Carte -->
|
||||
<rect x="20" y="100" width="260" height="200" rx="5" fill="#E5E7EB" />
|
||||
<circle cx="150" cy="180" r="15" fill="#F18F01" stroke="#FFFFFF" stroke-width="3" />
|
||||
<circle cx="90" cy="150" r="8" fill="#048BA8" stroke="#FFFFFF" stroke-width="2" />
|
||||
<circle cx="210" cy="220" r="8" fill="#048BA8" stroke="#FFFFFF" stroke-width="2" />
|
||||
<rect x="120" y="130" width="60" height="40" rx="3" fill="#2E4057" opacity="0.6" />
|
||||
<rect x="70" y="200" width="40" height="30" rx="3" fill="#2E4057" opacity="0.6" />
|
||||
<rect x="180" y="160" width="50" height="30" rx="3" fill="#2E4057" opacity="0.6" />
|
||||
|
||||
<!-- Liste d'emplacements -->
|
||||
<rect x="20" y="310" width="260" height="60" rx="5" fill="#F9FAFB" stroke="#E5E7EB" stroke-width="1" />
|
||||
<circle cx="45" cy="340" r="15" fill="#F18F01" opacity="0.8" />
|
||||
<rect x="70" y="325" width="150" height="12" rx="2" fill="#2E4057" opacity="0.8" />
|
||||
<rect x="70" y="345" width="100" height="10" rx="2" fill="#9CA3AF" opacity="0.6" />
|
||||
|
||||
<rect x="20" y="380" width="260" height="60" rx="5" fill="#F9FAFB" stroke="#E5E7EB" stroke-width="1" />
|
||||
<circle cx="45" cy="410" r="15" fill="#048BA8" opacity="0.8" />
|
||||
<rect x="70" y="395" width="150" height="12" rx="2" fill="#2E4057" opacity="0.8" />
|
||||
<rect x="70" y="415" width="100" height="10" rx="2" fill="#9CA3AF" opacity="0.6" />
|
||||
|
||||
<rect x="20" y="450" width="260" height="60" rx="5" fill="#F9FAFB" stroke="#E5E7EB" stroke-width="1" />
|
||||
<circle cx="45" cy="480" r="15" fill="#2E4057" opacity="0.8" />
|
||||
<rect x="70" y="465" width="150" height="12" rx="2" fill="#2E4057" opacity="0.8" />
|
||||
<rect x="70" y="485" width="100" height="10" rx="2" fill="#9CA3AF" opacity="0.6" />
|
||||
|
||||
<!-- Navigation en bas -->
|
||||
<rect x="10" y="530" width="280" height="60" rx="15" fill="#F9FAFB" />
|
||||
<circle cx="60" cy="560" r="15" fill="#048BA8" />
|
||||
<circle cx="150" cy="560" r="15" fill="#9CA3AF" />
|
||||
<circle cx="240" cy="560" r="15" fill="#9CA3AF" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
BIN
web/dist/images/geosector-icon.png
vendored
Normal file
|
After Width: | Height: | Size: 230 KiB |
BIN
web/dist/images/geosector-logo.png
vendored
Normal file
|
After Width: | Height: | Size: 342 KiB |
0
web/dist/images/geosector-logo.svg
vendored
Normal file
34
web/dist/images/icon-geosector.svg
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="Calque_2" data-name="Calque 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 63.25 63.25">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: #002c66;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: #e3170a;
|
||||
}
|
||||
|
||||
.cls-3 {
|
||||
fill: #fff;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g id="Calque_2-2" data-name="Calque 2">
|
||||
<g>
|
||||
<rect class="cls-2" width="63.25" height="63.25" rx="15.51" ry="15.51"/>
|
||||
<g>
|
||||
<path class="cls-3" d="M38.29,52.85h-13.34c-9.49,0-14.5-5.14-14.5-14.85v-12.7c0-9.75,5.01-14.91,14.5-14.91h13.34c9.07,0,13.93,4.38,14.44,13.01.05.87-.26,1.4-.53,1.69-.27.28-.76.62-1.61.62h-5.22c-1.29,0-2.12-.81-2.2-2.16-.28-3.09-1.33-3.94-4.87-3.94h-13.34c-1.27,0-2.17.12-2.84.37-.84.31-1.36.86-1.68,1.77l-1.42-.5c.47-1.34,1.31-2.21,2.57-2.68.84-.32,1.91-.46,3.37-.46h13.34c3.63,0,5.97.89,6.38,5.33.04.65.27.77.7.77h5.22c.14,0,.4-.02.52-.15.09-.1.14-.3.12-.56-.47-7.8-4.7-11.59-12.94-11.59h-13.34c-8.62,0-12.99,4.51-12.99,13.4v12.7c0,8.85,4.37,13.34,12.99,13.34h13.34c8.62,0,12.99-4.49,12.99-13.34v-7.31c0-.51-.18-.7-.7-.7h-16.59c-.51,0-.7.18-.7.7v4.18c0,.51.18.7.7.7h3.5v1.51h-3.5c-1.34,0-2.2-.87-2.2-2.2v-4.18c0-1.34.87-2.2,2.2-2.2h16.59c1.34,0,2.2.87,2.2,2.2v7.31c0,9.71-5.01,14.85-14.5,14.85ZM38.29,45.14h-13.34c-3.97,0-6.44-1.14-6.44-6.84h1.51c0,4.6,1.45,5.34,4.93,5.34h13.34c1.82,0,2.94-.26,3.65-.85l.97,1.16c-1.01.84-2.39,1.2-4.61,1.2Z"/>
|
||||
<g>
|
||||
<circle class="cls-1" cx="43.9" cy="36.68" r="4.47"/>
|
||||
<path class="cls-3" d="M42.96,39.02c-.17,0-.34-.07-.47-.2l-1.62-1.62c-.26-.26-.26-.69,0-.95s.69-.26.95,0l1.14,1.14,2.76-2.76c.26-.26.69-.26.95,0s.26.69,0,.95l-3.23,3.23c-.13.13-.3.2-.47.2Z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="cls-3" d="M24.04,27.75c0,1.03-.26,2.15-.77,3.33-.42.95-.99,1.94-1.71,2.94-.98,1.36-1.98,2.38-2.35,2.74-.37-.36-1.36-1.38-2.35-2.73-.73-1-1.3-2-1.71-2.95-.51-1.18-.77-2.3-.77-3.34,0-1.29.5-2.51,1.42-3.42.91-.92,2.13-1.42,3.42-1.42s2.5.5,3.42,1.42c.91.91,1.42,2.13,1.42,3.42Z"/>
|
||||
<circle class="cls-1" cx="19.21" cy="27.29" r="2"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
20
web/dist/index.html
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
<!doctype html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/png" href="/favicon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png" />
|
||||
<link rel="icon" type="image/png" sizes="64x64" href="/favicon-64.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="description" content="Geosector - Une application puissante et intuitive pour la gestion efficace de vos distributions" />
|
||||
<meta name="keywords" content="geosector, distribution, logistique, optimisation, tournées, livraison" />
|
||||
<link rel="preload" href="/fonts/Figtree-VariableFont_wght.ttf" as="font" type="font/ttf" crossorigin />
|
||||
<title>Geosector - Gestion efficace de vos distributions</title>
|
||||
<script type="module" crossorigin src="/assets/index-DOjj7eym.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-C15RTrFl.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
</body>
|
||||
</html>
|
||||
1
web/dist/vite.svg
vendored
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -2,7 +2,10 @@
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/png" href="/images/geosector-logo.png" />
|
||||
<link rel="icon" type="image/png" href="/favicon.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png" />
|
||||
<link rel="icon" type="image/png" sizes="64x64" href="/favicon-64.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="description" content="Geosector - Une application puissante et intuitive pour la gestion efficace de vos distributions" />
|
||||
<meta name="keywords" content="geosector, distribution, logistique, optimisation, tournées, livraison" />
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
function getEnvironmentUrls() {
|
||||
const hostname = window.location.hostname;
|
||||
let appPrefix = '';
|
||||
|
||||
|
||||
if (hostname === 'dev.geosector.fr' || hostname.includes('localhost')) {
|
||||
appPrefix = 'dapp';
|
||||
} else if (hostname === 'rec.geosector.fr') {
|
||||
@@ -19,7 +19,7 @@
|
||||
// Production ou autres environnements
|
||||
appPrefix = 'app';
|
||||
}
|
||||
|
||||
|
||||
// Construire l'URL de base de l'application
|
||||
const domainParts = hostname.split('.');
|
||||
if (domainParts.length >= 2) {
|
||||
@@ -27,7 +27,7 @@
|
||||
const domain = domainParts.slice(Math.max(domainParts.length - 2, 0)).join('.');
|
||||
return `https://${appPrefix}.${domain}`;
|
||||
}
|
||||
|
||||
|
||||
// Fallback pour localhost ou cas non prévus
|
||||
return `https://${appPrefix}.geosector.fr`;
|
||||
}
|
||||
@@ -59,14 +59,12 @@
|
||||
onMount(() => {
|
||||
// Déterminer l'URL de base de l'application
|
||||
baseAppUrl = getEnvironmentUrls();
|
||||
|
||||
|
||||
const handleClickOutside = (event) => {
|
||||
const mobileMenu = document.getElementById('mobile-menu');
|
||||
const burgerButton = document.getElementById('burger-button');
|
||||
|
||||
if (mobileMenuOpen && mobileMenu && burgerButton &&
|
||||
!mobileMenu.contains(event.target) &&
|
||||
!burgerButton.contains(event.target)) {
|
||||
|
||||
if (mobileMenuOpen && mobileMenu && burgerButton && !mobileMenu.contains(event.target) && !burgerButton.contains(event.target)) {
|
||||
closeMobileMenu();
|
||||
}
|
||||
};
|
||||
@@ -116,10 +114,26 @@
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="flex gap-3 items-center">
|
||||
<a href="{baseAppUrl}/login/user" class="border-2 border-[#4CAF50] text-[#4CAF50] hover:bg-[#4CAF50] hover:text-white font-medium py-1.5 px-3 rounded-full transition-colors" on:click={() => { sessionStorage.setItem('loginType', 'user'); }}> Connexion Utilisateur </a>
|
||||
<a href="{baseAppUrl}/login" class="border-2 border-red-600 text-red-600 hover:bg-red-600 hover:text-white font-medium py-1.5 px-3 rounded-full transition-colors" on:click={() => { sessionStorage.setItem('loginType', 'admin'); }}> Connexion Administrateur </a>
|
||||
<a
|
||||
href="{baseAppUrl}/login/user"
|
||||
class="border-2 border-[#4CAF50] text-[#4CAF50] hover:bg-[#4CAF50] hover:text-white font-medium py-1.5 px-3 rounded-full transition-colors"
|
||||
on:click={() => {
|
||||
sessionStorage.setItem('loginType', 'user');
|
||||
}}
|
||||
>
|
||||
Connexion Utilisateur
|
||||
</a>
|
||||
<a
|
||||
href="{baseAppUrl}/login/admin"
|
||||
class="border-2 border-red-600 text-red-600 hover:bg-red-600 hover:text-white font-medium py-1.5 px-3 rounded-full transition-colors"
|
||||
on:click={() => {
|
||||
sessionStorage.setItem('loginType', 'admin');
|
||||
}}
|
||||
>
|
||||
Connexion Administrateur
|
||||
</a>
|
||||
<a href="{baseAppUrl}/register" class="bg-[#E3170A] hover:bg-red-700 text-white font-medium py-2 px-4 rounded-full transition-colors"> S'inscrire </a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -136,7 +150,7 @@
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
||||
<nav class="mb-8">
|
||||
<ul class="space-y-4">
|
||||
<li>
|
||||
@@ -150,24 +164,33 @@
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="space-y-4">
|
||||
<a href="{baseAppUrl}/login/user" class="block w-full border-2 border-[#4CAF50] text-[#4CAF50] hover:bg-[#4CAF50] hover:text-white font-medium py-2 px-4 rounded-full transition-colors text-center mb-3" on:click={() => { sessionStorage.setItem('loginType', 'user'); }}> Connexion Utilisateur </a>
|
||||
<a href="{baseAppUrl}/login" class="block w-full border-2 border-red-600 text-red-600 hover:bg-red-600 hover:text-white font-medium py-2 px-4 rounded-full transition-colors text-center mb-3" on:click={() => { sessionStorage.setItem('loginType', 'admin'); }}> Connexion Administrateur </a>
|
||||
<a
|
||||
href="{baseAppUrl}/login/user"
|
||||
class="block w-full border-2 border-[#4CAF50] text-[#4CAF50] hover:bg-[#4CAF50] hover:text-white font-medium py-2 px-4 rounded-full transition-colors text-center mb-3"
|
||||
on:click={() => {
|
||||
sessionStorage.setItem('loginType', 'user');
|
||||
}}
|
||||
>
|
||||
Connexion Utilisateur
|
||||
</a>
|
||||
<a
|
||||
href="{baseAppUrl}/login/admin"
|
||||
class="block w-full border-2 border-red-600 text-red-600 hover:bg-red-600 hover:text-white font-medium py-2 px-4 rounded-full transition-colors text-center mb-3"
|
||||
on:click={() => {
|
||||
sessionStorage.setItem('loginType', 'admin');
|
||||
}}
|
||||
>
|
||||
Connexion Administrateur
|
||||
</a>
|
||||
<a href="{baseAppUrl}/register" class="block w-full bg-[#E3170A] hover:bg-red-700 text-white font-medium py-2 px-4 rounded-full transition-colors text-center"> S'inscrire </a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Overlay pour le fond lorsque le menu mobile est ouvert -->
|
||||
{#if mobileMenuOpen}
|
||||
<div
|
||||
class="fixed inset-0 bg-black bg-opacity-50 z-30"
|
||||
on:click={closeMobileMenu}
|
||||
on:keydown={(e) => e.key === 'Escape' && closeMobileMenu()}
|
||||
role="button"
|
||||
tabindex="0"
|
||||
aria-label="Fermer le menu"
|
||||
></div>
|
||||
<div class="fixed inset-0 bg-black bg-opacity-50 z-30" on:click={closeMobileMenu} on:keydown={(e) => e.key === 'Escape' && closeMobileMenu()} role="button" tabindex="0" aria-label="Fermer le menu"></div>
|
||||
{/if}
|
||||
</header>
|
||||
|
||||