From 49e684a1fc4c102e175ce33b5c40358faa86ac5e Mon Sep 17 00:00:00 2001 From: Josua Frank Date: Fri, 19 Apr 2024 00:42:21 +0200 Subject: [PATCH 01/11] nuxt --- .dockerignore | 2 - .eslintrc.cjs | 16 - .github/workflows/build.yml | 36 - .gitignore | 40 +- .prettierrc.json | 8 - .vscode/extensions.json | 6 - .vscode/settings.json | 5 + Dockerfile | 12 - LICENSE | 13 - README.md | 83 +- assets/main.css | 41 + .../common/TileThumbnail.vue | 2 +- .../common/ZoomWrapper.vue | 10 +- .../informations/ProjectProgress.vue | 13 +- .../layout}/DonationButton.vue | 6 +- components/layout/LanguageDropdown.vue | 69 + .../templates/LegendComponent.vue | 22 +- .../templates/NoFavorites.vue | 7 +- .../templates/TileList.vue | 54 +- .../templates/number}/CloseButton.vue | 4 +- .../templates/number}/ColorsButton.vue | 15 +- .../templates/number}/DownloadButton.vue | 26 +- .../templates/number}/FavoriteButton.vue | 2 - .../templates/number/FullscreenButton.vue | 56 + .../templates/number}/PrevNextButton.vue | 41 +- components/templates/number/PrintButton.vue | 61 + .../templates/number}/ShareButton.vue | 48 +- .../tools/ColorCard.vue | 20 +- .../tools/ColorPlate.vue | 2 - .../tools/CuttingModal.vue | 13 +- .../tools/InfoModal.vue | 30 +- components/tools/OrderModal.vue | 150 + .../tools/TileSelection.vue | 53 +- env.d.ts | 1 - i18n.config.ts | 5 + index.html | 23 - {src/locales => lang}/de-DE.json | 5 - {src/locales => lang}/en-US.json | 5 - .../default.vue | 144 +- nginx.conf | 33 - nuxt.config.ts | 32 + package-lock.json | 12859 ++++++++++++---- package.json | 47 +- .../atlas/index.vue | 5 + pages/history/index.vue | 27 + .../image/index.vue | 74 +- pages/index.vue | 7 + pages/informations/index.vue | 119 + pages/templates/[number]/index.vue | 53 + pages/templates/index.vue | 18 + .../tools/color-count/index.vue | 146 +- pages/tools/index.vue | 6 + plugins/bootstrap.client.ts | 9 + .../fonts/KumbhSans-Bold.woff | Bin .../fonts/KumbhSans-Bold.woff2 | Bin .../fonts/KumbhSans-Light.woff | Bin .../fonts/KumbhSans-Light.woff2 | Bin .../fonts/KumbhSans-Regular.woff | Bin .../fonts/KumbhSans-Regular.woff2 | Bin {src/assets => public}/images/background.webp | Bin {src/assets => public}/images/history/0.webp | Bin {src/assets => public}/images/history/1.webp | Bin {src/assets => public}/images/history/10.webp | Bin {src/assets => public}/images/history/11.webp | Bin {src/assets => public}/images/history/12.webp | Bin {src/assets => public}/images/history/13.webp | Bin {src/assets => public}/images/history/14.webp | Bin {src/assets => public}/images/history/15.webp | Bin {src/assets => public}/images/history/16.webp | Bin {src/assets => public}/images/history/17.webp | Bin {src/assets => public}/images/history/18.webp | Bin {src/assets => public}/images/history/19.webp | Bin {src/assets => public}/images/history/2.webp | Bin {src/assets => public}/images/history/20.webp | Bin {src/assets => public}/images/history/21.webp | Bin {src/assets => public}/images/history/22.webp | Bin {src/assets => public}/images/history/23.webp | Bin {src/assets => public}/images/history/24.webp | Bin {src/assets => public}/images/history/25.webp | Bin {src/assets => public}/images/history/26.webp | Bin {src/assets => public}/images/history/27.webp | Bin {src/assets => public}/images/history/28.webp | Bin {src/assets => public}/images/history/29.webp | Bin {src/assets => public}/images/history/3.webp | Bin {src/assets => public}/images/history/30.webp | Bin {src/assets => public}/images/history/31.webp | Bin {src/assets => public}/images/history/32.webp | Bin {src/assets => public}/images/history/33.webp | Bin {src/assets => public}/images/history/34.webp | Bin {src/assets => public}/images/history/35.webp | Bin {src/assets => public}/images/history/36.webp | Bin {src/assets => public}/images/history/37.webp | Bin {src/assets => public}/images/history/38.webp | Bin {src/assets => public}/images/history/39.webp | Bin {src/assets => public}/images/history/4.webp | Bin {src/assets => public}/images/history/40.webp | Bin {src/assets => public}/images/history/41.webp | Bin {src/assets => public}/images/history/42.webp | Bin {src/assets => public}/images/history/43.webp | Bin {src/assets => public}/images/history/44.webp | Bin {src/assets => public}/images/history/45.webp | Bin {src/assets => public}/images/history/46.webp | Bin {src/assets => public}/images/history/47.webp | Bin {src/assets => public}/images/history/48.webp | Bin {src/assets => public}/images/history/49.webp | Bin {src/assets => public}/images/history/5.webp | Bin {src/assets => public}/images/history/50.webp | Bin {src/assets => public}/images/history/51.webp | Bin {src/assets => public}/images/history/52.webp | Bin {src/assets => public}/images/history/53.webp | Bin {src/assets => public}/images/history/54.webp | Bin {src/assets => public}/images/history/55.webp | Bin {src/assets => public}/images/history/56.webp | Bin {src/assets => public}/images/history/57.webp | Bin {src/assets => public}/images/history/58.webp | Bin {src/assets => public}/images/history/59.webp | Bin {src/assets => public}/images/history/6.webp | Bin {src/assets => public}/images/history/60.webp | Bin {src/assets => public}/images/history/61.webp | Bin {src/assets => public}/images/history/62.webp | Bin {src/assets => public}/images/history/63.webp | Bin {src/assets => public}/images/history/64.webp | Bin {src/assets => public}/images/history/65.webp | Bin {src/assets => public}/images/history/66.webp | Bin {src/assets => public}/images/history/67.webp | Bin {src/assets => public}/images/history/68.webp | Bin {src/assets => public}/images/history/69.webp | Bin {src/assets => public}/images/history/7.webp | Bin {src/assets => public}/images/history/70.webp | Bin {src/assets => public}/images/history/71.webp | Bin {src/assets => public}/images/history/72.webp | Bin {src/assets => public}/images/history/73.webp | Bin {src/assets => public}/images/history/74.webp | Bin {src/assets => public}/images/history/75.webp | Bin {src/assets => public}/images/history/76.webp | Bin {src/assets => public}/images/history/77.webp | Bin {src/assets => public}/images/history/78.webp | Bin {src/assets => public}/images/history/79.webp | Bin {src/assets => public}/images/history/8.webp | Bin {src/assets => public}/images/history/80.webp | Bin {src/assets => public}/images/history/81.webp | Bin {src/assets => public}/images/history/82.webp | Bin {src/assets => public}/images/history/83.webp | Bin {src/assets => public}/images/history/84.webp | Bin {src/assets => public}/images/history/85.webp | Bin {src/assets => public}/images/history/86.webp | Bin {src/assets => public}/images/history/87.webp | Bin {src/assets => public}/images/history/88.webp | Bin {src/assets => public}/images/history/89.webp | Bin {src/assets => public}/images/history/9.webp | Bin {src/assets => public}/images/history/90.webp | Bin {src/assets => public}/images/history/91.webp | Bin {src/assets => public}/images/history/92.webp | Bin {src/assets => public}/images/history/93.webp | Bin {src/assets => public}/images/history/94.webp | Bin {src/assets => public}/images/history/95.webp | Bin {src/assets => public}/images/history/96.webp | Bin {src/assets => public}/images/history/97.webp | Bin {src/assets => public}/images/history/98.webp | Bin {src/assets => public}/images/icon-white.svg | 0 .../informations/base-color-selection.webp | Bin .../images/informations/base-colors.webp | Bin .../images/informations/first-pixel.webp | Bin .../images/informations/image-numbering.webp | Bin .../images/informations/new-color-plates.webp | Bin .../images/informations/pixeling.webp | Bin {src/assets => public}/images/logo-white.svg | 0 .../images/navigation/de.svg | 0 .../images/navigation/us.svg | 0 .../images/place/cleaned.webp | Bin .../images/place/cleaned_grid.webp | Bin .../images/place/original.webp | Bin .../images/place/original_grid.webp | Bin .../images/templates/0-detailed.png | Bin .../images/templates/0-detailed.webp | Bin .../assets => public}/images/templates/0.webp | Bin .../images/templates/1-detailed.png | Bin .../images/templates/1-detailed.webp | Bin .../assets => public}/images/templates/1.webp | Bin .../images/templates/10-detailed.png | Bin .../images/templates/10-detailed.webp | Bin .../images/templates/10.webp | Bin .../images/templates/100-detailed.png | Bin .../images/templates/100-detailed.webp | Bin .../images/templates/100.webp | Bin .../images/templates/101-detailed.png | Bin .../images/templates/101-detailed.webp | Bin .../images/templates/101.webp | Bin .../images/templates/102-detailed.png | Bin .../images/templates/102-detailed.webp | Bin .../images/templates/102.webp | Bin .../images/templates/103-detailed.png | Bin .../images/templates/103-detailed.webp | Bin .../images/templates/103.webp | Bin .../images/templates/104-detailed.png | Bin .../images/templates/104-detailed.webp | Bin .../images/templates/104.webp | Bin .../images/templates/105-detailed.png | Bin .../images/templates/105-detailed.webp | Bin .../images/templates/105.webp | Bin .../images/templates/106-detailed.png | Bin .../images/templates/106-detailed.webp | Bin .../images/templates/106.webp | Bin .../images/templates/107-detailed.png | Bin .../images/templates/107-detailed.webp | Bin .../images/templates/107.webp | Bin .../images/templates/108-detailed.png | Bin .../images/templates/108-detailed.webp | Bin .../images/templates/108.webp | Bin .../images/templates/109-detailed.png | Bin .../images/templates/109-detailed.webp | Bin .../images/templates/109.webp | Bin .../images/templates/11-detailed.png | Bin .../images/templates/11-detailed.webp | Bin .../images/templates/11.webp | Bin .../images/templates/110-detailed.png | Bin .../images/templates/110-detailed.webp | Bin .../images/templates/110.webp | Bin .../images/templates/111-detailed.png | Bin .../images/templates/111-detailed.webp | Bin .../images/templates/111.webp | Bin .../images/templates/112-detailed.png | Bin .../images/templates/112-detailed.webp | Bin .../images/templates/112.webp | Bin .../images/templates/113-detailed.png | Bin .../images/templates/113-detailed.webp | Bin .../images/templates/113.webp | Bin .../images/templates/114-detailed.png | Bin .../images/templates/114-detailed.webp | Bin .../images/templates/114.webp | Bin .../images/templates/115-detailed.png | Bin .../images/templates/115-detailed.webp | Bin .../images/templates/115.webp | Bin .../images/templates/116-detailed.png | Bin .../images/templates/116-detailed.webp | Bin .../images/templates/116.webp | Bin .../images/templates/117-detailed.png | Bin .../images/templates/117-detailed.webp | Bin .../images/templates/117.webp | Bin .../images/templates/118-detailed.png | Bin .../images/templates/118-detailed.webp | Bin .../images/templates/118.webp | Bin .../images/templates/119-detailed.png | Bin .../images/templates/119-detailed.webp | Bin .../images/templates/119.webp | Bin .../images/templates/12-detailed.png | Bin .../images/templates/12-detailed.webp | Bin .../images/templates/12.webp | Bin .../images/templates/120-detailed.png | Bin .../images/templates/120-detailed.webp | Bin .../images/templates/120.webp | Bin .../images/templates/121-detailed.png | Bin .../images/templates/121-detailed.webp | Bin .../images/templates/121.webp | Bin .../images/templates/122-detailed.png | Bin .../images/templates/122-detailed.webp | Bin .../images/templates/122.webp | Bin .../images/templates/123-detailed.png | Bin .../images/templates/123-detailed.webp | Bin .../images/templates/123.webp | Bin .../images/templates/124-detailed.png | Bin .../images/templates/124-detailed.webp | Bin .../images/templates/124.webp | Bin .../images/templates/125-detailed.png | Bin .../images/templates/125-detailed.webp | Bin .../images/templates/125.webp | Bin .../images/templates/126-detailed.png | Bin .../images/templates/126-detailed.webp | Bin .../images/templates/126.webp | Bin .../images/templates/127-detailed.png | Bin .../images/templates/127-detailed.webp | Bin .../images/templates/127.webp | Bin .../images/templates/128-detailed.png | Bin .../images/templates/128-detailed.webp | Bin .../images/templates/128.webp | Bin .../images/templates/129-detailed.png | Bin .../images/templates/129-detailed.webp | Bin .../images/templates/129.webp | Bin .../images/templates/13-detailed.png | Bin .../images/templates/13-detailed.webp | Bin .../images/templates/13.webp | Bin .../images/templates/130-detailed.png | Bin .../images/templates/130-detailed.webp | Bin .../images/templates/130.webp | Bin .../images/templates/131-detailed.png | Bin .../images/templates/131-detailed.webp | Bin .../images/templates/131.webp | Bin .../images/templates/132-detailed.png | Bin .../images/templates/132-detailed.webp | Bin .../images/templates/132.webp | Bin .../images/templates/133-detailed.png | Bin .../images/templates/133-detailed.webp | Bin .../images/templates/133.webp | Bin .../images/templates/134-detailed.png | Bin .../images/templates/134-detailed.webp | Bin .../images/templates/134.webp | Bin .../images/templates/135-detailed.png | Bin .../images/templates/135-detailed.webp | Bin .../images/templates/135.webp | Bin .../images/templates/136-detailed.png | Bin .../images/templates/136-detailed.webp | Bin .../images/templates/136.webp | Bin .../images/templates/137-detailed.png | Bin .../images/templates/137-detailed.webp | Bin .../images/templates/137.webp | Bin .../images/templates/138-detailed.png | Bin .../images/templates/138-detailed.webp | Bin .../images/templates/138.webp | Bin .../images/templates/139-detailed.png | Bin .../images/templates/139-detailed.webp | Bin .../images/templates/139.webp | Bin .../images/templates/14-detailed.png | Bin .../images/templates/14-detailed.webp | Bin .../images/templates/14.webp | Bin .../images/templates/140-detailed.png | Bin .../images/templates/140-detailed.webp | Bin .../images/templates/140.webp | Bin .../images/templates/141-detailed.png | Bin .../images/templates/141-detailed.webp | Bin .../images/templates/141.webp | Bin .../images/templates/142-detailed.png | Bin .../images/templates/142-detailed.webp | Bin .../images/templates/142.webp | Bin .../images/templates/143-detailed.png | Bin .../images/templates/143-detailed.webp | Bin .../images/templates/143.webp | Bin .../images/templates/144-detailed.png | Bin .../images/templates/144-detailed.webp | Bin .../images/templates/144.webp | Bin .../images/templates/145-detailed.png | Bin .../images/templates/145-detailed.webp | Bin .../images/templates/145.webp | Bin .../images/templates/146-detailed.png | Bin .../images/templates/146-detailed.webp | Bin .../images/templates/146.webp | Bin .../images/templates/147-detailed.png | Bin .../images/templates/147-detailed.webp | Bin .../images/templates/147.webp | Bin .../images/templates/148-detailed.png | Bin .../images/templates/148-detailed.webp | Bin .../images/templates/148.webp | Bin .../images/templates/149-detailed.png | Bin .../images/templates/149-detailed.webp | Bin .../images/templates/149.webp | Bin .../images/templates/15-detailed.png | Bin .../images/templates/15-detailed.webp | Bin .../images/templates/15.webp | Bin .../images/templates/150-detailed.png | Bin .../images/templates/150-detailed.webp | Bin .../images/templates/150.webp | Bin .../images/templates/151-detailed.png | Bin .../images/templates/151-detailed.webp | Bin .../images/templates/151.webp | Bin .../images/templates/152-detailed.png | Bin .../images/templates/152-detailed.webp | Bin .../images/templates/152.webp | Bin .../images/templates/153-detailed.png | Bin .../images/templates/153-detailed.webp | Bin .../images/templates/153.webp | Bin .../images/templates/154-detailed.png | Bin .../images/templates/154-detailed.webp | Bin .../images/templates/154.webp | Bin .../images/templates/155-detailed.png | Bin .../images/templates/155-detailed.webp | Bin .../images/templates/155.webp | Bin .../images/templates/156-detailed.png | Bin .../images/templates/156-detailed.webp | Bin .../images/templates/156.webp | Bin .../images/templates/157-detailed.png | Bin .../images/templates/157-detailed.webp | Bin .../images/templates/157.webp | Bin .../images/templates/158-detailed.png | Bin .../images/templates/158-detailed.webp | Bin .../images/templates/158.webp | Bin .../images/templates/159-detailed.png | Bin .../images/templates/159-detailed.webp | Bin .../images/templates/159.webp | Bin .../images/templates/16-detailed.png | Bin .../images/templates/16-detailed.webp | Bin .../images/templates/16.webp | Bin .../images/templates/160-detailed.png | Bin .../images/templates/160-detailed.webp | Bin .../images/templates/160.webp | Bin .../images/templates/161-detailed.png | Bin .../images/templates/161-detailed.webp | Bin .../images/templates/161.webp | Bin .../images/templates/162-detailed.png | Bin .../images/templates/162-detailed.webp | Bin .../images/templates/162.webp | Bin .../images/templates/163-detailed.png | Bin .../images/templates/163-detailed.webp | Bin .../images/templates/163.webp | Bin .../images/templates/164-detailed.png | Bin .../images/templates/164-detailed.webp | Bin .../images/templates/164.webp | Bin .../images/templates/165-detailed.png | Bin .../images/templates/165-detailed.webp | Bin .../images/templates/165.webp | Bin .../images/templates/166-detailed.png | Bin .../images/templates/166-detailed.webp | Bin .../images/templates/166.webp | Bin .../images/templates/167-detailed.png | Bin .../images/templates/167-detailed.webp | Bin .../images/templates/167.webp | Bin .../images/templates/168-detailed.png | Bin .../images/templates/168-detailed.webp | Bin .../images/templates/168.webp | Bin .../images/templates/169-detailed.png | Bin .../images/templates/169-detailed.webp | Bin .../images/templates/169.webp | Bin .../images/templates/17-detailed.png | Bin .../images/templates/17-detailed.webp | Bin .../images/templates/17.webp | Bin .../images/templates/170-detailed.png | Bin .../images/templates/170-detailed.webp | Bin .../images/templates/170.webp | Bin .../images/templates/171-detailed.png | Bin .../images/templates/171-detailed.webp | Bin .../images/templates/171.webp | Bin .../images/templates/172-detailed.png | Bin .../images/templates/172-detailed.webp | Bin .../images/templates/172.webp | Bin .../images/templates/173-detailed.png | Bin .../images/templates/173-detailed.webp | Bin .../images/templates/173.webp | Bin .../images/templates/174-detailed.png | Bin .../images/templates/174-detailed.webp | Bin .../images/templates/174.webp | Bin .../images/templates/175-detailed.png | Bin .../images/templates/175-detailed.webp | Bin .../images/templates/175.webp | Bin .../images/templates/176-detailed.png | Bin .../images/templates/176-detailed.webp | Bin .../images/templates/176.webp | Bin .../images/templates/177-detailed.png | Bin .../images/templates/177-detailed.webp | Bin .../images/templates/177.webp | Bin .../images/templates/178-detailed.png | Bin .../images/templates/178-detailed.webp | Bin .../images/templates/178.webp | Bin .../images/templates/179-detailed.png | Bin .../images/templates/179-detailed.webp | Bin .../images/templates/179.webp | Bin .../images/templates/18-detailed.png | Bin .../images/templates/18-detailed.webp | Bin .../images/templates/18.webp | Bin .../images/templates/180-detailed.png | Bin .../images/templates/180-detailed.webp | Bin .../images/templates/180.webp | Bin .../images/templates/181-detailed.png | Bin .../images/templates/181-detailed.webp | Bin .../images/templates/181.webp | Bin .../images/templates/182-detailed.png | Bin .../images/templates/182-detailed.webp | Bin .../images/templates/182.webp | Bin .../images/templates/183-detailed.png | Bin .../images/templates/183-detailed.webp | Bin .../images/templates/183.webp | Bin .../images/templates/184-detailed.png | Bin .../images/templates/184-detailed.webp | Bin .../images/templates/184.webp | Bin .../images/templates/185-detailed.png | Bin .../images/templates/185-detailed.webp | Bin .../images/templates/185.webp | Bin .../images/templates/186-detailed.png | Bin .../images/templates/186-detailed.webp | Bin .../images/templates/186.webp | Bin .../images/templates/187-detailed.png | Bin .../images/templates/187-detailed.webp | Bin .../images/templates/187.webp | Bin .../images/templates/188-detailed.png | Bin .../images/templates/188-detailed.webp | Bin .../images/templates/188.webp | Bin .../images/templates/189-detailed.png | Bin .../images/templates/189-detailed.webp | Bin .../images/templates/189.webp | Bin .../images/templates/19-detailed.png | Bin .../images/templates/19-detailed.webp | Bin .../images/templates/19.webp | Bin .../images/templates/190-detailed.png | Bin .../images/templates/190-detailed.webp | Bin .../images/templates/190.webp | Bin .../images/templates/191-detailed.png | Bin .../images/templates/191-detailed.webp | Bin .../images/templates/191.webp | Bin .../images/templates/192-detailed.png | Bin .../images/templates/192-detailed.webp | Bin .../images/templates/192.webp | Bin .../images/templates/193-detailed.png | Bin .../images/templates/193-detailed.webp | Bin .../images/templates/193.webp | Bin .../images/templates/194-detailed.png | Bin .../images/templates/194-detailed.webp | Bin .../images/templates/194.webp | Bin .../images/templates/195-detailed.png | Bin .../images/templates/195-detailed.webp | Bin .../images/templates/195.webp | Bin .../images/templates/196-detailed.png | Bin .../images/templates/196-detailed.webp | Bin .../images/templates/196.webp | Bin .../images/templates/197-detailed.png | Bin .../images/templates/197-detailed.webp | Bin .../images/templates/197.webp | Bin .../images/templates/198-detailed.png | Bin .../images/templates/198-detailed.webp | Bin .../images/templates/198.webp | Bin .../images/templates/199-detailed.png | Bin .../images/templates/199-detailed.webp | Bin .../images/templates/199.webp | Bin .../images/templates/2-detailed.png | Bin .../images/templates/2-detailed.webp | Bin .../assets => public}/images/templates/2.webp | Bin .../images/templates/20-detailed.png | Bin .../images/templates/20-detailed.webp | Bin .../images/templates/20.webp | Bin .../images/templates/200-detailed.png | Bin .../images/templates/200-detailed.webp | Bin .../images/templates/200.webp | Bin .../images/templates/201-detailed.png | Bin .../images/templates/201-detailed.webp | Bin .../images/templates/201.webp | Bin .../images/templates/202-detailed.png | Bin .../images/templates/202-detailed.webp | Bin .../images/templates/202.webp | Bin .../images/templates/203-detailed.png | Bin .../images/templates/203-detailed.webp | Bin .../images/templates/203.webp | Bin .../images/templates/204-detailed.png | Bin .../images/templates/204-detailed.webp | Bin .../images/templates/204.webp | Bin .../images/templates/205-detailed.png | Bin .../images/templates/205-detailed.webp | Bin .../images/templates/205.webp | Bin .../images/templates/206-detailed.png | Bin .../images/templates/206-detailed.webp | Bin .../images/templates/206.webp | Bin .../images/templates/207-detailed.png | Bin .../images/templates/207-detailed.webp | Bin .../images/templates/207.webp | Bin .../images/templates/208-detailed.png | Bin .../images/templates/208-detailed.webp | Bin .../images/templates/208.webp | Bin .../images/templates/209-detailed.png | Bin .../images/templates/209-detailed.webp | Bin .../images/templates/209.webp | Bin .../images/templates/21-detailed.png | Bin .../images/templates/21-detailed.webp | Bin .../images/templates/21.webp | Bin .../images/templates/210-detailed.png | Bin .../images/templates/210-detailed.webp | Bin .../images/templates/210.webp | Bin .../images/templates/211-detailed.png | Bin .../images/templates/211-detailed.webp | Bin .../images/templates/211.webp | Bin .../images/templates/212-detailed.png | Bin .../images/templates/212-detailed.webp | Bin .../images/templates/212.webp | Bin .../images/templates/213-detailed.png | Bin .../images/templates/213-detailed.webp | Bin .../images/templates/213.webp | Bin .../images/templates/214-detailed.png | Bin .../images/templates/214-detailed.webp | Bin .../images/templates/214.webp | Bin .../images/templates/215-detailed.png | Bin .../images/templates/215-detailed.webp | Bin .../images/templates/215.webp | Bin .../images/templates/216-detailed.png | Bin .../images/templates/216-detailed.webp | Bin .../images/templates/216.webp | Bin .../images/templates/217-detailed.png | Bin .../images/templates/217-detailed.webp | Bin .../images/templates/217.webp | Bin .../images/templates/218-detailed.png | Bin .../images/templates/218-detailed.webp | Bin .../images/templates/218.webp | Bin .../images/templates/219-detailed.png | Bin .../images/templates/219-detailed.webp | Bin .../images/templates/219.webp | Bin .../images/templates/22-detailed.png | Bin .../images/templates/22-detailed.webp | Bin .../images/templates/22.webp | Bin .../images/templates/220-detailed.png | Bin .../images/templates/220-detailed.webp | Bin .../images/templates/220.webp | Bin .../images/templates/221-detailed.png | Bin .../images/templates/221-detailed.webp | Bin .../images/templates/221.webp | Bin .../images/templates/222-detailed.png | Bin .../images/templates/222-detailed.webp | Bin .../images/templates/222.webp | Bin .../images/templates/223-detailed.png | Bin .../images/templates/223-detailed.webp | Bin .../images/templates/223.webp | Bin .../images/templates/224-detailed.png | Bin .../images/templates/224-detailed.webp | Bin .../images/templates/224.webp | Bin .../images/templates/225-detailed.png | Bin .../images/templates/225-detailed.webp | Bin .../images/templates/225.webp | Bin .../images/templates/226-detailed.png | Bin .../images/templates/226-detailed.webp | Bin .../images/templates/226.webp | Bin .../images/templates/227-detailed.png | Bin .../images/templates/227-detailed.webp | Bin .../images/templates/227.webp | Bin .../images/templates/228-detailed.png | Bin .../images/templates/228-detailed.webp | Bin .../images/templates/228.webp | Bin .../images/templates/229-detailed.png | Bin .../images/templates/229-detailed.webp | Bin .../images/templates/229.webp | Bin .../images/templates/23-detailed.png | Bin .../images/templates/23-detailed.webp | Bin .../images/templates/23.webp | Bin .../images/templates/230-detailed.png | Bin .../images/templates/230-detailed.webp | Bin .../images/templates/230.webp | Bin .../images/templates/231-detailed.png | Bin .../images/templates/231-detailed.webp | Bin .../images/templates/231.webp | Bin .../images/templates/232-detailed.png | Bin .../images/templates/232-detailed.webp | Bin .../images/templates/232.webp | Bin .../images/templates/233-detailed.png | Bin .../images/templates/233-detailed.webp | Bin .../images/templates/233.webp | Bin .../images/templates/234-detailed.png | Bin .../images/templates/234-detailed.webp | Bin .../images/templates/234.webp | Bin .../images/templates/235-detailed.png | Bin .../images/templates/235-detailed.webp | Bin .../images/templates/235.webp | Bin .../images/templates/236-detailed.png | Bin .../images/templates/236-detailed.webp | Bin .../images/templates/236.webp | Bin .../images/templates/237-detailed.png | Bin .../images/templates/237-detailed.webp | Bin .../images/templates/237.webp | Bin .../images/templates/238-detailed.png | Bin .../images/templates/238-detailed.webp | Bin .../images/templates/238.webp | Bin .../images/templates/239-detailed.png | Bin .../images/templates/239-detailed.webp | Bin .../images/templates/239.webp | Bin .../images/templates/24-detailed.png | Bin .../images/templates/24-detailed.webp | Bin .../images/templates/24.webp | Bin .../images/templates/240-detailed.png | Bin .../images/templates/240-detailed.webp | Bin .../images/templates/240.webp | Bin .../images/templates/241-detailed.png | Bin .../images/templates/241-detailed.webp | Bin .../images/templates/241.webp | Bin .../images/templates/242-detailed.png | Bin .../images/templates/242-detailed.webp | Bin .../images/templates/242.webp | Bin .../images/templates/243-detailed.png | Bin .../images/templates/243-detailed.webp | Bin .../images/templates/243.webp | Bin .../images/templates/244-detailed.png | Bin .../images/templates/244-detailed.webp | Bin .../images/templates/244.webp | Bin .../images/templates/245-detailed.png | Bin .../images/templates/245-detailed.webp | Bin .../images/templates/245.webp | Bin .../images/templates/246-detailed.png | Bin .../images/templates/246-detailed.webp | Bin .../images/templates/246.webp | Bin .../images/templates/247-detailed.png | Bin .../images/templates/247-detailed.webp | Bin .../images/templates/247.webp | Bin .../images/templates/248-detailed.png | Bin .../images/templates/248-detailed.webp | Bin .../images/templates/248.webp | Bin .../images/templates/249-detailed.png | Bin .../images/templates/249-detailed.webp | Bin .../images/templates/249.webp | Bin .../images/templates/25-detailed.png | Bin .../images/templates/25-detailed.webp | Bin .../images/templates/25.webp | Bin .../images/templates/250-detailed.png | Bin .../images/templates/250-detailed.webp | Bin .../images/templates/250.webp | Bin .../images/templates/251-detailed.png | Bin .../images/templates/251-detailed.webp | Bin .../images/templates/251.webp | Bin .../images/templates/252-detailed.png | Bin .../images/templates/252-detailed.webp | Bin .../images/templates/252.webp | Bin .../images/templates/253-detailed.png | Bin .../images/templates/253-detailed.webp | Bin .../images/templates/253.webp | Bin .../images/templates/254-detailed.png | Bin .../images/templates/254-detailed.webp | Bin .../images/templates/254.webp | Bin .../images/templates/255-detailed.png | Bin .../images/templates/255-detailed.webp | Bin .../images/templates/255.webp | Bin .../images/templates/256-detailed.png | Bin .../images/templates/256-detailed.webp | Bin .../images/templates/256.webp | Bin .../images/templates/257-detailed.png | Bin .../images/templates/257-detailed.webp | Bin .../images/templates/257.webp | Bin .../images/templates/258-detailed.png | Bin .../images/templates/258-detailed.webp | Bin .../images/templates/258.webp | Bin .../images/templates/259-detailed.png | Bin .../images/templates/259-detailed.webp | Bin .../images/templates/259.webp | Bin .../images/templates/26-detailed.png | Bin .../images/templates/26-detailed.webp | Bin .../images/templates/26.webp | Bin .../images/templates/260-detailed.png | Bin .../images/templates/260-detailed.webp | Bin .../images/templates/260.webp | Bin .../images/templates/261-detailed.png | Bin .../images/templates/261-detailed.webp | Bin .../images/templates/261.webp | Bin .../images/templates/262-detailed.png | Bin .../images/templates/262-detailed.webp | Bin .../images/templates/262.webp | Bin .../images/templates/263-detailed.png | Bin .../images/templates/263-detailed.webp | Bin .../images/templates/263.webp | Bin .../images/templates/264-detailed.png | Bin .../images/templates/264-detailed.webp | Bin .../images/templates/264.webp | Bin .../images/templates/265-detailed.png | Bin .../images/templates/265-detailed.webp | Bin .../images/templates/265.webp | Bin .../images/templates/266-detailed.png | Bin .../images/templates/266-detailed.webp | Bin .../images/templates/266.webp | Bin .../images/templates/267-detailed.png | Bin .../images/templates/267-detailed.webp | Bin .../images/templates/267.webp | Bin .../images/templates/268-detailed.png | Bin .../images/templates/268-detailed.webp | Bin .../images/templates/268.webp | Bin .../images/templates/269-detailed.png | Bin .../images/templates/269-detailed.webp | Bin .../images/templates/269.webp | Bin .../images/templates/27-detailed.png | Bin .../images/templates/27-detailed.webp | Bin .../images/templates/27.webp | Bin .../images/templates/270-detailed.png | Bin .../images/templates/270-detailed.webp | Bin .../images/templates/270.webp | Bin .../images/templates/271-detailed.png | Bin .../images/templates/271-detailed.webp | Bin .../images/templates/271.webp | Bin .../images/templates/272-detailed.png | Bin .../images/templates/272-detailed.webp | Bin .../images/templates/272.webp | Bin .../images/templates/273-detailed.png | Bin .../images/templates/273-detailed.webp | Bin .../images/templates/273.webp | Bin .../images/templates/274-detailed.png | Bin .../images/templates/274-detailed.webp | Bin .../images/templates/274.webp | Bin .../images/templates/275-detailed.png | Bin .../images/templates/275-detailed.webp | Bin .../images/templates/275.webp | Bin .../images/templates/276-detailed.png | Bin .../images/templates/276-detailed.webp | Bin .../images/templates/276.webp | Bin .../images/templates/277-detailed.png | Bin .../images/templates/277-detailed.webp | Bin .../images/templates/277.webp | Bin .../images/templates/278-detailed.png | Bin .../images/templates/278-detailed.webp | Bin .../images/templates/278.webp | Bin .../images/templates/279-detailed.png | Bin .../images/templates/279-detailed.webp | Bin .../images/templates/279.webp | Bin .../images/templates/28-detailed.png | Bin .../images/templates/28-detailed.webp | Bin .../images/templates/28.webp | Bin .../images/templates/280-detailed.png | Bin .../images/templates/280-detailed.webp | Bin .../images/templates/280.webp | Bin .../images/templates/281-detailed.png | Bin .../images/templates/281-detailed.webp | Bin .../images/templates/281.webp | Bin .../images/templates/282-detailed.png | Bin .../images/templates/282-detailed.webp | Bin .../images/templates/282.webp | Bin .../images/templates/283-detailed.png | Bin .../images/templates/283-detailed.webp | Bin .../images/templates/283.webp | Bin .../images/templates/284-detailed.png | Bin .../images/templates/284-detailed.webp | Bin .../images/templates/284.webp | Bin .../images/templates/285-detailed.png | Bin .../images/templates/285-detailed.webp | Bin .../images/templates/285.webp | Bin .../images/templates/286-detailed.png | Bin .../images/templates/286-detailed.webp | Bin .../images/templates/286.webp | Bin .../images/templates/287-detailed.png | Bin .../images/templates/287-detailed.webp | Bin .../images/templates/287.webp | Bin .../images/templates/288-detailed.png | Bin .../images/templates/288-detailed.webp | Bin .../images/templates/288.webp | Bin .../images/templates/289-detailed.png | Bin .../images/templates/289-detailed.webp | Bin .../images/templates/289.webp | Bin .../images/templates/29-detailed.png | Bin .../images/templates/29-detailed.webp | Bin .../images/templates/29.webp | Bin .../images/templates/290-detailed.png | Bin .../images/templates/290-detailed.webp | Bin .../images/templates/290.webp | Bin .../images/templates/291-detailed.png | Bin .../images/templates/291-detailed.webp | Bin .../images/templates/291.webp | Bin .../images/templates/292-detailed.png | Bin .../images/templates/292-detailed.webp | Bin .../images/templates/292.webp | Bin .../images/templates/293-detailed.png | Bin .../images/templates/293-detailed.webp | Bin .../images/templates/293.webp | Bin .../images/templates/294-detailed.png | Bin .../images/templates/294-detailed.webp | Bin .../images/templates/294.webp | Bin .../images/templates/295-detailed.png | Bin .../images/templates/295-detailed.webp | Bin .../images/templates/295.webp | Bin .../images/templates/296-detailed.png | Bin .../images/templates/296-detailed.webp | Bin .../images/templates/296.webp | Bin .../images/templates/297-detailed.png | Bin .../images/templates/297-detailed.webp | Bin .../images/templates/297.webp | Bin .../images/templates/298-detailed.png | Bin .../images/templates/298-detailed.webp | Bin .../images/templates/298.webp | Bin .../images/templates/299-detailed.png | Bin .../images/templates/299-detailed.webp | Bin .../images/templates/299.webp | Bin .../images/templates/3-detailed.png | Bin .../images/templates/3-detailed.webp | Bin .../assets => public}/images/templates/3.webp | Bin .../images/templates/30-detailed.png | Bin .../images/templates/30-detailed.webp | Bin .../images/templates/30.webp | Bin .../images/templates/300-detailed.png | Bin .../images/templates/300-detailed.webp | Bin .../images/templates/300.webp | Bin .../images/templates/301-detailed.png | Bin .../images/templates/301-detailed.webp | Bin .../images/templates/301.webp | Bin .../images/templates/302-detailed.png | Bin .../images/templates/302-detailed.webp | Bin .../images/templates/302.webp | Bin .../images/templates/303-detailed.png | Bin .../images/templates/303-detailed.webp | Bin .../images/templates/303.webp | Bin .../images/templates/304-detailed.png | Bin .../images/templates/304-detailed.webp | Bin .../images/templates/304.webp | Bin .../images/templates/305-detailed.png | Bin .../images/templates/305-detailed.webp | Bin .../images/templates/305.webp | Bin .../images/templates/306-detailed.png | Bin .../images/templates/306-detailed.webp | Bin .../images/templates/306.webp | Bin .../images/templates/307-detailed.png | Bin .../images/templates/307-detailed.webp | Bin .../images/templates/307.webp | Bin .../images/templates/308-detailed.png | Bin .../images/templates/308-detailed.webp | Bin .../images/templates/308.webp | Bin .../images/templates/309-detailed.png | Bin .../images/templates/309-detailed.webp | Bin .../images/templates/309.webp | Bin .../images/templates/31-detailed.png | Bin .../images/templates/31-detailed.webp | Bin .../images/templates/31.webp | Bin .../images/templates/310-detailed.png | Bin .../images/templates/310-detailed.webp | Bin .../images/templates/310.webp | Bin .../images/templates/311-detailed.png | Bin .../images/templates/311-detailed.webp | Bin .../images/templates/311.webp | Bin .../images/templates/312-detailed.png | Bin .../images/templates/312-detailed.webp | Bin .../images/templates/312.webp | Bin .../images/templates/313-detailed.png | Bin .../images/templates/313-detailed.webp | Bin .../images/templates/313.webp | Bin .../images/templates/314-detailed.png | Bin .../images/templates/314-detailed.webp | Bin .../images/templates/314.webp | Bin .../images/templates/315-detailed.png | Bin .../images/templates/315-detailed.webp | Bin .../images/templates/315.webp | Bin .../images/templates/316-detailed.png | Bin .../images/templates/316-detailed.webp | Bin .../images/templates/316.webp | Bin .../images/templates/317-detailed.png | Bin .../images/templates/317-detailed.webp | Bin .../images/templates/317.webp | Bin .../images/templates/318-detailed.png | Bin .../images/templates/318-detailed.webp | Bin .../images/templates/318.webp | Bin .../images/templates/319-detailed.png | Bin .../images/templates/319-detailed.webp | Bin .../images/templates/319.webp | Bin .../images/templates/32-detailed.png | Bin .../images/templates/32-detailed.webp | Bin .../images/templates/32.webp | Bin .../images/templates/320-detailed.png | Bin .../images/templates/320-detailed.webp | Bin .../images/templates/320.webp | Bin .../images/templates/321-detailed.png | Bin .../images/templates/321-detailed.webp | Bin .../images/templates/321.webp | Bin .../images/templates/322-detailed.png | Bin .../images/templates/322-detailed.webp | Bin .../images/templates/322.webp | Bin .../images/templates/323-detailed.png | Bin .../images/templates/323-detailed.webp | Bin .../images/templates/323.webp | Bin .../images/templates/324-detailed.png | Bin .../images/templates/324-detailed.webp | Bin .../images/templates/324.webp | Bin .../images/templates/325-detailed.png | Bin .../images/templates/325-detailed.webp | Bin .../images/templates/325.webp | Bin .../images/templates/326-detailed.png | Bin .../images/templates/326-detailed.webp | Bin .../images/templates/326.webp | Bin .../images/templates/327-detailed.png | Bin .../images/templates/327-detailed.webp | Bin .../images/templates/327.webp | Bin .../images/templates/328-detailed.png | Bin .../images/templates/328-detailed.webp | Bin .../images/templates/328.webp | Bin .../images/templates/329-detailed.png | Bin .../images/templates/329-detailed.webp | Bin .../images/templates/329.webp | Bin .../images/templates/33-detailed.png | Bin .../images/templates/33-detailed.webp | Bin .../images/templates/33.webp | Bin .../images/templates/330-detailed.png | Bin .../images/templates/330-detailed.webp | Bin .../images/templates/330.webp | Bin .../images/templates/331-detailed.png | Bin .../images/templates/331-detailed.webp | Bin .../images/templates/331.webp | Bin .../images/templates/332-detailed.png | Bin .../images/templates/332-detailed.webp | Bin .../images/templates/332.webp | Bin .../images/templates/333-detailed.png | Bin .../images/templates/333-detailed.webp | Bin .../images/templates/333.webp | Bin .../images/templates/334-detailed.png | Bin .../images/templates/334-detailed.webp | Bin .../images/templates/334.webp | Bin .../images/templates/335-detailed.png | Bin .../images/templates/335-detailed.webp | Bin .../images/templates/335.webp | Bin .../images/templates/336-detailed.png | Bin .../images/templates/336-detailed.webp | Bin .../images/templates/336.webp | Bin .../images/templates/337-detailed.png | Bin .../images/templates/337-detailed.webp | Bin .../images/templates/337.webp | Bin .../images/templates/338-detailed.png | Bin .../images/templates/338-detailed.webp | Bin .../images/templates/338.webp | Bin .../images/templates/339-detailed.png | Bin .../images/templates/339-detailed.webp | Bin .../images/templates/339.webp | Bin .../images/templates/34-detailed.png | Bin .../images/templates/34-detailed.webp | Bin .../images/templates/34.webp | Bin .../images/templates/340-detailed.png | Bin .../images/templates/340-detailed.webp | Bin .../images/templates/340.webp | Bin .../images/templates/341-detailed.png | Bin .../images/templates/341-detailed.webp | Bin .../images/templates/341.webp | Bin .../images/templates/342-detailed.png | Bin .../images/templates/342-detailed.webp | Bin .../images/templates/342.webp | Bin .../images/templates/343-detailed.png | Bin .../images/templates/343-detailed.webp | Bin .../images/templates/343.webp | Bin .../images/templates/344-detailed.png | Bin .../images/templates/344-detailed.webp | Bin .../images/templates/344.webp | Bin .../images/templates/345-detailed.png | Bin .../images/templates/345-detailed.webp | Bin .../images/templates/345.webp | Bin .../images/templates/346-detailed.png | Bin .../images/templates/346-detailed.webp | Bin .../images/templates/346.webp | Bin .../images/templates/347-detailed.png | Bin .../images/templates/347-detailed.webp | Bin .../images/templates/347.webp | Bin .../images/templates/348-detailed.png | Bin .../images/templates/348-detailed.webp | Bin .../images/templates/348.webp | Bin .../images/templates/349-detailed.png | Bin .../images/templates/349-detailed.webp | Bin .../images/templates/349.webp | Bin .../images/templates/35-detailed.png | Bin .../images/templates/35-detailed.webp | Bin .../images/templates/35.webp | Bin .../images/templates/350-detailed.png | Bin .../images/templates/350-detailed.webp | Bin .../images/templates/350.webp | Bin .../images/templates/351-detailed.png | Bin .../images/templates/351-detailed.webp | Bin .../images/templates/351.webp | Bin .../images/templates/352-detailed.png | Bin .../images/templates/352-detailed.webp | Bin .../images/templates/352.webp | Bin .../images/templates/353-detailed.png | Bin .../images/templates/353-detailed.webp | Bin .../images/templates/353.webp | Bin .../images/templates/354-detailed.png | Bin .../images/templates/354-detailed.webp | Bin .../images/templates/354.webp | Bin .../images/templates/355-detailed.png | Bin .../images/templates/355-detailed.webp | Bin .../images/templates/355.webp | Bin .../images/templates/356-detailed.png | Bin .../images/templates/356-detailed.webp | Bin .../images/templates/356.webp | Bin .../images/templates/357-detailed.png | Bin .../images/templates/357-detailed.webp | Bin .../images/templates/357.webp | Bin .../images/templates/358-detailed.png | Bin .../images/templates/358-detailed.webp | Bin .../images/templates/358.webp | Bin .../images/templates/359-detailed.png | Bin .../images/templates/359-detailed.webp | Bin .../images/templates/359.webp | Bin .../images/templates/36-detailed.png | Bin .../images/templates/36-detailed.webp | Bin .../images/templates/36.webp | Bin .../images/templates/360-detailed.png | Bin .../images/templates/360-detailed.webp | Bin .../images/templates/360.webp | Bin .../images/templates/361-detailed.png | Bin .../images/templates/361-detailed.webp | Bin .../images/templates/361.webp | Bin .../images/templates/362-detailed.png | Bin .../images/templates/362-detailed.webp | Bin .../images/templates/362.webp | Bin .../images/templates/363-detailed.png | Bin .../images/templates/363-detailed.webp | Bin .../images/templates/363.webp | Bin .../images/templates/364-detailed.png | Bin .../images/templates/364-detailed.webp | Bin .../images/templates/364.webp | Bin .../images/templates/365-detailed.png | Bin .../images/templates/365-detailed.webp | Bin .../images/templates/365.webp | Bin .../images/templates/366-detailed.png | Bin .../images/templates/366-detailed.webp | Bin .../images/templates/366.webp | Bin .../images/templates/367-detailed.png | Bin .../images/templates/367-detailed.webp | Bin .../images/templates/367.webp | Bin .../images/templates/368-detailed.png | Bin .../images/templates/368-detailed.webp | Bin .../images/templates/368.webp | Bin .../images/templates/369-detailed.png | Bin .../images/templates/369-detailed.webp | Bin .../images/templates/369.webp | Bin .../images/templates/37-detailed.png | Bin .../images/templates/37-detailed.webp | Bin .../images/templates/37.webp | Bin .../images/templates/370-detailed.png | Bin .../images/templates/370-detailed.webp | Bin .../images/templates/370.webp | Bin .../images/templates/371-detailed.png | Bin .../images/templates/371-detailed.webp | Bin .../images/templates/371.webp | Bin .../images/templates/372-detailed.png | Bin .../images/templates/372-detailed.webp | Bin .../images/templates/372.webp | Bin .../images/templates/373-detailed.png | Bin .../images/templates/373-detailed.webp | Bin .../images/templates/373.webp | Bin .../images/templates/374-detailed.png | Bin .../images/templates/374-detailed.webp | Bin .../images/templates/374.webp | Bin .../images/templates/375-detailed.png | Bin .../images/templates/375-detailed.webp | Bin .../images/templates/375.webp | Bin .../images/templates/376-detailed.png | Bin .../images/templates/376-detailed.webp | Bin .../images/templates/376.webp | Bin .../images/templates/377-detailed.png | Bin .../images/templates/377-detailed.webp | Bin .../images/templates/377.webp | Bin .../images/templates/378-detailed.png | Bin .../images/templates/378-detailed.webp | Bin .../images/templates/378.webp | Bin .../images/templates/379-detailed.png | Bin .../images/templates/379-detailed.webp | Bin .../images/templates/379.webp | Bin .../images/templates/38-detailed.png | Bin .../images/templates/38-detailed.webp | Bin .../images/templates/38.webp | Bin .../images/templates/380-detailed.png | Bin .../images/templates/380-detailed.webp | Bin .../images/templates/380.webp | Bin .../images/templates/381-detailed.png | Bin .../images/templates/381-detailed.webp | Bin .../images/templates/381.webp | Bin .../images/templates/382-detailed.png | Bin .../images/templates/382-detailed.webp | Bin .../images/templates/382.webp | Bin .../images/templates/383-detailed.png | Bin .../images/templates/383-detailed.webp | Bin .../images/templates/383.webp | Bin .../images/templates/384-detailed.png | Bin .../images/templates/384-detailed.webp | Bin .../images/templates/384.webp | Bin .../images/templates/385-detailed.png | Bin .../images/templates/385-detailed.webp | Bin .../images/templates/385.webp | Bin .../images/templates/386-detailed.png | Bin .../images/templates/386-detailed.webp | Bin .../images/templates/386.webp | Bin .../images/templates/387-detailed.png | Bin .../images/templates/387-detailed.webp | Bin .../images/templates/387.webp | Bin .../images/templates/388-detailed.png | Bin .../images/templates/388-detailed.webp | Bin .../images/templates/388.webp | Bin .../images/templates/389-detailed.png | Bin .../images/templates/389-detailed.webp | Bin .../images/templates/389.webp | Bin .../images/templates/39-detailed.png | Bin .../images/templates/39-detailed.webp | Bin .../images/templates/39.webp | Bin .../images/templates/390-detailed.png | Bin .../images/templates/390-detailed.webp | Bin .../images/templates/390.webp | Bin .../images/templates/391-detailed.png | Bin .../images/templates/391-detailed.webp | Bin .../images/templates/391.webp | Bin .../images/templates/392-detailed.png | Bin .../images/templates/392-detailed.webp | Bin .../images/templates/392.webp | Bin .../images/templates/393-detailed.png | Bin .../images/templates/393-detailed.webp | Bin .../images/templates/393.webp | Bin .../images/templates/394-detailed.png | Bin .../images/templates/394-detailed.webp | Bin .../images/templates/394.webp | Bin .../images/templates/395-detailed.png | Bin .../images/templates/395-detailed.webp | Bin .../images/templates/395.webp | Bin .../images/templates/396-detailed.png | Bin .../images/templates/396-detailed.webp | Bin .../images/templates/396.webp | Bin .../images/templates/397-detailed.png | Bin .../images/templates/397-detailed.webp | Bin .../images/templates/397.webp | Bin .../images/templates/398-detailed.png | Bin .../images/templates/398-detailed.webp | Bin .../images/templates/398.webp | Bin .../images/templates/399-detailed.png | Bin .../images/templates/399-detailed.webp | Bin .../images/templates/399.webp | Bin .../images/templates/4-detailed.png | Bin .../images/templates/4-detailed.webp | Bin .../assets => public}/images/templates/4.webp | Bin .../images/templates/40-detailed.png | Bin .../images/templates/40-detailed.webp | Bin .../images/templates/40.webp | Bin .../images/templates/400-detailed.png | Bin .../images/templates/400-detailed.webp | Bin .../images/templates/400.webp | Bin .../images/templates/401-detailed.png | Bin .../images/templates/401-detailed.webp | Bin .../images/templates/401.webp | Bin .../images/templates/402-detailed.png | Bin .../images/templates/402-detailed.webp | Bin .../images/templates/402.webp | Bin .../images/templates/403-detailed.png | Bin .../images/templates/403-detailed.webp | Bin .../images/templates/403.webp | Bin .../images/templates/404-detailed.png | Bin .../images/templates/404-detailed.webp | Bin .../images/templates/404.webp | Bin .../images/templates/405-detailed.png | Bin .../images/templates/405-detailed.webp | Bin .../images/templates/405.webp | Bin .../images/templates/406-detailed.png | Bin .../images/templates/406-detailed.webp | Bin .../images/templates/406.webp | Bin .../images/templates/407-detailed.png | Bin .../images/templates/407-detailed.webp | Bin .../images/templates/407.webp | Bin .../images/templates/408-detailed.png | Bin .../images/templates/408-detailed.webp | Bin .../images/templates/408.webp | Bin .../images/templates/409-detailed.png | Bin .../images/templates/409-detailed.webp | Bin .../images/templates/409.webp | Bin .../images/templates/41-detailed.png | Bin .../images/templates/41-detailed.webp | Bin .../images/templates/41.webp | Bin .../images/templates/410-detailed.png | Bin .../images/templates/410-detailed.webp | Bin .../images/templates/410.webp | Bin .../images/templates/411-detailed.png | Bin .../images/templates/411-detailed.webp | Bin .../images/templates/411.webp | Bin .../images/templates/412-detailed.png | Bin .../images/templates/412-detailed.webp | Bin .../images/templates/412.webp | Bin .../images/templates/413-detailed.png | Bin .../images/templates/413-detailed.webp | Bin .../images/templates/413.webp | Bin .../images/templates/414-detailed.png | Bin .../images/templates/414-detailed.webp | Bin .../images/templates/414.webp | Bin .../images/templates/415-detailed.png | Bin .../images/templates/415-detailed.webp | Bin .../images/templates/415.webp | Bin .../images/templates/416-detailed.png | Bin .../images/templates/416-detailed.webp | Bin .../images/templates/416.webp | Bin .../images/templates/417-detailed.png | Bin .../images/templates/417-detailed.webp | Bin .../images/templates/417.webp | Bin .../images/templates/418-detailed.png | Bin .../images/templates/418-detailed.webp | Bin .../images/templates/418.webp | Bin .../images/templates/419-detailed.png | Bin .../images/templates/419-detailed.webp | Bin .../images/templates/419.webp | Bin .../images/templates/42-detailed.png | Bin .../images/templates/42-detailed.webp | Bin .../images/templates/42.webp | Bin .../images/templates/420-detailed.png | Bin .../images/templates/420-detailed.webp | Bin .../images/templates/420.webp | Bin .../images/templates/421-detailed.png | Bin .../images/templates/421-detailed.webp | Bin .../images/templates/421.webp | Bin .../images/templates/422-detailed.png | Bin .../images/templates/422-detailed.webp | Bin .../images/templates/422.webp | Bin .../images/templates/423-detailed.png | Bin .../images/templates/423-detailed.webp | Bin .../images/templates/423.webp | Bin .../images/templates/424-detailed.png | Bin .../images/templates/424-detailed.webp | Bin .../images/templates/424.webp | Bin .../images/templates/425-detailed.png | Bin .../images/templates/425-detailed.webp | Bin .../images/templates/425.webp | Bin .../images/templates/426-detailed.png | Bin .../images/templates/426-detailed.webp | Bin .../images/templates/426.webp | Bin .../images/templates/427-detailed.png | Bin .../images/templates/427-detailed.webp | Bin .../images/templates/427.webp | Bin .../images/templates/428-detailed.png | Bin .../images/templates/428-detailed.webp | Bin .../images/templates/428.webp | Bin .../images/templates/429-detailed.png | Bin .../images/templates/429-detailed.webp | Bin .../images/templates/429.webp | Bin .../images/templates/43-detailed.png | Bin .../images/templates/43-detailed.webp | Bin .../images/templates/43.webp | Bin .../images/templates/430-detailed.png | Bin .../images/templates/430-detailed.webp | Bin .../images/templates/430.webp | Bin .../images/templates/431-detailed.png | Bin .../images/templates/431-detailed.webp | Bin .../images/templates/431.webp | Bin .../images/templates/432-detailed.png | Bin .../images/templates/432-detailed.webp | Bin .../images/templates/432.webp | Bin .../images/templates/433-detailed.png | Bin .../images/templates/433-detailed.webp | Bin .../images/templates/433.webp | Bin .../images/templates/434-detailed.png | Bin .../images/templates/434-detailed.webp | Bin .../images/templates/434.webp | Bin .../images/templates/435-detailed.png | Bin .../images/templates/435-detailed.webp | Bin .../images/templates/435.webp | Bin .../images/templates/436-detailed.png | Bin .../images/templates/436-detailed.webp | Bin .../images/templates/436.webp | Bin .../images/templates/437-detailed.png | Bin .../images/templates/437-detailed.webp | Bin .../images/templates/437.webp | Bin .../images/templates/438-detailed.png | Bin .../images/templates/438-detailed.webp | Bin .../images/templates/438.webp | Bin .../images/templates/439-detailed.png | Bin .../images/templates/439-detailed.webp | Bin .../images/templates/439.webp | Bin .../images/templates/44-detailed.png | Bin .../images/templates/44-detailed.webp | Bin .../images/templates/44.webp | Bin .../images/templates/440-detailed.png | Bin .../images/templates/440-detailed.webp | Bin .../images/templates/440.webp | Bin .../images/templates/441-detailed.png | Bin .../images/templates/441-detailed.webp | Bin .../images/templates/441.webp | Bin .../images/templates/442-detailed.png | Bin .../images/templates/442-detailed.webp | Bin .../images/templates/442.webp | Bin .../images/templates/443-detailed.png | Bin .../images/templates/443-detailed.webp | Bin .../images/templates/443.webp | Bin .../images/templates/444-detailed.png | Bin .../images/templates/444-detailed.webp | Bin .../images/templates/444.webp | Bin .../images/templates/445-detailed.png | Bin .../images/templates/445-detailed.webp | Bin .../images/templates/445.webp | Bin .../images/templates/446-detailed.png | Bin .../images/templates/446-detailed.webp | Bin .../images/templates/446.webp | Bin .../images/templates/447-detailed.png | Bin .../images/templates/447-detailed.webp | Bin .../images/templates/447.webp | Bin .../images/templates/448-detailed.png | Bin .../images/templates/448-detailed.webp | Bin .../images/templates/448.webp | Bin .../images/templates/449-detailed.png | Bin .../images/templates/449-detailed.webp | Bin .../images/templates/449.webp | Bin .../images/templates/45-detailed.png | Bin .../images/templates/45-detailed.webp | Bin .../images/templates/45.webp | Bin .../images/templates/450-detailed.png | Bin .../images/templates/450-detailed.webp | Bin .../images/templates/450.webp | Bin .../images/templates/451-detailed.png | Bin .../images/templates/451-detailed.webp | Bin .../images/templates/451.webp | Bin .../images/templates/452-detailed.png | Bin .../images/templates/452-detailed.webp | Bin .../images/templates/452.webp | Bin .../images/templates/453-detailed.png | Bin .../images/templates/453-detailed.webp | Bin .../images/templates/453.webp | Bin .../images/templates/454-detailed.png | Bin .../images/templates/454-detailed.webp | Bin .../images/templates/454.webp | Bin .../images/templates/455-detailed.png | Bin .../images/templates/455-detailed.webp | Bin .../images/templates/455.webp | Bin .../images/templates/456-detailed.png | Bin .../images/templates/456-detailed.webp | Bin .../images/templates/456.webp | Bin .../images/templates/457-detailed.png | Bin .../images/templates/457-detailed.webp | Bin .../images/templates/457.webp | Bin .../images/templates/458-detailed.png | Bin .../images/templates/458-detailed.webp | Bin .../images/templates/458.webp | Bin .../images/templates/459-detailed.png | Bin .../images/templates/459-detailed.webp | Bin .../images/templates/459.webp | Bin .../images/templates/46-detailed.png | Bin .../images/templates/46-detailed.webp | Bin .../images/templates/46.webp | Bin .../images/templates/460-detailed.png | Bin .../images/templates/460-detailed.webp | Bin .../images/templates/460.webp | Bin .../images/templates/461-detailed.png | Bin .../images/templates/461-detailed.webp | Bin .../images/templates/461.webp | Bin .../images/templates/462-detailed.png | Bin .../images/templates/462-detailed.webp | Bin .../images/templates/462.webp | Bin .../images/templates/463-detailed.png | Bin .../images/templates/463-detailed.webp | Bin .../images/templates/463.webp | Bin .../images/templates/464-detailed.png | Bin .../images/templates/464-detailed.webp | Bin .../images/templates/464.webp | Bin .../images/templates/465-detailed.png | Bin .../images/templates/465-detailed.webp | Bin .../images/templates/465.webp | Bin .../images/templates/466-detailed.png | Bin .../images/templates/466-detailed.webp | Bin .../images/templates/466.webp | Bin .../images/templates/467-detailed.png | Bin .../images/templates/467-detailed.webp | Bin .../images/templates/467.webp | Bin .../images/templates/468-detailed.png | Bin .../images/templates/468-detailed.webp | Bin .../images/templates/468.webp | Bin .../images/templates/469-detailed.png | Bin .../images/templates/469-detailed.webp | Bin .../images/templates/469.webp | Bin .../images/templates/47-detailed.png | Bin .../images/templates/47-detailed.webp | Bin .../images/templates/47.webp | Bin .../images/templates/470-detailed.png | Bin .../images/templates/470-detailed.webp | Bin .../images/templates/470.webp | Bin .../images/templates/471-detailed.png | Bin .../images/templates/471-detailed.webp | Bin .../images/templates/471.webp | Bin .../images/templates/472-detailed.png | Bin .../images/templates/472-detailed.webp | Bin .../images/templates/472.webp | Bin .../images/templates/473-detailed.png | Bin .../images/templates/473-detailed.webp | Bin .../images/templates/473.webp | Bin .../images/templates/474-detailed.png | Bin .../images/templates/474-detailed.webp | Bin .../images/templates/474.webp | Bin .../images/templates/475-detailed.png | Bin .../images/templates/475-detailed.webp | Bin .../images/templates/475.webp | Bin .../images/templates/476-detailed.png | Bin .../images/templates/476-detailed.webp | Bin .../images/templates/476.webp | Bin .../images/templates/477-detailed.png | Bin .../images/templates/477-detailed.webp | Bin .../images/templates/477.webp | Bin .../images/templates/478-detailed.png | Bin .../images/templates/478-detailed.webp | Bin .../images/templates/478.webp | Bin .../images/templates/479-detailed.png | Bin .../images/templates/479-detailed.webp | Bin .../images/templates/479.webp | Bin .../images/templates/48-detailed.png | Bin .../images/templates/48-detailed.webp | Bin .../images/templates/48.webp | Bin .../images/templates/480-detailed.png | Bin .../images/templates/480-detailed.webp | Bin .../images/templates/480.webp | Bin .../images/templates/481-detailed.png | Bin .../images/templates/481-detailed.webp | Bin .../images/templates/481.webp | Bin .../images/templates/482-detailed.png | Bin .../images/templates/482-detailed.webp | Bin .../images/templates/482.webp | Bin .../images/templates/483-detailed.png | Bin .../images/templates/483-detailed.webp | Bin .../images/templates/483.webp | Bin .../images/templates/484-detailed.png | Bin .../images/templates/484-detailed.webp | Bin .../images/templates/484.webp | Bin .../images/templates/485-detailed.png | Bin .../images/templates/485-detailed.webp | Bin .../images/templates/485.webp | Bin .../images/templates/486-detailed.png | Bin .../images/templates/486-detailed.webp | Bin .../images/templates/486.webp | Bin .../images/templates/487-detailed.png | Bin .../images/templates/487-detailed.webp | Bin .../images/templates/487.webp | Bin .../images/templates/488-detailed.png | Bin .../images/templates/488-detailed.webp | Bin .../images/templates/488.webp | Bin .../images/templates/489-detailed.png | Bin .../images/templates/489-detailed.webp | Bin .../images/templates/489.webp | Bin .../images/templates/49-detailed.png | Bin .../images/templates/49-detailed.webp | Bin .../images/templates/49.webp | Bin .../images/templates/490-detailed.png | Bin .../images/templates/490-detailed.webp | Bin .../images/templates/490.webp | Bin .../images/templates/491-detailed.png | Bin .../images/templates/491-detailed.webp | Bin .../images/templates/491.webp | Bin .../images/templates/492-detailed.png | Bin .../images/templates/492-detailed.webp | Bin .../images/templates/492.webp | Bin .../images/templates/493-detailed.png | Bin .../images/templates/493-detailed.webp | Bin .../images/templates/493.webp | Bin .../images/templates/494-detailed.png | Bin .../images/templates/494-detailed.webp | Bin .../images/templates/494.webp | Bin .../images/templates/495-detailed.png | Bin .../images/templates/495-detailed.webp | Bin .../images/templates/495.webp | Bin .../images/templates/496-detailed.png | Bin .../images/templates/496-detailed.webp | Bin .../images/templates/496.webp | Bin .../images/templates/497-detailed.png | Bin .../images/templates/497-detailed.webp | Bin .../images/templates/497.webp | Bin .../images/templates/498-detailed.png | Bin .../images/templates/498-detailed.webp | Bin .../images/templates/498.webp | Bin .../images/templates/499-detailed.png | Bin .../images/templates/499-detailed.webp | Bin .../images/templates/499.webp | Bin .../images/templates/5-detailed.png | Bin .../images/templates/5-detailed.webp | Bin .../assets => public}/images/templates/5.webp | Bin .../images/templates/50-detailed.png | Bin .../images/templates/50-detailed.webp | Bin .../images/templates/50.webp | Bin .../images/templates/51-detailed.png | Bin .../images/templates/51-detailed.webp | Bin .../images/templates/51.webp | Bin .../images/templates/52-detailed.png | Bin .../images/templates/52-detailed.webp | Bin .../images/templates/52.webp | Bin .../images/templates/53-detailed.png | Bin .../images/templates/53-detailed.webp | Bin .../images/templates/53.webp | Bin .../images/templates/54-detailed.png | Bin .../images/templates/54-detailed.webp | Bin .../images/templates/54.webp | Bin .../images/templates/55-detailed.png | Bin .../images/templates/55-detailed.webp | Bin .../images/templates/55.webp | Bin .../images/templates/56-detailed.png | Bin .../images/templates/56-detailed.webp | Bin .../images/templates/56.webp | Bin .../images/templates/57-detailed.png | Bin .../images/templates/57-detailed.webp | Bin .../images/templates/57.webp | Bin .../images/templates/58-detailed.png | Bin .../images/templates/58-detailed.webp | Bin .../images/templates/58.webp | Bin .../images/templates/59-detailed.png | Bin .../images/templates/59-detailed.webp | Bin .../images/templates/59.webp | Bin .../images/templates/6-detailed.png | Bin .../images/templates/6-detailed.webp | Bin .../assets => public}/images/templates/6.webp | Bin .../images/templates/60-detailed.png | Bin .../images/templates/60-detailed.webp | Bin .../images/templates/60.webp | Bin .../images/templates/61-detailed.png | Bin .../images/templates/61-detailed.webp | Bin .../images/templates/61.webp | Bin .../images/templates/62-detailed.png | Bin .../images/templates/62-detailed.webp | Bin .../images/templates/62.webp | Bin .../images/templates/63-detailed.png | Bin .../images/templates/63-detailed.webp | Bin .../images/templates/63.webp | Bin .../images/templates/64-detailed.png | Bin .../images/templates/64-detailed.webp | Bin .../images/templates/64.webp | Bin .../images/templates/65-detailed.png | Bin .../images/templates/65-detailed.webp | Bin .../images/templates/65.webp | Bin .../images/templates/66-detailed.png | Bin .../images/templates/66-detailed.webp | Bin .../images/templates/66.webp | Bin .../images/templates/67-detailed.png | Bin .../images/templates/67-detailed.webp | Bin .../images/templates/67.webp | Bin .../images/templates/68-detailed.png | Bin .../images/templates/68-detailed.webp | Bin .../images/templates/68.webp | Bin .../images/templates/69-detailed.png | Bin .../images/templates/69-detailed.webp | Bin .../images/templates/69.webp | Bin .../images/templates/7-detailed.png | Bin .../images/templates/7-detailed.webp | Bin .../assets => public}/images/templates/7.webp | Bin .../images/templates/70-detailed.png | Bin .../images/templates/70-detailed.webp | Bin .../images/templates/70.webp | Bin .../images/templates/71-detailed.png | Bin .../images/templates/71-detailed.webp | Bin .../images/templates/71.webp | Bin .../images/templates/72-detailed.png | Bin .../images/templates/72-detailed.webp | Bin .../images/templates/72.webp | Bin .../images/templates/73-detailed.png | Bin .../images/templates/73-detailed.webp | Bin .../images/templates/73.webp | Bin .../images/templates/74-detailed.png | Bin .../images/templates/74-detailed.webp | Bin .../images/templates/74.webp | Bin .../images/templates/75-detailed.png | Bin .../images/templates/75-detailed.webp | Bin .../images/templates/75.webp | Bin .../images/templates/76-detailed.png | Bin .../images/templates/76-detailed.webp | Bin .../images/templates/76.webp | Bin .../images/templates/77-detailed.png | Bin .../images/templates/77-detailed.webp | Bin .../images/templates/77.webp | Bin .../images/templates/78-detailed.png | Bin .../images/templates/78-detailed.webp | Bin .../images/templates/78.webp | Bin .../images/templates/79-detailed.png | Bin .../images/templates/79-detailed.webp | Bin .../images/templates/79.webp | Bin .../images/templates/8-detailed.png | Bin .../images/templates/8-detailed.webp | Bin .../assets => public}/images/templates/8.webp | Bin .../images/templates/80-detailed.png | Bin .../images/templates/80-detailed.webp | Bin .../images/templates/80.webp | Bin .../images/templates/81-detailed.png | Bin .../images/templates/81-detailed.webp | Bin .../images/templates/81.webp | Bin .../images/templates/82-detailed.png | Bin .../images/templates/82-detailed.webp | Bin .../images/templates/82.webp | Bin .../images/templates/83-detailed.png | Bin .../images/templates/83-detailed.webp | Bin .../images/templates/83.webp | Bin .../images/templates/84-detailed.png | Bin .../images/templates/84-detailed.webp | Bin .../images/templates/84.webp | Bin .../images/templates/85-detailed.png | Bin .../images/templates/85-detailed.webp | Bin .../images/templates/85.webp | Bin .../images/templates/86-detailed.png | Bin .../images/templates/86-detailed.webp | Bin .../images/templates/86.webp | Bin .../images/templates/87-detailed.png | Bin .../images/templates/87-detailed.webp | Bin .../images/templates/87.webp | Bin .../images/templates/88-detailed.png | Bin .../images/templates/88-detailed.webp | Bin .../images/templates/88.webp | Bin .../images/templates/89-detailed.png | Bin .../images/templates/89-detailed.webp | Bin .../images/templates/89.webp | Bin .../images/templates/9-detailed.png | Bin .../images/templates/9-detailed.webp | Bin .../assets => public}/images/templates/9.webp | Bin .../images/templates/90-detailed.png | Bin .../images/templates/90-detailed.webp | Bin .../images/templates/90.webp | Bin .../images/templates/91-detailed.png | Bin .../images/templates/91-detailed.webp | Bin .../images/templates/91.webp | Bin .../images/templates/92-detailed.png | Bin .../images/templates/92-detailed.webp | Bin .../images/templates/92.webp | Bin .../images/templates/93-detailed.png | Bin .../images/templates/93-detailed.webp | Bin .../images/templates/93.webp | Bin .../images/templates/94-detailed.png | Bin .../images/templates/94-detailed.webp | Bin .../images/templates/94.webp | Bin .../images/templates/95-detailed.png | Bin .../images/templates/95-detailed.webp | Bin .../images/templates/95.webp | Bin .../images/templates/96-detailed.png | Bin .../images/templates/96-detailed.webp | Bin .../images/templates/96.webp | Bin .../images/templates/97-detailed.png | Bin .../images/templates/97-detailed.webp | Bin .../images/templates/97.webp | Bin .../images/templates/98-detailed.png | Bin .../images/templates/98-detailed.webp | Bin .../images/templates/98.webp | Bin .../images/templates/99-detailed.png | Bin .../images/templates/99-detailed.webp | Bin .../images/templates/99.webp | Bin server/tsconfig.json | 3 + src/App.vue | 57 - src/bootstrap.ts | 2 - src/components/HistoryComponent.vue | 24 - src/components/InformationsComponent.vue | 119 - src/components/NotFoundComponent.vue | 3 - src/components/TemplatesComponent.vue | 21 - src/components/ToolsComponent.vue | 9 - .../navigation/LanguageDropdown.vue | 79 - src/components/privacy/PrivacyPolicy.vue | 398 - src/components/tiles/FullscreenButton.vue | 58 - src/components/tiles/PrintButton.vue | 66 - src/components/tiles/TileComponent.vue | 58 - src/components/tools/OrderModal.vue | 138 - src/data/colors.json | 146 - src/data/tile.json | 3 - src/i18n.ts | 66 - src/main.ts | 9 - src/pinia.ts | 4 - src/router.ts | 110 - src/stores/locale.ts | 28 - src/stores/progress.ts | 54 - {src/stores => stores}/favorite-tiles.ts | 30 +- stores/progress.ts | 54 + tsconfig.app.json | 12 - tsconfig.json | 11 +- tsconfig.node.json | 16 - utils/colorInfos.ts | 146 + {src => utils}/zoom.ts | 0 vite.config.ts | 25 - 1703 files changed, 11374 insertions(+), 4959 deletions(-) delete mode 100644 .dockerignore delete mode 100644 .eslintrc.cjs delete mode 100644 .github/workflows/build.yml delete mode 100644 .prettierrc.json delete mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json delete mode 100644 Dockerfile delete mode 100644 LICENSE create mode 100644 assets/main.css rename {src/components => components}/common/TileThumbnail.vue (91%) rename {src/components => components}/common/ZoomWrapper.vue (88%) rename {src/components => components}/informations/ProjectProgress.vue (91%) rename {src/components/navigation => components/layout}/DonationButton.vue (87%) create mode 100644 components/layout/LanguageDropdown.vue rename {src/components => components}/templates/LegendComponent.vue (87%) rename {src/components => components}/templates/NoFavorites.vue (87%) rename {src/components => components}/templates/TileList.vue (83%) rename {src/components/tiles => components/templates/number}/CloseButton.vue (85%) rename {src/components/tiles => components/templates/number}/ColorsButton.vue (79%) rename {src/components/tiles => components/templates/number}/DownloadButton.vue (62%) rename {src/components/tiles => components/templates/number}/FavoriteButton.vue (96%) create mode 100644 components/templates/number/FullscreenButton.vue rename {src/components/tiles => components/templates/number}/PrevNextButton.vue (60%) create mode 100644 components/templates/number/PrintButton.vue rename {src/components/tiles => components/templates/number}/ShareButton.vue (61%) rename {src/components => components}/tools/ColorCard.vue (90%) rename {src/components => components}/tools/ColorPlate.vue (99%) rename {src/components => components}/tools/CuttingModal.vue (81%) rename {src/components => components}/tools/InfoModal.vue (83%) create mode 100644 components/tools/OrderModal.vue rename {src/components => components}/tools/TileSelection.vue (69%) delete mode 100644 env.d.ts create mode 100644 i18n.config.ts delete mode 100644 index.html rename {src/locales => lang}/de-DE.json (98%) rename {src/locales => lang}/en-US.json (98%) rename src/components/NavigationComponent.vue => layouts/default.vue (63%) delete mode 100644 nginx.conf create mode 100644 nuxt.config.ts rename src/components/PlaceAtlasComponent.vue => pages/atlas/index.vue (75%) create mode 100644 pages/history/index.vue rename src/components/PlaceComponent.vue => pages/image/index.vue (76%) create mode 100644 pages/index.vue create mode 100644 pages/informations/index.vue create mode 100644 pages/templates/[number]/index.vue create mode 100644 pages/templates/index.vue rename src/components/tools/TileColors.vue => pages/tools/color-count/index.vue (61%) create mode 100644 pages/tools/index.vue create mode 100644 plugins/bootstrap.client.ts rename {src/assets => public}/fonts/KumbhSans-Bold.woff (100%) rename {src/assets => public}/fonts/KumbhSans-Bold.woff2 (100%) rename {src/assets => public}/fonts/KumbhSans-Light.woff (100%) rename {src/assets => public}/fonts/KumbhSans-Light.woff2 (100%) rename {src/assets => public}/fonts/KumbhSans-Regular.woff (100%) rename {src/assets => public}/fonts/KumbhSans-Regular.woff2 (100%) rename {src/assets => public}/images/background.webp (100%) rename {src/assets => public}/images/history/0.webp (100%) rename {src/assets => public}/images/history/1.webp (100%) rename {src/assets => public}/images/history/10.webp (100%) rename {src/assets => public}/images/history/11.webp (100%) rename {src/assets => public}/images/history/12.webp (100%) rename {src/assets => public}/images/history/13.webp (100%) rename {src/assets => public}/images/history/14.webp (100%) rename {src/assets => public}/images/history/15.webp (100%) rename {src/assets => public}/images/history/16.webp (100%) rename {src/assets => public}/images/history/17.webp (100%) rename {src/assets => public}/images/history/18.webp (100%) rename {src/assets => public}/images/history/19.webp (100%) rename {src/assets => public}/images/history/2.webp (100%) rename {src/assets => public}/images/history/20.webp (100%) rename {src/assets => public}/images/history/21.webp (100%) rename {src/assets => public}/images/history/22.webp (100%) rename {src/assets => public}/images/history/23.webp (100%) rename {src/assets => public}/images/history/24.webp (100%) rename {src/assets => public}/images/history/25.webp (100%) rename {src/assets => public}/images/history/26.webp (100%) rename {src/assets => public}/images/history/27.webp (100%) rename {src/assets => public}/images/history/28.webp (100%) rename {src/assets => public}/images/history/29.webp (100%) rename {src/assets => public}/images/history/3.webp (100%) rename {src/assets => public}/images/history/30.webp (100%) rename {src/assets => public}/images/history/31.webp (100%) rename {src/assets => public}/images/history/32.webp (100%) rename {src/assets => public}/images/history/33.webp (100%) rename {src/assets => public}/images/history/34.webp (100%) rename {src/assets => public}/images/history/35.webp (100%) rename {src/assets => public}/images/history/36.webp (100%) rename {src/assets => public}/images/history/37.webp (100%) rename {src/assets => public}/images/history/38.webp (100%) rename {src/assets => public}/images/history/39.webp (100%) rename {src/assets => public}/images/history/4.webp (100%) rename {src/assets => public}/images/history/40.webp (100%) rename {src/assets => public}/images/history/41.webp (100%) rename {src/assets => public}/images/history/42.webp (100%) rename {src/assets => public}/images/history/43.webp (100%) rename {src/assets => public}/images/history/44.webp (100%) rename {src/assets => public}/images/history/45.webp (100%) rename {src/assets => public}/images/history/46.webp (100%) rename {src/assets => public}/images/history/47.webp (100%) rename {src/assets => public}/images/history/48.webp (100%) rename {src/assets => public}/images/history/49.webp (100%) rename {src/assets => public}/images/history/5.webp (100%) rename {src/assets => public}/images/history/50.webp (100%) rename {src/assets => public}/images/history/51.webp (100%) rename {src/assets => public}/images/history/52.webp (100%) rename {src/assets => public}/images/history/53.webp (100%) rename {src/assets => public}/images/history/54.webp (100%) rename {src/assets => public}/images/history/55.webp (100%) rename {src/assets => public}/images/history/56.webp (100%) rename {src/assets => public}/images/history/57.webp (100%) rename {src/assets => public}/images/history/58.webp (100%) rename {src/assets => public}/images/history/59.webp (100%) rename {src/assets => public}/images/history/6.webp (100%) rename {src/assets => public}/images/history/60.webp (100%) rename {src/assets => public}/images/history/61.webp (100%) rename {src/assets => public}/images/history/62.webp (100%) rename {src/assets => public}/images/history/63.webp (100%) rename {src/assets => public}/images/history/64.webp (100%) rename {src/assets => public}/images/history/65.webp (100%) rename {src/assets => public}/images/history/66.webp (100%) rename {src/assets => public}/images/history/67.webp (100%) rename {src/assets => public}/images/history/68.webp (100%) rename {src/assets => public}/images/history/69.webp (100%) rename {src/assets => public}/images/history/7.webp (100%) rename {src/assets => public}/images/history/70.webp (100%) rename {src/assets => public}/images/history/71.webp (100%) rename {src/assets => public}/images/history/72.webp (100%) rename {src/assets => public}/images/history/73.webp (100%) rename {src/assets => public}/images/history/74.webp (100%) rename {src/assets => public}/images/history/75.webp (100%) rename {src/assets => public}/images/history/76.webp (100%) rename {src/assets => public}/images/history/77.webp (100%) rename {src/assets => public}/images/history/78.webp (100%) rename {src/assets => public}/images/history/79.webp (100%) rename {src/assets => public}/images/history/8.webp (100%) rename {src/assets => public}/images/history/80.webp (100%) rename {src/assets => public}/images/history/81.webp (100%) rename {src/assets => public}/images/history/82.webp (100%) rename {src/assets => public}/images/history/83.webp (100%) rename {src/assets => public}/images/history/84.webp (100%) rename {src/assets => public}/images/history/85.webp (100%) rename {src/assets => public}/images/history/86.webp (100%) rename {src/assets => public}/images/history/87.webp (100%) rename {src/assets => public}/images/history/88.webp (100%) rename {src/assets => public}/images/history/89.webp (100%) rename {src/assets => public}/images/history/9.webp (100%) rename {src/assets => public}/images/history/90.webp (100%) rename {src/assets => public}/images/history/91.webp (100%) rename {src/assets => public}/images/history/92.webp (100%) rename {src/assets => public}/images/history/93.webp (100%) rename {src/assets => public}/images/history/94.webp (100%) rename {src/assets => public}/images/history/95.webp (100%) rename {src/assets => public}/images/history/96.webp (100%) rename {src/assets => public}/images/history/97.webp (100%) rename {src/assets => public}/images/history/98.webp (100%) rename {src/assets => public}/images/icon-white.svg (100%) rename {src/assets => public}/images/informations/base-color-selection.webp (100%) rename {src/assets => public}/images/informations/base-colors.webp (100%) rename {src/assets => public}/images/informations/first-pixel.webp (100%) rename {src/assets => public}/images/informations/image-numbering.webp (100%) rename {src/assets => public}/images/informations/new-color-plates.webp (100%) rename {src/assets => public}/images/informations/pixeling.webp (100%) rename {src/assets => public}/images/logo-white.svg (100%) rename {src/assets => public}/images/navigation/de.svg (100%) rename {src/assets => public}/images/navigation/us.svg (100%) rename {src/assets => public}/images/place/cleaned.webp (100%) rename {src/assets => public}/images/place/cleaned_grid.webp (100%) rename {src/assets => public}/images/place/original.webp (100%) rename {src/assets => public}/images/place/original_grid.webp (100%) rename {src/assets => public}/images/templates/0-detailed.png (100%) rename {src/assets => public}/images/templates/0-detailed.webp (100%) rename {src/assets => public}/images/templates/0.webp (100%) rename {src/assets => public}/images/templates/1-detailed.png (100%) rename {src/assets => public}/images/templates/1-detailed.webp (100%) rename {src/assets => public}/images/templates/1.webp (100%) rename {src/assets => public}/images/templates/10-detailed.png (100%) rename {src/assets => public}/images/templates/10-detailed.webp (100%) rename {src/assets => public}/images/templates/10.webp (100%) rename {src/assets => public}/images/templates/100-detailed.png (100%) rename {src/assets => public}/images/templates/100-detailed.webp (100%) rename {src/assets => public}/images/templates/100.webp (100%) rename {src/assets => public}/images/templates/101-detailed.png (100%) rename {src/assets => public}/images/templates/101-detailed.webp (100%) rename {src/assets => public}/images/templates/101.webp (100%) rename {src/assets => public}/images/templates/102-detailed.png (100%) rename {src/assets => public}/images/templates/102-detailed.webp (100%) rename {src/assets => public}/images/templates/102.webp (100%) rename {src/assets => public}/images/templates/103-detailed.png (100%) rename {src/assets => public}/images/templates/103-detailed.webp (100%) rename {src/assets => public}/images/templates/103.webp (100%) rename {src/assets => public}/images/templates/104-detailed.png (100%) rename {src/assets => public}/images/templates/104-detailed.webp (100%) rename {src/assets => public}/images/templates/104.webp (100%) rename {src/assets => public}/images/templates/105-detailed.png (100%) rename {src/assets => public}/images/templates/105-detailed.webp (100%) rename {src/assets => public}/images/templates/105.webp (100%) rename {src/assets => public}/images/templates/106-detailed.png (100%) rename {src/assets => public}/images/templates/106-detailed.webp (100%) rename {src/assets => public}/images/templates/106.webp (100%) rename {src/assets => public}/images/templates/107-detailed.png (100%) rename {src/assets => public}/images/templates/107-detailed.webp (100%) rename {src/assets => public}/images/templates/107.webp (100%) rename {src/assets => public}/images/templates/108-detailed.png (100%) rename {src/assets => public}/images/templates/108-detailed.webp (100%) rename {src/assets => public}/images/templates/108.webp (100%) rename {src/assets => public}/images/templates/109-detailed.png (100%) rename {src/assets => public}/images/templates/109-detailed.webp (100%) rename {src/assets => public}/images/templates/109.webp (100%) rename {src/assets => public}/images/templates/11-detailed.png (100%) rename {src/assets => public}/images/templates/11-detailed.webp (100%) rename {src/assets => public}/images/templates/11.webp (100%) rename {src/assets => public}/images/templates/110-detailed.png (100%) rename {src/assets => public}/images/templates/110-detailed.webp (100%) rename {src/assets => public}/images/templates/110.webp (100%) rename {src/assets => public}/images/templates/111-detailed.png (100%) rename {src/assets => public}/images/templates/111-detailed.webp (100%) rename {src/assets => public}/images/templates/111.webp (100%) rename {src/assets => public}/images/templates/112-detailed.png (100%) rename {src/assets => public}/images/templates/112-detailed.webp (100%) rename {src/assets => public}/images/templates/112.webp (100%) rename {src/assets => public}/images/templates/113-detailed.png (100%) rename {src/assets => public}/images/templates/113-detailed.webp (100%) rename {src/assets => public}/images/templates/113.webp (100%) rename {src/assets => public}/images/templates/114-detailed.png (100%) rename {src/assets => public}/images/templates/114-detailed.webp (100%) rename {src/assets => public}/images/templates/114.webp (100%) rename {src/assets => public}/images/templates/115-detailed.png (100%) rename {src/assets => public}/images/templates/115-detailed.webp (100%) rename {src/assets => public}/images/templates/115.webp (100%) rename {src/assets => public}/images/templates/116-detailed.png (100%) rename {src/assets => public}/images/templates/116-detailed.webp (100%) rename {src/assets => public}/images/templates/116.webp (100%) rename {src/assets => public}/images/templates/117-detailed.png (100%) rename {src/assets => public}/images/templates/117-detailed.webp (100%) rename {src/assets => public}/images/templates/117.webp (100%) rename {src/assets => public}/images/templates/118-detailed.png (100%) rename {src/assets => public}/images/templates/118-detailed.webp (100%) rename {src/assets => public}/images/templates/118.webp (100%) rename {src/assets => public}/images/templates/119-detailed.png (100%) rename {src/assets => public}/images/templates/119-detailed.webp (100%) rename {src/assets => public}/images/templates/119.webp (100%) rename {src/assets => public}/images/templates/12-detailed.png (100%) rename {src/assets => public}/images/templates/12-detailed.webp (100%) rename {src/assets => public}/images/templates/12.webp (100%) rename {src/assets => public}/images/templates/120-detailed.png (100%) rename {src/assets => public}/images/templates/120-detailed.webp (100%) rename {src/assets => public}/images/templates/120.webp (100%) rename {src/assets => public}/images/templates/121-detailed.png (100%) rename {src/assets => public}/images/templates/121-detailed.webp (100%) rename {src/assets => public}/images/templates/121.webp (100%) rename {src/assets => public}/images/templates/122-detailed.png (100%) rename {src/assets => public}/images/templates/122-detailed.webp (100%) rename {src/assets => public}/images/templates/122.webp (100%) rename {src/assets => public}/images/templates/123-detailed.png (100%) rename {src/assets => public}/images/templates/123-detailed.webp (100%) rename {src/assets => public}/images/templates/123.webp (100%) rename {src/assets => public}/images/templates/124-detailed.png (100%) rename {src/assets => public}/images/templates/124-detailed.webp (100%) rename {src/assets => public}/images/templates/124.webp (100%) rename {src/assets => public}/images/templates/125-detailed.png (100%) rename {src/assets => public}/images/templates/125-detailed.webp (100%) rename {src/assets => public}/images/templates/125.webp (100%) rename {src/assets => public}/images/templates/126-detailed.png (100%) rename {src/assets => public}/images/templates/126-detailed.webp (100%) rename {src/assets => public}/images/templates/126.webp (100%) rename {src/assets => public}/images/templates/127-detailed.png (100%) rename {src/assets => public}/images/templates/127-detailed.webp (100%) rename {src/assets => public}/images/templates/127.webp (100%) rename {src/assets => public}/images/templates/128-detailed.png (100%) rename {src/assets => public}/images/templates/128-detailed.webp (100%) rename {src/assets => public}/images/templates/128.webp (100%) rename {src/assets => public}/images/templates/129-detailed.png (100%) rename {src/assets => public}/images/templates/129-detailed.webp (100%) rename {src/assets => public}/images/templates/129.webp (100%) rename {src/assets => public}/images/templates/13-detailed.png (100%) rename {src/assets => public}/images/templates/13-detailed.webp (100%) rename {src/assets => public}/images/templates/13.webp (100%) rename {src/assets => public}/images/templates/130-detailed.png (100%) rename {src/assets => public}/images/templates/130-detailed.webp (100%) rename {src/assets => public}/images/templates/130.webp (100%) rename {src/assets => public}/images/templates/131-detailed.png (100%) rename {src/assets => public}/images/templates/131-detailed.webp (100%) rename {src/assets => public}/images/templates/131.webp (100%) rename {src/assets => public}/images/templates/132-detailed.png (100%) rename {src/assets => public}/images/templates/132-detailed.webp (100%) rename {src/assets => public}/images/templates/132.webp (100%) rename {src/assets => public}/images/templates/133-detailed.png (100%) rename {src/assets => public}/images/templates/133-detailed.webp (100%) rename {src/assets => public}/images/templates/133.webp (100%) rename {src/assets => public}/images/templates/134-detailed.png (100%) rename {src/assets => public}/images/templates/134-detailed.webp (100%) rename {src/assets => public}/images/templates/134.webp (100%) rename {src/assets => public}/images/templates/135-detailed.png (100%) rename {src/assets => public}/images/templates/135-detailed.webp (100%) rename {src/assets => public}/images/templates/135.webp (100%) rename {src/assets => public}/images/templates/136-detailed.png (100%) rename {src/assets => public}/images/templates/136-detailed.webp (100%) rename {src/assets => public}/images/templates/136.webp (100%) rename {src/assets => public}/images/templates/137-detailed.png (100%) rename {src/assets => public}/images/templates/137-detailed.webp (100%) rename {src/assets => public}/images/templates/137.webp (100%) rename {src/assets => public}/images/templates/138-detailed.png (100%) rename {src/assets => public}/images/templates/138-detailed.webp (100%) rename {src/assets => public}/images/templates/138.webp (100%) rename {src/assets => public}/images/templates/139-detailed.png (100%) rename {src/assets => public}/images/templates/139-detailed.webp (100%) rename {src/assets => public}/images/templates/139.webp (100%) rename {src/assets => public}/images/templates/14-detailed.png (100%) rename {src/assets => public}/images/templates/14-detailed.webp (100%) rename {src/assets => public}/images/templates/14.webp (100%) rename {src/assets => public}/images/templates/140-detailed.png (100%) rename {src/assets => public}/images/templates/140-detailed.webp (100%) rename {src/assets => public}/images/templates/140.webp (100%) rename {src/assets => public}/images/templates/141-detailed.png (100%) rename {src/assets => public}/images/templates/141-detailed.webp (100%) rename {src/assets => public}/images/templates/141.webp (100%) rename {src/assets => public}/images/templates/142-detailed.png (100%) rename {src/assets => public}/images/templates/142-detailed.webp (100%) rename {src/assets => public}/images/templates/142.webp (100%) rename {src/assets => public}/images/templates/143-detailed.png (100%) rename {src/assets => public}/images/templates/143-detailed.webp (100%) rename {src/assets => public}/images/templates/143.webp (100%) rename {src/assets => public}/images/templates/144-detailed.png (100%) rename {src/assets => public}/images/templates/144-detailed.webp (100%) rename {src/assets => public}/images/templates/144.webp (100%) rename {src/assets => public}/images/templates/145-detailed.png (100%) rename {src/assets => public}/images/templates/145-detailed.webp (100%) rename {src/assets => public}/images/templates/145.webp (100%) rename {src/assets => public}/images/templates/146-detailed.png (100%) rename {src/assets => public}/images/templates/146-detailed.webp (100%) rename {src/assets => public}/images/templates/146.webp (100%) rename {src/assets => public}/images/templates/147-detailed.png (100%) rename {src/assets => public}/images/templates/147-detailed.webp (100%) rename {src/assets => public}/images/templates/147.webp (100%) rename {src/assets => public}/images/templates/148-detailed.png (100%) rename {src/assets => public}/images/templates/148-detailed.webp (100%) rename {src/assets => public}/images/templates/148.webp (100%) rename {src/assets => public}/images/templates/149-detailed.png (100%) rename {src/assets => public}/images/templates/149-detailed.webp (100%) rename {src/assets => public}/images/templates/149.webp (100%) rename {src/assets => public}/images/templates/15-detailed.png (100%) rename {src/assets => public}/images/templates/15-detailed.webp (100%) rename {src/assets => public}/images/templates/15.webp (100%) rename {src/assets => public}/images/templates/150-detailed.png (100%) rename {src/assets => public}/images/templates/150-detailed.webp (100%) rename {src/assets => public}/images/templates/150.webp (100%) rename {src/assets => public}/images/templates/151-detailed.png (100%) rename {src/assets => public}/images/templates/151-detailed.webp (100%) rename {src/assets => public}/images/templates/151.webp (100%) rename {src/assets => public}/images/templates/152-detailed.png (100%) rename {src/assets => public}/images/templates/152-detailed.webp (100%) rename {src/assets => public}/images/templates/152.webp (100%) rename {src/assets => public}/images/templates/153-detailed.png (100%) rename {src/assets => public}/images/templates/153-detailed.webp (100%) rename {src/assets => public}/images/templates/153.webp (100%) rename {src/assets => public}/images/templates/154-detailed.png (100%) rename {src/assets => public}/images/templates/154-detailed.webp (100%) rename {src/assets => public}/images/templates/154.webp (100%) rename {src/assets => public}/images/templates/155-detailed.png (100%) rename {src/assets => public}/images/templates/155-detailed.webp (100%) rename {src/assets => public}/images/templates/155.webp (100%) rename {src/assets => public}/images/templates/156-detailed.png (100%) rename {src/assets => public}/images/templates/156-detailed.webp (100%) rename {src/assets => public}/images/templates/156.webp (100%) rename {src/assets => public}/images/templates/157-detailed.png (100%) rename {src/assets => public}/images/templates/157-detailed.webp (100%) rename {src/assets => public}/images/templates/157.webp (100%) rename {src/assets => public}/images/templates/158-detailed.png (100%) rename {src/assets => public}/images/templates/158-detailed.webp (100%) rename {src/assets => public}/images/templates/158.webp (100%) rename {src/assets => public}/images/templates/159-detailed.png (100%) rename {src/assets => public}/images/templates/159-detailed.webp (100%) rename {src/assets => public}/images/templates/159.webp (100%) rename {src/assets => public}/images/templates/16-detailed.png (100%) rename {src/assets => public}/images/templates/16-detailed.webp (100%) rename {src/assets => public}/images/templates/16.webp (100%) rename {src/assets => public}/images/templates/160-detailed.png (100%) rename {src/assets => public}/images/templates/160-detailed.webp (100%) rename {src/assets => public}/images/templates/160.webp (100%) rename {src/assets => public}/images/templates/161-detailed.png (100%) rename {src/assets => public}/images/templates/161-detailed.webp (100%) rename {src/assets => public}/images/templates/161.webp (100%) rename {src/assets => public}/images/templates/162-detailed.png (100%) rename {src/assets => public}/images/templates/162-detailed.webp (100%) rename {src/assets => public}/images/templates/162.webp (100%) rename {src/assets => public}/images/templates/163-detailed.png (100%) rename {src/assets => public}/images/templates/163-detailed.webp (100%) rename {src/assets => public}/images/templates/163.webp (100%) rename {src/assets => public}/images/templates/164-detailed.png (100%) rename {src/assets => public}/images/templates/164-detailed.webp (100%) rename {src/assets => public}/images/templates/164.webp (100%) rename {src/assets => public}/images/templates/165-detailed.png (100%) rename {src/assets => public}/images/templates/165-detailed.webp (100%) rename {src/assets => public}/images/templates/165.webp (100%) rename {src/assets => public}/images/templates/166-detailed.png (100%) rename {src/assets => public}/images/templates/166-detailed.webp (100%) rename {src/assets => public}/images/templates/166.webp (100%) rename {src/assets => public}/images/templates/167-detailed.png (100%) rename {src/assets => public}/images/templates/167-detailed.webp (100%) rename {src/assets => public}/images/templates/167.webp (100%) rename {src/assets => public}/images/templates/168-detailed.png (100%) rename {src/assets => public}/images/templates/168-detailed.webp (100%) rename {src/assets => public}/images/templates/168.webp (100%) rename {src/assets => public}/images/templates/169-detailed.png (100%) rename {src/assets => public}/images/templates/169-detailed.webp (100%) rename {src/assets => public}/images/templates/169.webp (100%) rename {src/assets => public}/images/templates/17-detailed.png (100%) rename {src/assets => public}/images/templates/17-detailed.webp (100%) rename {src/assets => public}/images/templates/17.webp (100%) rename {src/assets => public}/images/templates/170-detailed.png (100%) rename {src/assets => public}/images/templates/170-detailed.webp (100%) rename {src/assets => public}/images/templates/170.webp (100%) rename {src/assets => public}/images/templates/171-detailed.png (100%) rename {src/assets => public}/images/templates/171-detailed.webp (100%) rename {src/assets => public}/images/templates/171.webp (100%) rename {src/assets => public}/images/templates/172-detailed.png (100%) rename {src/assets => public}/images/templates/172-detailed.webp (100%) rename {src/assets => public}/images/templates/172.webp (100%) rename {src/assets => public}/images/templates/173-detailed.png (100%) rename {src/assets => public}/images/templates/173-detailed.webp (100%) rename {src/assets => public}/images/templates/173.webp (100%) rename {src/assets => public}/images/templates/174-detailed.png (100%) rename {src/assets => public}/images/templates/174-detailed.webp (100%) rename {src/assets => public}/images/templates/174.webp (100%) rename {src/assets => public}/images/templates/175-detailed.png (100%) rename {src/assets => public}/images/templates/175-detailed.webp (100%) rename {src/assets => public}/images/templates/175.webp (100%) rename {src/assets => public}/images/templates/176-detailed.png (100%) rename {src/assets => public}/images/templates/176-detailed.webp (100%) rename {src/assets => public}/images/templates/176.webp (100%) rename {src/assets => public}/images/templates/177-detailed.png (100%) rename {src/assets => public}/images/templates/177-detailed.webp (100%) rename {src/assets => public}/images/templates/177.webp (100%) rename {src/assets => public}/images/templates/178-detailed.png (100%) rename {src/assets => public}/images/templates/178-detailed.webp (100%) rename {src/assets => public}/images/templates/178.webp (100%) rename {src/assets => public}/images/templates/179-detailed.png (100%) rename {src/assets => public}/images/templates/179-detailed.webp (100%) rename {src/assets => public}/images/templates/179.webp (100%) rename {src/assets => public}/images/templates/18-detailed.png (100%) rename {src/assets => public}/images/templates/18-detailed.webp (100%) rename {src/assets => public}/images/templates/18.webp (100%) rename {src/assets => public}/images/templates/180-detailed.png (100%) rename {src/assets => public}/images/templates/180-detailed.webp (100%) rename {src/assets => public}/images/templates/180.webp (100%) rename {src/assets => public}/images/templates/181-detailed.png (100%) rename {src/assets => public}/images/templates/181-detailed.webp (100%) rename {src/assets => public}/images/templates/181.webp (100%) rename {src/assets => public}/images/templates/182-detailed.png (100%) rename {src/assets => public}/images/templates/182-detailed.webp (100%) rename {src/assets => public}/images/templates/182.webp (100%) rename {src/assets => public}/images/templates/183-detailed.png (100%) rename {src/assets => public}/images/templates/183-detailed.webp (100%) rename {src/assets => public}/images/templates/183.webp (100%) rename {src/assets => public}/images/templates/184-detailed.png (100%) rename {src/assets => public}/images/templates/184-detailed.webp (100%) rename {src/assets => public}/images/templates/184.webp (100%) rename {src/assets => public}/images/templates/185-detailed.png (100%) rename {src/assets => public}/images/templates/185-detailed.webp (100%) rename {src/assets => public}/images/templates/185.webp (100%) rename {src/assets => public}/images/templates/186-detailed.png (100%) rename {src/assets => public}/images/templates/186-detailed.webp (100%) rename {src/assets => public}/images/templates/186.webp (100%) rename {src/assets => public}/images/templates/187-detailed.png (100%) rename {src/assets => public}/images/templates/187-detailed.webp (100%) rename {src/assets => public}/images/templates/187.webp (100%) rename {src/assets => public}/images/templates/188-detailed.png (100%) rename {src/assets => public}/images/templates/188-detailed.webp (100%) rename {src/assets => public}/images/templates/188.webp (100%) rename {src/assets => public}/images/templates/189-detailed.png (100%) rename {src/assets => public}/images/templates/189-detailed.webp (100%) rename {src/assets => public}/images/templates/189.webp (100%) rename {src/assets => public}/images/templates/19-detailed.png (100%) rename {src/assets => public}/images/templates/19-detailed.webp (100%) rename {src/assets => public}/images/templates/19.webp (100%) rename {src/assets => public}/images/templates/190-detailed.png (100%) rename {src/assets => public}/images/templates/190-detailed.webp (100%) rename {src/assets => public}/images/templates/190.webp (100%) rename {src/assets => public}/images/templates/191-detailed.png (100%) rename {src/assets => public}/images/templates/191-detailed.webp (100%) rename {src/assets => public}/images/templates/191.webp (100%) rename {src/assets => public}/images/templates/192-detailed.png (100%) rename {src/assets => public}/images/templates/192-detailed.webp (100%) rename {src/assets => public}/images/templates/192.webp (100%) rename {src/assets => public}/images/templates/193-detailed.png (100%) rename {src/assets => public}/images/templates/193-detailed.webp (100%) rename {src/assets => public}/images/templates/193.webp (100%) rename {src/assets => public}/images/templates/194-detailed.png (100%) rename {src/assets => public}/images/templates/194-detailed.webp (100%) rename {src/assets => public}/images/templates/194.webp (100%) rename {src/assets => public}/images/templates/195-detailed.png (100%) rename {src/assets => public}/images/templates/195-detailed.webp (100%) rename {src/assets => public}/images/templates/195.webp (100%) rename {src/assets => public}/images/templates/196-detailed.png (100%) rename {src/assets => public}/images/templates/196-detailed.webp (100%) rename {src/assets => public}/images/templates/196.webp (100%) rename {src/assets => public}/images/templates/197-detailed.png (100%) rename {src/assets => public}/images/templates/197-detailed.webp (100%) rename {src/assets => public}/images/templates/197.webp (100%) rename {src/assets => public}/images/templates/198-detailed.png (100%) rename {src/assets => public}/images/templates/198-detailed.webp (100%) rename {src/assets => public}/images/templates/198.webp (100%) rename {src/assets => public}/images/templates/199-detailed.png (100%) rename {src/assets => public}/images/templates/199-detailed.webp (100%) rename {src/assets => public}/images/templates/199.webp (100%) rename {src/assets => public}/images/templates/2-detailed.png (100%) rename {src/assets => public}/images/templates/2-detailed.webp (100%) rename {src/assets => public}/images/templates/2.webp (100%) rename {src/assets => public}/images/templates/20-detailed.png (100%) rename {src/assets => public}/images/templates/20-detailed.webp (100%) rename {src/assets => public}/images/templates/20.webp (100%) rename {src/assets => public}/images/templates/200-detailed.png (100%) rename {src/assets => public}/images/templates/200-detailed.webp (100%) rename {src/assets => public}/images/templates/200.webp (100%) rename {src/assets => public}/images/templates/201-detailed.png (100%) rename {src/assets => public}/images/templates/201-detailed.webp (100%) rename {src/assets => public}/images/templates/201.webp (100%) rename {src/assets => public}/images/templates/202-detailed.png (100%) rename {src/assets => public}/images/templates/202-detailed.webp (100%) rename {src/assets => public}/images/templates/202.webp (100%) rename {src/assets => public}/images/templates/203-detailed.png (100%) rename {src/assets => public}/images/templates/203-detailed.webp (100%) rename {src/assets => public}/images/templates/203.webp (100%) rename {src/assets => public}/images/templates/204-detailed.png (100%) rename {src/assets => public}/images/templates/204-detailed.webp (100%) rename {src/assets => public}/images/templates/204.webp (100%) rename {src/assets => public}/images/templates/205-detailed.png (100%) rename {src/assets => public}/images/templates/205-detailed.webp (100%) rename {src/assets => public}/images/templates/205.webp (100%) rename {src/assets => public}/images/templates/206-detailed.png (100%) rename {src/assets => public}/images/templates/206-detailed.webp (100%) rename {src/assets => public}/images/templates/206.webp (100%) rename {src/assets => public}/images/templates/207-detailed.png (100%) rename {src/assets => public}/images/templates/207-detailed.webp (100%) rename {src/assets => public}/images/templates/207.webp (100%) rename {src/assets => public}/images/templates/208-detailed.png (100%) rename {src/assets => public}/images/templates/208-detailed.webp (100%) rename {src/assets => public}/images/templates/208.webp (100%) rename {src/assets => public}/images/templates/209-detailed.png (100%) rename {src/assets => public}/images/templates/209-detailed.webp (100%) rename {src/assets => public}/images/templates/209.webp (100%) rename {src/assets => public}/images/templates/21-detailed.png (100%) rename {src/assets => public}/images/templates/21-detailed.webp (100%) rename {src/assets => public}/images/templates/21.webp (100%) rename {src/assets => public}/images/templates/210-detailed.png (100%) rename {src/assets => public}/images/templates/210-detailed.webp (100%) rename {src/assets => public}/images/templates/210.webp (100%) rename {src/assets => public}/images/templates/211-detailed.png (100%) rename {src/assets => public}/images/templates/211-detailed.webp (100%) rename {src/assets => public}/images/templates/211.webp (100%) rename {src/assets => public}/images/templates/212-detailed.png (100%) rename {src/assets => public}/images/templates/212-detailed.webp (100%) rename {src/assets => public}/images/templates/212.webp (100%) rename {src/assets => public}/images/templates/213-detailed.png (100%) rename {src/assets => public}/images/templates/213-detailed.webp (100%) rename {src/assets => public}/images/templates/213.webp (100%) rename {src/assets => public}/images/templates/214-detailed.png (100%) rename {src/assets => public}/images/templates/214-detailed.webp (100%) rename {src/assets => public}/images/templates/214.webp (100%) rename {src/assets => public}/images/templates/215-detailed.png (100%) rename {src/assets => public}/images/templates/215-detailed.webp (100%) rename {src/assets => public}/images/templates/215.webp (100%) rename {src/assets => public}/images/templates/216-detailed.png (100%) rename {src/assets => public}/images/templates/216-detailed.webp (100%) rename {src/assets => public}/images/templates/216.webp (100%) rename {src/assets => public}/images/templates/217-detailed.png (100%) rename {src/assets => public}/images/templates/217-detailed.webp (100%) rename {src/assets => public}/images/templates/217.webp (100%) rename {src/assets => public}/images/templates/218-detailed.png (100%) rename {src/assets => public}/images/templates/218-detailed.webp (100%) rename {src/assets => public}/images/templates/218.webp (100%) rename {src/assets => public}/images/templates/219-detailed.png (100%) rename {src/assets => public}/images/templates/219-detailed.webp (100%) rename {src/assets => public}/images/templates/219.webp (100%) rename {src/assets => public}/images/templates/22-detailed.png (100%) rename {src/assets => public}/images/templates/22-detailed.webp (100%) rename {src/assets => public}/images/templates/22.webp (100%) rename {src/assets => public}/images/templates/220-detailed.png (100%) rename {src/assets => public}/images/templates/220-detailed.webp (100%) rename {src/assets => public}/images/templates/220.webp (100%) rename {src/assets => public}/images/templates/221-detailed.png (100%) rename {src/assets => public}/images/templates/221-detailed.webp (100%) rename {src/assets => public}/images/templates/221.webp (100%) rename {src/assets => public}/images/templates/222-detailed.png (100%) rename {src/assets => public}/images/templates/222-detailed.webp (100%) rename {src/assets => public}/images/templates/222.webp (100%) rename {src/assets => public}/images/templates/223-detailed.png (100%) rename {src/assets => public}/images/templates/223-detailed.webp (100%) rename {src/assets => public}/images/templates/223.webp (100%) rename {src/assets => public}/images/templates/224-detailed.png (100%) rename {src/assets => public}/images/templates/224-detailed.webp (100%) rename {src/assets => public}/images/templates/224.webp (100%) rename {src/assets => public}/images/templates/225-detailed.png (100%) rename {src/assets => public}/images/templates/225-detailed.webp (100%) rename {src/assets => public}/images/templates/225.webp (100%) rename {src/assets => public}/images/templates/226-detailed.png (100%) rename {src/assets => public}/images/templates/226-detailed.webp (100%) rename {src/assets => public}/images/templates/226.webp (100%) rename {src/assets => public}/images/templates/227-detailed.png (100%) rename {src/assets => public}/images/templates/227-detailed.webp (100%) rename {src/assets => public}/images/templates/227.webp (100%) rename {src/assets => public}/images/templates/228-detailed.png (100%) rename {src/assets => public}/images/templates/228-detailed.webp (100%) rename {src/assets => public}/images/templates/228.webp (100%) rename {src/assets => public}/images/templates/229-detailed.png (100%) rename {src/assets => public}/images/templates/229-detailed.webp (100%) rename {src/assets => public}/images/templates/229.webp (100%) rename {src/assets => public}/images/templates/23-detailed.png (100%) rename {src/assets => public}/images/templates/23-detailed.webp (100%) rename {src/assets => public}/images/templates/23.webp (100%) rename {src/assets => public}/images/templates/230-detailed.png (100%) rename {src/assets => public}/images/templates/230-detailed.webp (100%) rename {src/assets => public}/images/templates/230.webp (100%) rename {src/assets => public}/images/templates/231-detailed.png (100%) rename {src/assets => public}/images/templates/231-detailed.webp (100%) rename {src/assets => public}/images/templates/231.webp (100%) rename {src/assets => public}/images/templates/232-detailed.png (100%) rename {src/assets => public}/images/templates/232-detailed.webp (100%) rename {src/assets => public}/images/templates/232.webp (100%) rename {src/assets => public}/images/templates/233-detailed.png (100%) rename {src/assets => public}/images/templates/233-detailed.webp (100%) rename {src/assets => public}/images/templates/233.webp (100%) rename {src/assets => public}/images/templates/234-detailed.png (100%) rename {src/assets => public}/images/templates/234-detailed.webp (100%) rename {src/assets => public}/images/templates/234.webp (100%) rename {src/assets => public}/images/templates/235-detailed.png (100%) rename {src/assets => public}/images/templates/235-detailed.webp (100%) rename {src/assets => public}/images/templates/235.webp (100%) rename {src/assets => public}/images/templates/236-detailed.png (100%) rename {src/assets => public}/images/templates/236-detailed.webp (100%) rename {src/assets => public}/images/templates/236.webp (100%) rename {src/assets => public}/images/templates/237-detailed.png (100%) rename {src/assets => public}/images/templates/237-detailed.webp (100%) rename {src/assets => public}/images/templates/237.webp (100%) rename {src/assets => public}/images/templates/238-detailed.png (100%) rename {src/assets => public}/images/templates/238-detailed.webp (100%) rename {src/assets => public}/images/templates/238.webp (100%) rename {src/assets => public}/images/templates/239-detailed.png (100%) rename {src/assets => public}/images/templates/239-detailed.webp (100%) rename {src/assets => public}/images/templates/239.webp (100%) rename {src/assets => public}/images/templates/24-detailed.png (100%) rename {src/assets => public}/images/templates/24-detailed.webp (100%) rename {src/assets => public}/images/templates/24.webp (100%) rename {src/assets => public}/images/templates/240-detailed.png (100%) rename {src/assets => public}/images/templates/240-detailed.webp (100%) rename {src/assets => public}/images/templates/240.webp (100%) rename {src/assets => public}/images/templates/241-detailed.png (100%) rename {src/assets => public}/images/templates/241-detailed.webp (100%) rename {src/assets => public}/images/templates/241.webp (100%) rename {src/assets => public}/images/templates/242-detailed.png (100%) rename {src/assets => public}/images/templates/242-detailed.webp (100%) rename {src/assets => public}/images/templates/242.webp (100%) rename {src/assets => public}/images/templates/243-detailed.png (100%) rename {src/assets => public}/images/templates/243-detailed.webp (100%) rename {src/assets => public}/images/templates/243.webp (100%) rename {src/assets => public}/images/templates/244-detailed.png (100%) rename {src/assets => public}/images/templates/244-detailed.webp (100%) rename {src/assets => public}/images/templates/244.webp (100%) rename {src/assets => public}/images/templates/245-detailed.png (100%) rename {src/assets => public}/images/templates/245-detailed.webp (100%) rename {src/assets => public}/images/templates/245.webp (100%) rename {src/assets => public}/images/templates/246-detailed.png (100%) rename {src/assets => public}/images/templates/246-detailed.webp (100%) rename {src/assets => public}/images/templates/246.webp (100%) rename {src/assets => public}/images/templates/247-detailed.png (100%) rename {src/assets => public}/images/templates/247-detailed.webp (100%) rename {src/assets => public}/images/templates/247.webp (100%) rename {src/assets => public}/images/templates/248-detailed.png (100%) rename {src/assets => public}/images/templates/248-detailed.webp (100%) rename {src/assets => public}/images/templates/248.webp (100%) rename {src/assets => public}/images/templates/249-detailed.png (100%) rename {src/assets => public}/images/templates/249-detailed.webp (100%) rename {src/assets => public}/images/templates/249.webp (100%) rename {src/assets => public}/images/templates/25-detailed.png (100%) rename {src/assets => public}/images/templates/25-detailed.webp (100%) rename {src/assets => public}/images/templates/25.webp (100%) rename {src/assets => public}/images/templates/250-detailed.png (100%) rename {src/assets => public}/images/templates/250-detailed.webp (100%) rename {src/assets => public}/images/templates/250.webp (100%) rename {src/assets => public}/images/templates/251-detailed.png (100%) rename {src/assets => public}/images/templates/251-detailed.webp (100%) rename {src/assets => public}/images/templates/251.webp (100%) rename {src/assets => public}/images/templates/252-detailed.png (100%) rename {src/assets => public}/images/templates/252-detailed.webp (100%) rename {src/assets => public}/images/templates/252.webp (100%) rename {src/assets => public}/images/templates/253-detailed.png (100%) rename {src/assets => public}/images/templates/253-detailed.webp (100%) rename {src/assets => public}/images/templates/253.webp (100%) rename {src/assets => public}/images/templates/254-detailed.png (100%) rename {src/assets => public}/images/templates/254-detailed.webp (100%) rename {src/assets => public}/images/templates/254.webp (100%) rename {src/assets => public}/images/templates/255-detailed.png (100%) rename {src/assets => public}/images/templates/255-detailed.webp (100%) rename {src/assets => public}/images/templates/255.webp (100%) rename {src/assets => public}/images/templates/256-detailed.png (100%) rename {src/assets => public}/images/templates/256-detailed.webp (100%) rename {src/assets => public}/images/templates/256.webp (100%) rename {src/assets => public}/images/templates/257-detailed.png (100%) rename {src/assets => public}/images/templates/257-detailed.webp (100%) rename {src/assets => public}/images/templates/257.webp (100%) rename {src/assets => public}/images/templates/258-detailed.png (100%) rename {src/assets => public}/images/templates/258-detailed.webp (100%) rename {src/assets => public}/images/templates/258.webp (100%) rename {src/assets => public}/images/templates/259-detailed.png (100%) rename {src/assets => public}/images/templates/259-detailed.webp (100%) rename {src/assets => public}/images/templates/259.webp (100%) rename {src/assets => public}/images/templates/26-detailed.png (100%) rename {src/assets => public}/images/templates/26-detailed.webp (100%) rename {src/assets => public}/images/templates/26.webp (100%) rename {src/assets => public}/images/templates/260-detailed.png (100%) rename {src/assets => public}/images/templates/260-detailed.webp (100%) rename {src/assets => public}/images/templates/260.webp (100%) rename {src/assets => public}/images/templates/261-detailed.png (100%) rename {src/assets => public}/images/templates/261-detailed.webp (100%) rename {src/assets => public}/images/templates/261.webp (100%) rename {src/assets => public}/images/templates/262-detailed.png (100%) rename {src/assets => public}/images/templates/262-detailed.webp (100%) rename {src/assets => public}/images/templates/262.webp (100%) rename {src/assets => public}/images/templates/263-detailed.png (100%) rename {src/assets => public}/images/templates/263-detailed.webp (100%) rename {src/assets => public}/images/templates/263.webp (100%) rename {src/assets => public}/images/templates/264-detailed.png (100%) rename {src/assets => public}/images/templates/264-detailed.webp (100%) rename {src/assets => public}/images/templates/264.webp (100%) rename {src/assets => public}/images/templates/265-detailed.png (100%) rename {src/assets => public}/images/templates/265-detailed.webp (100%) rename {src/assets => public}/images/templates/265.webp (100%) rename {src/assets => public}/images/templates/266-detailed.png (100%) rename {src/assets => public}/images/templates/266-detailed.webp (100%) rename {src/assets => public}/images/templates/266.webp (100%) rename {src/assets => public}/images/templates/267-detailed.png (100%) rename {src/assets => public}/images/templates/267-detailed.webp (100%) rename {src/assets => public}/images/templates/267.webp (100%) rename {src/assets => public}/images/templates/268-detailed.png (100%) rename {src/assets => public}/images/templates/268-detailed.webp (100%) rename {src/assets => public}/images/templates/268.webp (100%) rename {src/assets => public}/images/templates/269-detailed.png (100%) rename {src/assets => public}/images/templates/269-detailed.webp (100%) rename {src/assets => public}/images/templates/269.webp (100%) rename {src/assets => public}/images/templates/27-detailed.png (100%) rename {src/assets => public}/images/templates/27-detailed.webp (100%) rename {src/assets => public}/images/templates/27.webp (100%) rename {src/assets => public}/images/templates/270-detailed.png (100%) rename {src/assets => public}/images/templates/270-detailed.webp (100%) rename {src/assets => public}/images/templates/270.webp (100%) rename {src/assets => public}/images/templates/271-detailed.png (100%) rename {src/assets => public}/images/templates/271-detailed.webp (100%) rename {src/assets => public}/images/templates/271.webp (100%) rename {src/assets => public}/images/templates/272-detailed.png (100%) rename {src/assets => public}/images/templates/272-detailed.webp (100%) rename {src/assets => public}/images/templates/272.webp (100%) rename {src/assets => public}/images/templates/273-detailed.png (100%) rename {src/assets => public}/images/templates/273-detailed.webp (100%) rename {src/assets => public}/images/templates/273.webp (100%) rename {src/assets => public}/images/templates/274-detailed.png (100%) rename {src/assets => public}/images/templates/274-detailed.webp (100%) rename {src/assets => public}/images/templates/274.webp (100%) rename {src/assets => public}/images/templates/275-detailed.png (100%) rename {src/assets => public}/images/templates/275-detailed.webp (100%) rename {src/assets => public}/images/templates/275.webp (100%) rename {src/assets => public}/images/templates/276-detailed.png (100%) rename {src/assets => public}/images/templates/276-detailed.webp (100%) rename {src/assets => public}/images/templates/276.webp (100%) rename {src/assets => public}/images/templates/277-detailed.png (100%) rename {src/assets => public}/images/templates/277-detailed.webp (100%) rename {src/assets => public}/images/templates/277.webp (100%) rename {src/assets => public}/images/templates/278-detailed.png (100%) rename {src/assets => public}/images/templates/278-detailed.webp (100%) rename {src/assets => public}/images/templates/278.webp (100%) rename {src/assets => public}/images/templates/279-detailed.png (100%) rename {src/assets => public}/images/templates/279-detailed.webp (100%) rename {src/assets => public}/images/templates/279.webp (100%) rename {src/assets => public}/images/templates/28-detailed.png (100%) rename {src/assets => public}/images/templates/28-detailed.webp (100%) rename {src/assets => public}/images/templates/28.webp (100%) rename {src/assets => public}/images/templates/280-detailed.png (100%) rename {src/assets => public}/images/templates/280-detailed.webp (100%) rename {src/assets => public}/images/templates/280.webp (100%) rename {src/assets => public}/images/templates/281-detailed.png (100%) rename {src/assets => public}/images/templates/281-detailed.webp (100%) rename {src/assets => public}/images/templates/281.webp (100%) rename {src/assets => public}/images/templates/282-detailed.png (100%) rename {src/assets => public}/images/templates/282-detailed.webp (100%) rename {src/assets => public}/images/templates/282.webp (100%) rename {src/assets => public}/images/templates/283-detailed.png (100%) rename {src/assets => public}/images/templates/283-detailed.webp (100%) rename {src/assets => public}/images/templates/283.webp (100%) rename {src/assets => public}/images/templates/284-detailed.png (100%) rename {src/assets => public}/images/templates/284-detailed.webp (100%) rename {src/assets => public}/images/templates/284.webp (100%) rename {src/assets => public}/images/templates/285-detailed.png (100%) rename {src/assets => public}/images/templates/285-detailed.webp (100%) rename {src/assets => public}/images/templates/285.webp (100%) rename {src/assets => public}/images/templates/286-detailed.png (100%) rename {src/assets => public}/images/templates/286-detailed.webp (100%) rename {src/assets => public}/images/templates/286.webp (100%) rename {src/assets => public}/images/templates/287-detailed.png (100%) rename {src/assets => public}/images/templates/287-detailed.webp (100%) rename {src/assets => public}/images/templates/287.webp (100%) rename {src/assets => public}/images/templates/288-detailed.png (100%) rename {src/assets => public}/images/templates/288-detailed.webp (100%) rename {src/assets => public}/images/templates/288.webp (100%) rename {src/assets => public}/images/templates/289-detailed.png (100%) rename {src/assets => public}/images/templates/289-detailed.webp (100%) rename {src/assets => public}/images/templates/289.webp (100%) rename {src/assets => public}/images/templates/29-detailed.png (100%) rename {src/assets => public}/images/templates/29-detailed.webp (100%) rename {src/assets => public}/images/templates/29.webp (100%) rename {src/assets => public}/images/templates/290-detailed.png (100%) rename {src/assets => public}/images/templates/290-detailed.webp (100%) rename {src/assets => public}/images/templates/290.webp (100%) rename {src/assets => public}/images/templates/291-detailed.png (100%) rename {src/assets => public}/images/templates/291-detailed.webp (100%) rename {src/assets => public}/images/templates/291.webp (100%) rename {src/assets => public}/images/templates/292-detailed.png (100%) rename {src/assets => public}/images/templates/292-detailed.webp (100%) rename {src/assets => public}/images/templates/292.webp (100%) rename {src/assets => public}/images/templates/293-detailed.png (100%) rename {src/assets => public}/images/templates/293-detailed.webp (100%) rename {src/assets => public}/images/templates/293.webp (100%) rename {src/assets => public}/images/templates/294-detailed.png (100%) rename {src/assets => public}/images/templates/294-detailed.webp (100%) rename {src/assets => public}/images/templates/294.webp (100%) rename {src/assets => public}/images/templates/295-detailed.png (100%) rename {src/assets => public}/images/templates/295-detailed.webp (100%) rename {src/assets => public}/images/templates/295.webp (100%) rename {src/assets => public}/images/templates/296-detailed.png (100%) rename {src/assets => public}/images/templates/296-detailed.webp (100%) rename {src/assets => public}/images/templates/296.webp (100%) rename {src/assets => public}/images/templates/297-detailed.png (100%) rename {src/assets => public}/images/templates/297-detailed.webp (100%) rename {src/assets => public}/images/templates/297.webp (100%) rename {src/assets => public}/images/templates/298-detailed.png (100%) rename {src/assets => public}/images/templates/298-detailed.webp (100%) rename {src/assets => public}/images/templates/298.webp (100%) rename {src/assets => public}/images/templates/299-detailed.png (100%) rename {src/assets => public}/images/templates/299-detailed.webp (100%) rename {src/assets => public}/images/templates/299.webp (100%) rename {src/assets => public}/images/templates/3-detailed.png (100%) rename {src/assets => public}/images/templates/3-detailed.webp (100%) rename {src/assets => public}/images/templates/3.webp (100%) rename {src/assets => public}/images/templates/30-detailed.png (100%) rename {src/assets => public}/images/templates/30-detailed.webp (100%) rename {src/assets => public}/images/templates/30.webp (100%) rename {src/assets => public}/images/templates/300-detailed.png (100%) rename {src/assets => public}/images/templates/300-detailed.webp (100%) rename {src/assets => public}/images/templates/300.webp (100%) rename {src/assets => public}/images/templates/301-detailed.png (100%) rename {src/assets => public}/images/templates/301-detailed.webp (100%) rename {src/assets => public}/images/templates/301.webp (100%) rename {src/assets => public}/images/templates/302-detailed.png (100%) rename {src/assets => public}/images/templates/302-detailed.webp (100%) rename {src/assets => public}/images/templates/302.webp (100%) rename {src/assets => public}/images/templates/303-detailed.png (100%) rename {src/assets => public}/images/templates/303-detailed.webp (100%) rename {src/assets => public}/images/templates/303.webp (100%) rename {src/assets => public}/images/templates/304-detailed.png (100%) rename {src/assets => public}/images/templates/304-detailed.webp (100%) rename {src/assets => public}/images/templates/304.webp (100%) rename {src/assets => public}/images/templates/305-detailed.png (100%) rename {src/assets => public}/images/templates/305-detailed.webp (100%) rename {src/assets => public}/images/templates/305.webp (100%) rename {src/assets => public}/images/templates/306-detailed.png (100%) rename {src/assets => public}/images/templates/306-detailed.webp (100%) rename {src/assets => public}/images/templates/306.webp (100%) rename {src/assets => public}/images/templates/307-detailed.png (100%) rename {src/assets => public}/images/templates/307-detailed.webp (100%) rename {src/assets => public}/images/templates/307.webp (100%) rename {src/assets => public}/images/templates/308-detailed.png (100%) rename {src/assets => public}/images/templates/308-detailed.webp (100%) rename {src/assets => public}/images/templates/308.webp (100%) rename {src/assets => public}/images/templates/309-detailed.png (100%) rename {src/assets => public}/images/templates/309-detailed.webp (100%) rename {src/assets => public}/images/templates/309.webp (100%) rename {src/assets => public}/images/templates/31-detailed.png (100%) rename {src/assets => public}/images/templates/31-detailed.webp (100%) rename {src/assets => public}/images/templates/31.webp (100%) rename {src/assets => public}/images/templates/310-detailed.png (100%) rename {src/assets => public}/images/templates/310-detailed.webp (100%) rename {src/assets => public}/images/templates/310.webp (100%) rename {src/assets => public}/images/templates/311-detailed.png (100%) rename {src/assets => public}/images/templates/311-detailed.webp (100%) rename {src/assets => public}/images/templates/311.webp (100%) rename {src/assets => public}/images/templates/312-detailed.png (100%) rename {src/assets => public}/images/templates/312-detailed.webp (100%) rename {src/assets => public}/images/templates/312.webp (100%) rename {src/assets => public}/images/templates/313-detailed.png (100%) rename {src/assets => public}/images/templates/313-detailed.webp (100%) rename {src/assets => public}/images/templates/313.webp (100%) rename {src/assets => public}/images/templates/314-detailed.png (100%) rename {src/assets => public}/images/templates/314-detailed.webp (100%) rename {src/assets => public}/images/templates/314.webp (100%) rename {src/assets => public}/images/templates/315-detailed.png (100%) rename {src/assets => public}/images/templates/315-detailed.webp (100%) rename {src/assets => public}/images/templates/315.webp (100%) rename {src/assets => public}/images/templates/316-detailed.png (100%) rename {src/assets => public}/images/templates/316-detailed.webp (100%) rename {src/assets => public}/images/templates/316.webp (100%) rename {src/assets => public}/images/templates/317-detailed.png (100%) rename {src/assets => public}/images/templates/317-detailed.webp (100%) rename {src/assets => public}/images/templates/317.webp (100%) rename {src/assets => public}/images/templates/318-detailed.png (100%) rename {src/assets => public}/images/templates/318-detailed.webp (100%) rename {src/assets => public}/images/templates/318.webp (100%) rename {src/assets => public}/images/templates/319-detailed.png (100%) rename {src/assets => public}/images/templates/319-detailed.webp (100%) rename {src/assets => public}/images/templates/319.webp (100%) rename {src/assets => public}/images/templates/32-detailed.png (100%) rename {src/assets => public}/images/templates/32-detailed.webp (100%) rename {src/assets => public}/images/templates/32.webp (100%) rename {src/assets => public}/images/templates/320-detailed.png (100%) rename {src/assets => public}/images/templates/320-detailed.webp (100%) rename {src/assets => public}/images/templates/320.webp (100%) rename {src/assets => public}/images/templates/321-detailed.png (100%) rename {src/assets => public}/images/templates/321-detailed.webp (100%) rename {src/assets => public}/images/templates/321.webp (100%) rename {src/assets => public}/images/templates/322-detailed.png (100%) rename {src/assets => public}/images/templates/322-detailed.webp (100%) rename {src/assets => public}/images/templates/322.webp (100%) rename {src/assets => public}/images/templates/323-detailed.png (100%) rename {src/assets => public}/images/templates/323-detailed.webp (100%) rename {src/assets => public}/images/templates/323.webp (100%) rename {src/assets => public}/images/templates/324-detailed.png (100%) rename {src/assets => public}/images/templates/324-detailed.webp (100%) rename {src/assets => public}/images/templates/324.webp (100%) rename {src/assets => public}/images/templates/325-detailed.png (100%) rename {src/assets => public}/images/templates/325-detailed.webp (100%) rename {src/assets => public}/images/templates/325.webp (100%) rename {src/assets => public}/images/templates/326-detailed.png (100%) rename {src/assets => public}/images/templates/326-detailed.webp (100%) rename {src/assets => public}/images/templates/326.webp (100%) rename {src/assets => public}/images/templates/327-detailed.png (100%) rename {src/assets => public}/images/templates/327-detailed.webp (100%) rename {src/assets => public}/images/templates/327.webp (100%) rename {src/assets => public}/images/templates/328-detailed.png (100%) rename {src/assets => public}/images/templates/328-detailed.webp (100%) rename {src/assets => public}/images/templates/328.webp (100%) rename {src/assets => public}/images/templates/329-detailed.png (100%) rename {src/assets => public}/images/templates/329-detailed.webp (100%) rename {src/assets => public}/images/templates/329.webp (100%) rename {src/assets => public}/images/templates/33-detailed.png (100%) rename {src/assets => public}/images/templates/33-detailed.webp (100%) rename {src/assets => public}/images/templates/33.webp (100%) rename {src/assets => public}/images/templates/330-detailed.png (100%) rename {src/assets => public}/images/templates/330-detailed.webp (100%) rename {src/assets => public}/images/templates/330.webp (100%) rename {src/assets => public}/images/templates/331-detailed.png (100%) rename {src/assets => public}/images/templates/331-detailed.webp (100%) rename {src/assets => public}/images/templates/331.webp (100%) rename {src/assets => public}/images/templates/332-detailed.png (100%) rename {src/assets => public}/images/templates/332-detailed.webp (100%) rename {src/assets => public}/images/templates/332.webp (100%) rename {src/assets => public}/images/templates/333-detailed.png (100%) rename {src/assets => public}/images/templates/333-detailed.webp (100%) rename {src/assets => public}/images/templates/333.webp (100%) rename {src/assets => public}/images/templates/334-detailed.png (100%) rename {src/assets => public}/images/templates/334-detailed.webp (100%) rename {src/assets => public}/images/templates/334.webp (100%) rename {src/assets => public}/images/templates/335-detailed.png (100%) rename {src/assets => public}/images/templates/335-detailed.webp (100%) rename {src/assets => public}/images/templates/335.webp (100%) rename {src/assets => public}/images/templates/336-detailed.png (100%) rename {src/assets => public}/images/templates/336-detailed.webp (100%) rename {src/assets => public}/images/templates/336.webp (100%) rename {src/assets => public}/images/templates/337-detailed.png (100%) rename {src/assets => public}/images/templates/337-detailed.webp (100%) rename {src/assets => public}/images/templates/337.webp (100%) rename {src/assets => public}/images/templates/338-detailed.png (100%) rename {src/assets => public}/images/templates/338-detailed.webp (100%) rename {src/assets => public}/images/templates/338.webp (100%) rename {src/assets => public}/images/templates/339-detailed.png (100%) rename {src/assets => public}/images/templates/339-detailed.webp (100%) rename {src/assets => public}/images/templates/339.webp (100%) rename {src/assets => public}/images/templates/34-detailed.png (100%) rename {src/assets => public}/images/templates/34-detailed.webp (100%) rename {src/assets => public}/images/templates/34.webp (100%) rename {src/assets => public}/images/templates/340-detailed.png (100%) rename {src/assets => public}/images/templates/340-detailed.webp (100%) rename {src/assets => public}/images/templates/340.webp (100%) rename {src/assets => public}/images/templates/341-detailed.png (100%) rename {src/assets => public}/images/templates/341-detailed.webp (100%) rename {src/assets => public}/images/templates/341.webp (100%) rename {src/assets => public}/images/templates/342-detailed.png (100%) rename {src/assets => public}/images/templates/342-detailed.webp (100%) rename {src/assets => public}/images/templates/342.webp (100%) rename {src/assets => public}/images/templates/343-detailed.png (100%) rename {src/assets => public}/images/templates/343-detailed.webp (100%) rename {src/assets => public}/images/templates/343.webp (100%) rename {src/assets => public}/images/templates/344-detailed.png (100%) rename {src/assets => public}/images/templates/344-detailed.webp (100%) rename {src/assets => public}/images/templates/344.webp (100%) rename {src/assets => public}/images/templates/345-detailed.png (100%) rename {src/assets => public}/images/templates/345-detailed.webp (100%) rename {src/assets => public}/images/templates/345.webp (100%) rename {src/assets => public}/images/templates/346-detailed.png (100%) rename {src/assets => public}/images/templates/346-detailed.webp (100%) rename {src/assets => public}/images/templates/346.webp (100%) rename {src/assets => public}/images/templates/347-detailed.png (100%) rename {src/assets => public}/images/templates/347-detailed.webp (100%) rename {src/assets => public}/images/templates/347.webp (100%) rename {src/assets => public}/images/templates/348-detailed.png (100%) rename {src/assets => public}/images/templates/348-detailed.webp (100%) rename {src/assets => public}/images/templates/348.webp (100%) rename {src/assets => public}/images/templates/349-detailed.png (100%) rename {src/assets => public}/images/templates/349-detailed.webp (100%) rename {src/assets => public}/images/templates/349.webp (100%) rename {src/assets => public}/images/templates/35-detailed.png (100%) rename {src/assets => public}/images/templates/35-detailed.webp (100%) rename {src/assets => public}/images/templates/35.webp (100%) rename {src/assets => public}/images/templates/350-detailed.png (100%) rename {src/assets => public}/images/templates/350-detailed.webp (100%) rename {src/assets => public}/images/templates/350.webp (100%) rename {src/assets => public}/images/templates/351-detailed.png (100%) rename {src/assets => public}/images/templates/351-detailed.webp (100%) rename {src/assets => public}/images/templates/351.webp (100%) rename {src/assets => public}/images/templates/352-detailed.png (100%) rename {src/assets => public}/images/templates/352-detailed.webp (100%) rename {src/assets => public}/images/templates/352.webp (100%) rename {src/assets => public}/images/templates/353-detailed.png (100%) rename {src/assets => public}/images/templates/353-detailed.webp (100%) rename {src/assets => public}/images/templates/353.webp (100%) rename {src/assets => public}/images/templates/354-detailed.png (100%) rename {src/assets => public}/images/templates/354-detailed.webp (100%) rename {src/assets => public}/images/templates/354.webp (100%) rename {src/assets => public}/images/templates/355-detailed.png (100%) rename {src/assets => public}/images/templates/355-detailed.webp (100%) rename {src/assets => public}/images/templates/355.webp (100%) rename {src/assets => public}/images/templates/356-detailed.png (100%) rename {src/assets => public}/images/templates/356-detailed.webp (100%) rename {src/assets => public}/images/templates/356.webp (100%) rename {src/assets => public}/images/templates/357-detailed.png (100%) rename {src/assets => public}/images/templates/357-detailed.webp (100%) rename {src/assets => public}/images/templates/357.webp (100%) rename {src/assets => public}/images/templates/358-detailed.png (100%) rename {src/assets => public}/images/templates/358-detailed.webp (100%) rename {src/assets => public}/images/templates/358.webp (100%) rename {src/assets => public}/images/templates/359-detailed.png (100%) rename {src/assets => public}/images/templates/359-detailed.webp (100%) rename {src/assets => public}/images/templates/359.webp (100%) rename {src/assets => public}/images/templates/36-detailed.png (100%) rename {src/assets => public}/images/templates/36-detailed.webp (100%) rename {src/assets => public}/images/templates/36.webp (100%) rename {src/assets => public}/images/templates/360-detailed.png (100%) rename {src/assets => public}/images/templates/360-detailed.webp (100%) rename {src/assets => public}/images/templates/360.webp (100%) rename {src/assets => public}/images/templates/361-detailed.png (100%) rename {src/assets => public}/images/templates/361-detailed.webp (100%) rename {src/assets => public}/images/templates/361.webp (100%) rename {src/assets => public}/images/templates/362-detailed.png (100%) rename {src/assets => public}/images/templates/362-detailed.webp (100%) rename {src/assets => public}/images/templates/362.webp (100%) rename {src/assets => public}/images/templates/363-detailed.png (100%) rename {src/assets => public}/images/templates/363-detailed.webp (100%) rename {src/assets => public}/images/templates/363.webp (100%) rename {src/assets => public}/images/templates/364-detailed.png (100%) rename {src/assets => public}/images/templates/364-detailed.webp (100%) rename {src/assets => public}/images/templates/364.webp (100%) rename {src/assets => public}/images/templates/365-detailed.png (100%) rename {src/assets => public}/images/templates/365-detailed.webp (100%) rename {src/assets => public}/images/templates/365.webp (100%) rename {src/assets => public}/images/templates/366-detailed.png (100%) rename {src/assets => public}/images/templates/366-detailed.webp (100%) rename {src/assets => public}/images/templates/366.webp (100%) rename {src/assets => public}/images/templates/367-detailed.png (100%) rename {src/assets => public}/images/templates/367-detailed.webp (100%) rename {src/assets => public}/images/templates/367.webp (100%) rename {src/assets => public}/images/templates/368-detailed.png (100%) rename {src/assets => public}/images/templates/368-detailed.webp (100%) rename {src/assets => public}/images/templates/368.webp (100%) rename {src/assets => public}/images/templates/369-detailed.png (100%) rename {src/assets => public}/images/templates/369-detailed.webp (100%) rename {src/assets => public}/images/templates/369.webp (100%) rename {src/assets => public}/images/templates/37-detailed.png (100%) rename {src/assets => public}/images/templates/37-detailed.webp (100%) rename {src/assets => public}/images/templates/37.webp (100%) rename {src/assets => public}/images/templates/370-detailed.png (100%) rename {src/assets => public}/images/templates/370-detailed.webp (100%) rename {src/assets => public}/images/templates/370.webp (100%) rename {src/assets => public}/images/templates/371-detailed.png (100%) rename {src/assets => public}/images/templates/371-detailed.webp (100%) rename {src/assets => public}/images/templates/371.webp (100%) rename {src/assets => public}/images/templates/372-detailed.png (100%) rename {src/assets => public}/images/templates/372-detailed.webp (100%) rename {src/assets => public}/images/templates/372.webp (100%) rename {src/assets => public}/images/templates/373-detailed.png (100%) rename {src/assets => public}/images/templates/373-detailed.webp (100%) rename {src/assets => public}/images/templates/373.webp (100%) rename {src/assets => public}/images/templates/374-detailed.png (100%) rename {src/assets => public}/images/templates/374-detailed.webp (100%) rename {src/assets => public}/images/templates/374.webp (100%) rename {src/assets => public}/images/templates/375-detailed.png (100%) rename {src/assets => public}/images/templates/375-detailed.webp (100%) rename {src/assets => public}/images/templates/375.webp (100%) rename {src/assets => public}/images/templates/376-detailed.png (100%) rename {src/assets => public}/images/templates/376-detailed.webp (100%) rename {src/assets => public}/images/templates/376.webp (100%) rename {src/assets => public}/images/templates/377-detailed.png (100%) rename {src/assets => public}/images/templates/377-detailed.webp (100%) rename {src/assets => public}/images/templates/377.webp (100%) rename {src/assets => public}/images/templates/378-detailed.png (100%) rename {src/assets => public}/images/templates/378-detailed.webp (100%) rename {src/assets => public}/images/templates/378.webp (100%) rename {src/assets => public}/images/templates/379-detailed.png (100%) rename {src/assets => public}/images/templates/379-detailed.webp (100%) rename {src/assets => public}/images/templates/379.webp (100%) rename {src/assets => public}/images/templates/38-detailed.png (100%) rename {src/assets => public}/images/templates/38-detailed.webp (100%) rename {src/assets => public}/images/templates/38.webp (100%) rename {src/assets => public}/images/templates/380-detailed.png (100%) rename {src/assets => public}/images/templates/380-detailed.webp (100%) rename {src/assets => public}/images/templates/380.webp (100%) rename {src/assets => public}/images/templates/381-detailed.png (100%) rename {src/assets => public}/images/templates/381-detailed.webp (100%) rename {src/assets => public}/images/templates/381.webp (100%) rename {src/assets => public}/images/templates/382-detailed.png (100%) rename {src/assets => public}/images/templates/382-detailed.webp (100%) rename {src/assets => public}/images/templates/382.webp (100%) rename {src/assets => public}/images/templates/383-detailed.png (100%) rename {src/assets => public}/images/templates/383-detailed.webp (100%) rename {src/assets => public}/images/templates/383.webp (100%) rename {src/assets => public}/images/templates/384-detailed.png (100%) rename {src/assets => public}/images/templates/384-detailed.webp (100%) rename {src/assets => public}/images/templates/384.webp (100%) rename {src/assets => public}/images/templates/385-detailed.png (100%) rename {src/assets => public}/images/templates/385-detailed.webp (100%) rename {src/assets => public}/images/templates/385.webp (100%) rename {src/assets => public}/images/templates/386-detailed.png (100%) rename {src/assets => public}/images/templates/386-detailed.webp (100%) rename {src/assets => public}/images/templates/386.webp (100%) rename {src/assets => public}/images/templates/387-detailed.png (100%) rename {src/assets => public}/images/templates/387-detailed.webp (100%) rename {src/assets => public}/images/templates/387.webp (100%) rename {src/assets => public}/images/templates/388-detailed.png (100%) rename {src/assets => public}/images/templates/388-detailed.webp (100%) rename {src/assets => public}/images/templates/388.webp (100%) rename {src/assets => public}/images/templates/389-detailed.png (100%) rename {src/assets => public}/images/templates/389-detailed.webp (100%) rename {src/assets => public}/images/templates/389.webp (100%) rename {src/assets => public}/images/templates/39-detailed.png (100%) rename {src/assets => public}/images/templates/39-detailed.webp (100%) rename {src/assets => public}/images/templates/39.webp (100%) rename {src/assets => public}/images/templates/390-detailed.png (100%) rename {src/assets => public}/images/templates/390-detailed.webp (100%) rename {src/assets => public}/images/templates/390.webp (100%) rename {src/assets => public}/images/templates/391-detailed.png (100%) rename {src/assets => public}/images/templates/391-detailed.webp (100%) rename {src/assets => public}/images/templates/391.webp (100%) rename {src/assets => public}/images/templates/392-detailed.png (100%) rename {src/assets => public}/images/templates/392-detailed.webp (100%) rename {src/assets => public}/images/templates/392.webp (100%) rename {src/assets => public}/images/templates/393-detailed.png (100%) rename {src/assets => public}/images/templates/393-detailed.webp (100%) rename {src/assets => public}/images/templates/393.webp (100%) rename {src/assets => public}/images/templates/394-detailed.png (100%) rename {src/assets => public}/images/templates/394-detailed.webp (100%) rename {src/assets => public}/images/templates/394.webp (100%) rename {src/assets => public}/images/templates/395-detailed.png (100%) rename {src/assets => public}/images/templates/395-detailed.webp (100%) rename {src/assets => public}/images/templates/395.webp (100%) rename {src/assets => public}/images/templates/396-detailed.png (100%) rename {src/assets => public}/images/templates/396-detailed.webp (100%) rename {src/assets => public}/images/templates/396.webp (100%) rename {src/assets => public}/images/templates/397-detailed.png (100%) rename {src/assets => public}/images/templates/397-detailed.webp (100%) rename {src/assets => public}/images/templates/397.webp (100%) rename {src/assets => public}/images/templates/398-detailed.png (100%) rename {src/assets => public}/images/templates/398-detailed.webp (100%) rename {src/assets => public}/images/templates/398.webp (100%) rename {src/assets => public}/images/templates/399-detailed.png (100%) rename {src/assets => public}/images/templates/399-detailed.webp (100%) rename {src/assets => public}/images/templates/399.webp (100%) rename {src/assets => public}/images/templates/4-detailed.png (100%) rename {src/assets => public}/images/templates/4-detailed.webp (100%) rename {src/assets => public}/images/templates/4.webp (100%) rename {src/assets => public}/images/templates/40-detailed.png (100%) rename {src/assets => public}/images/templates/40-detailed.webp (100%) rename {src/assets => public}/images/templates/40.webp (100%) rename {src/assets => public}/images/templates/400-detailed.png (100%) rename {src/assets => public}/images/templates/400-detailed.webp (100%) rename {src/assets => public}/images/templates/400.webp (100%) rename {src/assets => public}/images/templates/401-detailed.png (100%) rename {src/assets => public}/images/templates/401-detailed.webp (100%) rename {src/assets => public}/images/templates/401.webp (100%) rename {src/assets => public}/images/templates/402-detailed.png (100%) rename {src/assets => public}/images/templates/402-detailed.webp (100%) rename {src/assets => public}/images/templates/402.webp (100%) rename {src/assets => public}/images/templates/403-detailed.png (100%) rename {src/assets => public}/images/templates/403-detailed.webp (100%) rename {src/assets => public}/images/templates/403.webp (100%) rename {src/assets => public}/images/templates/404-detailed.png (100%) rename {src/assets => public}/images/templates/404-detailed.webp (100%) rename {src/assets => public}/images/templates/404.webp (100%) rename {src/assets => public}/images/templates/405-detailed.png (100%) rename {src/assets => public}/images/templates/405-detailed.webp (100%) rename {src/assets => public}/images/templates/405.webp (100%) rename {src/assets => public}/images/templates/406-detailed.png (100%) rename {src/assets => public}/images/templates/406-detailed.webp (100%) rename {src/assets => public}/images/templates/406.webp (100%) rename {src/assets => public}/images/templates/407-detailed.png (100%) rename {src/assets => public}/images/templates/407-detailed.webp (100%) rename {src/assets => public}/images/templates/407.webp (100%) rename {src/assets => public}/images/templates/408-detailed.png (100%) rename {src/assets => public}/images/templates/408-detailed.webp (100%) rename {src/assets => public}/images/templates/408.webp (100%) rename {src/assets => public}/images/templates/409-detailed.png (100%) rename {src/assets => public}/images/templates/409-detailed.webp (100%) rename {src/assets => public}/images/templates/409.webp (100%) rename {src/assets => public}/images/templates/41-detailed.png (100%) rename {src/assets => public}/images/templates/41-detailed.webp (100%) rename {src/assets => public}/images/templates/41.webp (100%) rename {src/assets => public}/images/templates/410-detailed.png (100%) rename {src/assets => public}/images/templates/410-detailed.webp (100%) rename {src/assets => public}/images/templates/410.webp (100%) rename {src/assets => public}/images/templates/411-detailed.png (100%) rename {src/assets => public}/images/templates/411-detailed.webp (100%) rename {src/assets => public}/images/templates/411.webp (100%) rename {src/assets => public}/images/templates/412-detailed.png (100%) rename {src/assets => public}/images/templates/412-detailed.webp (100%) rename {src/assets => public}/images/templates/412.webp (100%) rename {src/assets => public}/images/templates/413-detailed.png (100%) rename {src/assets => public}/images/templates/413-detailed.webp (100%) rename {src/assets => public}/images/templates/413.webp (100%) rename {src/assets => public}/images/templates/414-detailed.png (100%) rename {src/assets => public}/images/templates/414-detailed.webp (100%) rename {src/assets => public}/images/templates/414.webp (100%) rename {src/assets => public}/images/templates/415-detailed.png (100%) rename {src/assets => public}/images/templates/415-detailed.webp (100%) rename {src/assets => public}/images/templates/415.webp (100%) rename {src/assets => public}/images/templates/416-detailed.png (100%) rename {src/assets => public}/images/templates/416-detailed.webp (100%) rename {src/assets => public}/images/templates/416.webp (100%) rename {src/assets => public}/images/templates/417-detailed.png (100%) rename {src/assets => public}/images/templates/417-detailed.webp (100%) rename {src/assets => public}/images/templates/417.webp (100%) rename {src/assets => public}/images/templates/418-detailed.png (100%) rename {src/assets => public}/images/templates/418-detailed.webp (100%) rename {src/assets => public}/images/templates/418.webp (100%) rename {src/assets => public}/images/templates/419-detailed.png (100%) rename {src/assets => public}/images/templates/419-detailed.webp (100%) rename {src/assets => public}/images/templates/419.webp (100%) rename {src/assets => public}/images/templates/42-detailed.png (100%) rename {src/assets => public}/images/templates/42-detailed.webp (100%) rename {src/assets => public}/images/templates/42.webp (100%) rename {src/assets => public}/images/templates/420-detailed.png (100%) rename {src/assets => public}/images/templates/420-detailed.webp (100%) rename {src/assets => public}/images/templates/420.webp (100%) rename {src/assets => public}/images/templates/421-detailed.png (100%) rename {src/assets => public}/images/templates/421-detailed.webp (100%) rename {src/assets => public}/images/templates/421.webp (100%) rename {src/assets => public}/images/templates/422-detailed.png (100%) rename {src/assets => public}/images/templates/422-detailed.webp (100%) rename {src/assets => public}/images/templates/422.webp (100%) rename {src/assets => public}/images/templates/423-detailed.png (100%) rename {src/assets => public}/images/templates/423-detailed.webp (100%) rename {src/assets => public}/images/templates/423.webp (100%) rename {src/assets => public}/images/templates/424-detailed.png (100%) rename {src/assets => public}/images/templates/424-detailed.webp (100%) rename {src/assets => public}/images/templates/424.webp (100%) rename {src/assets => public}/images/templates/425-detailed.png (100%) rename {src/assets => public}/images/templates/425-detailed.webp (100%) rename {src/assets => public}/images/templates/425.webp (100%) rename {src/assets => public}/images/templates/426-detailed.png (100%) rename {src/assets => public}/images/templates/426-detailed.webp (100%) rename {src/assets => public}/images/templates/426.webp (100%) rename {src/assets => public}/images/templates/427-detailed.png (100%) rename {src/assets => public}/images/templates/427-detailed.webp (100%) rename {src/assets => public}/images/templates/427.webp (100%) rename {src/assets => public}/images/templates/428-detailed.png (100%) rename {src/assets => public}/images/templates/428-detailed.webp (100%) rename {src/assets => public}/images/templates/428.webp (100%) rename {src/assets => public}/images/templates/429-detailed.png (100%) rename {src/assets => public}/images/templates/429-detailed.webp (100%) rename {src/assets => public}/images/templates/429.webp (100%) rename {src/assets => public}/images/templates/43-detailed.png (100%) rename {src/assets => public}/images/templates/43-detailed.webp (100%) rename {src/assets => public}/images/templates/43.webp (100%) rename {src/assets => public}/images/templates/430-detailed.png (100%) rename {src/assets => public}/images/templates/430-detailed.webp (100%) rename {src/assets => public}/images/templates/430.webp (100%) rename {src/assets => public}/images/templates/431-detailed.png (100%) rename {src/assets => public}/images/templates/431-detailed.webp (100%) rename {src/assets => public}/images/templates/431.webp (100%) rename {src/assets => public}/images/templates/432-detailed.png (100%) rename {src/assets => public}/images/templates/432-detailed.webp (100%) rename {src/assets => public}/images/templates/432.webp (100%) rename {src/assets => public}/images/templates/433-detailed.png (100%) rename {src/assets => public}/images/templates/433-detailed.webp (100%) rename {src/assets => public}/images/templates/433.webp (100%) rename {src/assets => public}/images/templates/434-detailed.png (100%) rename {src/assets => public}/images/templates/434-detailed.webp (100%) rename {src/assets => public}/images/templates/434.webp (100%) rename {src/assets => public}/images/templates/435-detailed.png (100%) rename {src/assets => public}/images/templates/435-detailed.webp (100%) rename {src/assets => public}/images/templates/435.webp (100%) rename {src/assets => public}/images/templates/436-detailed.png (100%) rename {src/assets => public}/images/templates/436-detailed.webp (100%) rename {src/assets => public}/images/templates/436.webp (100%) rename {src/assets => public}/images/templates/437-detailed.png (100%) rename {src/assets => public}/images/templates/437-detailed.webp (100%) rename {src/assets => public}/images/templates/437.webp (100%) rename {src/assets => public}/images/templates/438-detailed.png (100%) rename {src/assets => public}/images/templates/438-detailed.webp (100%) rename {src/assets => public}/images/templates/438.webp (100%) rename {src/assets => public}/images/templates/439-detailed.png (100%) rename {src/assets => public}/images/templates/439-detailed.webp (100%) rename {src/assets => public}/images/templates/439.webp (100%) rename {src/assets => public}/images/templates/44-detailed.png (100%) rename {src/assets => public}/images/templates/44-detailed.webp (100%) rename {src/assets => public}/images/templates/44.webp (100%) rename {src/assets => public}/images/templates/440-detailed.png (100%) rename {src/assets => public}/images/templates/440-detailed.webp (100%) rename {src/assets => public}/images/templates/440.webp (100%) rename {src/assets => public}/images/templates/441-detailed.png (100%) rename {src/assets => public}/images/templates/441-detailed.webp (100%) rename {src/assets => public}/images/templates/441.webp (100%) rename {src/assets => public}/images/templates/442-detailed.png (100%) rename {src/assets => public}/images/templates/442-detailed.webp (100%) rename {src/assets => public}/images/templates/442.webp (100%) rename {src/assets => public}/images/templates/443-detailed.png (100%) rename {src/assets => public}/images/templates/443-detailed.webp (100%) rename {src/assets => public}/images/templates/443.webp (100%) rename {src/assets => public}/images/templates/444-detailed.png (100%) rename {src/assets => public}/images/templates/444-detailed.webp (100%) rename {src/assets => public}/images/templates/444.webp (100%) rename {src/assets => public}/images/templates/445-detailed.png (100%) rename {src/assets => public}/images/templates/445-detailed.webp (100%) rename {src/assets => public}/images/templates/445.webp (100%) rename {src/assets => public}/images/templates/446-detailed.png (100%) rename {src/assets => public}/images/templates/446-detailed.webp (100%) rename {src/assets => public}/images/templates/446.webp (100%) rename {src/assets => public}/images/templates/447-detailed.png (100%) rename {src/assets => public}/images/templates/447-detailed.webp (100%) rename {src/assets => public}/images/templates/447.webp (100%) rename {src/assets => public}/images/templates/448-detailed.png (100%) rename {src/assets => public}/images/templates/448-detailed.webp (100%) rename {src/assets => public}/images/templates/448.webp (100%) rename {src/assets => public}/images/templates/449-detailed.png (100%) rename {src/assets => public}/images/templates/449-detailed.webp (100%) rename {src/assets => public}/images/templates/449.webp (100%) rename {src/assets => public}/images/templates/45-detailed.png (100%) rename {src/assets => public}/images/templates/45-detailed.webp (100%) rename {src/assets => public}/images/templates/45.webp (100%) rename {src/assets => public}/images/templates/450-detailed.png (100%) rename {src/assets => public}/images/templates/450-detailed.webp (100%) rename {src/assets => public}/images/templates/450.webp (100%) rename {src/assets => public}/images/templates/451-detailed.png (100%) rename {src/assets => public}/images/templates/451-detailed.webp (100%) rename {src/assets => public}/images/templates/451.webp (100%) rename {src/assets => public}/images/templates/452-detailed.png (100%) rename {src/assets => public}/images/templates/452-detailed.webp (100%) rename {src/assets => public}/images/templates/452.webp (100%) rename {src/assets => public}/images/templates/453-detailed.png (100%) rename {src/assets => public}/images/templates/453-detailed.webp (100%) rename {src/assets => public}/images/templates/453.webp (100%) rename {src/assets => public}/images/templates/454-detailed.png (100%) rename {src/assets => public}/images/templates/454-detailed.webp (100%) rename {src/assets => public}/images/templates/454.webp (100%) rename {src/assets => public}/images/templates/455-detailed.png (100%) rename {src/assets => public}/images/templates/455-detailed.webp (100%) rename {src/assets => public}/images/templates/455.webp (100%) rename {src/assets => public}/images/templates/456-detailed.png (100%) rename {src/assets => public}/images/templates/456-detailed.webp (100%) rename {src/assets => public}/images/templates/456.webp (100%) rename {src/assets => public}/images/templates/457-detailed.png (100%) rename {src/assets => public}/images/templates/457-detailed.webp (100%) rename {src/assets => public}/images/templates/457.webp (100%) rename {src/assets => public}/images/templates/458-detailed.png (100%) rename {src/assets => public}/images/templates/458-detailed.webp (100%) rename {src/assets => public}/images/templates/458.webp (100%) rename {src/assets => public}/images/templates/459-detailed.png (100%) rename {src/assets => public}/images/templates/459-detailed.webp (100%) rename {src/assets => public}/images/templates/459.webp (100%) rename {src/assets => public}/images/templates/46-detailed.png (100%) rename {src/assets => public}/images/templates/46-detailed.webp (100%) rename {src/assets => public}/images/templates/46.webp (100%) rename {src/assets => public}/images/templates/460-detailed.png (100%) rename {src/assets => public}/images/templates/460-detailed.webp (100%) rename {src/assets => public}/images/templates/460.webp (100%) rename {src/assets => public}/images/templates/461-detailed.png (100%) rename {src/assets => public}/images/templates/461-detailed.webp (100%) rename {src/assets => public}/images/templates/461.webp (100%) rename {src/assets => public}/images/templates/462-detailed.png (100%) rename {src/assets => public}/images/templates/462-detailed.webp (100%) rename {src/assets => public}/images/templates/462.webp (100%) rename {src/assets => public}/images/templates/463-detailed.png (100%) rename {src/assets => public}/images/templates/463-detailed.webp (100%) rename {src/assets => public}/images/templates/463.webp (100%) rename {src/assets => public}/images/templates/464-detailed.png (100%) rename {src/assets => public}/images/templates/464-detailed.webp (100%) rename {src/assets => public}/images/templates/464.webp (100%) rename {src/assets => public}/images/templates/465-detailed.png (100%) rename {src/assets => public}/images/templates/465-detailed.webp (100%) rename {src/assets => public}/images/templates/465.webp (100%) rename {src/assets => public}/images/templates/466-detailed.png (100%) rename {src/assets => public}/images/templates/466-detailed.webp (100%) rename {src/assets => public}/images/templates/466.webp (100%) rename {src/assets => public}/images/templates/467-detailed.png (100%) rename {src/assets => public}/images/templates/467-detailed.webp (100%) rename {src/assets => public}/images/templates/467.webp (100%) rename {src/assets => public}/images/templates/468-detailed.png (100%) rename {src/assets => public}/images/templates/468-detailed.webp (100%) rename {src/assets => public}/images/templates/468.webp (100%) rename {src/assets => public}/images/templates/469-detailed.png (100%) rename {src/assets => public}/images/templates/469-detailed.webp (100%) rename {src/assets => public}/images/templates/469.webp (100%) rename {src/assets => public}/images/templates/47-detailed.png (100%) rename {src/assets => public}/images/templates/47-detailed.webp (100%) rename {src/assets => public}/images/templates/47.webp (100%) rename {src/assets => public}/images/templates/470-detailed.png (100%) rename {src/assets => public}/images/templates/470-detailed.webp (100%) rename {src/assets => public}/images/templates/470.webp (100%) rename {src/assets => public}/images/templates/471-detailed.png (100%) rename {src/assets => public}/images/templates/471-detailed.webp (100%) rename {src/assets => public}/images/templates/471.webp (100%) rename {src/assets => public}/images/templates/472-detailed.png (100%) rename {src/assets => public}/images/templates/472-detailed.webp (100%) rename {src/assets => public}/images/templates/472.webp (100%) rename {src/assets => public}/images/templates/473-detailed.png (100%) rename {src/assets => public}/images/templates/473-detailed.webp (100%) rename {src/assets => public}/images/templates/473.webp (100%) rename {src/assets => public}/images/templates/474-detailed.png (100%) rename {src/assets => public}/images/templates/474-detailed.webp (100%) rename {src/assets => public}/images/templates/474.webp (100%) rename {src/assets => public}/images/templates/475-detailed.png (100%) rename {src/assets => public}/images/templates/475-detailed.webp (100%) rename {src/assets => public}/images/templates/475.webp (100%) rename {src/assets => public}/images/templates/476-detailed.png (100%) rename {src/assets => public}/images/templates/476-detailed.webp (100%) rename {src/assets => public}/images/templates/476.webp (100%) rename {src/assets => public}/images/templates/477-detailed.png (100%) rename {src/assets => public}/images/templates/477-detailed.webp (100%) rename {src/assets => public}/images/templates/477.webp (100%) rename {src/assets => public}/images/templates/478-detailed.png (100%) rename {src/assets => public}/images/templates/478-detailed.webp (100%) rename {src/assets => public}/images/templates/478.webp (100%) rename {src/assets => public}/images/templates/479-detailed.png (100%) rename {src/assets => public}/images/templates/479-detailed.webp (100%) rename {src/assets => public}/images/templates/479.webp (100%) rename {src/assets => public}/images/templates/48-detailed.png (100%) rename {src/assets => public}/images/templates/48-detailed.webp (100%) rename {src/assets => public}/images/templates/48.webp (100%) rename {src/assets => public}/images/templates/480-detailed.png (100%) rename {src/assets => public}/images/templates/480-detailed.webp (100%) rename {src/assets => public}/images/templates/480.webp (100%) rename {src/assets => public}/images/templates/481-detailed.png (100%) rename {src/assets => public}/images/templates/481-detailed.webp (100%) rename {src/assets => public}/images/templates/481.webp (100%) rename {src/assets => public}/images/templates/482-detailed.png (100%) rename {src/assets => public}/images/templates/482-detailed.webp (100%) rename {src/assets => public}/images/templates/482.webp (100%) rename {src/assets => public}/images/templates/483-detailed.png (100%) rename {src/assets => public}/images/templates/483-detailed.webp (100%) rename {src/assets => public}/images/templates/483.webp (100%) rename {src/assets => public}/images/templates/484-detailed.png (100%) rename {src/assets => public}/images/templates/484-detailed.webp (100%) rename {src/assets => public}/images/templates/484.webp (100%) rename {src/assets => public}/images/templates/485-detailed.png (100%) rename {src/assets => public}/images/templates/485-detailed.webp (100%) rename {src/assets => public}/images/templates/485.webp (100%) rename {src/assets => public}/images/templates/486-detailed.png (100%) rename {src/assets => public}/images/templates/486-detailed.webp (100%) rename {src/assets => public}/images/templates/486.webp (100%) rename {src/assets => public}/images/templates/487-detailed.png (100%) rename {src/assets => public}/images/templates/487-detailed.webp (100%) rename {src/assets => public}/images/templates/487.webp (100%) rename {src/assets => public}/images/templates/488-detailed.png (100%) rename {src/assets => public}/images/templates/488-detailed.webp (100%) rename {src/assets => public}/images/templates/488.webp (100%) rename {src/assets => public}/images/templates/489-detailed.png (100%) rename {src/assets => public}/images/templates/489-detailed.webp (100%) rename {src/assets => public}/images/templates/489.webp (100%) rename {src/assets => public}/images/templates/49-detailed.png (100%) rename {src/assets => public}/images/templates/49-detailed.webp (100%) rename {src/assets => public}/images/templates/49.webp (100%) rename {src/assets => public}/images/templates/490-detailed.png (100%) rename {src/assets => public}/images/templates/490-detailed.webp (100%) rename {src/assets => public}/images/templates/490.webp (100%) rename {src/assets => public}/images/templates/491-detailed.png (100%) rename {src/assets => public}/images/templates/491-detailed.webp (100%) rename {src/assets => public}/images/templates/491.webp (100%) rename {src/assets => public}/images/templates/492-detailed.png (100%) rename {src/assets => public}/images/templates/492-detailed.webp (100%) rename {src/assets => public}/images/templates/492.webp (100%) rename {src/assets => public}/images/templates/493-detailed.png (100%) rename {src/assets => public}/images/templates/493-detailed.webp (100%) rename {src/assets => public}/images/templates/493.webp (100%) rename {src/assets => public}/images/templates/494-detailed.png (100%) rename {src/assets => public}/images/templates/494-detailed.webp (100%) rename {src/assets => public}/images/templates/494.webp (100%) rename {src/assets => public}/images/templates/495-detailed.png (100%) rename {src/assets => public}/images/templates/495-detailed.webp (100%) rename {src/assets => public}/images/templates/495.webp (100%) rename {src/assets => public}/images/templates/496-detailed.png (100%) rename {src/assets => public}/images/templates/496-detailed.webp (100%) rename {src/assets => public}/images/templates/496.webp (100%) rename {src/assets => public}/images/templates/497-detailed.png (100%) rename {src/assets => public}/images/templates/497-detailed.webp (100%) rename {src/assets => public}/images/templates/497.webp (100%) rename {src/assets => public}/images/templates/498-detailed.png (100%) rename {src/assets => public}/images/templates/498-detailed.webp (100%) rename {src/assets => public}/images/templates/498.webp (100%) rename {src/assets => public}/images/templates/499-detailed.png (100%) rename {src/assets => public}/images/templates/499-detailed.webp (100%) rename {src/assets => public}/images/templates/499.webp (100%) rename {src/assets => public}/images/templates/5-detailed.png (100%) rename {src/assets => public}/images/templates/5-detailed.webp (100%) rename {src/assets => public}/images/templates/5.webp (100%) rename {src/assets => public}/images/templates/50-detailed.png (100%) rename {src/assets => public}/images/templates/50-detailed.webp (100%) rename {src/assets => public}/images/templates/50.webp (100%) rename {src/assets => public}/images/templates/51-detailed.png (100%) rename {src/assets => public}/images/templates/51-detailed.webp (100%) rename {src/assets => public}/images/templates/51.webp (100%) rename {src/assets => public}/images/templates/52-detailed.png (100%) rename {src/assets => public}/images/templates/52-detailed.webp (100%) rename {src/assets => public}/images/templates/52.webp (100%) rename {src/assets => public}/images/templates/53-detailed.png (100%) rename {src/assets => public}/images/templates/53-detailed.webp (100%) rename {src/assets => public}/images/templates/53.webp (100%) rename {src/assets => public}/images/templates/54-detailed.png (100%) rename {src/assets => public}/images/templates/54-detailed.webp (100%) rename {src/assets => public}/images/templates/54.webp (100%) rename {src/assets => public}/images/templates/55-detailed.png (100%) rename {src/assets => public}/images/templates/55-detailed.webp (100%) rename {src/assets => public}/images/templates/55.webp (100%) rename {src/assets => public}/images/templates/56-detailed.png (100%) rename {src/assets => public}/images/templates/56-detailed.webp (100%) rename {src/assets => public}/images/templates/56.webp (100%) rename {src/assets => public}/images/templates/57-detailed.png (100%) rename {src/assets => public}/images/templates/57-detailed.webp (100%) rename {src/assets => public}/images/templates/57.webp (100%) rename {src/assets => public}/images/templates/58-detailed.png (100%) rename {src/assets => public}/images/templates/58-detailed.webp (100%) rename {src/assets => public}/images/templates/58.webp (100%) rename {src/assets => public}/images/templates/59-detailed.png (100%) rename {src/assets => public}/images/templates/59-detailed.webp (100%) rename {src/assets => public}/images/templates/59.webp (100%) rename {src/assets => public}/images/templates/6-detailed.png (100%) rename {src/assets => public}/images/templates/6-detailed.webp (100%) rename {src/assets => public}/images/templates/6.webp (100%) rename {src/assets => public}/images/templates/60-detailed.png (100%) rename {src/assets => public}/images/templates/60-detailed.webp (100%) rename {src/assets => public}/images/templates/60.webp (100%) rename {src/assets => public}/images/templates/61-detailed.png (100%) rename {src/assets => public}/images/templates/61-detailed.webp (100%) rename {src/assets => public}/images/templates/61.webp (100%) rename {src/assets => public}/images/templates/62-detailed.png (100%) rename {src/assets => public}/images/templates/62-detailed.webp (100%) rename {src/assets => public}/images/templates/62.webp (100%) rename {src/assets => public}/images/templates/63-detailed.png (100%) rename {src/assets => public}/images/templates/63-detailed.webp (100%) rename {src/assets => public}/images/templates/63.webp (100%) rename {src/assets => public}/images/templates/64-detailed.png (100%) rename {src/assets => public}/images/templates/64-detailed.webp (100%) rename {src/assets => public}/images/templates/64.webp (100%) rename {src/assets => public}/images/templates/65-detailed.png (100%) rename {src/assets => public}/images/templates/65-detailed.webp (100%) rename {src/assets => public}/images/templates/65.webp (100%) rename {src/assets => public}/images/templates/66-detailed.png (100%) rename {src/assets => public}/images/templates/66-detailed.webp (100%) rename {src/assets => public}/images/templates/66.webp (100%) rename {src/assets => public}/images/templates/67-detailed.png (100%) rename {src/assets => public}/images/templates/67-detailed.webp (100%) rename {src/assets => public}/images/templates/67.webp (100%) rename {src/assets => public}/images/templates/68-detailed.png (100%) rename {src/assets => public}/images/templates/68-detailed.webp (100%) rename {src/assets => public}/images/templates/68.webp (100%) rename {src/assets => public}/images/templates/69-detailed.png (100%) rename {src/assets => public}/images/templates/69-detailed.webp (100%) rename {src/assets => public}/images/templates/69.webp (100%) rename {src/assets => public}/images/templates/7-detailed.png (100%) rename {src/assets => public}/images/templates/7-detailed.webp (100%) rename {src/assets => public}/images/templates/7.webp (100%) rename {src/assets => public}/images/templates/70-detailed.png (100%) rename {src/assets => public}/images/templates/70-detailed.webp (100%) rename {src/assets => public}/images/templates/70.webp (100%) rename {src/assets => public}/images/templates/71-detailed.png (100%) rename {src/assets => public}/images/templates/71-detailed.webp (100%) rename {src/assets => public}/images/templates/71.webp (100%) rename {src/assets => public}/images/templates/72-detailed.png (100%) rename {src/assets => public}/images/templates/72-detailed.webp (100%) rename {src/assets => public}/images/templates/72.webp (100%) rename {src/assets => public}/images/templates/73-detailed.png (100%) rename {src/assets => public}/images/templates/73-detailed.webp (100%) rename {src/assets => public}/images/templates/73.webp (100%) rename {src/assets => public}/images/templates/74-detailed.png (100%) rename {src/assets => public}/images/templates/74-detailed.webp (100%) rename {src/assets => public}/images/templates/74.webp (100%) rename {src/assets => public}/images/templates/75-detailed.png (100%) rename {src/assets => public}/images/templates/75-detailed.webp (100%) rename {src/assets => public}/images/templates/75.webp (100%) rename {src/assets => public}/images/templates/76-detailed.png (100%) rename {src/assets => public}/images/templates/76-detailed.webp (100%) rename {src/assets => public}/images/templates/76.webp (100%) rename {src/assets => public}/images/templates/77-detailed.png (100%) rename {src/assets => public}/images/templates/77-detailed.webp (100%) rename {src/assets => public}/images/templates/77.webp (100%) rename {src/assets => public}/images/templates/78-detailed.png (100%) rename {src/assets => public}/images/templates/78-detailed.webp (100%) rename {src/assets => public}/images/templates/78.webp (100%) rename {src/assets => public}/images/templates/79-detailed.png (100%) rename {src/assets => public}/images/templates/79-detailed.webp (100%) rename {src/assets => public}/images/templates/79.webp (100%) rename {src/assets => public}/images/templates/8-detailed.png (100%) rename {src/assets => public}/images/templates/8-detailed.webp (100%) rename {src/assets => public}/images/templates/8.webp (100%) rename {src/assets => public}/images/templates/80-detailed.png (100%) rename {src/assets => public}/images/templates/80-detailed.webp (100%) rename {src/assets => public}/images/templates/80.webp (100%) rename {src/assets => public}/images/templates/81-detailed.png (100%) rename {src/assets => public}/images/templates/81-detailed.webp (100%) rename {src/assets => public}/images/templates/81.webp (100%) rename {src/assets => public}/images/templates/82-detailed.png (100%) rename {src/assets => public}/images/templates/82-detailed.webp (100%) rename {src/assets => public}/images/templates/82.webp (100%) rename {src/assets => public}/images/templates/83-detailed.png (100%) rename {src/assets => public}/images/templates/83-detailed.webp (100%) rename {src/assets => public}/images/templates/83.webp (100%) rename {src/assets => public}/images/templates/84-detailed.png (100%) rename {src/assets => public}/images/templates/84-detailed.webp (100%) rename {src/assets => public}/images/templates/84.webp (100%) rename {src/assets => public}/images/templates/85-detailed.png (100%) rename {src/assets => public}/images/templates/85-detailed.webp (100%) rename {src/assets => public}/images/templates/85.webp (100%) rename {src/assets => public}/images/templates/86-detailed.png (100%) rename {src/assets => public}/images/templates/86-detailed.webp (100%) rename {src/assets => public}/images/templates/86.webp (100%) rename {src/assets => public}/images/templates/87-detailed.png (100%) rename {src/assets => public}/images/templates/87-detailed.webp (100%) rename {src/assets => public}/images/templates/87.webp (100%) rename {src/assets => public}/images/templates/88-detailed.png (100%) rename {src/assets => public}/images/templates/88-detailed.webp (100%) rename {src/assets => public}/images/templates/88.webp (100%) rename {src/assets => public}/images/templates/89-detailed.png (100%) rename {src/assets => public}/images/templates/89-detailed.webp (100%) rename {src/assets => public}/images/templates/89.webp (100%) rename {src/assets => public}/images/templates/9-detailed.png (100%) rename {src/assets => public}/images/templates/9-detailed.webp (100%) rename {src/assets => public}/images/templates/9.webp (100%) rename {src/assets => public}/images/templates/90-detailed.png (100%) rename {src/assets => public}/images/templates/90-detailed.webp (100%) rename {src/assets => public}/images/templates/90.webp (100%) rename {src/assets => public}/images/templates/91-detailed.png (100%) rename {src/assets => public}/images/templates/91-detailed.webp (100%) rename {src/assets => public}/images/templates/91.webp (100%) rename {src/assets => public}/images/templates/92-detailed.png (100%) rename {src/assets => public}/images/templates/92-detailed.webp (100%) rename {src/assets => public}/images/templates/92.webp (100%) rename {src/assets => public}/images/templates/93-detailed.png (100%) rename {src/assets => public}/images/templates/93-detailed.webp (100%) rename {src/assets => public}/images/templates/93.webp (100%) rename {src/assets => public}/images/templates/94-detailed.png (100%) rename {src/assets => public}/images/templates/94-detailed.webp (100%) rename {src/assets => public}/images/templates/94.webp (100%) rename {src/assets => public}/images/templates/95-detailed.png (100%) rename {src/assets => public}/images/templates/95-detailed.webp (100%) rename {src/assets => public}/images/templates/95.webp (100%) rename {src/assets => public}/images/templates/96-detailed.png (100%) rename {src/assets => public}/images/templates/96-detailed.webp (100%) rename {src/assets => public}/images/templates/96.webp (100%) rename {src/assets => public}/images/templates/97-detailed.png (100%) rename {src/assets => public}/images/templates/97-detailed.webp (100%) rename {src/assets => public}/images/templates/97.webp (100%) rename {src/assets => public}/images/templates/98-detailed.png (100%) rename {src/assets => public}/images/templates/98-detailed.webp (100%) rename {src/assets => public}/images/templates/98.webp (100%) rename {src/assets => public}/images/templates/99-detailed.png (100%) rename {src/assets => public}/images/templates/99-detailed.webp (100%) rename {src/assets => public}/images/templates/99.webp (100%) create mode 100644 server/tsconfig.json delete mode 100644 src/App.vue delete mode 100644 src/bootstrap.ts delete mode 100644 src/components/HistoryComponent.vue delete mode 100644 src/components/InformationsComponent.vue delete mode 100644 src/components/NotFoundComponent.vue delete mode 100644 src/components/TemplatesComponent.vue delete mode 100644 src/components/ToolsComponent.vue delete mode 100644 src/components/navigation/LanguageDropdown.vue delete mode 100644 src/components/privacy/PrivacyPolicy.vue delete mode 100644 src/components/tiles/FullscreenButton.vue delete mode 100644 src/components/tiles/PrintButton.vue delete mode 100644 src/components/tiles/TileComponent.vue delete mode 100644 src/components/tools/OrderModal.vue delete mode 100644 src/data/colors.json delete mode 100644 src/data/tile.json delete mode 100644 src/i18n.ts delete mode 100644 src/main.ts delete mode 100644 src/pinia.ts delete mode 100644 src/router.ts delete mode 100644 src/stores/locale.ts delete mode 100644 src/stores/progress.ts rename {src/stores => stores}/favorite-tiles.ts (59%) create mode 100644 stores/progress.ts delete mode 100644 tsconfig.app.json delete mode 100644 tsconfig.node.json create mode 100644 utils/colorInfos.ts rename {src => utils}/zoom.ts (100%) delete mode 100644 vite.config.ts diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 569ce53..0000000 --- a/.dockerignore +++ /dev/null @@ -1,2 +0,0 @@ -**/node_modules -**/dist \ No newline at end of file diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index c053c80..0000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,16 +0,0 @@ -/* eslint-env node */ -require('@rushstack/eslint-patch/modern-module-resolution') - -module.exports = { - root: true, - 'extends': [ - 'plugin:vue/vue3-recommended', - 'eslint:recommended', - '@vue/eslint-config-typescript/recommended', - '@vue/eslint-config-prettier/skip-formatting' - ], - parserOptions: { - ecmaVersion: 'latest' - }, - ignorePatterns: ["public/place-atlas"], -} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 30da34b..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,36 +0,0 @@ -permissions: - packages: write - -name: Build -on: - push: - branches: - - main - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - submodules: "recursive" - - - name: Login to Github Container Registry - run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin - - - name: Build Docker Image - run: docker build -t ghcr.io/sharknoon/pixina . - - - name: Push Image to Registry - run: docker push ghcr.io/sharknoon/pixina - - clean: - needs: build - runs-on: ubuntu-latest - steps: - - name: Delete old image versions - uses: actions/delete-package-versions@v5 - with: - package-type: 'container' - package-name: 'pixina' - min-versions-to-keep: 1 diff --git a/.gitignore b/.gitignore index 38adffa..4a7f73a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,28 +1,24 @@ +# Nuxt dev/build outputs +.output +.data +.nuxt +.nitro +.cache +dist + +# Node dependencies +node_modules + # Logs logs *.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* -node_modules +# Misc .DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json +.fleet .idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? + +# Local env files +.env +.env.* +!.env.example diff --git a/.prettierrc.json b/.prettierrc.json deleted file mode 100644 index 912c932..0000000 --- a/.prettierrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/prettierrc", - "semi": false, - "tabWidth": 2, - "singleQuote": true, - "printWidth": 100, - "trailingComma": "none" - } \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index cf899f8..0000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin" - ] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..9694579 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "i18n-ally.localesPaths": [ + "lang" + ] +} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 3345c7f..0000000 --- a/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -FROM node:21-alpine as build-stage -WORKDIR /app -COPY package*.json ./ -RUN npm ci -COPY . . -RUN npm run build - -FROM nginx:alpine as production-stage -RUN mkdir /app -COPY --from=build-stage /app/dist /app -COPY nginx.conf /etc/nginx/nginx.conf -EXPOSE 80 \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 5c93f45..0000000 --- a/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - - Copyright (C) 2004 Sam Hocevar - - Everyone is permitted to copy and distribute verbatim or modified - copies of this license document, and changing it is allowed as long - as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/README.md b/README.md index d9bb387..f5db2a2 100644 --- a/README.md +++ b/README.md @@ -1,56 +1,75 @@ -# Pixina +# Nuxt 3 Minimal Starter -[![Build](https://github.com/Sharknoon/pixina/actions/workflows/build.yml/badge.svg)](https://github.com/Sharknoon/pixina/actions/workflows/build.yml) +Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more. -[Pixina](https://pixina.app) is a website that accompanies the creation and construction of a work of art from many small physical pixels. The artwork will be a 2.5m x 2.5m (8.2ft x 8.2ft) plug-in image. +## Setup -[The image](https://www.reddit.com/r/place/) of the artwork was created from April 1 - 3, 2017 on the forum Reddit in the form of a social experiment. For three days, Reddit users could put pixels on a 1000 x 1000 pixel white field. This field was called _Place_. However, there were limitations. For example, users could only place a pixel every ~5 minutes. Likewise, they only had 16 colors to choose from. In addition, the space was limited to one million pixels. This meant that users had to coordinate with each other if they wanted to paint a larger picture. In addition, the pixels could be overwritten again by other users, creating a battle for valuable space. +Make sure to install the dependencies: -[Reddit](https://reddit.com) is a forum in which users can exchange information. The forum does not focus on specific topics. Instead, anyone can create their own subforum (subreddit) for a specific topic and exchange ideas with other Reddit members there. +```bash +# npm +npm install -The goal of this artwork is to recreate Reddit Place, which is considered a piece of Internet culture, in the real world. This is done by putting the pixels set by Reddit users on plug-in boards and thus having a representation in the real world. +# pnpm +pnpm install ---- +# yarn +yarn install -## Recommended IDE Setup +# bun +bun install +``` -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). +## Development Server -## Type Support for `.vue` Imports in TS +Start the development server on `http://localhost:3000`: -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. +```bash +# npm +npm run dev -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: +# pnpm +pnpm run dev -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. +# yarn +yarn dev -## Customize configuration +# bun +bun run dev +``` -See [Vite Configuration Reference](https://vitejs.dev/config/). +## Production -## Project Setup +Build the application for production: -```sh -npm install -``` +```bash +# npm +npm run build -### Compile and Hot-Reload for Development +# pnpm +pnpm run build -```sh -npm run dev +# yarn +yarn build + +# bun +bun run build ``` -### Type-Check, Compile and Minify for Production +Locally preview production build: -```sh -npm run build -``` +```bash +# npm +npm run preview + +# pnpm +pnpm run preview -### Lint with [ESLint](https://eslint.org/) +# yarn +yarn preview -```sh -npm run lint +# bun +bun run preview ``` + +Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information. diff --git a/assets/main.css b/assets/main.css new file mode 100644 index 0000000..df59f36 --- /dev/null +++ b/assets/main.css @@ -0,0 +1,41 @@ +#__nuxt { + font-family: Kumbh Sans, Avenir, Helvetica, Arial, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + color: #2c3e50; + } + + html { + overflow-y: auto !important; + } + + html, + body, + #__nuxt { + height: 100%; + } + + @font-face { + font-family: "Kumbh Sans"; + src: url("/fonts/KumbhSans-Bold.woff2") format("woff2"), + url("/fonts/KumbhSans-Bold.woff") format("woff"); + font-weight: bold; + } + + @font-face { + font-family: "Kumbh Sans"; + src: url("/fonts/KumbhSans-Regular.woff2") format("woff2"), + url("/fonts/KumbhSans-Regular.woff") format("woff"); + font-weight: normal; + } + + @font-face { + font-family: "Kumbh Sans"; + src: url("/fonts/KumbhSans-Light.woff2") format("woff2"), + url("/fonts/KumbhSans-Light.woff") format("woff"); + font-weight: 300; + } + + .img-pixelated { + image-rendering: pixelated; + } \ No newline at end of file diff --git a/src/components/common/TileThumbnail.vue b/components/common/TileThumbnail.vue similarity index 91% rename from src/components/common/TileThumbnail.vue rename to components/common/TileThumbnail.vue index 847edc5..3187446 100644 --- a/src/components/common/TileThumbnail.vue +++ b/components/common/TileThumbnail.vue @@ -34,7 +34,7 @@ interface Tile { const tile: Tile = { number: props.number, - thumbnail: new URL(`../../assets/images/templates/${props.number}.webp`, import.meta.url).href, + thumbnail: `/images/templates/${props.number}.webp`, title: String(props.number) } diff --git a/src/components/common/ZoomWrapper.vue b/components/common/ZoomWrapper.vue similarity index 88% rename from src/components/common/ZoomWrapper.vue rename to components/common/ZoomWrapper.vue index f6fc31f..cbea197 100644 --- a/src/components/common/ZoomWrapper.vue +++ b/components/common/ZoomWrapper.vue @@ -49,7 +49,7 @@ diff --git a/src/components/informations/ProjectProgress.vue b/components/informations/ProjectProgress.vue similarity index 91% rename from src/components/informations/ProjectProgress.vue rename to components/informations/ProjectProgress.vue index 77c0d68..2920c29 100644 --- a/src/components/informations/ProjectProgress.vue +++ b/components/informations/ProjectProgress.vue @@ -2,8 +2,8 @@

{{ progress.finished.length / 5 }}%

-
{{ t('finished') }}
- {{ progress.finished.length }} / 500 {{ t('tiles') }} +
{{ $t('finished') }}
+ {{ progress.finished.length }} / 500 {{ $t('tiles') }}
- {{ progress[i].length }} {{ t('tiles') }} + {{ progress[i].length }} {{ $t('tiles') }}
- {{ t(p.text) }} + {{ $t(p.text) }}
@@ -71,11 +71,6 @@ diff --git a/src/components/templates/LegendComponent.vue b/components/templates/LegendComponent.vue similarity index 87% rename from src/components/templates/LegendComponent.vue rename to components/templates/LegendComponent.vue index 6e9544a..82b70ca 100644 --- a/src/components/templates/LegendComponent.vue +++ b/components/templates/LegendComponent.vue @@ -3,34 +3,30 @@
- {{ t(item.name) }} + {{ $t(item.name) }}
diff --git a/src/components/templates/NoFavorites.vue b/components/templates/NoFavorites.vue similarity index 87% rename from src/components/templates/NoFavorites.vue rename to components/templates/NoFavorites.vue index 817f99e..73ea300 100644 --- a/src/components/templates/NoFavorites.vue +++ b/components/templates/NoFavorites.vue @@ -1,6 +1,6 @@ - diff --git a/src/components/templates/TileList.vue b/components/templates/TileList.vue similarity index 83% rename from src/components/templates/TileList.vue rename to components/templates/TileList.vue index 2cc5d81..e580429 100644 --- a/src/components/templates/TileList.vue +++ b/components/templates/TileList.vue @@ -1,8 +1,13 @@ diff --git a/src/components/tools/TileSelection.vue b/components/tools/TileSelection.vue similarity index 69% rename from src/components/tools/TileSelection.vue rename to components/tools/TileSelection.vue index d86a1ba..dee6624 100644 --- a/src/components/tools/TileSelection.vue +++ b/components/tools/TileSelection.vue @@ -7,7 +7,7 @@ class="position-relative m-2" @click="toggleTileSelection($event, tile)" > - @@ -29,17 +29,17 @@ - +
{{ - t( - 'tile-selection-counter', + $t( + "tile-selection-counter", { - amount: selected_tiles.length + amount: selected_tiles.length, }, selected_tiles.length ) @@ -51,53 +51,48 @@ class="btn btn-primary" :disabled="selected_tiles.length < 1" @click=" - $router.push({ - name: 'ColorCount', - query: { tiles: selected_tiles } - }) + $router.push( + '/tools/color-count?' + + selected_tiles.map((tile) => `tiles=${tile}`).join('&') + ) " > - {{ t('next') }} + {{ $t("next") }}
- - - -
- - - - diff --git a/src/locales/de-DE.json b/lang/de-DE.json similarity index 98% rename from src/locales/de-DE.json rename to lang/de-DE.json index 7c55bc9..226d88e 100644 --- a/src/locales/de-DE.json +++ b/lang/de-DE.json @@ -1,9 +1,4 @@ { - "meta": { - "name": "Deutsch (Deutschland)", - "act-as-fallback": true, - "locale": "de-DE" - }, "template": "Vorlage", "templates": "Vorlagen", "informations": "Informationen", diff --git a/src/locales/en-US.json b/lang/en-US.json similarity index 98% rename from src/locales/en-US.json rename to lang/en-US.json index d81ef92..e531b44 100644 --- a/src/locales/en-US.json +++ b/lang/en-US.json @@ -1,9 +1,4 @@ { - "meta": { - "name": "English (United States)", - "act-as-fallback": true, - "locale": "en-US" - }, "template": "Template", "templates": "Templates", "informations": "Informations", diff --git a/src/components/NavigationComponent.vue b/layouts/default.vue similarity index 63% rename from src/components/NavigationComponent.vue rename to layouts/default.vue index 77430b1..2ca6280 100644 --- a/src/components/NavigationComponent.vue +++ b/layouts/default.vue @@ -1,15 +1,25 @@ + diff --git a/src/bootstrap.ts b/src/bootstrap.ts deleted file mode 100644 index a9baba2..0000000 --- a/src/bootstrap.ts +++ /dev/null @@ -1,2 +0,0 @@ -import 'bootstrap' -import 'bootstrap/dist/css/bootstrap.min.css' diff --git a/src/components/HistoryComponent.vue b/src/components/HistoryComponent.vue deleted file mode 100644 index f85e05e..0000000 --- a/src/components/HistoryComponent.vue +++ /dev/null @@ -1,24 +0,0 @@ - - diff --git a/src/components/InformationsComponent.vue b/src/components/InformationsComponent.vue deleted file mode 100644 index de777d2..0000000 --- a/src/components/InformationsComponent.vue +++ /dev/null @@ -1,119 +0,0 @@ - - diff --git a/src/components/NotFoundComponent.vue b/src/components/NotFoundComponent.vue deleted file mode 100644 index 0dbfd28..0000000 --- a/src/components/NotFoundComponent.vue +++ /dev/null @@ -1,3 +0,0 @@ - diff --git a/src/components/TemplatesComponent.vue b/src/components/TemplatesComponent.vue deleted file mode 100644 index 0833beb..0000000 --- a/src/components/TemplatesComponent.vue +++ /dev/null @@ -1,21 +0,0 @@ - - diff --git a/src/components/ToolsComponent.vue b/src/components/ToolsComponent.vue deleted file mode 100644 index 0478f7b..0000000 --- a/src/components/ToolsComponent.vue +++ /dev/null @@ -1,9 +0,0 @@ - - diff --git a/src/components/navigation/LanguageDropdown.vue b/src/components/navigation/LanguageDropdown.vue deleted file mode 100644 index ac24376..0000000 --- a/src/components/navigation/LanguageDropdown.vue +++ /dev/null @@ -1,79 +0,0 @@ - - - diff --git a/src/components/privacy/PrivacyPolicy.vue b/src/components/privacy/PrivacyPolicy.vue deleted file mode 100644 index 118402e..0000000 --- a/src/components/privacy/PrivacyPolicy.vue +++ /dev/null @@ -1,398 +0,0 @@ - diff --git a/src/components/tiles/FullscreenButton.vue b/src/components/tiles/FullscreenButton.vue deleted file mode 100644 index 40e5f3b..0000000 --- a/src/components/tiles/FullscreenButton.vue +++ /dev/null @@ -1,58 +0,0 @@ - - diff --git a/src/components/tiles/PrintButton.vue b/src/components/tiles/PrintButton.vue deleted file mode 100644 index 6fd8f14..0000000 --- a/src/components/tiles/PrintButton.vue +++ /dev/null @@ -1,66 +0,0 @@ - - diff --git a/src/components/tiles/TileComponent.vue b/src/components/tiles/TileComponent.vue deleted file mode 100644 index 11b5b9e..0000000 --- a/src/components/tiles/TileComponent.vue +++ /dev/null @@ -1,58 +0,0 @@ - - diff --git a/src/components/tools/OrderModal.vue b/src/components/tools/OrderModal.vue deleted file mode 100644 index 206b8a9..0000000 --- a/src/components/tools/OrderModal.vue +++ /dev/null @@ -1,138 +0,0 @@ - - - diff --git a/src/data/colors.json b/src/data/colors.json deleted file mode 100644 index e1b947b..0000000 --- a/src/data/colors.json +++ /dev/null @@ -1,146 +0,0 @@ -[ - { - "name_place": "white-place", - "name_pixelhobby": "white-pixelhobby", - "hex_place": "#ffffff", - "hex_pixelhobby": "#e8ebed", - "number_place": 0, - "number_pixelhobby": 100, - "id_pixelhobby": 35082255499416 - }, - { - "name_place": "light-gray-place", - "name_pixelhobby": "light-gray-pixelhobby", - "hex_place": "#e4e4e4", - "hex_pixelhobby": "#c4c7c8", - "number_place": 1, - "number_pixelhobby": 411, - "id_pixelhobby": 35316106789016 - }, - { - "name_place": "dark-gray-place", - "name_pixelhobby": "dark-gray-pixelhobby", - "hex_place": "#888888", - "hex_pixelhobby": "#767a7d", - "number_place": 2, - "number_pixelhobby": 172, - "id_pixelhobby": 35082632659096 - }, - { - "name_place": "black-place", - "name_pixelhobby": "black-pixelhobby", - "hex_place": "#222222", - "hex_pixelhobby": "#1f2a32", - "number_place": 3, - "number_pixelhobby": 441, - "id_pixelhobby": 35316194246808 - }, - { - "name_place": "light-pink-place", - "name_pixelhobby": "light-pink-pixelhobby", - "hex_place": "#ffa7d1", - "hex_pixelhobby": "#e7c0c3", - "number_place": 4, - "number_pixelhobby": 103, - "id_pixelhobby": 35082364813464 - }, - { - "name_place": "red-place", - "name_pixelhobby": "red-pixelhobby", - "hex_place": "#e50000", - "hex_pixelhobby": "#b22e23", - "number_place": 5, - "number_pixelhobby": 155, - "id_pixelhobby": 35082551656600 - }, - { - "name_place": "orange-place", - "name_pixelhobby": "orange-pixelhobby", - "hex_place": "#e59500", - "hex_pixelhobby": "#e79523", - "number_place": 6, - "number_pixelhobby": 266, - "id_pixelhobby": 35275468341400 - }, - { - "name_place": "brown-place", - "name_pixelhobby": "brown-pixelhobby", - "hex_place": "#a06a42", - "hex_pixelhobby": "#9a6944", - "number_place": 7, - "number_pixelhobby": 461, - "id_pixelhobby": 35316242120856 - }, - { - "name_place": "yellow-place", - "name_pixelhobby": "yellow-pixelhobby", - "hex_place": "#e5d900", - "hex_pixelhobby": "#d6cd30", - "number_place": 8, - "number_pixelhobby": 133, - "id_pixelhobby": 35082446176408 - }, - { - "name_place": "light-green-place", - "name_pixelhobby": "light-green-pixelhobby", - "hex_place": "#94e044", - "hex_pixelhobby": "#75a958", - "number_place": 9, - "number_pixelhobby": 246, - "id_pixelhobby": 35275445010584 - }, - { - "name_place": "green-place", - "name_pixelhobby": "green-pixelhobby", - "hex_place": "#02be01", - "hex_pixelhobby": "#328529", - "number_place": 10, - "number_pixelhobby": 245, - "id_pixelhobby": 35275444027544 - }, - { - "name_place": "cyan-place", - "name_pixelhobby": "cyan-pixelhobby", - "hex_place": "#00d3dd", - "hex_pixelhobby": "#00a99d", - "number_place": 11, - "number_pixelhobby": 370, - "id_pixelhobby": 35292330360984 - }, - { - "name_place": "gray-blue-place", - "name_pixelhobby": "gray-blue-pixelhobby", - "hex_place": "#0083c7", - "hex_pixelhobby": "#459bc1", - "number_place": 12, - "number_pixelhobby": 469, - "id_pixelhobby": 35316284227736 - }, - { - "name_place": "blue-place", - "name_pixelhobby": "blue-pixelhobby", - "hex_place": "#0000ea", - "hex_pixelhobby": "#005eab", - "number_place": 13, - "number_pixelhobby": 293, - "id_pixelhobby": 35275502649496 - }, - { - "name_place": "pink-place", - "name_pixelhobby": "pink-pixelhobby", - "hex_place": "#cf6ee4", - "hex_pixelhobby": "#b285af", - "number_place": 14, - "number_pixelhobby": 442, - "id_pixelhobby": 35316198113432 - }, - { - "name_place": "purple-place", - "name_pixelhobby": "purple-pixelhobby", - "hex_place": "#820080", - "hex_pixelhobby": "#97326b", - "number_place": 15, - "number_pixelhobby": 351, - "id_pixelhobby": 35292285403288 - } -] diff --git a/src/data/tile.json b/src/data/tile.json deleted file mode 100644 index 1011c82..0000000 --- a/src/data/tile.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "id_pixelhobby": 35007450218648 -} diff --git a/src/i18n.ts b/src/i18n.ts deleted file mode 100644 index bc8378c..0000000 --- a/src/i18n.ts +++ /dev/null @@ -1,66 +0,0 @@ -import type { I18n } from 'vue-i18n' -import { createI18n } from 'vue-i18n' - -const SUPPORTED_LOCALES = ['en', 'de', 'en-US', 'de-DE'] - -function loadLocaleMessages( - i18n: I18n< - Record, - Record, - Record, - string, - false - > -) { - const locales = import.meta.glob<{ default: { meta: { 'act-as-fallback': string } } }>( - './locales/**/*.json' - ) - for (const path in locales) { - locales[path]().then((m) => { - console.log(m) - const message = m.default - const matched = path.match(/([A-Za-z0-9-_]+)\./i) - if (matched && matched.length > 1) { - const locale: string = matched[1] - i18n.global.setLocaleMessage(locale, message) - // If the locale has the 'meta.act-as-fallback' set to true, add this locale as default for their language - if (locale.includes('-') && message.meta && message.meta['act-as-fallback']) { - i18n.global.setLocaleMessage(locale.substring(0, 2), message) - } - } - }) - } -} - -function getStoredLocale(): string | undefined { - try { - const item: string = localStorage.getItem('locale') || '{}' - return JSON.parse(item).locale - } catch (error) { - console.error(error) - } -} - -function getBrowserLocale(): string | undefined { - let locales: string[] = [...navigator.languages] - if (!locales) locales = [navigator.language] - if (!locales[0]) return - // Inserting fallbacks to language (without country) after locale - locales.forEach((locale: string, index: number) => { - const language: string = locale.substring(0, 2) - if (!locales.includes(language)) locales.splice(index + 1, 0, language) - }) - // Filters the locales by availability and takes the first one - return locales.filter((l) => SUPPORTED_LOCALES.includes(l))[0] -} - -const i18n = createI18n({ - locale: getStoredLocale() || getBrowserLocale() || 'en-US', - fallbackLocale: 'en-US', - silentFallbackWarn: true, - legacy: false -}) - -loadLocaleMessages(i18n) - -export default i18n diff --git a/src/main.ts b/src/main.ts deleted file mode 100644 index a469425..0000000 --- a/src/main.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { createApp } from 'vue' - -import App from '@/App.vue' -import pinia from '@/pinia' -import router from '@/router' -import i18n from '@/i18n' -import '@/bootstrap' - -createApp(App).use(pinia).use(router).use(i18n).mount('#app') diff --git a/src/pinia.ts b/src/pinia.ts deleted file mode 100644 index d6f8118..0000000 --- a/src/pinia.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { createPinia } from 'pinia' -import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' - -export default createPinia().use(piniaPluginPersistedstate) diff --git a/src/router.ts b/src/router.ts deleted file mode 100644 index c3b5d52..0000000 --- a/src/router.ts +++ /dev/null @@ -1,110 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - component: () => import('@/components/NavigationComponent.vue'), - children: [ - { - path: '', - redirect: 'templates' - }, - { - path: 'templates', - name: 'Templates', - component: () => import('@/components/TemplatesComponent.vue'), - meta: { - title: 'templates' - }, - children: [ - { - path: ':number', - name: 'Template', - component: () => import('@/components/tiles/TileComponent.vue'), - meta: { - title: 'template' - }, - children: [ - { - path: 'colors', - redirect: { name: 'ColorCount' } - } - ] - } - ] - }, - { - path: 'informations', - component: () => import('@/components/InformationsComponent.vue'), - meta: { - title: 'informations' - } - }, - { - path: 'place', - redirect: 'image' - }, - { - path: 'image', - component: () => import('@/components/PlaceComponent.vue'), - meta: { - title: 'image' - } - }, - { - path: 'history', - component: () => import('@/components/HistoryComponent.vue'), - meta: { - title: 'history' - } - }, - { - path: 'atlas', - component: () => import('@/components/PlaceAtlasComponent.vue'), - meta: { - title: 'atlas' - } - }, - { - path: 'tools', - name: 'Tools', - component: () => import('@/components/ToolsComponent.vue'), - meta: { - title: 'tools' - }, - children: [ - { - path: 'colorCount', - redirect: { name: 'ColorCount' } - }, - { - path: 'color-count', - name: 'ColorCount', - component: () => import('@/components/tools/TileColors.vue'), - meta: { - title: 'color-count' - } - } - ] - }, - { - path: 'privacy', - component: () => import('@/components/privacy/PrivacyPolicy.vue'), - meta: { - title: 'privacy' - } - } - ] - }, - { - //Must be at the bottom, because of the asterix (*) path - path: '/:pathMatch(.*)*', - name: 'not-found', - component: () => import('@/components/NotFoundComponent.vue') - } - ] -}) - -export default router diff --git a/src/stores/locale.ts b/src/stores/locale.ts deleted file mode 100644 index 418f5c2..0000000 --- a/src/stores/locale.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { defineStore } from 'pinia' - -export const useLocaleStore = defineStore('locale', { - state: () => { - return { - locale: '' - } - }, - actions: { - changeLocale(locale: string) { - this.locale = locale - } - }, - persist: { - // Keep backward compatability - beforeRestore: () => { - const vuex: string | null = localStorage.getItem('vuex') - if (vuex) { - try { - const newLocale: string = JSON.parse(vuex).locale - localStorage.setItem('locale', JSON.stringify({ locale: newLocale })) - } catch (e) { - console.error(e) - } - } - } - } -}) diff --git a/src/stores/progress.ts b/src/stores/progress.ts deleted file mode 100644 index 94a3d3c..0000000 --- a/src/stores/progress.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { defineStore } from 'pinia' - -export const useProgressStore = defineStore('progress', { - state: () => { - return { - error: false, - finished: [] as number[], - inProgress: [] as number[], - reserved: [] as number[], - availableInStock: [] as number[], - availableOutOfStock: [] as number[] - } - }, - getters: { - isLoaded(state): boolean { - return ( - state.finished.length + - state.inProgress.length + - state.reserved.length + - state.availableInStock.length + - state.availableOutOfStock.length > - 0 - ) - } - } -}) - -const progress = useProgressStore() - -fetch('https://pixina.app/api/v1/progress') - .then((response: Response) => { - if (response.status >= 200 && response.status <= 299) { - response - .json() - .then((data) => { - progress.finished = data.finished - progress.inProgress = data.inProgress - progress.reserved = data.reserved - progress.availableInStock = data.availableInStock - progress.availableOutOfStock = data.availableOutOfStock - }) - .catch((error: Error) => { - progress.error = true - console.error(error) - }) - } else { - progress.error = true - console.error(response) - } - }) - .catch((error: Error) => { - progress.error = true - console.error(error) - }) diff --git a/src/stores/favorite-tiles.ts b/stores/favorite-tiles.ts similarity index 59% rename from src/stores/favorite-tiles.ts rename to stores/favorite-tiles.ts index 6286f28..ba447a0 100644 --- a/src/stores/favorite-tiles.ts +++ b/stores/favorite-tiles.ts @@ -1,30 +1,28 @@ -import { defineStore } from 'pinia' - -export const useFavoriteTilesStore = defineStore('favorite-tiles', { +export const useFavoriteTilesStore = defineStore("favorite-tiles", { state: () => { return { - favoriteTiles: [] - } + favoriteTiles: [], + }; }, getters: { isFavorite: (state) => (tile: number) => { - return state.favoriteTiles.includes(tile) - } + return state.favoriteTiles.includes(tile); + }, }, actions: { toggleFavoriteTile(tile: number) { - const index = this.favoriteTiles.indexOf(tile) + const index = this.favoriteTiles.indexOf(tile); if (index >= 0) { - this.favoriteTiles.splice(index, 1) + this.favoriteTiles.splice(index, 1); } else { - this.favoriteTiles.push(tile) + this.favoriteTiles.push(tile); } - } + }, }, persist: { // Keep backward compatability beforeRestore: () => { - const vuex: string | null = localStorage.getItem('vuex') + /*const vuex: string | null = localStorage.getItem('vuex') if (vuex) { try { const newFavoriteTiles: string = JSON.parse(vuex).favoriteTiles @@ -36,7 +34,7 @@ export const useFavoriteTilesStore = defineStore('favorite-tiles', { } catch (e) { console.error(e) } - } - } - } -}) + }TODO*/ + }, + }, +}); diff --git a/stores/progress.ts b/stores/progress.ts new file mode 100644 index 0000000..058835f --- /dev/null +++ b/stores/progress.ts @@ -0,0 +1,54 @@ +export const useProgressStore = defineStore("progress", { + state: () => { + return { + error: false, + finished: [] as number[], + inProgress: [] as number[], + reserved: [] as number[], + availableInStock: [] as number[], + availableOutOfStock: [] as number[], + }; + }, + getters: { + isLoaded(state): boolean { + return ( + state.finished.length + + state.inProgress.length + + state.reserved.length + + state.availableInStock.length + + state.availableOutOfStock.length > + 0 + ); + }, + }, + actions: { + async fetchProgress() { + const runtimeConfig = useRuntimeConfig(); + await fetch(runtimeConfig.public.apiUrl) + .then((response: Response) => { + if (response.status >= 200 && response.status <= 299) { + response + .json() + .then((data) => { + this.finished = data.finished; + this.inProgress = data.inProgress; + this.reserved = data.reserved; + this.availableInStock = data.availableInStock; + this.availableOutOfStock = data.availableOutOfStock; + }) + .catch((error: Error) => { + this.error = true; + console.error(error); + }); + } else { + this.error = true; + console.error(response); + } + }) + .catch((error: Error) => { + this.error = true; + console.error(error); + }); + }, + }, +}); diff --git a/tsconfig.app.json b/tsconfig.app.json deleted file mode 100644 index 3e5b621..0000000 --- a/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/tsconfig.json b/tsconfig.json index 66b5e57..a746f2a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,11 +1,4 @@ { - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - } - ] + // https://nuxt.com/docs/guide/concepts/typescript + "extends": "./.nuxt/tsconfig.json" } diff --git a/tsconfig.node.json b/tsconfig.node.json deleted file mode 100644 index dee96be..0000000 --- a/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/utils/colorInfos.ts b/utils/colorInfos.ts new file mode 100644 index 0000000..c410b44 --- /dev/null +++ b/utils/colorInfos.ts @@ -0,0 +1,146 @@ +export default [ + { + name_place: "white-place", + name_pixelhobby: "white-pixelhobby", + hex_place: "#ffffff", + hex_pixelhobby: "#e8ebed", + number_place: 0, + number_pixelhobby: 100, + id_pixelhobby: 35082255499416, + }, + { + name_place: "light-gray-place", + name_pixelhobby: "light-gray-pixelhobby", + hex_place: "#e4e4e4", + hex_pixelhobby: "#c4c7c8", + number_place: 1, + number_pixelhobby: 411, + id_pixelhobby: 35316106789016, + }, + { + name_place: "dark-gray-place", + name_pixelhobby: "dark-gray-pixelhobby", + hex_place: "#888888", + hex_pixelhobby: "#767a7d", + number_place: 2, + number_pixelhobby: 172, + id_pixelhobby: 35082632659096, + }, + { + name_place: "black-place", + name_pixelhobby: "black-pixelhobby", + hex_place: "#222222", + hex_pixelhobby: "#1f2a32", + number_place: 3, + number_pixelhobby: 441, + id_pixelhobby: 35316194246808, + }, + { + name_place: "light-pink-place", + name_pixelhobby: "light-pink-pixelhobby", + hex_place: "#ffa7d1", + hex_pixelhobby: "#e7c0c3", + number_place: 4, + number_pixelhobby: 103, + id_pixelhobby: 35082364813464, + }, + { + name_place: "red-place", + name_pixelhobby: "red-pixelhobby", + hex_place: "#e50000", + hex_pixelhobby: "#b22e23", + number_place: 5, + number_pixelhobby: 155, + id_pixelhobby: 35082551656600, + }, + { + name_place: "orange-place", + name_pixelhobby: "orange-pixelhobby", + hex_place: "#e59500", + hex_pixelhobby: "#e79523", + number_place: 6, + number_pixelhobby: 266, + id_pixelhobby: 35275468341400, + }, + { + name_place: "brown-place", + name_pixelhobby: "brown-pixelhobby", + hex_place: "#a06a42", + hex_pixelhobby: "#9a6944", + number_place: 7, + number_pixelhobby: 461, + id_pixelhobby: 35316242120856, + }, + { + name_place: "yellow-place", + name_pixelhobby: "yellow-pixelhobby", + hex_place: "#e5d900", + hex_pixelhobby: "#d6cd30", + number_place: 8, + number_pixelhobby: 133, + id_pixelhobby: 35082446176408, + }, + { + name_place: "light-green-place", + name_pixelhobby: "light-green-pixelhobby", + hex_place: "#94e044", + hex_pixelhobby: "#75a958", + number_place: 9, + number_pixelhobby: 246, + id_pixelhobby: 35275445010584, + }, + { + name_place: "green-place", + name_pixelhobby: "green-pixelhobby", + hex_place: "#02be01", + hex_pixelhobby: "#328529", + number_place: 10, + number_pixelhobby: 245, + id_pixelhobby: 35275444027544, + }, + { + name_place: "cyan-place", + name_pixelhobby: "cyan-pixelhobby", + hex_place: "#00d3dd", + hex_pixelhobby: "#00a99d", + number_place: 11, + number_pixelhobby: 370, + id_pixelhobby: 35292330360984, + }, + { + name_place: "gray-blue-place", + name_pixelhobby: "gray-blue-pixelhobby", + hex_place: "#0083c7", + hex_pixelhobby: "#459bc1", + number_place: 12, + number_pixelhobby: 469, + id_pixelhobby: 35316284227736, + }, + { + name_place: "blue-place", + name_pixelhobby: "blue-pixelhobby", + hex_place: "#0000ea", + hex_pixelhobby: "#005eab", + number_place: 13, + number_pixelhobby: 293, + id_pixelhobby: 35275502649496, + }, + { + name_place: "pink-place", + name_pixelhobby: "pink-pixelhobby", + hex_place: "#cf6ee4", + hex_pixelhobby: "#b285af", + number_place: 14, + number_pixelhobby: 442, + id_pixelhobby: 35316198113432, + }, + { + name_place: "purple-place", + name_pixelhobby: "purple-pixelhobby", + hex_place: "#820080", + hex_pixelhobby: "#97326b", + number_place: 15, + number_pixelhobby: 351, + id_pixelhobby: 35292285403288, + }, +]; diff --git a/src/zoom.ts b/utils/zoom.ts similarity index 100% rename from src/zoom.ts rename to utils/zoom.ts diff --git a/vite.config.ts b/vite.config.ts deleted file mode 100644 index 0cd2957..0000000 --- a/vite.config.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { resolve, dirname } from "node:path"; -import { fileURLToPath, URL } from "node:url"; - -import { defineConfig } from "vite"; -import vue from "@vitejs/plugin-vue"; -import VueI18nPlugin from "@intlify/unplugin-vue-i18n/vite"; - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - VueI18nPlugin({ - // locale messages resource pre-compile option - include: resolve( - dirname(fileURLToPath(import.meta.url)), - "./src/locales/**" - ), - }), - ], - resolve: { - alias: { - "@": fileURLToPath(new URL("./src", import.meta.url)), - }, - }, -}); From e093738d2f6be885c0c85f5efeb736f5c0ed558d Mon Sep 17 00:00:00 2001 From: Josua Frank Date: Fri, 19 Apr 2024 11:00:07 +0200 Subject: [PATCH 02/11] bugfixes everywhere --- README.md | 14 +- components/common/TileThumbnail.vue | 1 + lang/de-DE.json | 4 +- lang/en-US.json | 4 +- layouts/default.vue | 9 +- nuxt.config.ts | 6 +- pages/atlas/index.vue | 5 - pages/index.vue | 2 +- pages/place/index.vue | 7 + pages/privacy/index.vue | 471 ++++++++++++++++++++++ pages/templates/[number]/colors/index.vue | 14 + pages/templates/index.vue | 4 - pages/tools/colorCount/index.vue | 7 + pages/tools/index.vue | 14 +- 14 files changed, 538 insertions(+), 24 deletions(-) create mode 100644 pages/place/index.vue create mode 100644 pages/privacy/index.vue create mode 100644 pages/templates/[number]/colors/index.vue create mode 100644 pages/tools/colorCount/index.vue diff --git a/README.md b/README.md index f5db2a2..ed3fbd6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,16 @@ -# Nuxt 3 Minimal Starter +# Pixina -Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more. +[![Build](https://github.com/Sharknoon/pixina/actions/workflows/build.yml/badge.svg)](https://github.com/Sharknoon/pixina/actions/workflows/build.yml) + +[Pixina](https://pixina.app) is a website that accompanies the creation and construction of a work of art from many small physical pixels. The artwork will be a 2.5m x 2.5m (8.2ft x 8.2ft) plug-in image. + +[The image](https://www.reddit.com/r/place/) of the artwork was created from April 1 - 3, 2017 on the forum Reddit in the form of a social experiment. For three days, Reddit users could put pixels on a 1000 x 1000 pixel white field. This field was called _Place_. However, there were limitations. For example, users could only place a pixel every ~5 minutes. Likewise, they only had 16 colors to choose from. In addition, the space was limited to one million pixels. This meant that users had to coordinate with each other if they wanted to paint a larger picture. In addition, the pixels could be overwritten again by other users, creating a battle for valuable space. + +[Reddit](https://reddit.com) is a forum in which users can exchange information. The forum does not focus on specific topics. Instead, anyone can create their own subforum (subreddit) for a specific topic and exchange ideas with other Reddit members there. + +The goal of this artwork is to recreate Reddit Place, which is considered a piece of Internet culture, in the real world. This is done by putting the pixels set by Reddit users on plug-in boards and thus having a representation in the real world. + +--- ## Setup diff --git a/components/common/TileThumbnail.vue b/components/common/TileThumbnail.vue index 3187446..e539d39 100644 --- a/components/common/TileThumbnail.vue +++ b/components/common/TileThumbnail.vue @@ -5,6 +5,7 @@ :src="tile?.thumbnail" :alt="'tile-' + tile?.number" width="75" + height="60" class="img-pixelated rounded" />
diff --git a/lang/de-DE.json b/lang/de-DE.json index 226d88e..3a75fa8 100644 --- a/lang/de-DE.json +++ b/lang/de-DE.json @@ -1,5 +1,5 @@ { - "template": "Vorlage", + "templates-number": "Vorlage", "templates": "Vorlagen", "informations": "Informationen", "place": "Place", @@ -7,7 +7,7 @@ "history": "Entstehung", "atlas": "Atlas", "tools": "Werkzeuge", - "color-count": "Farbenzählung", + "tools-color-count": "Farbenzählung", "not-found": "Nicht gefunden", "favorites": "Favoriten", "no-favorites": "Keine Favoriten vorhanden", diff --git a/lang/en-US.json b/lang/en-US.json index e531b44..801b36b 100644 --- a/lang/en-US.json +++ b/lang/en-US.json @@ -1,5 +1,5 @@ { - "template": "Template", + "templates-number": "Template", "templates": "Templates", "informations": "Informations", "place": "Place", @@ -7,7 +7,7 @@ "history": "History", "atlas": "Atlas", "tools": "Tools", - "color-count": "Color count", + "tools-color-count": "Color count", "not-found": "Not found", "favorites": "Favorites", "no-favorites": "No favorites available", diff --git a/layouts/default.vue b/layouts/default.vue index 2ca6280..abebf70 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -31,6 +31,7 @@
+ {{ $t("privacy") }}
@@ -79,6 +80,7 @@
+ {{ $t("privacy") }}
@@ -94,12 +96,15 @@