diff --git a/astro.config.mjs b/astro.config.mjs index db7cbf2..62e2560 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,6 +1,6 @@ +import node from '@astrojs/node' +import tailwind from '@astrojs/tailwind' import { defineConfig } from 'astro/config' -import tailwind from "@astrojs/tailwind" -import node from "@astrojs/node" import routing from './hooks/routing' // const faviconHook = { @@ -18,7 +18,7 @@ import routing from './hooks/routing' export default defineConfig({ // Use the NodeJS adapter adapter: node({ - mode: "standalone" + mode: 'standalone' }), // some settings to the build output @@ -33,6 +33,14 @@ export default defineConfig({ // Compress the HTML output compressHTML: true, + // Redirections des anciennes URLs (v1 -> v2) + redirects: { + '/categorie/allDays': '/categorie/alldays', + '/categorie/cycle/protegeMain': '/categorie/cycle/protege-main', + '/product/produit': '/produit/nettoyant', + '/product/config': '/categorie/alldays' + }, + // Customizable depending on goal output: 'server', @@ -45,7 +53,7 @@ export default defineConfig({ }, // the site url - site: 'https://example.com', + site: 'https://trouve-ta-piece.fr', // the Output server server: { @@ -66,7 +74,5 @@ export default defineConfig({ usePolling: !!(process.env.USE_POLLING ?? process.env.WSL_DISTRO_NAME) } } - }, - - - }) + } +}) diff --git a/biome.json b/biome.json index 39e53e9..562001f 100644 --- a/biome.json +++ b/biome.json @@ -73,9 +73,21 @@ "formatter": { "semicolons": "asNeeded", "quoteStyle": "single", - "trailingComma": "none", + "trailingCommas": "none", "lineWidth": 200, "bracketSameLine": true } - } + }, + "overrides": [ + { + "include": ["**/*.astro"], + "linter": { + "rules": { + "style": { + "useFilenamingConvention": "off" + } + } + } + } + ] } diff --git a/e2e/example.spec.ts b/e2e/example.spec.ts index 86f27e9..51a43ff 100644 --- a/e2e/example.spec.ts +++ b/e2e/example.spec.ts @@ -1,8 +1,6 @@ import { expect, test } from '@playwright/test' test('has title', async ({ page }) => { - await page.goto('/'); - - // Expect a title "to contain" a substring. - await expect(page).toHaveTitle(/Dzeio/); + await page.goto('/') + await expect(page).toHaveTitle(/Trouve ta pièce/) }) diff --git a/hooks/routing.ts b/hooks/routing.ts index 3a6c7a2..495bac6 100644 --- a/hooks/routing.ts +++ b/hooks/routing.ts @@ -1,5 +1,5 @@ -import type { AstroIntegration } from 'astro' import fs from 'node:fs/promises' +import type { AstroIntegration } from 'astro' const baseFile = ` import { objectLoop } from '@dzeio/object-util' @@ -60,7 +60,6 @@ async function updateRoutes(output: string, routes: Array) { await fs.writeFile(output, file) } - /** * format the path back to an url usable by the app * @@ -134,19 +133,22 @@ const integration: () => AstroIntegration = () => ({ outputFile = srcFolder + 'route.ts' // get the files list - const files = (await Promise.all([ - await getFiles(pagesFolder).then((ev) => ev.map((it) => formatPath(pagesFolder, it))), - await getFiles(publicFolder).then((ev) => ev.map((it) => formatPath(publicFolder, it, false))) - ])).flat() + const files = ( + await Promise.all([ + await getFiles(pagesFolder).then((ev) => ev.map((it) => formatPath(pagesFolder, it))), + await getFiles(publicFolder).then((ev) => ev.map((it) => formatPath(publicFolder, it, false))) + ]) + ).flat() await updateRoutes(outputFile, files) }, 'astro:server:setup': async ({ server }) => { - // get the files list - const files = (await Promise.all([ - await getFiles(pagesFolder).then((ev) => ev.map((it) => formatPath(pagesFolder, it))), - await getFiles(publicFolder).then((ev) => ev.map((it) => formatPath(publicFolder, it, false))) - ])).flat() + const files = ( + await Promise.all([ + await getFiles(pagesFolder).then((ev) => ev.map((it) => formatPath(pagesFolder, it))), + await getFiles(publicFolder).then((ev) => ev.map((it) => formatPath(publicFolder, it, false))) + ]) + ).flat() // watch FS changes for new files to add them to the route list server.watcher.on('add', (path) => { @@ -158,7 +160,7 @@ const integration: () => AstroIntegration = () => ({ let removeExtension = true let folder = pagesFolder - if(path.startsWith(publicFolder)) { + if (path.startsWith(publicFolder)) { removeExtension = false folder = publicFolder } else if (!path.startsWith(folder)) { @@ -178,7 +180,7 @@ const integration: () => AstroIntegration = () => ({ path = path.replace(/\\/g, '/') let removeExtension = true let folder = pagesFolder - if(path.startsWith(publicFolder)) { + if (path.startsWith(publicFolder)) { removeExtension = false folder = publicFolder } diff --git a/nginx.conf b/nginx.conf index 2e3c2cc..ad2f82e 100644 --- a/nginx.conf +++ b/nginx.conf @@ -23,15 +23,15 @@ http { error_page 404 /404.html; error_page 500 502 503 504 /500.html; - # Security headers (note: temporarely unvailable "prefetch-src 'self'; ") - add_header Content-Security-Policy "default-src 'self'; frame-ancestors 'none'; form-action 'self'; manifest-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src data: 'self'; font-src 'self'; connect-src 'self'; base-uri 'self';"; - add_header X-Frame-Options "DENY"; - add_header X-XSS-Protection "1; mode=block"; - add_header X-Content-Type-Options "nosniff"; - add_header Referrer-Policy "no-referrer"; - add_header Permissions-Policy "geolocation=(), microphone=(), interest-cohort=()"; - add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; - add_header X-Download-Options "noopen"; + # Security headers (gardés alignés avec src/middleware/securityHeaders.ts) + add_header Content-Security-Policy "default-src 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'none'; form-action 'self'; manifest-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data:; font-src 'self' https://fonts.gstatic.com data:; connect-src 'self'; upgrade-insecure-requests;" always; + add_header X-Frame-Options "DENY" always; + add_header X-Content-Type-Options "nosniff" always; + add_header Referrer-Policy "strict-origin-when-cross-origin" always; + add_header Permissions-Policy "geolocation=(), camera=(), microphone=(), browsing-topics=()" always; + add_header Cross-Origin-Opener-Policy "same-origin" always; + add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always; + add_header X-Download-Options "noopen" always; location / { try_files $uri $uri.html $uri/index.html /$uri /$uri/index.html /index.html; diff --git a/playwright.config.ts b/playwright.config.ts index 389ab53..144c156 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -12,32 +12,39 @@ export default defineConfig({ fullyParallel: true, forbidOnly: !!process.env.CI, retries: process.env.CI ? 2 : 0, - workers: process.env.CI ? 1 : undefined as any, - reporter: process.env.CI ? 'list' : [['html', { - outputFolder: './playwright/report', - open: 'never' - }]], + workers: process.env.CI ? 1 : (undefined as any), + reporter: process.env.CI + ? 'list' + : [ + [ + 'html', + { + outputFolder: './playwright/report', + open: 'never' + } + ] + ], use: { baseURL: 'http://localhost:3000', - trace: 'on-first-retry', + trace: 'on-first-retry' }, /* Configure projects for major browsers */ projects: [ { - name: 'chromium', - use: { ...devices['Desktop Chrome'] }, + name: 'chromium', + use: { ...devices['Desktop Chrome'] } }, { - name: 'firefox', - use: { ...devices['Desktop Firefox'] }, + name: 'firefox', + use: { ...devices['Desktop Firefox'] } }, { - name: 'webkit', - use: { ...devices['Desktop Safari'] }, - }, + name: 'webkit', + use: { ...devices['Desktop Safari'] } + } /* Test against mobile viewports. */ // { @@ -58,5 +65,5 @@ export default defineConfig({ // name: 'Google Chrome', // use: { ...devices['Desktop Chrome'], channel: 'chrome' }, // }, - ], + ] }) diff --git a/public/robots.txt b/public/robots.txt index d6acdf4..cf6bc3f 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -1,7 +1,5 @@ User-agent: * -Disallow: /private/ -Disallow: /temp/ -Allow: /public/ -Allow: /favicon.ico +Allow: / +Disallow: /api/ Sitemap: https://trouve-ta-piece.fr/sitemap.xml diff --git a/src/assets/fonts/oswald-variable-latin.woff2 b/src/assets/fonts/oswald-variable-latin.woff2 new file mode 100644 index 0000000..7b2a550 Binary files /dev/null and b/src/assets/fonts/oswald-variable-latin.woff2 differ diff --git a/src/assets/fonts/outfit-variable-latin.woff2 b/src/assets/fonts/outfit-variable-latin.woff2 new file mode 100644 index 0000000..85e3332 Binary files /dev/null and b/src/assets/fonts/outfit-variable-latin.woff2 differ diff --git a/src/assets/images/2fast.svg b/src/assets/images/2fast.svg new file mode 100644 index 0000000..0bf4086 --- /dev/null +++ b/src/assets/images/2fast.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/50mhr.png b/src/assets/images/50mhr.png new file mode 100644 index 0000000..1a162a4 Binary files /dev/null and b/src/assets/images/50mhr.png differ diff --git a/src/assets/images/50mk.png b/src/assets/images/50mk.png new file mode 100644 index 0000000..eb92d76 Binary files /dev/null and b/src/assets/images/50mk.png differ diff --git a/src/assets/images/70airsal.png b/src/assets/images/70airsal.png new file mode 100644 index 0000000..d999926 Binary files /dev/null and b/src/assets/images/70airsal.png differ diff --git a/src/assets/images/70airsalfonte.png b/src/assets/images/70airsalfonte.png new file mode 100644 index 0000000..c17a349 Binary files /dev/null and b/src/assets/images/70airsalfonte.png differ diff --git a/src/assets/images/70bida.png b/src/assets/images/70bida.png new file mode 100644 index 0000000..ddc78fe Binary files /dev/null and b/src/assets/images/70bida.png differ diff --git a/src/assets/images/80brk.png b/src/assets/images/80brk.png new file mode 100644 index 0000000..9805352 Binary files /dev/null and b/src/assets/images/80brk.png differ diff --git a/src/assets/images/80most.png b/src/assets/images/80most.png new file mode 100644 index 0000000..0660206 Binary files /dev/null and b/src/assets/images/80most.png differ diff --git a/src/assets/images/90bida.png b/src/assets/images/90bida.png new file mode 100644 index 0000000..409234d Binary files /dev/null and b/src/assets/images/90bida.png differ diff --git a/src/assets/images/accessoire.jpg b/src/assets/images/accessoire.jpg new file mode 100644 index 0000000..bfbc665 Binary files /dev/null and b/src/assets/images/accessoire.jpg differ diff --git a/src/assets/images/admiita.png b/src/assets/images/admiita.png new file mode 100644 index 0000000..10e57a6 Binary files /dev/null and b/src/assets/images/admiita.png differ diff --git a/src/assets/images/airsal.png b/src/assets/images/airsal.png new file mode 100644 index 0000000..ea9814c Binary files /dev/null and b/src/assets/images/airsal.png differ diff --git a/src/assets/images/airsalxtrem.png b/src/assets/images/airsalxtrem.png new file mode 100644 index 0000000..ee90e29 Binary files /dev/null and b/src/assets/images/airsalxtrem.png differ diff --git a/src/assets/images/alesage.png b/src/assets/images/alesage.png new file mode 100644 index 0000000..35c58a9 Binary files /dev/null and b/src/assets/images/alesage.png differ diff --git a/src/assets/images/antivol.png b/src/assets/images/antivol.png new file mode 100644 index 0000000..d20151e Binary files /dev/null and b/src/assets/images/antivol.png differ diff --git a/src/assets/images/antoine.jpeg b/src/assets/images/antoine.jpeg new file mode 100644 index 0000000..9491c52 Binary files /dev/null and b/src/assets/images/antoine.jpeg differ diff --git a/src/assets/images/appli.png b/src/assets/images/appli.png new file mode 100644 index 0000000..9c4e83d Binary files /dev/null and b/src/assets/images/appli.png differ diff --git a/src/assets/images/ardv2.png b/src/assets/images/ardv2.png new file mode 100644 index 0000000..210fb4b Binary files /dev/null and b/src/assets/images/ardv2.png differ diff --git a/src/assets/images/arriere.png b/src/assets/images/arriere.png new file mode 100644 index 0000000..e38605b Binary files /dev/null and b/src/assets/images/arriere.png differ diff --git a/src/assets/images/artekk2.png b/src/assets/images/artekk2.png new file mode 100644 index 0000000..7ddedc8 Binary files /dev/null and b/src/assets/images/artekk2.png differ diff --git a/src/assets/images/astuce.avif b/src/assets/images/astuce.avif new file mode 100644 index 0000000..fa1a09e Binary files /dev/null and b/src/assets/images/astuce.avif differ diff --git a/src/assets/images/autocollant.png b/src/assets/images/autocollant.png new file mode 100644 index 0000000..8e3b635 Binary files /dev/null and b/src/assets/images/autocollant.png differ diff --git a/src/assets/images/autosol.png b/src/assets/images/autosol.png new file mode 100644 index 0000000..ef23ef7 Binary files /dev/null and b/src/assets/images/autosol.png differ diff --git a/src/assets/images/baatop.png b/src/assets/images/baatop.png new file mode 100644 index 0000000..f600d46 Binary files /dev/null and b/src/assets/images/baatop.png differ diff --git a/src/assets/images/barre.png b/src/assets/images/barre.png new file mode 100644 index 0000000..f1c9ff9 Binary files /dev/null and b/src/assets/images/barre.png differ diff --git a/src/assets/images/barreAlu.png b/src/assets/images/barreAlu.png new file mode 100644 index 0000000..30b4864 Binary files /dev/null and b/src/assets/images/barreAlu.png differ diff --git a/src/assets/images/bg.svg b/src/assets/images/bg.svg new file mode 100644 index 0000000..be5d1f3 --- /dev/null +++ b/src/assets/images/bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/bida.png b/src/assets/images/bida.png new file mode 100644 index 0000000..ffb2395 Binary files /dev/null and b/src/assets/images/bida.png differ diff --git a/src/assets/images/bks.png b/src/assets/images/bks.png new file mode 100644 index 0000000..fbd19aa Binary files /dev/null and b/src/assets/images/bks.png differ diff --git a/src/assets/images/blouson.jpg b/src/assets/images/blouson.jpg new file mode 100644 index 0000000..959e2bf Binary files /dev/null and b/src/assets/images/blouson.jpg differ diff --git a/src/assets/images/boite.jpg b/src/assets/images/boite.jpg new file mode 100644 index 0000000..bc6efe2 Binary files /dev/null and b/src/assets/images/boite.jpg differ diff --git a/src/assets/images/boite.png b/src/assets/images/boite.png new file mode 100644 index 0000000..707061d Binary files /dev/null and b/src/assets/images/boite.png differ diff --git a/src/assets/images/bottes.jpg b/src/assets/images/bottes.jpg new file mode 100644 index 0000000..640dc48 Binary files /dev/null and b/src/assets/images/bottes.jpg differ diff --git a/src/assets/images/bottes.webp b/src/assets/images/bottes.webp new file mode 100644 index 0000000..2a51c06 Binary files /dev/null and b/src/assets/images/bottes.webp differ diff --git a/src/assets/images/bougie.png b/src/assets/images/bougie.png new file mode 100644 index 0000000..8d7d83e Binary files /dev/null and b/src/assets/images/bougie.png differ diff --git a/src/assets/images/brk.png b/src/assets/images/brk.png new file mode 100644 index 0000000..c50d8d7 Binary files /dev/null and b/src/assets/images/brk.png differ diff --git a/src/assets/images/brosse.png b/src/assets/images/brosse.png new file mode 100644 index 0000000..3ef73d4 Binary files /dev/null and b/src/assets/images/brosse.png differ diff --git a/src/assets/images/burette.png b/src/assets/images/burette.png new file mode 100644 index 0000000..387a2db Binary files /dev/null and b/src/assets/images/burette.png differ diff --git a/src/assets/images/cacheAllumage.png b/src/assets/images/cacheAllumage.png new file mode 100644 index 0000000..9e5a6f2 Binary files /dev/null and b/src/assets/images/cacheAllumage.png differ diff --git a/src/assets/images/cagoule.png b/src/assets/images/cagoule.png new file mode 100644 index 0000000..ac360e3 Binary files /dev/null and b/src/assets/images/cagoule.png differ diff --git a/src/assets/images/caisse.png b/src/assets/images/caisse.png new file mode 100644 index 0000000..d5eecfd Binary files /dev/null and b/src/assets/images/caisse.png differ diff --git a/src/assets/images/cale-pied.png b/src/assets/images/cale-pied.png new file mode 100644 index 0000000..94dc82f Binary files /dev/null and b/src/assets/images/cale-pied.png differ diff --git a/src/assets/images/camera.jpg b/src/assets/images/camera.jpg new file mode 100644 index 0000000..0a25157 Binary files /dev/null and b/src/assets/images/camera.jpg differ diff --git a/src/assets/images/carbone.png b/src/assets/images/carbone.png new file mode 100644 index 0000000..e4430c8 Binary files /dev/null and b/src/assets/images/carbone.png differ diff --git a/src/assets/images/carbu.png b/src/assets/images/carbu.png new file mode 100644 index 0000000..a90702e Binary files /dev/null and b/src/assets/images/carbu.png differ diff --git a/src/assets/images/carbupolini.png b/src/assets/images/carbupolini.png new file mode 100644 index 0000000..82d118c Binary files /dev/null and b/src/assets/images/carbupolini.png differ diff --git a/src/assets/images/cardo.png b/src/assets/images/cardo.png new file mode 100644 index 0000000..58b4ffb Binary files /dev/null and b/src/assets/images/cardo.png differ diff --git a/src/assets/images/casque.jpg b/src/assets/images/casque.jpg new file mode 100644 index 0000000..b73f78e Binary files /dev/null and b/src/assets/images/casque.jpg differ diff --git a/src/assets/images/chaine.png b/src/assets/images/chaine.png new file mode 100644 index 0000000..8c4e9e0 Binary files /dev/null and b/src/assets/images/chaine.png differ diff --git a/src/assets/images/charlie.jpg b/src/assets/images/charlie.jpg new file mode 100644 index 0000000..e35aa67 Binary files /dev/null and b/src/assets/images/charlie.jpg differ diff --git a/src/assets/images/cligno-progressif.png b/src/assets/images/cligno-progressif.png new file mode 100644 index 0000000..1b66df5 Binary files /dev/null and b/src/assets/images/cligno-progressif.png differ diff --git a/src/assets/images/cligno.jpg b/src/assets/images/cligno.jpg new file mode 100644 index 0000000..3626c34 Binary files /dev/null and b/src/assets/images/cligno.jpg differ diff --git a/src/assets/images/clutch.png b/src/assets/images/clutch.png new file mode 100644 index 0000000..5357ba7 Binary files /dev/null and b/src/assets/images/clutch.png differ diff --git a/src/assets/images/cnc.jpg b/src/assets/images/cnc.jpg new file mode 100644 index 0000000..9c46c0e Binary files /dev/null and b/src/assets/images/cnc.jpg differ diff --git a/src/assets/images/combi.jpg b/src/assets/images/combi.jpg new file mode 100644 index 0000000..b1ab51f Binary files /dev/null and b/src/assets/images/combi.jpg differ diff --git a/src/assets/images/combi.png b/src/assets/images/combi.png new file mode 100644 index 0000000..d1c875e Binary files /dev/null and b/src/assets/images/combi.png differ diff --git a/src/assets/images/cover.png b/src/assets/images/cover.png new file mode 100644 index 0000000..6dfc372 Binary files /dev/null and b/src/assets/images/cover.png differ diff --git a/src/assets/images/cuir.png b/src/assets/images/cuir.png new file mode 100644 index 0000000..bdbbe2a Binary files /dev/null and b/src/assets/images/cuir.png differ diff --git a/src/assets/images/cylindre2fast.png b/src/assets/images/cylindre2fast.png new file mode 100644 index 0000000..3a9e288 Binary files /dev/null and b/src/assets/images/cylindre2fast.png differ diff --git a/src/assets/images/dayuan.png b/src/assets/images/dayuan.png new file mode 100644 index 0000000..f5dcf2a Binary files /dev/null and b/src/assets/images/dayuan.png differ diff --git a/src/assets/images/deco.png b/src/assets/images/deco.png new file mode 100644 index 0000000..63fff24 Binary files /dev/null and b/src/assets/images/deco.png differ diff --git a/src/assets/images/detail.png b/src/assets/images/detail.png new file mode 100644 index 0000000..47e89cb Binary files /dev/null and b/src/assets/images/detail.png differ diff --git a/src/assets/images/detailing.png b/src/assets/images/detailing.png new file mode 100644 index 0000000..6fdc5b2 Binary files /dev/null and b/src/assets/images/detailing.png differ diff --git a/src/assets/images/disque.png b/src/assets/images/disque.png new file mode 100644 index 0000000..261c477 Binary files /dev/null and b/src/assets/images/disque.png differ diff --git a/src/assets/images/doppler.png b/src/assets/images/doppler.png new file mode 100644 index 0000000..43946d7 Binary files /dev/null and b/src/assets/images/doppler.png differ diff --git a/src/assets/images/double.svg b/src/assets/images/double.svg new file mode 100644 index 0000000..9acc177 --- /dev/null +++ b/src/assets/images/double.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/images/dremel.png b/src/assets/images/dremel.png new file mode 100644 index 0000000..807eaa9 Binary files /dev/null and b/src/assets/images/dremel.png differ diff --git a/src/assets/images/dynamo.png b/src/assets/images/dynamo.png new file mode 100644 index 0000000..1a67a54 Binary files /dev/null and b/src/assets/images/dynamo.png differ diff --git a/src/assets/images/embro.png b/src/assets/images/embro.png new file mode 100644 index 0000000..caec295 Binary files /dev/null and b/src/assets/images/embro.png differ diff --git a/src/assets/images/entretien.jpg b/src/assets/images/entretien.jpg new file mode 100644 index 0000000..20be9d0 Binary files /dev/null and b/src/assets/images/entretien.jpg differ diff --git a/src/assets/images/equipement-search.png b/src/assets/images/equipement-search.png new file mode 100644 index 0000000..65b4be0 Binary files /dev/null and b/src/assets/images/equipement-search.png differ diff --git a/src/assets/images/equipement.webp b/src/assets/images/equipement.webp new file mode 100644 index 0000000..3fe7fcd Binary files /dev/null and b/src/assets/images/equipement.webp differ diff --git a/src/assets/images/etrier.webp b/src/assets/images/etrier.webp new file mode 100644 index 0000000..885e644 Binary files /dev/null and b/src/assets/images/etrier.webp differ diff --git a/src/assets/images/evomosa.png b/src/assets/images/evomosa.png new file mode 100644 index 0000000..7037fd5 Binary files /dev/null and b/src/assets/images/evomosa.png differ diff --git a/src/assets/images/exc.png b/src/assets/images/exc.png new file mode 100644 index 0000000..b8ef02f Binary files /dev/null and b/src/assets/images/exc.png differ diff --git a/src/assets/images/extracteur.png b/src/assets/images/extracteur.png new file mode 100644 index 0000000..d783871 Binary files /dev/null and b/src/assets/images/extracteur.png differ diff --git a/src/assets/images/fast.png b/src/assets/images/fast.png new file mode 100644 index 0000000..d071183 Binary files /dev/null and b/src/assets/images/fast.png differ diff --git a/src/assets/images/fastCyl.png b/src/assets/images/fastCyl.png new file mode 100644 index 0000000..72d43e7 Binary files /dev/null and b/src/assets/images/fastCyl.png differ diff --git a/src/assets/images/favIcon.svg b/src/assets/images/favIcon.svg new file mode 100644 index 0000000..2da2984 --- /dev/null +++ b/src/assets/images/favIcon.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/feu.jpeg b/src/assets/images/feu.jpeg new file mode 100644 index 0000000..0c6d9bb Binary files /dev/null and b/src/assets/images/feu.jpeg differ diff --git a/src/assets/images/fixation-moto.png b/src/assets/images/fixation-moto.png new file mode 100644 index 0000000..4d12526 Binary files /dev/null and b/src/assets/images/fixation-moto.png differ diff --git a/src/assets/images/flacon.png b/src/assets/images/flacon.png new file mode 100644 index 0000000..6f1ed64 Binary files /dev/null and b/src/assets/images/flacon.png differ diff --git a/src/assets/images/flush.webp b/src/assets/images/flush.webp new file mode 100644 index 0000000..bbf3014 Binary files /dev/null and b/src/assets/images/flush.webp differ diff --git a/src/assets/images/fraise.png b/src/assets/images/fraise.png new file mode 100644 index 0000000..0aae922 Binary files /dev/null and b/src/assets/images/fraise.png differ diff --git a/src/assets/images/freinage.jpg b/src/assets/images/freinage.jpg new file mode 100644 index 0000000..ca4030d Binary files /dev/null and b/src/assets/images/freinage.jpg differ diff --git a/src/assets/images/full9.png b/src/assets/images/full9.png new file mode 100644 index 0000000..5504dae Binary files /dev/null and b/src/assets/images/full9.png differ diff --git a/src/assets/images/gant.jpg b/src/assets/images/gant.jpg new file mode 100644 index 0000000..f908012 Binary files /dev/null and b/src/assets/images/gant.jpg differ diff --git a/src/assets/images/gonfleur.png b/src/assets/images/gonfleur.png new file mode 100644 index 0000000..a797b21 Binary files /dev/null and b/src/assets/images/gonfleur.png differ diff --git a/src/assets/images/graisse.png b/src/assets/images/graisse.png new file mode 100644 index 0000000..e21f8bb Binary files /dev/null and b/src/assets/images/graisse.png differ diff --git a/src/assets/images/greluma.png b/src/assets/images/greluma.png new file mode 100644 index 0000000..5666b95 Binary files /dev/null and b/src/assets/images/greluma.png differ diff --git a/src/assets/images/grille.png b/src/assets/images/grille.png new file mode 100644 index 0000000..06d95e8 Binary files /dev/null and b/src/assets/images/grille.png differ diff --git a/src/assets/images/guidon.png b/src/assets/images/guidon.png new file mode 100644 index 0000000..c5cd52e Binary files /dev/null and b/src/assets/images/guidon.png differ diff --git a/src/assets/images/gxs.jpg b/src/assets/images/gxs.jpg new file mode 100644 index 0000000..a95c8c7 Binary files /dev/null and b/src/assets/images/gxs.jpg differ diff --git a/src/assets/images/holshot.webp b/src/assets/images/holshot.webp new file mode 100644 index 0000000..7e43944 Binary files /dev/null and b/src/assets/images/holshot.webp differ diff --git a/src/assets/images/housse.png b/src/assets/images/housse.png new file mode 100644 index 0000000..7be9011 Binary files /dev/null and b/src/assets/images/housse.png differ diff --git a/src/assets/images/inertie.png b/src/assets/images/inertie.png new file mode 100644 index 0000000..814f684 Binary files /dev/null and b/src/assets/images/inertie.png differ diff --git a/src/assets/images/jfg.png b/src/assets/images/jfg.png new file mode 100644 index 0000000..38accba Binary files /dev/null and b/src/assets/images/jfg.png differ diff --git a/src/assets/images/k1.png b/src/assets/images/k1.png new file mode 100644 index 0000000..04c324e Binary files /dev/null and b/src/assets/images/k1.png differ diff --git a/src/assets/images/kit-nettoyage.png b/src/assets/images/kit-nettoyage.png new file mode 100644 index 0000000..3749672 Binary files /dev/null and b/src/assets/images/kit-nettoyage.png differ diff --git a/src/assets/images/leve-moto-pliable.png b/src/assets/images/leve-moto-pliable.png new file mode 100644 index 0000000..2638403 Binary files /dev/null and b/src/assets/images/leve-moto-pliable.png differ diff --git a/src/assets/images/leve-moto.png b/src/assets/images/leve-moto.png new file mode 100644 index 0000000..fb52484 Binary files /dev/null and b/src/assets/images/leve-moto.png differ diff --git a/src/assets/images/lmr.png b/src/assets/images/lmr.png new file mode 100644 index 0000000..6a8073c Binary files /dev/null and b/src/assets/images/lmr.png differ diff --git a/src/assets/images/logo.svg b/src/assets/images/logo.svg new file mode 100644 index 0000000..3129eae --- /dev/null +++ b/src/assets/images/logo.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/assets/images/logo2.png b/src/assets/images/logo2.png new file mode 100644 index 0000000..2f99698 Binary files /dev/null and b/src/assets/images/logo2.png differ diff --git a/src/assets/images/logo2.svg b/src/assets/images/logo2.svg new file mode 100644 index 0000000..a919e18 --- /dev/null +++ b/src/assets/images/logo2.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/lucas.png b/src/assets/images/lucas.png new file mode 100644 index 0000000..1659c30 Binary files /dev/null and b/src/assets/images/lucas.png differ diff --git a/src/assets/images/madbike.png b/src/assets/images/madbike.png new file mode 100644 index 0000000..cc06e57 Binary files /dev/null and b/src/assets/images/madbike.png differ diff --git a/src/assets/images/malossi.png b/src/assets/images/malossi.png new file mode 100644 index 0000000..0e99c1f Binary files /dev/null and b/src/assets/images/malossi.png differ diff --git a/src/assets/images/manchon.jpg b/src/assets/images/manchon.jpg new file mode 100644 index 0000000..a321bfe Binary files /dev/null and b/src/assets/images/manchon.jpg differ diff --git a/src/assets/images/mcAdelin.png b/src/assets/images/mcAdelin.png new file mode 100644 index 0000000..c1cd6a9 Binary files /dev/null and b/src/assets/images/mcAdelin.png differ diff --git a/src/assets/images/mecanique.jpg b/src/assets/images/mecanique.jpg new file mode 100644 index 0000000..f1dd9e3 Binary files /dev/null and b/src/assets/images/mecanique.jpg differ diff --git a/src/assets/images/mk.svg b/src/assets/images/mk.svg new file mode 100644 index 0000000..a2273d3 --- /dev/null +++ b/src/assets/images/mk.svg @@ -0,0 +1,457 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/moi.jpg b/src/assets/images/moi.jpg new file mode 100644 index 0000000..b781df9 Binary files /dev/null and b/src/assets/images/moi.jpg differ diff --git a/src/assets/images/moi.png b/src/assets/images/moi.png new file mode 100644 index 0000000..b98cb19 Binary files /dev/null and b/src/assets/images/moi.png differ diff --git a/src/assets/images/monimoto.svg b/src/assets/images/monimoto.svg new file mode 100644 index 0000000..8aa431f --- /dev/null +++ b/src/assets/images/monimoto.svg @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/montageRoulement.png b/src/assets/images/montageRoulement.png new file mode 100644 index 0000000..717b9df Binary files /dev/null and b/src/assets/images/montageRoulement.png differ diff --git a/src/assets/images/most.png b/src/assets/images/most.png new file mode 100644 index 0000000..73557e9 Binary files /dev/null and b/src/assets/images/most.png differ diff --git a/src/assets/images/moteur.png b/src/assets/images/moteur.png new file mode 100644 index 0000000..244fd46 Binary files /dev/null and b/src/assets/images/moteur.png differ diff --git a/src/assets/images/motor.svg b/src/assets/images/motor.svg new file mode 100644 index 0000000..8f930e2 --- /dev/null +++ b/src/assets/images/motor.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/motul800.png b/src/assets/images/motul800.png new file mode 100644 index 0000000..5b5513f Binary files /dev/null and b/src/assets/images/motul800.png differ diff --git a/src/assets/images/muc-logo.png b/src/assets/images/muc-logo.png new file mode 100644 index 0000000..fdeda26 Binary files /dev/null and b/src/assets/images/muc-logo.png differ diff --git a/src/assets/images/muc-off.webp b/src/assets/images/muc-off.webp new file mode 100644 index 0000000..90176b1 Binary files /dev/null and b/src/assets/images/muc-off.webp differ diff --git a/src/assets/images/mycover.avif b/src/assets/images/mycover.avif new file mode 100644 index 0000000..99ead90 Binary files /dev/null and b/src/assets/images/mycover.avif differ diff --git a/src/assets/images/nettoyage.jpg b/src/assets/images/nettoyage.jpg new file mode 100644 index 0000000..b493ce5 Binary files /dev/null and b/src/assets/images/nettoyage.jpg differ diff --git a/src/assets/images/nettoyage.png b/src/assets/images/nettoyage.png new file mode 100644 index 0000000..b9de836 Binary files /dev/null and b/src/assets/images/nettoyage.png differ diff --git a/src/assets/images/nettoyant-frein.png b/src/assets/images/nettoyant-frein.png new file mode 100644 index 0000000..68ec330 Binary files /dev/null and b/src/assets/images/nettoyant-frein.png differ diff --git a/src/assets/images/of.jpg b/src/assets/images/of.jpg new file mode 100644 index 0000000..a195762 Binary files /dev/null and b/src/assets/images/of.jpg differ diff --git a/src/assets/images/pedroni-search.png b/src/assets/images/pedroni-search.png new file mode 100644 index 0000000..68df3db Binary files /dev/null and b/src/assets/images/pedroni-search.png differ diff --git a/src/assets/images/pedroni.jpeg b/src/assets/images/pedroni.jpeg new file mode 100644 index 0000000..7a04639 Binary files /dev/null and b/src/assets/images/pedroni.jpeg differ diff --git a/src/assets/images/peteuse.png b/src/assets/images/peteuse.png new file mode 100644 index 0000000..e2991e6 Binary files /dev/null and b/src/assets/images/peteuse.png differ diff --git a/src/assets/images/pied.png b/src/assets/images/pied.png new file mode 100644 index 0000000..9702ee7 Binary files /dev/null and b/src/assets/images/pied.png differ diff --git a/src/assets/images/pige.png b/src/assets/images/pige.png new file mode 100644 index 0000000..d81484c Binary files /dev/null and b/src/assets/images/pige.png differ diff --git a/src/assets/images/plus.png b/src/assets/images/plus.png new file mode 100644 index 0000000..cb6c40a Binary files /dev/null and b/src/assets/images/plus.png differ diff --git a/src/assets/images/pneu-pmt.png b/src/assets/images/pneu-pmt.png new file mode 100644 index 0000000..bb63416 Binary files /dev/null and b/src/assets/images/pneu-pmt.png differ diff --git a/src/assets/images/poignee.png b/src/assets/images/poignee.png new file mode 100644 index 0000000..6864c1b Binary files /dev/null and b/src/assets/images/poignee.png differ diff --git a/src/assets/images/polisport.png b/src/assets/images/polisport.png new file mode 100644 index 0000000..6a57d60 Binary files /dev/null and b/src/assets/images/polisport.png differ diff --git a/src/assets/images/potbida.png b/src/assets/images/potbida.png new file mode 100644 index 0000000..31f9197 Binary files /dev/null and b/src/assets/images/potbida.png differ diff --git a/src/assets/images/potmost.png b/src/assets/images/potmost.png new file mode 100644 index 0000000..4b4a756 Binary files /dev/null and b/src/assets/images/potmost.png differ diff --git a/src/assets/images/potmost50.png b/src/assets/images/potmost50.png new file mode 100644 index 0000000..16b3938 Binary files /dev/null and b/src/assets/images/potmost50.png differ diff --git a/src/assets/images/potmost70.png b/src/assets/images/potmost70.png new file mode 100644 index 0000000..8d58c03 Binary files /dev/null and b/src/assets/images/potmost70.png differ diff --git a/src/assets/images/potvoca.png b/src/assets/images/potvoca.png new file mode 100644 index 0000000..6b27a63 Binary files /dev/null and b/src/assets/images/potvoca.png differ diff --git a/src/assets/images/precision.webp b/src/assets/images/precision.webp new file mode 100644 index 0000000..1952339 Binary files /dev/null and b/src/assets/images/precision.webp differ diff --git a/src/assets/images/prepa.jpg b/src/assets/images/prepa.jpg new file mode 100644 index 0000000..8e22e68 Binary files /dev/null and b/src/assets/images/prepa.jpg differ diff --git a/src/assets/images/preparateur.jpg b/src/assets/images/preparateur.jpg new file mode 100644 index 0000000..83a0f9f Binary files /dev/null and b/src/assets/images/preparateur.jpg differ diff --git a/src/assets/images/prettyle.png b/src/assets/images/prettyle.png new file mode 100644 index 0000000..9c8eab0 Binary files /dev/null and b/src/assets/images/prettyle.png differ diff --git a/src/assets/images/prorace.png b/src/assets/images/prorace.png new file mode 100644 index 0000000..707580f Binary files /dev/null and b/src/assets/images/prorace.png differ diff --git a/src/assets/images/protec.png b/src/assets/images/protec.png new file mode 100644 index 0000000..cd2e7c9 Binary files /dev/null and b/src/assets/images/protec.png differ diff --git a/src/assets/images/protege-levier.png b/src/assets/images/protege-levier.png new file mode 100644 index 0000000..2bada39 Binary files /dev/null and b/src/assets/images/protege-levier.png differ diff --git a/src/assets/images/protege.jpg b/src/assets/images/protege.jpg new file mode 100644 index 0000000..7053946 Binary files /dev/null and b/src/assets/images/protege.jpg differ diff --git a/src/assets/images/pvl.png b/src/assets/images/pvl.png new file mode 100644 index 0000000..0519166 Binary files /dev/null and b/src/assets/images/pvl.png differ diff --git a/src/assets/images/rabat.png b/src/assets/images/rabat.png new file mode 100644 index 0000000..f683b9f Binary files /dev/null and b/src/assets/images/rabat.png differ diff --git a/src/assets/images/radia.jpg b/src/assets/images/radia.jpg new file mode 100644 index 0000000..2350093 Binary files /dev/null and b/src/assets/images/radia.jpg differ diff --git a/src/assets/images/rcs.png b/src/assets/images/rcs.png new file mode 100644 index 0000000..fef7680 Binary files /dev/null and b/src/assets/images/rcs.png differ diff --git a/src/assets/images/renvoie.png b/src/assets/images/renvoie.png new file mode 100644 index 0000000..3af7046 Binary files /dev/null and b/src/assets/images/renvoie.png differ diff --git a/src/assets/images/risk.avif b/src/assets/images/risk.avif new file mode 100644 index 0000000..019c318 Binary files /dev/null and b/src/assets/images/risk.avif differ diff --git a/src/assets/images/selle.png b/src/assets/images/selle.png new file mode 100644 index 0000000..2996b53 Binary files /dev/null and b/src/assets/images/selle.png differ diff --git a/src/assets/images/shark.png b/src/assets/images/shark.png new file mode 100644 index 0000000..89200a6 Binary files /dev/null and b/src/assets/images/shark.png differ diff --git a/src/assets/images/simple.svg b/src/assets/images/simple.svg new file mode 100644 index 0000000..dbb4f72 --- /dev/null +++ b/src/assets/images/simple.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/images/slick.jpg b/src/assets/images/slick.jpg new file mode 100644 index 0000000..cf07c71 Binary files /dev/null and b/src/assets/images/slick.jpg differ diff --git a/src/assets/images/slick.png b/src/assets/images/slick.png new file mode 100644 index 0000000..0547995 Binary files /dev/null and b/src/assets/images/slick.png differ diff --git a/src/assets/images/slide.png b/src/assets/images/slide.png new file mode 100644 index 0000000..bccf588 Binary files /dev/null and b/src/assets/images/slide.png differ diff --git a/src/assets/images/stand.png b/src/assets/images/stand.png new file mode 100644 index 0000000..b6962d3 Binary files /dev/null and b/src/assets/images/stand.png differ diff --git a/src/assets/images/street.png b/src/assets/images/street.png new file mode 100644 index 0000000..728cf19 Binary files /dev/null and b/src/assets/images/street.png differ diff --git a/src/assets/images/support-pied.png b/src/assets/images/support-pied.png new file mode 100644 index 0000000..5508c33 Binary files /dev/null and b/src/assets/images/support-pied.png differ diff --git a/src/assets/images/support.png b/src/assets/images/support.png new file mode 100644 index 0000000..8a5196b Binary files /dev/null and b/src/assets/images/support.png differ diff --git a/src/assets/images/supportTel.png b/src/assets/images/supportTel.png new file mode 100644 index 0000000..90db185 Binary files /dev/null and b/src/assets/images/supportTel.png differ diff --git a/src/assets/images/t.png b/src/assets/images/t.png new file mode 100644 index 0000000..b5be9e7 Binary files /dev/null and b/src/assets/images/t.png differ diff --git a/src/assets/images/tenu.jpg b/src/assets/images/tenu.jpg new file mode 100644 index 0000000..9bbb443 Binary files /dev/null and b/src/assets/images/tenu.jpg differ diff --git a/src/assets/images/top.jpg b/src/assets/images/top.jpg new file mode 100644 index 0000000..68a7ebe Binary files /dev/null and b/src/assets/images/top.jpg differ diff --git a/src/assets/images/top.webp b/src/assets/images/top.webp new file mode 100644 index 0000000..b7022a6 Binary files /dev/null and b/src/assets/images/top.webp differ diff --git a/src/assets/images/topPerf.png b/src/assets/images/topPerf.png new file mode 100644 index 0000000..b94db5e Binary files /dev/null and b/src/assets/images/topPerf.png differ diff --git a/src/assets/images/topalu.png b/src/assets/images/topalu.png new file mode 100644 index 0000000..e0cfbad Binary files /dev/null and b/src/assets/images/topalu.png differ diff --git a/src/assets/images/topnoir.png b/src/assets/images/topnoir.png new file mode 100644 index 0000000..402671c Binary files /dev/null and b/src/assets/images/topnoir.png differ diff --git a/src/assets/images/toprose.png b/src/assets/images/toprose.png new file mode 100644 index 0000000..83c77e9 Binary files /dev/null and b/src/assets/images/toprose.png differ diff --git a/src/assets/images/traceur.jpg b/src/assets/images/traceur.jpg new file mode 100644 index 0000000..b7daca7 Binary files /dev/null and b/src/assets/images/traceur.jpg differ diff --git a/src/assets/images/traceur.png b/src/assets/images/traceur.png new file mode 100644 index 0000000..90aa6a1 Binary files /dev/null and b/src/assets/images/traceur.png differ diff --git a/src/assets/images/triple.svg b/src/assets/images/triple.svg new file mode 100644 index 0000000..a6f1c30 --- /dev/null +++ b/src/assets/images/triple.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/assets/images/troisBranche.png b/src/assets/images/troisBranche.png new file mode 100644 index 0000000..246cbed Binary files /dev/null and b/src/assets/images/troisBranche.png differ diff --git a/src/assets/images/txt.png b/src/assets/images/txt.png new file mode 100644 index 0000000..9048ab7 Binary files /dev/null and b/src/assets/images/txt.png differ diff --git a/src/assets/images/txt80.png b/src/assets/images/txt80.png new file mode 100644 index 0000000..fe41b31 Binary files /dev/null and b/src/assets/images/txt80.png differ diff --git a/src/assets/images/universal.png b/src/assets/images/universal.png new file mode 100644 index 0000000..ace73c9 Binary files /dev/null and b/src/assets/images/universal.png differ diff --git a/src/assets/images/v21.png b/src/assets/images/v21.png new file mode 100644 index 0000000..bdbbaec Binary files /dev/null and b/src/assets/images/v21.png differ diff --git a/src/assets/images/vent.png b/src/assets/images/vent.png new file mode 100644 index 0000000..abd9278 Binary files /dev/null and b/src/assets/images/vent.png differ diff --git a/src/assets/images/vforce.png b/src/assets/images/vforce.png new file mode 100644 index 0000000..f6013d2 Binary files /dev/null and b/src/assets/images/vforce.png differ diff --git a/src/assets/images/viloairsal.png b/src/assets/images/viloairsal.png new file mode 100644 index 0000000..519fabe Binary files /dev/null and b/src/assets/images/viloairsal.png differ diff --git a/src/assets/images/vilobida.png b/src/assets/images/vilobida.png new file mode 100644 index 0000000..edb62d7 Binary files /dev/null and b/src/assets/images/vilobida.png differ diff --git a/src/assets/images/vilobida48.png b/src/assets/images/vilobida48.png new file mode 100644 index 0000000..3f20232 Binary files /dev/null and b/src/assets/images/vilobida48.png differ diff --git a/src/assets/images/vilofast.png b/src/assets/images/vilofast.png new file mode 100644 index 0000000..9d38fdf Binary files /dev/null and b/src/assets/images/vilofast.png differ diff --git a/src/assets/images/viloita44.png b/src/assets/images/viloita44.png new file mode 100644 index 0000000..f0bf1f4 Binary files /dev/null and b/src/assets/images/viloita44.png differ diff --git a/src/assets/images/viloitalikit.png b/src/assets/images/viloitalikit.png new file mode 100644 index 0000000..8d6c84f Binary files /dev/null and b/src/assets/images/viloitalikit.png differ diff --git a/src/assets/images/vilojasil.png b/src/assets/images/vilojasil.png new file mode 100644 index 0000000..f4b307e Binary files /dev/null and b/src/assets/images/vilojasil.png differ diff --git a/src/assets/images/vilojasilH.png b/src/assets/images/vilojasilH.png new file mode 100644 index 0000000..7cc024a Binary files /dev/null and b/src/assets/images/vilojasilH.png differ diff --git a/src/assets/images/vilojasilv.png b/src/assets/images/vilojasilv.png new file mode 100644 index 0000000..2e8ede4 Binary files /dev/null and b/src/assets/images/vilojasilv.png differ diff --git a/src/assets/images/vilomost.png b/src/assets/images/vilomost.png new file mode 100644 index 0000000..589df78 Binary files /dev/null and b/src/assets/images/vilomost.png differ diff --git a/src/assets/images/vilowatts.png b/src/assets/images/vilowatts.png new file mode 100644 index 0000000..c4a29cb Binary files /dev/null and b/src/assets/images/vilowatts.png differ diff --git a/src/assets/images/vis.png b/src/assets/images/vis.png new file mode 100644 index 0000000..6f35b79 Binary files /dev/null and b/src/assets/images/vis.png differ diff --git a/src/assets/images/vortex.png b/src/assets/images/vortex.png new file mode 100644 index 0000000..62bce75 Binary files /dev/null and b/src/assets/images/vortex.png differ diff --git a/src/assets/images/vulcanet.png b/src/assets/images/vulcanet.png new file mode 100644 index 0000000..8f9de3a Binary files /dev/null and b/src/assets/images/vulcanet.png differ diff --git a/src/assets/images/wd-spray.png b/src/assets/images/wd-spray.png new file mode 100644 index 0000000..e4ca11a Binary files /dev/null and b/src/assets/images/wd-spray.png differ diff --git a/src/assets/images/wd.png b/src/assets/images/wd.png new file mode 100644 index 0000000..b21531c Binary files /dev/null and b/src/assets/images/wd.png differ diff --git a/src/assets/images/wd40.png b/src/assets/images/wd40.png new file mode 100644 index 0000000..ae853a6 Binary files /dev/null and b/src/assets/images/wd40.png differ diff --git a/src/assets/images/woostar.png b/src/assets/images/woostar.png new file mode 100644 index 0000000..c23edfb Binary files /dev/null and b/src/assets/images/woostar.png differ diff --git a/src/assets/images/yngia.png b/src/assets/images/yngia.png new file mode 100644 index 0000000..ed95f75 Binary files /dev/null and b/src/assets/images/yngia.png differ diff --git a/src/assets/images/yoni.jpeg b/src/assets/images/yoni.jpeg new file mode 100644 index 0000000..98986e2 Binary files /dev/null and b/src/assets/images/yoni.jpeg differ diff --git a/src/assets/images/yoni.png b/src/assets/images/yoni.png new file mode 100644 index 0000000..fda4428 Binary files /dev/null and b/src/assets/images/yoni.png differ diff --git a/src/assets/styles/cards.scss b/src/assets/styles/cards.scss index 2aa8680..19e39d5 100644 --- a/src/assets/styles/cards.scss +++ b/src/assets/styles/cards.scss @@ -1,9 +1,5 @@ -.card-prod-text{ - height: 29rem; - background: linear-gradient(90deg,rgba(0, 0, 0, 1) -300%, rgba(92, 92, 91, 0) 200%); -} .cards { - background: linear-gradient(90deg, rgba(255, 219, 102, 1) 0%, rgba(204, 112, 19, 1) 100%); + background: linear-gradient(90deg, rgba(255, 219, 102, 1) 0%, rgba(204, 112, 19, 1) 100%); } @media (min-width: 1440px) { .fond-cyl{ diff --git a/src/assets/styles/fonts.scss b/src/assets/styles/fonts.scss new file mode 100644 index 0000000..340c9bf --- /dev/null +++ b/src/assets/styles/fonts.scss @@ -0,0 +1,23 @@ +// Polices auto-hébergées (remplace le vers fonts.googleapis.com) : +// une requête externe en moins, aucune dépendance à Google au chargement. +// Sous-ensemble "latin" uniquement (suffisant pour le français, y compris +// les caractères accentués et « œ »). +@font-face { + font-family: 'Oswald'; + font-style: normal; + font-weight: 200 700; + font-display: swap; + src: url('../fonts/oswald-variable-latin.woff2') format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, + U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +@font-face { + font-family: 'Outfit'; + font-style: normal; + font-weight: 100 900; + font-display: swap; + src: url('../fonts/outfit-variable-latin.woff2') format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, + U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/src/assets/styles/style.scss b/src/assets/styles/style.scss index 82aa52e..add7c6c 100644 --- a/src/assets/styles/style.scss +++ b/src/assets/styles/style.scss @@ -43,3 +43,13 @@ details[open] .cheSum{ .categorie{ background: rgba(249,115,22 , 0.08); } + +// Accessibilité : neutralise les animations non essentielles +@media (prefers-reduced-motion: reduce) { + *, *::before, *::after { + animation-duration: 0.001ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.001ms !important; + scroll-behavior: auto !important; + } +} diff --git a/src/components/BackToTop.astro b/src/components/BackToTop.astro new file mode 100644 index 0000000..7225dc8 --- /dev/null +++ b/src/components/BackToTop.astro @@ -0,0 +1,58 @@ +--- +/** + * Bouton « haut de page » + bouton « retour ». Factorise le `#fleche` / + * `#boutonRetour` et le script de scroll recopiés dans chaque ancienne page. + */ +import { MoveUp, Undo2 } from 'lucide-astro' + +interface Props { + /** affiche aussi un bouton "retour" (history.back) */ + withBack?: boolean +} + +const { withBack = false } = Astro.props +--- + + + +{withBack && ( + +)} + + diff --git a/src/components/CategoryHero.astro b/src/components/CategoryHero.astro new file mode 100644 index 0000000..e23e32d --- /dev/null +++ b/src/components/CategoryHero.astro @@ -0,0 +1,49 @@ +--- +import type { ImageMetadata } from 'astro' +/** + * Entête de catégorie : image + texte, dans un cadre de dimensions CONSTANTES + * sur toutes les pages (ratio fixe + `object-cover`). Remplace le bloc `
` recopié dans chaque ancienne page `categorie/*`. + */ +import Picture from 'components/global/Picture.astro' + +interface Props { + name: string + image: ImageMetadata + imageAlt: string + /** cadrage vertical de l'image (défaut "center") */ + position?: 'center' | 'top' | 'bottom' | 'left' | 'right' | undefined + /** texte d'intro (HTML autorisé) */ + intro: string +} + +const { name, image, imageAlt, position = 'center', intro } = Astro.props + +const positionClass = { + center: 'object-center', + top: 'object-top', + bottom: 'object-bottom', + left: 'object-left', + right: 'object-right' +}[position] +--- + +
+
+
+ +
+
+

{name}

+
+
+
+
+
diff --git a/src/components/ConfigDetail.astro b/src/components/ConfigDetail.astro new file mode 100644 index 0000000..00926d2 --- /dev/null +++ b/src/components/ConfigDetail.astro @@ -0,0 +1,114 @@ +--- +import type { ImageMetadata } from 'astro' +/** + * Fiche détaillée d'une config moteur. Reprise fidèle de l'ancien + * `components/global/TemplateConfig.astro` (carrousel `:target` + `
` + * de détail des pièces) — seules les props changent (modèle `engineConfigs`). + */ +import Picture from 'components/global/Picture.astro' +import { ChevronDown, ChevronLeft, ChevronRight } from 'lucide-astro' +import motor from '../assets/images/motor.svg' + +interface Props { + name: string + brand: string + brandLogo: ImageMetadata + rangeLabel: string + engines: Array + description: string + images: Array + pieces: Array<{ label: string; price: number }> + total?: number | undefined +} + +const { name, brand, brandLogo, rangeLabel, engines, description, images, pieces, total } = Astro.props +--- + +
+
+
+ {images.map((_, index) => ( + + ))} + + {images.map((imageSrc, index) => ( +
+ + +
+
+
+ +
+
+
+ + +
+ ))} +
+
+ +
+
+

{name}

+ +
+ +
+

{rangeLabel}

+ {engines.length > 0 && ( +
+ +
+ {engines.map((e) => ( +

+ + {e} +

+ ))} +
+
+ )} +
+ +

{description}

+ + {total != null && ( +
+

Coût total :

+

{total}€

+
+ )} + + {pieces.length > 0 && ( +
+ + Voir le détail de la configuration + +
    + {pieces.map((piece) => ( +
  • + {piece.label} + {piece.price}€ +
  • + ))} +
+
+ )} +
+
diff --git a/src/components/FilterBar.astro b/src/components/FilterBar.astro new file mode 100644 index 0000000..384d250 --- /dev/null +++ b/src/components/FilterBar.astro @@ -0,0 +1,52 @@ +--- +/** + * Barre de filtres réels (masquage + URL partageable via `scripts/filters.ts`). + * N'affiche que les groupes présents dans `active` ET ayant au moins 2 valeurs. + */ +import type { Facets } from 'libs/catalog' + +interface Props { + facets: Facets + active: Array<'cc' | 'engine' | 'price'> +} + +const { facets, active } = Astro.props + +const groups = [ + { key: 'cc' as const, label: 'Cylindrée', options: facets.cc.map((v) => ({ value: String(v), label: `${v} cc` })) }, + { key: 'engine' as const, label: 'Moteur', options: facets.engine.map((v) => ({ value: v.toLowerCase(), label: v })) }, + { key: 'price' as const, label: 'Prix', options: facets.price.map((b) => ({ value: b.id, label: b.label })) } +].filter((g) => active.includes(g.key) && g.options.length > 1) +--- + +{groups.length > 0 && ( +
+ {groups.map((group) => ( +
+ + {group.label} + + {group.options.map((opt) => ( + + ))} +
+ ))} + + +
+)} diff --git a/src/components/PartnerCard.astro b/src/components/PartnerCard.astro new file mode 100644 index 0000000..864943c --- /dev/null +++ b/src/components/PartnerCard.astro @@ -0,0 +1,53 @@ +--- +import type { ImageMetadata } from 'astro' +/** + * Tuile "partenaire / renvoi" pour les pages `hub`. Remplace + * `components/global/CardsCate.astro`. Dimensions constantes, image en + * `object-cover` dans un cadre à ratio fixe. + */ +import Picture from 'components/global/Picture.astro' + +interface Props { + title: string + image: ImageMetadata + imageAlt: string + tagline: string + logo?: ImageMetadata | undefined + logoAlt?: string | undefined + /** absent = tuile non cliquable ("bientôt") */ + href?: string | undefined +} + +const { title, image, imageAlt, tagline, logo, logoAlt, href } = Astro.props + +const external = href ? /^https?:\/\//.test(href) : false +const Tag = href ? 'a' : 'div' +--- + + + +
+
+ {logo && } +

{title}

+

{tagline}

+
+
diff --git a/src/components/ProductCard.astro b/src/components/ProductCard.astro new file mode 100644 index 0000000..a9ced14 --- /dev/null +++ b/src/components/ProductCard.astro @@ -0,0 +1,77 @@ +--- +/** + * Carte produit / config moteur. Consomme un `CardModel` (voir `libs/catalog.ts`). + * Reprend fidèlement le visuel de l'ancien `components/global/Cards.astro` : + * l'image de contenu déborde volontairement du cercle (effet de relief) et + * grossit au survol. Les dimensions du cadre sont fixes, donc toutes les cartes + * ont la même empreinte quelle que soit l'image source. + */ +import Picture from 'components/global/Picture.astro' +import type { CardModel } from 'libs/catalog' +import { Eye } from 'lucide-astro' +import motor from '../assets/images/motor.svg' + +type Props = CardModel & { + class?: string | undefined + /** attributs `data-*` de filtrage injectés par `` */ + filterData?: Record | undefined +} + +const { title, image, imageAlt, brandLogo, brandLogoAlt, typeLabel, price, href, external, engines, class: className, filterData } = Astro.props as Props + +const rel = external ? 'noopener noreferrer nofollow' : undefined +const target = external ? '_blank' : undefined +--- + + +
+

{title}

+ {brandLogo && ( + + )} +
+ +
+

{typeLabel}

+ {engines.length > 0 && ( +
+ +
+ {engines.map((e) => ( + + + {e} + + ))} +
+
+ )} +
+ +
+ +
+ +
+ {price != null ?

{price}€

: } + +
+
diff --git a/src/components/ProductGrid.astro b/src/components/ProductGrid.astro new file mode 100644 index 0000000..656c0dc --- /dev/null +++ b/src/components/ProductGrid.astro @@ -0,0 +1,37 @@ +--- +/** + * Grille de cartes filtrable. Rend TOUTES les cartes côté serveur avec des + * attributs `data-*` ; `src/scripts/filters.ts` se charge du masquage réel. + */ +import ProductCard from 'components/ProductCard.astro' +import type { CardModel } from 'libs/catalog' + +interface Props { + cards: Array +} + +const { cards } = Astro.props +--- + +
+

+ {cards.length} résultat{cards.length > 1 ? 's' : ''} +

+ +
+ {cards.map((card) => ( + + ))} +
+ + +
diff --git a/src/components/global/Button.astro b/src/components/global/Button.astro index ac135aa..c445a1e 100644 --- a/src/components/global/Button.astro +++ b/src/components/global/Button.astro @@ -6,13 +6,7 @@ export interface Props extends astroHTML.JSX.AnchorHTMLAttributes { ghost?: boolean } -const classes = [ - "button", - {outline: Astro.props.outline}, - {ghost: Astro.props.ghost}, - Astro.props.class -] - +const classes = ['button', { outline: Astro.props.outline }, { ghost: Astro.props.ghost }, Astro.props.class] --- {'href' in Astro.props && ( diff --git a/src/components/global/Cards.astro b/src/components/global/Cards.astro deleted file mode 100644 index e0a3b87..0000000 --- a/src/components/global/Cards.astro +++ /dev/null @@ -1,49 +0,0 @@ ---- -const { title, description, price, imageSrc, lien, logo, typeMotor, typeMotor1, alt, altLogo, external } = Astro.props; -import Picture from 'components/global/Picture.astro'; -import { Eye } from 'lucide-astro'; -import motor from '/public/images/motor.svg'; - -const isNettoyantPots = lien?.includes('/product/produit?produit=nettoyant') -const shouldOpenInNewWindow = external && !isNettoyantPots ---- - -
-
-

{title}

- {altLogo} -
-
-

{description}

- {typeMotor && ( -
- -
-

{typeMotor}

- {typeMotor1 && ( -

{typeMotor1}

- )} -
-
- )} -
-
- - - -
-
- {price && ( -

{price}€

- )} - -
-
-
diff --git a/src/components/global/CardsCate.astro b/src/components/global/CardsCate.astro deleted file mode 100644 index 71cde88..0000000 --- a/src/components/global/CardsCate.astro +++ /dev/null @@ -1,22 +0,0 @@ ---- -import Picture from "astro/components/Picture.astro"; -const { title, imageSrc, lien, entreprise, alt, external } = Astro.props; -const shouldOpenInNewWindow = external ---- - -
- -
-

{title}

-

{entreprise}

-
-
-
diff --git a/src/components/global/Picture.astro b/src/components/global/Picture.astro index 7b97233..514c991 100644 --- a/src/components/global/Picture.astro +++ b/src/components/global/Picture.astro @@ -1,12 +1,9 @@ --- import { getImage } from 'astro:assets' -import AstroUtils from '../../libs/AstroUtils' import { objectOmit } from '@dzeio/object-util' +import AstroUtils from '../../libs/AstroUtils' -const formats = [ - 'avif', - 'webp' -] +const formats = ['avif', 'webp'] export interface Props extends Omit { src: ImageMetadata | string @@ -15,14 +12,16 @@ export interface Props extends Omit { height?: number } -type PictureResult = { - format: 'new' - formats: Array<{format: string, img: Awaited>}> - src: Awaited> -} | { - format: 'raw' - src: string -} +type PictureResult = + | { + format: 'new' + formats: Array<{ format: string; img: Awaited> }> + src: Awaited> + } + | { + format: 'raw' + src: string + } interface Result { light: PictureResult @@ -38,14 +37,14 @@ async function resolvePicture(image: ImageMetadata | string): Promise>}> = await Promise.all( + const imageFormats: Array<{ format: string; img: Awaited> }> = await Promise.all( formats.map(async (it) => ({ - img: await getImage({src: Astro.props.src, format: it, width: Astro.props.width, height: Astro.props.height}), + img: await getImage({ src: Astro.props.src, format: it, width: Astro.props.width, height: Astro.props.height }), format: it })) ) - const orig = await getImage({src: Astro.props.src, format: ext, width: Astro.props.width, height: Astro.props.height}) + const orig = await getImage({ src: Astro.props.src, format: ext, width: Astro.props.width, height: Astro.props.height }) return { format: 'new', @@ -62,7 +61,6 @@ const res = await AstroUtils.wrap(async () => { }) const props = objectOmit(Astro.props, 'src', 'srcDark', 'class') - --- {res.light.format === 'new' && ( diff --git a/src/components/global/Range.astro b/src/components/global/Range.astro index c0d306a..787404a 100644 --- a/src/components/global/Range.astro +++ b/src/components/global/Range.astro @@ -6,7 +6,6 @@ interface Props extends Omit { } const baseProps = objectOmit(Astro.props, 'label', 'block') - ---
diff --git a/src/components/global/SearchOverlay.astro b/src/components/global/SearchOverlay.astro index 664fa29..dde3464 100644 --- a/src/components/global/SearchOverlay.astro +++ b/src/components/global/SearchOverlay.astro @@ -1,366 +1,173 @@ --- -import Cards from "components/global/Cards.astro"; -import { allProducts, type Product } from "libs/allProducts"; -import { Search } from "lucide-astro"; - -const products: Product[] = allProducts; - -const buildSearchData = (p: Product) => - [ - p.title, - p.alt, - p.altlogo, - p.description, - p.typeMotor, - p.typeMotor1, - p.source, - p.categoryId, - ] - .filter(Boolean) - .join(" ") - .toLowerCase(); - -const getProductHref = (p: Product) => { - if (!p.configKey) return undefined; - - // Lien externe (Amazon, MyCover, etc.) - if (p.configKey.startsWith("http")) { - return p.configKey; - } - - // Config AllDays - if (p.source === "config-allDays") { - return `/product/config?config=${encodeURIComponent(p.configKey)}#item-1`; - } - - // Config Compétition - if (p.source === "config-competition") { - return `/product/config?configCompetition=${encodeURIComponent( - p.configKey - )}#item-1`; - } - - // Fiche produit interne - if (p.source === "produit") { - return `/product/produit?produit=${encodeURIComponent(p.configKey)}`; - } - - // Fallback - return `/product/produit?produit=${encodeURIComponent(p.configKey)}`; -}; - -const isExternal = (p: Product) => - !!p.configKey && p.configKey.startsWith("http"); +import { getCollection } from 'astro:content' +/** + * Overlay de recherche global. Consomme directement le catalogue + * (products + engineConfigs + partners) via `libs/catalog` — plus de liste + * d'encarts recopiée à la main. + */ +import ProductCard from 'components/ProductCard.astro' +import { type CardModel, engineConfigToCard, productToCard } from 'libs/catalog' +import { Search } from 'lucide-astro' + +type Row = { card: CardModel; haystack: string } + +const [products, configs, partners, categories] = await Promise.all([getCollection('products'), getCollection('engineConfigs'), getCollection('partners'), getCollection('categories')]) + +const catName = (id: string) => categories.find((c) => c.id === id)?.data.name ?? id + +const rows: Array = [ + ...configs.map((c) => ({ + card: engineConfigToCard(c), + haystack: [c.data.name, c.data.brand, c.data.range, `${c.data.cc}cc`, ...c.data.engines].join(' ') + })), + ...products.map((p) => ({ + card: productToCard(p), + haystack: [p.data.title, p.data.tagline, p.data.brandLogoAlt, catName(p.data.category.id), `${p.data.cc ?? ''}cc`, ...p.data.engines].join(' ') + })), + ...partners.map((p) => ({ + card: { + title: p.data.title, + image: p.data.image, + imageAlt: p.data.imageAlt, + brandLogo: p.data.logo, + brandLogoAlt: p.data.logoAlt, + typeLabel: p.data.tagline, + href: p.data.url ?? `/categorie/${p.data.category.id}`, + external: Boolean(p.data.url && /^https?:\/\//.test(p.data.url)), + engines: [] + } satisfies CardModel, + haystack: [p.data.title, p.data.tagline, catName(p.data.category.id)].join(' ') + })), + ...categories + .filter((c) => c.data.layout === 'hub') + .map((c) => ({ + card: { + title: c.data.name, + image: c.data.heroImage, + imageAlt: c.data.heroImageAlt, + typeLabel: c.data.intro.replace(/<[^>]+>/g, ''), + href: `/categorie/${c.id}`, + external: false, + engines: [] + } satisfies CardModel, + haystack: [c.data.name, c.data.intro.replace(/<[^>]+>/g, '')].join(' ') + })) +] + +const norm = (s: string) => + s + .toLowerCase() + .normalize('NFD') + .replace(/\p{Diacritic}/gu, '') --- - +
\ No newline at end of file + const overlay = document.querySelector('[data-search-overlay]') + const container = overlay?.querySelector('[data-search-container]') + const input = overlay?.querySelector('[data-search-input]') + const cards = overlay ? Array.from(overlay.querySelectorAll('.product-card')) : [] + const countEl = overlay?.querySelector('[data-search-count]') + const emptyEl = overlay?.querySelector('[data-search-empty]') + + const norm = (s: string) => s.toLowerCase().normalize('NFD').replace(/\p{Diacritic}/gu, '') + + // Le panneau reste `hidden` (donc ses ~100 images ne sont pas chargées) tant + // qu'il n'a jamais été ouvert — meilleur temps de chargement initial. + function open() { + if (!overlay) return + document.body.style.overflow = 'hidden' + overlay.hidden = false + // force un reflow pour que la transition d'opacité s'anime bien + // après la sortie de `display:none`. + overlay.getBoundingClientRect() + overlay.classList.remove('pointer-events-none') + overlay.classList.add('opacity-100') + if (input) { + input.value = '' + setTimeout(() => input.focus(), 10) + } + update() + } + function close() { + if (!overlay) return + document.body.style.overflow = '' + overlay.classList.add('pointer-events-none') + overlay.classList.remove('opacity-100') + setTimeout(() => { + if (overlay && !overlay.classList.contains('opacity-100')) overlay.hidden = true + }, 200) + } + function update() { + const q = norm(input?.value.trim() ?? '') + let visible = 0 + for (const card of cards) { + const show = !q || (card.dataset.search ?? '').includes(q) + card.style.display = show ? '' : 'none' + if (show) visible++ + } + if (countEl) countEl.textContent = String(visible) + if (emptyEl) emptyEl.hidden = visible !== 0 + } + + document.querySelectorAll('[data-open-search]').forEach((btn) => + btn.addEventListener('click', (e) => { + e.preventDefault() + open() + }), + ) + overlay?.querySelector('[data-search-close]')?.addEventListener('click', close) + overlay?.addEventListener('click', (e) => { + if (container && !container.contains(e.target as Node)) close() + }) + window.addEventListener('keydown', (e) => e.key === 'Escape' && close()) + input?.addEventListener('input', update) + diff --git a/src/components/global/Select.astro b/src/components/global/Select.astro index a77e00f..6efced7 100644 --- a/src/components/global/Select.astro +++ b/src/components/global/Select.astro @@ -7,7 +7,7 @@ export interface Props extends Omit { block?: boolean suffix?: string prefix?: string - options: Array + options: Array } const baseProps = objectOmit(Astro.props, 'label', 'block', 'suffix', 'prefix', 'options') diff --git a/src/components/global/Table/TableUtil.ts b/src/components/global/Table/TableUtil.ts index 22c72f6..e9789c9 100644 --- a/src/components/global/Table/TableUtil.ts +++ b/src/components/global/Table/TableUtil.ts @@ -87,8 +87,8 @@ export function setOnTableClick(table: HTMLTableElement, fn: (row: number, cell: table.querySelectorAll('td').forEach((it) => { it.addEventListener('click', () => { const row = it.parentElement as HTMLTableRowElement - const rowIdx = parseInt(row.dataset.row as string) - const cellIdx = parseInt(it.dataset.cell as string) + const rowIdx = Number.parseInt(row.dataset.row as string) + const cellIdx = Number.parseInt(it.dataset.cell as string) fn(rowIdx, cellIdx) }) }) diff --git a/src/components/global/TemplateConfig.astro b/src/components/global/TemplateConfig.astro deleted file mode 100644 index d462e33..0000000 --- a/src/components/global/TemplateConfig.astro +++ /dev/null @@ -1,92 +0,0 @@ ---- -const { title, enderTitle, typeMotor, typeMotor1, description, price, images, pieces, logo, alt, link } = Astro.props; -import { ChevronDown, ChevronLeft, ChevronRight } from 'lucide-astro'; -import Picture from 'components/global/Picture.astro'; -import type { ImageMetadata } from 'astro'; ---- - -
-
-
- {images?.map((_imageSrc: any, index: number) => ( - - ))} - - {images?.map((imageSrc: string | ImageMetadata, index: number) => ( -
- - - -
-
-
- - -
-
-
- - - -
- ))} -
-
-
-
-

{title}

- marque -
-
- {enderTitle && ( -

{enderTitle}

- )} -
- {typeMotor && ( - moteur -
-

{typeMotor}

- {typeMotor1 && ( -

{typeMotor1}

- )} -
- )} -
-
-
- {price && ( -
-

Coût total :

-

{price}€

-
- )} -
- {pieces && ( -
- - Voir le détail de la configuration - - -
-
- {pieces?.length > 0 && ( - pieces.map((piece: string, index: number) => ( -

{piece}€

- )) - )} -
-
- )} - {link &&( - - Consulter le site - - )} -
-
-
diff --git a/src/components/layouts/Favicon/Favicon.astro b/src/components/layouts/Favicon/Favicon.astro index c9d22a0..0df966f 100644 --- a/src/components/layouts/Favicon/Favicon.astro +++ b/src/components/layouts/Favicon/Favicon.astro @@ -7,8 +7,7 @@ export interface Props { icoPath?: string } - -const appleTouch = await getImage({src: Astro.props.png, width: 180, height: 180}) +const appleTouch = await getImage({ src: Astro.props.png, width: 180, height: 180 }) --- <> diff --git a/src/components/layouts/Favicon/Manifest.ts b/src/components/layouts/Favicon/Manifest.ts index ea1503c..ac09d22 100644 --- a/src/components/layouts/Favicon/Manifest.ts +++ b/src/components/layouts/Favicon/Manifest.ts @@ -1,36 +1,33 @@ import { getImage } from 'astro:assets' export default class Manifest { - static async create(baseImage: ImageMetadata, options: { - name: string - color?: string - images?: Array - }) { - const [ - i192, - i512 - ] = await Promise.all([ - getImage({src: baseImage, format: 'png', width: 192, height: 192}), - getImage({src: baseImage, format: 'png', width: 512, height: 512}) - ]) + static async create( + baseImage: ImageMetadata, + options: { + name: string + color?: string + images?: Array + } + ) { + const [i192, i512] = await Promise.all([getImage({ src: baseImage, format: 'png', width: 192, height: 192 }), getImage({ src: baseImage, format: 'png', width: 512, height: 512 })]) return JSON.stringify({ name: options.name, short_name: options.name, icons: [ { src: i192.src, - sizes: "192x192", - type: "image/png" + sizes: '192x192', + type: 'image/png' }, { src: i512.src, - sizes: "512x512", - type: "image/png" + sizes: '512x512', + type: 'image/png' } ], - theme_color: options.color ?? "#fff", - background_color: options.color ?? "#fff", - display: "standalone" + theme_color: options.color ?? '#fff', + background_color: options.color ?? '#fff', + display: 'standalone' }) } } diff --git a/src/components/layouts/Footer.astro b/src/components/layouts/Footer.astro index 419dc4e..222f32a 100644 --- a/src/components/layouts/Footer.astro +++ b/src/components/layouts/Footer.astro @@ -4,8 +4,8 @@ import { BadgeEuro, Contact, Instagram } from 'lucide-astro' const year = new Date().getFullYear() export interface Props { - links?: Array<{href: string, target?: string, display: string}> - socials?: Array<{href: string, target?: string, icon: any}> + links?: Array<{ href: string; target?: string; display: string }> + socials?: Array<{ href: string; target?: string; icon: any }> } --- @@ -13,7 +13,7 @@ export interface Props {
TTP -

contact@trouve-ta-piece.com

+

contact@trouve-ta-piece.fr

Mentions légales Faire une donation
diff --git a/src/components/layouts/Header.astro b/src/components/layouts/Header.astro index f7429a3..7dc8424 100644 --- a/src/components/layouts/Header.astro +++ b/src/components/layouts/Header.astro @@ -1,20 +1,20 @@ --- -import Picture from 'astro/components/Picture.astro'; -import { Bike, Gauge, HardHat, Search, Paintbrush, Trophy, Wrench, ChevronsRight, ChevronsLeft, Zap } from 'lucide-astro'; -import logo from '/public/images/logo2.svg'; +import Picture from 'astro/components/Picture.astro' +import { Bike, ChevronsLeft, ChevronsRight, Gauge, HardHat, Paintbrush, Search, Trophy, Wrench, Zap } from 'lucide-astro' +import logo from '../../assets/images/logo2.svg' export interface Props { - right?: Record - left?: Record + right?: Record + left?: Record } ---