Bump front deps + add sass mail overload + fixup favicons

This commit is contained in:
Jérémy Munsch 2023-12-18 16:33:09 +01:00
parent 3a6fb1fe62
commit 3be08fdeb2
No known key found for this signature in database
GPG key ID: 18361AF3BFEC0FEC
63 changed files with 2943 additions and 2866 deletions

View file

@ -10,16 +10,16 @@
], ],
"overrides": [ "overrides": [
{ {
"files": ["*.ts", "*.vue"], "files": ["*.ts", "*.vue"],
"rules": { "rules": {
"no-undef": "off" "no-undef": "off"
} }
}, },
{ {
"files": ["*.vue"], "files": ["*.vue"],
"rules": { "rules": {
"indent": "off" "indent": "off"
} }
} }
], ],
"parser": "vue-eslint-parser", "parser": "vue-eslint-parser",
@ -29,7 +29,14 @@
"sourceType": "module" "sourceType": "module"
}, },
"plugins": ["vue", "@typescript-eslint"], "plugins": ["vue", "@typescript-eslint"],
"ignorePatterns": ["webpack.mix.js", "**/vendor/*.js", "**/vendor/**/*.js"], "ignorePatterns": [
"webpack.mix.js",
"**/*.php",
"**/*.svg",
"**/vendor/*.js",
"**/vendor/**/*.js",
"**/vendor/**/*.scss"
],
"rules": { "rules": {
"indent": ["error", 4, { "SwitchCase": 1 }], "indent": ["error", 4, { "SwitchCase": 1 }],
"linebreak-style": ["error", "unix"], "linebreak-style": ["error", "unix"],

View file

@ -23,15 +23,12 @@
], ],
"customSyntax": "postcss-scss", "customSyntax": "postcss-scss",
"rules": { "rules": {
"indentation": 4, "declaration-property-value-no-unknown": true,
"string-quotes": "double",
"selector-max-id": null, "selector-max-id": null,
"color-no-invalid-hex": true, "color-no-invalid-hex": true,
"order/properties-alphabetical-order": null, "order/properties-alphabetical-order": null,
"max-nesting-depth": 5, "max-nesting-depth": 5,
"selector-max-compound-selectors": 5, "selector-max-compound-selectors": 5,
"declaration-colon-space-after": "always-single-line",
"function-parentheses-space-inside": "never-single-line",
"declaration-colon-newline-after": null, "declaration-colon-newline-after": null,
"value-list-comma-newline-after": null, "value-list-comma-newline-after": null,
"scss/double-slash-comment-empty-line-before": [ "scss/double-slash-comment-empty-line-before": [

View file

@ -1,13 +1,22 @@
# 18/09/2023 # Changelog
## 18/12/23
Fixes + bump front stack
## 18/09/2023
bump laravel 10 + update with base project bump laravel 10 + update with base project
# 01/08/2022 ## 01/08/2022
init
init
with packages : with packages :
- kwaadpepper/exception-handler - kwaadpepper/exception-handler
- kwaadpepper/refresh-sitemap - kwaadpepper/refresh-sitemap
- ldc/web-admin-secure-laravel - ldc/web-admin-secure-laravel
- ldc/web-status-checker-laravel - ldc/web-status-checker-laravel
with Google Services keys with Google Services keys
with gitlab-ci config file with gitlab-ci config file

4460
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,8 @@
{ {
"private": true, "private": true,
"name": "srcs",
"scripts": { "scripts": {
"vite": "vite --clearScreen false",
"prod": "vite build --mode production", "prod": "vite build --mode production",
"dev": "NODE_ENV=development vite build -d --mode development", "dev": "NODE_ENV=development vite build -d --mode development",
"watch": "NODE_ENV=development vite build --mode development --watch", "watch": "NODE_ENV=development vite build --mode development --watch",
@ -12,61 +14,60 @@
"stylelint-ci": "node ./node_modules/.bin/stylelint --config './.stylelintrc.json' --max-warnings 0 '**/resources/**/*.scss' -f json" "stylelint-ci": "node ./node_modules/.bin/stylelint --config './.stylelintrc.json' --max-warnings 0 '**/resources/**/*.scss' -f json"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.22.11",
"@babel/types": "^7.21.2", "@babel/types": "^7.21.2",
"@ckpack/vue-color": "^1.1.9", "@ckpack/vue-color": "^1.5.0",
"@fancyapps/ui": "^4.0.31", "@fancyapps/ui": "^5.0.31",
"@fortawesome/fontawesome-svg-core": "^6.1.2", "@fortawesome/fontawesome-svg-core": "^6.5.1",
"@fortawesome/free-brands-svg-icons": "^6.1.2", "@fortawesome/free-regular-svg-icons": "^6.5.1",
"@fortawesome/free-regular-svg-icons": "^6.1.2", "@fortawesome/free-solid-svg-icons": "^6.5.1",
"@fortawesome/free-solid-svg-icons": "^6.1.2", "@fortawesome/vue-fontawesome": "^3.0.5",
"@fortawesome/vue-fontawesome": "^3.0.1", "@ldc-web/cookie-notice": "^3.1.2",
"@rushstack/eslint-patch": "^1.1.4",
"@sipec/vue3-tags-input": "^3.0.4", "@sipec/vue3-tags-input": "^3.0.4",
"@types/bootstrap": "^5.2.7", "@types/bootstrap": "^5.2.7",
"@types/cropperjs": "^1.3.0", "@types/node": "^20.8.2",
"@types/toastify-js": "^1.11.1", "@types/toastify-js": "^1.12.1",
"@types/webpack-env": "^1.18.0", "@typescript-eslint/eslint-plugin": "^5.62.0",
"@typescript-eslint/eslint-plugin": "^5.36.2",
"@typescript-eslint/parser": "^5.36.2", "@typescript-eslint/parser": "^5.36.2",
"@vitejs/plugin-legacy": "^4.0.1", "@vitejs/plugin-basic-ssl": "^1.0.1",
"@vitejs/plugin-vue": "^4.0.0", "@vitejs/plugin-vue": "latest",
"@vue/eslint-config-typescript": "^11.0.0", "@vue/compiler-sfc": "latest",
"axios": "^1.1.2", "@vue/eslint-config-typescript": "latest",
"@vue/tsconfig": "^0.4.0",
"axios": "^1.5.1",
"bootstrap": "^5.3.2", "bootstrap": "^5.3.2",
"cropperjs": "^1.5.12", "cropperjs": "^1.6.1",
"eslint": "latest",
"eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-alias": "^1.1.2",
"eslint-plugin-vue": "^9.4.0", "eslint-plugin-vue": "latest",
"eslint": "^8.35.0", "laravel-vite-plugin": "latest",
"laravel-vite-plugin": "^0.7.2", "postcss-discard-comments": "^6.0.0",
"lodash": "^4.17.19", "prettier": "latest",
"postcss-discard-comments": "^5.1.2",
"postcss-html": "^1.5.0",
"postcss-scss": "^4.0.6",
"postcss": "^8.4.21",
"prettier": "^2.7.1",
"print-js": "^1.6.0", "print-js": "^1.6.0",
"resolve-url-loader": "^5.0.0", "resolve-url-loader": "^5.0.0",
"sass": "^1.58.3", "rollup-plugin-copy": "^3.5.0",
"slugify": "^1.6.5", "sass": "latest",
"stylelint-config-idiomatic-order": "^8.1.0", "slugify": "^1.6.6",
"stylelint-config-sass-guidelines": "^9.0.1", "stylelint": "^15.11.0",
"stylelint-config-standard-scss": "^6.1.0", "stylelint-config-idiomatic-order": "github:ream88/stylelint-config-idiomatic-order",
"stylelint-scss": "^4.4.0", "stylelint-config-sass-guidelines": "^10.0.0",
"stylelint": "^14.16.1", "stylelint-config-standard-scss": "^11.1.0",
"sweetalert2": "^11.4.8", "stylelint-scss": "^5.3.2",
"swiper": "^8.4.2", "sweetalert2": "^11.7.31",
"swiper": "^11.0.5",
"terser": "latest",
"toastify-js": "^1.12.0", "toastify-js": "^1.12.0",
"ts-loader": "^9.3.1", "ts-loader": "^9.3.1",
"typescript-eslint": "^0.0.1-alpha.0", "typescript": ">=3.3.1 <5.2.0",
"typescript": "^4.9.5", "typescript-eslint": "latest",
"vite-plugin-checker": "^0.5.6", "vite": "^4.5.1",
"vite-plugin-eslint": "^1.8.1", "vite-plugin-babel": "latest",
"vite-plugin-stylelint": "^4.2.0", "vite-plugin-checker": "latest",
"vite": "^4.0.0", "vite-plugin-eslint": "latest",
"vue-eslint-parser": "^9.1.0", "vite-plugin-stylelint": "latest",
"vue-loader": "^16.8.3", "vue": "latest",
"vue-tsc": "^1.2.0", "vue-eslint-parser": "^9.3.2",
"vue": "^3.2.38", "vue-loader": "^17.3.1",
"vue3-nestable": "^3.0.3" "vue-tsc": "1.8.11"
} }
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
public/apple-touch-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

9
public/browserconfig.xml Normal file
View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png"/>
<TileColor>#603cba</TileColor>
</tile>
</msapplication>
</browserconfig>

BIN
public/favicon-16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
public/favicon-32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 0 B

After

Width:  |  Height:  |  Size: 15 KiB

BIN
public/mstile-150x150.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View file

@ -0,0 +1,223 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="313.000000pt" height="313.000000pt" viewBox="0 0 313.000000 313.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.14, written by Peter Selinger 2001-2017
</metadata>
<g transform="translate(0.000000,313.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M1840 3039 c-96 -11 -276 -29 -400 -42 l-225 -22 -3 -231 -2 -231 72
24 c176 58 326 72 510 48 68 -9 145 -23 172 -31 27 -7 53 -14 58 -14 4 0 8
117 8 260 0 143 -3 259 -7 259 -5 -1 -87 -10 -183 -20z m-385 -179 c3 -5 -1
-10 -10 -10 -9 0 -13 5 -10 10 3 6 8 10 10 10 2 0 7 -4 10 -10z m225 -45 c0
-71 -17 -71 -22 0 -2 39 1 55 10 55 8 0 12 -18 12 -55z m-297 23 c9 -13 7 -21
-6 -36 -15 -17 -16 -21 -3 -31 8 -7 27 -16 43 -21 l28 -8 -31 -1 c-18 -1 -43
8 -58 20 -14 11 -26 16 -26 10 0 -6 -7 -11 -15 -11 -11 0 -15 11 -15 43 0 24
2 46 5 49 12 12 69 2 78 -14z m485 -2 c3 -3 -2 -6 -11 -6 -23 0 -22 -46 1 -59
13 -8 5 -10 -33 -8 -48 2 -49 3 -56 37 -4 19 -6 37 -3 41 4 8 93 3 102 -5z
m-403 -6 c-3 -5 -12 -7 -19 -4 -8 3 -17 1 -21 -5 -4 -7 4 -11 20 -11 14 0 24
-4 21 -9 -3 -5 -16 -7 -29 -3 -20 5 -21 4 -8 -12 8 -9 20 -15 28 -12 8 3 11 1
8 -4 -9 -15 -41 -12 -55 5 -20 24 3 65 35 65 15 0 24 -4 20 -10z m85 -35 c0
-43 -16 -65 -49 -65 -22 0 -10 20 12 21 21 1 21 1 -3 8 -48 13 -34 81 16 81
22 0 24 -4 24 -45z m90 5 c0 -37 -2 -40 -28 -40 -30 0 -52 16 -52 36 0 21 30
44 56 44 21 0 24 -4 24 -40z m110 31 c0 -5 -9 -7 -20 -4 -11 3 -20 0 -20 -6 0
-6 9 -11 21 -11 11 0 18 -4 14 -10 -3 -5 -12 -7 -20 -3 -8 3 -15 0 -15 -6 0
-11 13 -15 40 -11 11 1 12 -1 4 -10 -7 -6 -22 -10 -35 -8 -45 6 -33 78 12 78
11 0 19 -4 19 -9z m190 0 c0 -5 -9 -7 -20 -4 -11 3 -20 0 -20 -6 0 -6 10 -12
23 -12 l22 -2 -22 -4 c-41 -8 -25 -29 17 -23 11 1 12 -1 4 -10 -7 -6 -22 -10
-35 -8 -45 6 -33 78 12 78 11 0 19 -4 19 -9z"/>
<path d="M1337 2844 c-4 -4 -7 -18 -7 -31 0 -28 23 -27 28 1 4 20 -11 40 -21
30z"/>
<path d="M1790 2800 c0 -20 5 -30 15 -30 10 0 15 10 15 30 0 20 -5 30 -15 30
-10 0 -15 -10 -15 -30z"/>
<path d="M1502 2803 c4 -39 28 -42 28 -4 0 21 -5 31 -16 31 -11 0 -14 -8 -12
-27z"/>
<path d="M1584 2815 c-7 -18 14 -47 27 -39 5 3 9 16 9 30 0 27 -27 34 -36 9z"/>
<path d="M1770 2507 c-35 -17 -36 -59 -6 -147 31 -87 29 -77 10 -84 -8 -3 -12
-2 -9 4 3 6 -5 10 -19 10 -56 0 -91 -84 -50 -116 12 -10 12 -13 2 -17 -7 -2 3
-8 22 -11 l35 -7 0 -79 c0 -87 20 -129 66 -140 23 -6 24 -6 4 -18 -19 -12 -18
-12 5 -6 33 9 32 8 24 38 -4 17 -13 26 -25 26 -14 0 -19 7 -19 28 0 15 4 33 9
41 9 15 16 9 38 -39 l11 -25 1 32 c1 29 5 33 44 43 92 24 92 24 92 62 0 42 11
41 20 -1 6 -27 9 -29 41 -24 l34 6 2 -44 c1 -24 2 -56 1 -71 -1 -28 10 -37 22
-18 14 22 22 115 13 153 -15 69 -70 119 -146 135 l-37 8 -24 137 -24 137 -56
0 c-31 0 -67 -6 -81 -13z m148 -124 c12 -71 23 -131 22 -134 0 -4 -18 -9 -39
-13 -22 -3 -46 -8 -54 -12 -10 -3 -18 5 -25 25 -6 16 -8 32 -5 35 4 3 1 6 -5
6 -13 0 -36 66 -28 85 3 8 0 14 -6 12 -14 -2 -33 67 -24 88 8 21 43 34 96 34
l46 1 22 -127z"/>
<path d="M1795 2440 c-16 -7 -17 -9 -3 -9 9 -1 20 4 23 9 7 11 7 11 -20 0z"/>
<path d="M1846 2402 c-3 -5 1 -9 9 -9 8 0 12 4 9 9 -3 4 -7 8 -9 8 -2 0 -6 -4
-9 -8z"/>
<path d="M1900 2363 c0 -5 -14 -10 -31 -11 -17 0 -33 -3 -36 -6 -3 -3 11 -5
31 -4 35 1 55 13 42 25 -3 4 -6 2 -6 -4z"/>
<path d="M2048 2043 c6 -2 18 -2 25 0 6 3 1 5 -13 5 -14 0 -19 -2 -12 -5z"/>
<path d="M870 1970 c-192 -49 -264 -71 -262 -81 5 -20 72 -109 83 -109 5 0 39
11 76 25 36 14 70 22 74 18 3 -5 39 -107 79 -228 40 -121 74 -222 76 -224 2
-2 15 -1 29 3 17 4 25 13 25 28 0 12 -18 119 -40 237 -23 117 -40 220 -38 229
2 8 41 28 93 47 l90 32 3 47 c2 33 -1 46 -10 45 -7 0 -132 -31 -278 -69z"/>
<path d="M1949 2023 c-13 -15 -12 -15 9 -4 23 12 28 21 13 21 -5 0 -15 -7 -22
-17z"/>
<path d="M2046 2001 c-3 -4 6 -6 19 -3 14 2 25 6 25 8 0 8 -39 4 -44 -5z"/>
<path d="M1940 1975 c-16 -19 -11 -19 31 0 33 14 33 14 8 15 -15 0 -32 -7 -39
-15z"/>
<path d="M2035 1960 c4 -7 2 -16 -6 -21 -11 -7 -10 -9 4 -9 19 0 23 25 5 36
-7 5 -8 3 -3 -6z"/>
<path d="M1950 1901 c0 -15 38 -33 58 -28 13 4 11 5 -5 6 -12 0 -29 8 -37 17
-9 8 -16 11 -16 5z"/>
<path d="M1472 1883 c-64 -31 -102 -115 -102 -227 0 -116 54 -186 143 -186 33
0 46 7 83 44 25 24 44 53 44 65 0 26 -16 27 -29 2 -14 -25 -72 -51 -99 -44
-27 7 -52 51 -52 92 0 25 10 37 65 77 64 47 65 49 65 95 0 54 -29 99 -63 99
-12 0 -37 -8 -55 -17z m36 -117 c-20 -16 -23 -16 -26 -3 -2 9 2 26 9 38 11 22
12 22 26 3 12 -17 11 -21 -9 -38z"/>
<path d="M1060 1851 c-19 -4 -34 -11 -34 -16 1 -6 25 -105 54 -222 49 -201 63
-235 89 -218 5 2 5 26 1 52 -5 26 -7 49 -6 50 2 2 36 -26 76 -61 65 -56 77
-63 97 -53 22 10 22 11 -32 87 -30 43 -55 82 -55 87 0 5 14 19 31 32 45 33 69
79 69 132 0 109 -119 162 -290 130z m150 -96 c40 -21 47 -51 19 -81 -30 -32
-36 -31 -44 14 -3 20 -9 47 -12 60 -6 26 -2 27 37 7z"/>
<path d="M2077 1853 c-7 -14 14 -93 24 -88 10 7 12 39 3 73 -6 22 -19 29 -27
15z"/>
<path d="M2124 1838 c3 -13 6 -29 6 -35 0 -7 7 -13 15 -13 15 0 20 26 9 54
-10 26 -37 20 -30 -6z"/>
<path d="M2170 1846 c0 -24 12 -46 21 -40 15 9 10 54 -6 54 -8 0 -15 -6 -15
-14z"/>
<path d="M2210 1834 c0 -31 23 -28 28 4 2 15 -2 22 -12 22 -11 0 -16 -9 -16
-26z"/>
<path d="M1960 1830 c0 -13 -7 -20 -19 -20 -11 0 -26 -3 -34 -6 -9 -3 -16 3
-20 16 -5 19 -10 21 -54 14 -26 -3 -49 -8 -51 -9 -5 -5 9 -70 18 -84 6 -11 33
-12 136 -5 l129 9 -3 25 c-7 61 -12 72 -34 67 -11 -3 -31 -2 -44 3 -20 8 -24
6 -24 -10z"/>
<path d="M2256 1825 c-10 -26 -7 -35 9 -35 8 0 15 7 15 15 0 8 0 18 1 22 1 15
-19 13 -25 -2z"/>
<path d="M2406 1813 c4 -16 7 -32 8 -38 2 -17 20 -25 58 -25 20 0 40 -4 43
-10 3 -5 -3 -10 -14 -10 -12 0 -20 -3 -20 -7 1 -5 1 -21 0 -36 -1 -24 -3 -26
-21 -17 -15 8 -20 8 -20 -1 0 -7 -8 -5 -20 6 -11 10 -20 26 -20 36 0 10 -4 20
-8 23 -5 3 -6 -9 -4 -26 3 -21 14 -36 37 -49 22 -13 35 -30 39 -50 7 -39 3
-46 -33 -54 -31 -6 -58 -31 -48 -41 5 -6 120 21 205 47 50 16 28 32 -33 25
-52 -6 -53 -5 -63 24 -6 16 -7 32 -3 34 4 3 8 19 9 37 0 17 8 36 17 43 22 16
3 33 -40 38 -25 2 -31 9 -39 41 -5 20 -16 37 -23 37 -10 0 -12 -8 -7 -27z"/>
<path d="M2296 1804 c-7 -19 -9 -17 23 -34 19 -10 25 -10 32 1 13 21 11 25
-16 37 -33 15 -32 15 -39 -4z"/>
<path d="M1742 1784 c-9 -17 -7 -27 11 -55 19 -30 22 -32 25 -13 2 12 -3 37
-11 55 -13 32 -14 33 -25 13z"/>
<path d="M1705 1727 c-5 -11 -1 -25 10 -37 36 -40 50 -10 16 31 -18 22 -20 22
-26 6z"/>
<path d="M1905 1708 c-102 -10 -115 -13 -115 -29 0 -7 16 -9 48 -5 26 3 86 8
135 12 64 5 87 10 87 20 0 16 -17 16 -155 2z"/>
<path d="M1665 1679 c-9 -13 -6 -16 30 -25 l30 -7 -19 22 c-21 23 -32 26 -41
10z"/>
<path d="M1975 1663 c-133 -8 -195 -16 -195 -24 0 -11 53 -11 178 -3 67 5 92
11 92 20 0 8 -6 13 -12 12 -7 -1 -35 -3 -63 -5z"/>
<path d="M1657 1624 c3 -8 12 -13 20 -10 8 3 19 6 24 6 5 0 9 5 9 10 0 6 -13
10 -30 10 -22 0 -28 -4 -23 -16z"/>
<path d="M1886 1609 c-114 -9 -155 -29 -60 -29 121 0 224 12 224 26 0 16 -11
16 -164 3z"/>
<path d="M1698 1603 c-20 -5 -24 -23 -5 -23 17 0 41 17 31 22 -5 2 -17 3 -26
1z"/>
<path d="M1711 1567 c-6 -8 -8 -22 -5 -31 9 -24 40 -15 36 9 -5 29 -17 38 -31
22z"/>
<path d="M1770 1545 c0 -20 88 -20 114 0 18 14 14 15 -47 15 -53 0 -67 -3 -67
-15z"/>
<path d="M2083 1537 c-36 -7 -43 -12 -43 -32 0 -19 -7 -26 -27 -31 -16 -3 -34
-7 -40 -10 -9 -2 -13 9 -13 36 0 45 -3 46 -54 25 -31 -13 -36 -20 -36 -49 0
-30 -4 -35 -27 -38 -39 -4 -42 -28 -4 -28 l31 0 0 -152 c0 -272 18 -318 125
-318 69 0 107 14 98 36 -4 12 -14 14 -40 9 -83 -15 -93 13 -93 256 0 175 0
177 23 183 51 13 49 20 46 -186 -4 -191 -4 -193 18 -196 25 -4 23 -9 53 232
10 87 21 160 23 162 2 2 26 6 53 10 91 10 94 12 94 45 0 34 -1 34 -107 13 -28
-5 -32 -3 -35 18 -3 22 -5 23 -45 15z"/>
<path d="M2545 1495 c-5 -2 -22 -6 -37 -9 -39 -9 -35 -27 5 -20 l32 6 -30 -25
c-16 -14 -27 -28 -24 -32 10 -9 101 9 100 20 -1 6 -12 8 -24 7 l-22 -4 23 24
c27 30 16 46 -23 33z"/>
<path d="M1525 1449 c-13 -38 -37 -209 -46 -334 -8 -116 -5 -295 6 -295 1 0
34 11 71 25 38 14 88 32 112 41 34 13 42 20 42 41 0 25 -1 25 -51 19 -29 -4
-65 -10 -80 -13 l-29 -5 1 193 c0 107 4 220 8 252 6 48 4 60 -11 74 -14 13
-18 13 -23 2z"/>
<path d="M2548 1387 c-26 -12 -48 -27 -48 -32 0 -6 25 -15 55 -21 51 -9 70 -4
44 12 -6 3 -9 19 -5 35 3 16 4 29 3 28 -1 0 -23 -11 -49 -22z m22 -27 c0 -5
-4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4 10 -10z"/>
<path d="M1662 1369 c-50 -33 -72 -85 -72 -172 0 -92 27 -151 84 -180 46 -24
112 -32 147 -19 21 9 26 16 22 36 -5 23 -10 26 -45 26 -45 0 -78 15 -78 35 0
7 27 28 59 45 63 34 71 46 71 118 0 49 -20 94 -52 116 -32 23 -97 20 -136 -5z
m98 -124 c0 -20 -12 -29 -64 -54 -13 -5 1 89 16 107 10 12 15 11 30 -8 10 -12
18 -32 18 -45z"/>
<path d="M2201 1363 c-54 -28 -74 -64 -79 -137 -5 -81 10 -127 54 -166 42 -36
93 -40 141 -10 63 38 68 98 5 66 -17 -9 -40 -16 -52 -16 -19 0 -60 32 -60 48
0 4 36 18 80 31 45 13 83 28 86 33 12 19 -19 97 -50 126 -41 39 -81 47 -125
25z m94 -103 c17 -19 17 -20 -9 -30 -77 -29 -94 -21 -60 28 19 27 45 28 69 2z"/>
<path d="M1406 1329 c-22 -16 -49 -29 -61 -29 -39 0 -102 -74 -140 -166 l-24
-59 -1 86 c0 131 -5 146 -49 154 -20 3 -46 9 -58 12 -21 5 -22 2 -17 -23 5
-28 4 -29 -33 -30 -146 -2 -288 -220 -228 -349 46 -96 179 -99 258 -5 l26 30
6 -44 c8 -52 -9 -176 -30 -217 -22 -41 -58 -62 -94 -54 -29 6 -83 57 -93 87
-4 11 -7 11 -21 0 -15 -13 -15 -17 2 -50 35 -68 88 -102 158 -102 78 0 144
113 166 283 10 75 13 86 28 82 22 -7 82 17 125 50 31 23 32 24 37 5 4 -17 54
-47 62 -38 5 5 27 399 23 403 -2 2 -21 -10 -42 -26z m-46 -177 c0 -38 -5 -52
-32 -79 -60 -62 -75 -35 -32 57 44 94 64 102 64 22z m-331 -24 c6 -29 14 -63
17 -75 5 -17 -3 -26 -40 -48 -83 -48 -128 -20 -91 59 18 37 82 116 94 116 4 0
13 -24 20 -52z"/>
<path d="M2500 1301 c0 -5 10 -11 22 -13 32 -5 35 -28 4 -28 -14 0 -26 -6 -26
-12 0 -9 16 -12 55 -10 30 2 55 8 55 13 0 5 -9 9 -20 9 -11 0 -20 7 -20 15 0
9 7 15 16 13 10 -2 19 3 21 10 3 9 -11 12 -51 12 -31 0 -56 -4 -56 -9z"/>
<path d="M2500 1211 c0 -9 92 -23 100 -15 2 3 -2 9 -10 14 -19 12 -90 13 -90
1z"/>
<path d="M2496 1172 c-3 -3 -6 -16 -6 -29 0 -16 6 -23 19 -23 10 0 32 -3 48
-6 25 -5 31 -2 35 14 3 11 2 26 -3 33 -8 14 -82 23 -93 11z m34 -22 c0 -5 -4
-10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4 10 -10z m44 -11 c-3
-5 -10 -7 -15 -3 -5 3 -7 10 -3 15 3 5 10 7 15 3 5 -3 7 -10 3 -15z"/>
<path d="M2486 1094 c-24 -24 -19 -41 15 -53 40 -14 69 -14 69 -1 0 6 -7 10
-15 10 -8 0 -15 5 -15 10 0 6 9 10 20 10 11 0 20 5 20 10 0 6 -9 10 -21 10
-11 0 -29 4 -39 10 -14 7 -23 6 -34 -6z m34 -24 c0 -5 -7 -10 -15 -10 -8 0
-15 5 -15 10 0 6 7 10 15 10 8 0 15 -4 15 -10z"/>
<path d="M2456 1014 c-22 -22 -20 -50 6 -68 31 -22 54 -20 72 5 33 48 -37 105
-78 63z m68 -33 c11 -17 -21 -33 -43 -21 -23 12 -28 36 -8 43 13 5 43 -8 51
-22z"/>
<path d="M2416 943 c-3 -3 1 -17 9 -30 15 -22 15 -23 -15 -23 -41 0 -38 -12 9
-38 49 -28 75 -29 42 -2 -17 15 -19 20 -7 20 10 0 13 5 9 16 -5 14 -3 15 16 4
23 -12 42 -6 25 9 -23 21 -82 50 -88 44z"/>
<path d="M2340 823 c0 -3 14 -18 32 -33 19 -16 27 -29 21 -33 -6 -4 -25 4 -41
18 -17 14 -33 21 -36 16 -7 -11 49 -61 68 -61 13 0 53 38 45 43 -2 2 -19 15
-37 30 -33 26 -52 34 -52 20z"/>
<path d="M2271 744 l-23 -16 38 -39 c36 -36 39 -38 56 -22 22 19 16 50 -14 76
-25 21 -28 21 -57 1z m59 -46 c0 -21 0 -21 -25 2 -27 26 -24 46 6 30 10 -6 19
-20 19 -32z"/>
<path d="M2161 660 c-24 -16 -45 -31 -48 -33 -6 -6 47 -87 56 -87 4 0 7 16 7
35 0 25 -4 34 -13 31 -19 -8 -23 7 -7 29 14 19 14 19 28 0 43 -59 41 -58 64
-44 27 17 29 33 3 24 -11 -3 -22 -1 -26 5 -3 5 -1 10 4 10 6 0 11 5 11 11 0 6
-9 9 -20 6 -21 -5 -28 7 -10 18 12 7 14 25 3 24 -5 0 -28 -13 -52 -29z"/>
<path d="M1178 669 c-24 -13 -24 -74 -2 -83 21 -8 33 2 15 13 -17 11 -11 41
12 55 13 8 20 8 26 -3 7 -10 10 -10 16 -1 15 24 -34 38 -67 19z"/>
<path d="M1232 609 c-25 -43 -23 -61 3 -39 13 10 15 9 15 -8 0 -12 5 -24 10
-27 6 -3 10 3 10 13 0 11 7 25 15 32 18 15 19 42 3 58 -20 20 -32 14 -56 -29z
m48 1 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4 10
-10z"/>
<path d="M1343 622 c-11 -9 -30 -36 -41 -58 l-21 -41 26 -12 c29 -13 47 -5 20
10 -20 12 -13 31 8 22 18 -6 20 8 3 26 -11 10 -8 12 11 9 20 -2 25 2 28 24 5
34 -9 42 -34 20z"/>
<path d="M2073 558 c29 -50 36 -53 62 -32 20 15 19 15 -3 11 -19 -4 -26 1 -39
29 -9 19 -23 34 -31 34 -10 0 -8 -11 11 -42z"/>
<path d="M1375 544 c-17 -42 -19 -64 -5 -64 6 0 10 7 10 16 0 9 6 14 13 11 34
-12 62 34 35 61 -21 21 -37 13 -53 -24z m45 -5 c0 -5 -4 -9 -10 -9 -5 0 -10 7
-10 16 0 8 5 12 10 9 6 -3 10 -10 10 -16z"/>
<path d="M1986 564 c-22 -21 -20 -50 4 -74 24 -24 29 -24 58 -4 26 18 28 41 6
72 -18 26 -46 28 -68 6z m54 -25 c8 -15 8 -24 0 -34 -21 -26 -56 6 -44 40 9
21 31 19 44 -6z"/>
<path d="M1448 510 c-12 -38 -13 -50 -4 -50 12 0 36 61 36 89 0 28 -18 7 -32
-39z"/>
<path d="M1490 511 c-16 -58 -13 -71 15 -71 14 0 25 5 25 10 0 6 -7 10 -15 10
-8 0 -15 5 -15 10 0 6 9 10 20 10 11 0 20 5 20 10 0 6 -7 10 -15 10 -8 0 -15
5 -15 10 0 6 9 10 20 10 28 0 25 17 -5 22 -22 5 -26 0 -35 -31z"/>
<path d="M1902 538 c-30 -30 -5 -88 38 -88 25 0 30 4 30 25 0 25 -24 44 -38
30 -4 -4 -1 -10 6 -12 17 -6 15 -23 -2 -23 -16 0 -31 34 -21 50 3 5 13 10 21
10 8 0 14 5 14 10 0 14 -33 13 -48 -2z"/>
<path d="M1557 483 c-6 -56 -1 -66 19 -38 14 19 15 19 20 -3 4 -12 11 -22 16
-22 6 0 8 10 5 22 -3 12 -1 30 4 40 13 25 -5 48 -36 48 -19 0 -23 -7 -28 -47z
m43 12 c0 -8 -4 -15 -10 -15 -5 0 -10 7 -10 15 0 8 5 15 10 15 6 0 10 -7 10
-15z"/>
<path d="M1816 486 c4 -29 3 -46 -4 -46 -12 0 -22 24 -22 56 0 13 -6 24 -13
24 -19 0 -7 -80 14 -93 32 -20 50 -1 47 50 -2 26 -9 48 -15 51 -10 3 -11 -8
-7 -42z"/>
<path d="M1680 470 c0 -48 1 -50 29 -50 31 0 41 14 41 60 0 28 -15 40 -51 40
-16 0 -19 -7 -19 -50z m48 -3 c2 -19 -1 -27 -12 -27 -11 0 -16 10 -16 31 0 38
24 35 28 -4z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

19
public/site.webmanifest Normal file
View file

@ -0,0 +1,19 @@
{
"name": "",
"short_name": "",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-256x256.png",
"sizes": "256x256",
"type": "image/png"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png"/>
<TileColor>#603cba</TileColor>
</tile>
</msapplication>
</browserconfig>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View file

@ -0,0 +1,223 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="313.000000pt" height="313.000000pt" viewBox="0 0 313.000000 313.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.14, written by Peter Selinger 2001-2017
</metadata>
<g transform="translate(0.000000,313.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M1840 3039 c-96 -11 -276 -29 -400 -42 l-225 -22 -3 -231 -2 -231 72
24 c176 58 326 72 510 48 68 -9 145 -23 172 -31 27 -7 53 -14 58 -14 4 0 8
117 8 260 0 143 -3 259 -7 259 -5 -1 -87 -10 -183 -20z m-385 -179 c3 -5 -1
-10 -10 -10 -9 0 -13 5 -10 10 3 6 8 10 10 10 2 0 7 -4 10 -10z m225 -45 c0
-71 -17 -71 -22 0 -2 39 1 55 10 55 8 0 12 -18 12 -55z m-297 23 c9 -13 7 -21
-6 -36 -15 -17 -16 -21 -3 -31 8 -7 27 -16 43 -21 l28 -8 -31 -1 c-18 -1 -43
8 -58 20 -14 11 -26 16 -26 10 0 -6 -7 -11 -15 -11 -11 0 -15 11 -15 43 0 24
2 46 5 49 12 12 69 2 78 -14z m485 -2 c3 -3 -2 -6 -11 -6 -23 0 -22 -46 1 -59
13 -8 5 -10 -33 -8 -48 2 -49 3 -56 37 -4 19 -6 37 -3 41 4 8 93 3 102 -5z
m-403 -6 c-3 -5 -12 -7 -19 -4 -8 3 -17 1 -21 -5 -4 -7 4 -11 20 -11 14 0 24
-4 21 -9 -3 -5 -16 -7 -29 -3 -20 5 -21 4 -8 -12 8 -9 20 -15 28 -12 8 3 11 1
8 -4 -9 -15 -41 -12 -55 5 -20 24 3 65 35 65 15 0 24 -4 20 -10z m85 -35 c0
-43 -16 -65 -49 -65 -22 0 -10 20 12 21 21 1 21 1 -3 8 -48 13 -34 81 16 81
22 0 24 -4 24 -45z m90 5 c0 -37 -2 -40 -28 -40 -30 0 -52 16 -52 36 0 21 30
44 56 44 21 0 24 -4 24 -40z m110 31 c0 -5 -9 -7 -20 -4 -11 3 -20 0 -20 -6 0
-6 9 -11 21 -11 11 0 18 -4 14 -10 -3 -5 -12 -7 -20 -3 -8 3 -15 0 -15 -6 0
-11 13 -15 40 -11 11 1 12 -1 4 -10 -7 -6 -22 -10 -35 -8 -45 6 -33 78 12 78
11 0 19 -4 19 -9z m190 0 c0 -5 -9 -7 -20 -4 -11 3 -20 0 -20 -6 0 -6 10 -12
23 -12 l22 -2 -22 -4 c-41 -8 -25 -29 17 -23 11 1 12 -1 4 -10 -7 -6 -22 -10
-35 -8 -45 6 -33 78 12 78 11 0 19 -4 19 -9z"/>
<path d="M1337 2844 c-4 -4 -7 -18 -7 -31 0 -28 23 -27 28 1 4 20 -11 40 -21
30z"/>
<path d="M1790 2800 c0 -20 5 -30 15 -30 10 0 15 10 15 30 0 20 -5 30 -15 30
-10 0 -15 -10 -15 -30z"/>
<path d="M1502 2803 c4 -39 28 -42 28 -4 0 21 -5 31 -16 31 -11 0 -14 -8 -12
-27z"/>
<path d="M1584 2815 c-7 -18 14 -47 27 -39 5 3 9 16 9 30 0 27 -27 34 -36 9z"/>
<path d="M1770 2507 c-35 -17 -36 -59 -6 -147 31 -87 29 -77 10 -84 -8 -3 -12
-2 -9 4 3 6 -5 10 -19 10 -56 0 -91 -84 -50 -116 12 -10 12 -13 2 -17 -7 -2 3
-8 22 -11 l35 -7 0 -79 c0 -87 20 -129 66 -140 23 -6 24 -6 4 -18 -19 -12 -18
-12 5 -6 33 9 32 8 24 38 -4 17 -13 26 -25 26 -14 0 -19 7 -19 28 0 15 4 33 9
41 9 15 16 9 38 -39 l11 -25 1 32 c1 29 5 33 44 43 92 24 92 24 92 62 0 42 11
41 20 -1 6 -27 9 -29 41 -24 l34 6 2 -44 c1 -24 2 -56 1 -71 -1 -28 10 -37 22
-18 14 22 22 115 13 153 -15 69 -70 119 -146 135 l-37 8 -24 137 -24 137 -56
0 c-31 0 -67 -6 -81 -13z m148 -124 c12 -71 23 -131 22 -134 0 -4 -18 -9 -39
-13 -22 -3 -46 -8 -54 -12 -10 -3 -18 5 -25 25 -6 16 -8 32 -5 35 4 3 1 6 -5
6 -13 0 -36 66 -28 85 3 8 0 14 -6 12 -14 -2 -33 67 -24 88 8 21 43 34 96 34
l46 1 22 -127z"/>
<path d="M1795 2440 c-16 -7 -17 -9 -3 -9 9 -1 20 4 23 9 7 11 7 11 -20 0z"/>
<path d="M1846 2402 c-3 -5 1 -9 9 -9 8 0 12 4 9 9 -3 4 -7 8 -9 8 -2 0 -6 -4
-9 -8z"/>
<path d="M1900 2363 c0 -5 -14 -10 -31 -11 -17 0 -33 -3 -36 -6 -3 -3 11 -5
31 -4 35 1 55 13 42 25 -3 4 -6 2 -6 -4z"/>
<path d="M2048 2043 c6 -2 18 -2 25 0 6 3 1 5 -13 5 -14 0 -19 -2 -12 -5z"/>
<path d="M870 1970 c-192 -49 -264 -71 -262 -81 5 -20 72 -109 83 -109 5 0 39
11 76 25 36 14 70 22 74 18 3 -5 39 -107 79 -228 40 -121 74 -222 76 -224 2
-2 15 -1 29 3 17 4 25 13 25 28 0 12 -18 119 -40 237 -23 117 -40 220 -38 229
2 8 41 28 93 47 l90 32 3 47 c2 33 -1 46 -10 45 -7 0 -132 -31 -278 -69z"/>
<path d="M1949 2023 c-13 -15 -12 -15 9 -4 23 12 28 21 13 21 -5 0 -15 -7 -22
-17z"/>
<path d="M2046 2001 c-3 -4 6 -6 19 -3 14 2 25 6 25 8 0 8 -39 4 -44 -5z"/>
<path d="M1940 1975 c-16 -19 -11 -19 31 0 33 14 33 14 8 15 -15 0 -32 -7 -39
-15z"/>
<path d="M2035 1960 c4 -7 2 -16 -6 -21 -11 -7 -10 -9 4 -9 19 0 23 25 5 36
-7 5 -8 3 -3 -6z"/>
<path d="M1950 1901 c0 -15 38 -33 58 -28 13 4 11 5 -5 6 -12 0 -29 8 -37 17
-9 8 -16 11 -16 5z"/>
<path d="M1472 1883 c-64 -31 -102 -115 -102 -227 0 -116 54 -186 143 -186 33
0 46 7 83 44 25 24 44 53 44 65 0 26 -16 27 -29 2 -14 -25 -72 -51 -99 -44
-27 7 -52 51 -52 92 0 25 10 37 65 77 64 47 65 49 65 95 0 54 -29 99 -63 99
-12 0 -37 -8 -55 -17z m36 -117 c-20 -16 -23 -16 -26 -3 -2 9 2 26 9 38 11 22
12 22 26 3 12 -17 11 -21 -9 -38z"/>
<path d="M1060 1851 c-19 -4 -34 -11 -34 -16 1 -6 25 -105 54 -222 49 -201 63
-235 89 -218 5 2 5 26 1 52 -5 26 -7 49 -6 50 2 2 36 -26 76 -61 65 -56 77
-63 97 -53 22 10 22 11 -32 87 -30 43 -55 82 -55 87 0 5 14 19 31 32 45 33 69
79 69 132 0 109 -119 162 -290 130z m150 -96 c40 -21 47 -51 19 -81 -30 -32
-36 -31 -44 14 -3 20 -9 47 -12 60 -6 26 -2 27 37 7z"/>
<path d="M2077 1853 c-7 -14 14 -93 24 -88 10 7 12 39 3 73 -6 22 -19 29 -27
15z"/>
<path d="M2124 1838 c3 -13 6 -29 6 -35 0 -7 7 -13 15 -13 15 0 20 26 9 54
-10 26 -37 20 -30 -6z"/>
<path d="M2170 1846 c0 -24 12 -46 21 -40 15 9 10 54 -6 54 -8 0 -15 -6 -15
-14z"/>
<path d="M2210 1834 c0 -31 23 -28 28 4 2 15 -2 22 -12 22 -11 0 -16 -9 -16
-26z"/>
<path d="M1960 1830 c0 -13 -7 -20 -19 -20 -11 0 -26 -3 -34 -6 -9 -3 -16 3
-20 16 -5 19 -10 21 -54 14 -26 -3 -49 -8 -51 -9 -5 -5 9 -70 18 -84 6 -11 33
-12 136 -5 l129 9 -3 25 c-7 61 -12 72 -34 67 -11 -3 -31 -2 -44 3 -20 8 -24
6 -24 -10z"/>
<path d="M2256 1825 c-10 -26 -7 -35 9 -35 8 0 15 7 15 15 0 8 0 18 1 22 1 15
-19 13 -25 -2z"/>
<path d="M2406 1813 c4 -16 7 -32 8 -38 2 -17 20 -25 58 -25 20 0 40 -4 43
-10 3 -5 -3 -10 -14 -10 -12 0 -20 -3 -20 -7 1 -5 1 -21 0 -36 -1 -24 -3 -26
-21 -17 -15 8 -20 8 -20 -1 0 -7 -8 -5 -20 6 -11 10 -20 26 -20 36 0 10 -4 20
-8 23 -5 3 -6 -9 -4 -26 3 -21 14 -36 37 -49 22 -13 35 -30 39 -50 7 -39 3
-46 -33 -54 -31 -6 -58 -31 -48 -41 5 -6 120 21 205 47 50 16 28 32 -33 25
-52 -6 -53 -5 -63 24 -6 16 -7 32 -3 34 4 3 8 19 9 37 0 17 8 36 17 43 22 16
3 33 -40 38 -25 2 -31 9 -39 41 -5 20 -16 37 -23 37 -10 0 -12 -8 -7 -27z"/>
<path d="M2296 1804 c-7 -19 -9 -17 23 -34 19 -10 25 -10 32 1 13 21 11 25
-16 37 -33 15 -32 15 -39 -4z"/>
<path d="M1742 1784 c-9 -17 -7 -27 11 -55 19 -30 22 -32 25 -13 2 12 -3 37
-11 55 -13 32 -14 33 -25 13z"/>
<path d="M1705 1727 c-5 -11 -1 -25 10 -37 36 -40 50 -10 16 31 -18 22 -20 22
-26 6z"/>
<path d="M1905 1708 c-102 -10 -115 -13 -115 -29 0 -7 16 -9 48 -5 26 3 86 8
135 12 64 5 87 10 87 20 0 16 -17 16 -155 2z"/>
<path d="M1665 1679 c-9 -13 -6 -16 30 -25 l30 -7 -19 22 c-21 23 -32 26 -41
10z"/>
<path d="M1975 1663 c-133 -8 -195 -16 -195 -24 0 -11 53 -11 178 -3 67 5 92
11 92 20 0 8 -6 13 -12 12 -7 -1 -35 -3 -63 -5z"/>
<path d="M1657 1624 c3 -8 12 -13 20 -10 8 3 19 6 24 6 5 0 9 5 9 10 0 6 -13
10 -30 10 -22 0 -28 -4 -23 -16z"/>
<path d="M1886 1609 c-114 -9 -155 -29 -60 -29 121 0 224 12 224 26 0 16 -11
16 -164 3z"/>
<path d="M1698 1603 c-20 -5 -24 -23 -5 -23 17 0 41 17 31 22 -5 2 -17 3 -26
1z"/>
<path d="M1711 1567 c-6 -8 -8 -22 -5 -31 9 -24 40 -15 36 9 -5 29 -17 38 -31
22z"/>
<path d="M1770 1545 c0 -20 88 -20 114 0 18 14 14 15 -47 15 -53 0 -67 -3 -67
-15z"/>
<path d="M2083 1537 c-36 -7 -43 -12 -43 -32 0 -19 -7 -26 -27 -31 -16 -3 -34
-7 -40 -10 -9 -2 -13 9 -13 36 0 45 -3 46 -54 25 -31 -13 -36 -20 -36 -49 0
-30 -4 -35 -27 -38 -39 -4 -42 -28 -4 -28 l31 0 0 -152 c0 -272 18 -318 125
-318 69 0 107 14 98 36 -4 12 -14 14 -40 9 -83 -15 -93 13 -93 256 0 175 0
177 23 183 51 13 49 20 46 -186 -4 -191 -4 -193 18 -196 25 -4 23 -9 53 232
10 87 21 160 23 162 2 2 26 6 53 10 91 10 94 12 94 45 0 34 -1 34 -107 13 -28
-5 -32 -3 -35 18 -3 22 -5 23 -45 15z"/>
<path d="M2545 1495 c-5 -2 -22 -6 -37 -9 -39 -9 -35 -27 5 -20 l32 6 -30 -25
c-16 -14 -27 -28 -24 -32 10 -9 101 9 100 20 -1 6 -12 8 -24 7 l-22 -4 23 24
c27 30 16 46 -23 33z"/>
<path d="M1525 1449 c-13 -38 -37 -209 -46 -334 -8 -116 -5 -295 6 -295 1 0
34 11 71 25 38 14 88 32 112 41 34 13 42 20 42 41 0 25 -1 25 -51 19 -29 -4
-65 -10 -80 -13 l-29 -5 1 193 c0 107 4 220 8 252 6 48 4 60 -11 74 -14 13
-18 13 -23 2z"/>
<path d="M2548 1387 c-26 -12 -48 -27 -48 -32 0 -6 25 -15 55 -21 51 -9 70 -4
44 12 -6 3 -9 19 -5 35 3 16 4 29 3 28 -1 0 -23 -11 -49 -22z m22 -27 c0 -5
-4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4 10 -10z"/>
<path d="M1662 1369 c-50 -33 -72 -85 -72 -172 0 -92 27 -151 84 -180 46 -24
112 -32 147 -19 21 9 26 16 22 36 -5 23 -10 26 -45 26 -45 0 -78 15 -78 35 0
7 27 28 59 45 63 34 71 46 71 118 0 49 -20 94 -52 116 -32 23 -97 20 -136 -5z
m98 -124 c0 -20 -12 -29 -64 -54 -13 -5 1 89 16 107 10 12 15 11 30 -8 10 -12
18 -32 18 -45z"/>
<path d="M2201 1363 c-54 -28 -74 -64 -79 -137 -5 -81 10 -127 54 -166 42 -36
93 -40 141 -10 63 38 68 98 5 66 -17 -9 -40 -16 -52 -16 -19 0 -60 32 -60 48
0 4 36 18 80 31 45 13 83 28 86 33 12 19 -19 97 -50 126 -41 39 -81 47 -125
25z m94 -103 c17 -19 17 -20 -9 -30 -77 -29 -94 -21 -60 28 19 27 45 28 69 2z"/>
<path d="M1406 1329 c-22 -16 -49 -29 -61 -29 -39 0 -102 -74 -140 -166 l-24
-59 -1 86 c0 131 -5 146 -49 154 -20 3 -46 9 -58 12 -21 5 -22 2 -17 -23 5
-28 4 -29 -33 -30 -146 -2 -288 -220 -228 -349 46 -96 179 -99 258 -5 l26 30
6 -44 c8 -52 -9 -176 -30 -217 -22 -41 -58 -62 -94 -54 -29 6 -83 57 -93 87
-4 11 -7 11 -21 0 -15 -13 -15 -17 2 -50 35 -68 88 -102 158 -102 78 0 144
113 166 283 10 75 13 86 28 82 22 -7 82 17 125 50 31 23 32 24 37 5 4 -17 54
-47 62 -38 5 5 27 399 23 403 -2 2 -21 -10 -42 -26z m-46 -177 c0 -38 -5 -52
-32 -79 -60 -62 -75 -35 -32 57 44 94 64 102 64 22z m-331 -24 c6 -29 14 -63
17 -75 5 -17 -3 -26 -40 -48 -83 -48 -128 -20 -91 59 18 37 82 116 94 116 4 0
13 -24 20 -52z"/>
<path d="M2500 1301 c0 -5 10 -11 22 -13 32 -5 35 -28 4 -28 -14 0 -26 -6 -26
-12 0 -9 16 -12 55 -10 30 2 55 8 55 13 0 5 -9 9 -20 9 -11 0 -20 7 -20 15 0
9 7 15 16 13 10 -2 19 3 21 10 3 9 -11 12 -51 12 -31 0 -56 -4 -56 -9z"/>
<path d="M2500 1211 c0 -9 92 -23 100 -15 2 3 -2 9 -10 14 -19 12 -90 13 -90
1z"/>
<path d="M2496 1172 c-3 -3 -6 -16 -6 -29 0 -16 6 -23 19 -23 10 0 32 -3 48
-6 25 -5 31 -2 35 14 3 11 2 26 -3 33 -8 14 -82 23 -93 11z m34 -22 c0 -5 -4
-10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4 10 -10z m44 -11 c-3
-5 -10 -7 -15 -3 -5 3 -7 10 -3 15 3 5 10 7 15 3 5 -3 7 -10 3 -15z"/>
<path d="M2486 1094 c-24 -24 -19 -41 15 -53 40 -14 69 -14 69 -1 0 6 -7 10
-15 10 -8 0 -15 5 -15 10 0 6 9 10 20 10 11 0 20 5 20 10 0 6 -9 10 -21 10
-11 0 -29 4 -39 10 -14 7 -23 6 -34 -6z m34 -24 c0 -5 -7 -10 -15 -10 -8 0
-15 5 -15 10 0 6 7 10 15 10 8 0 15 -4 15 -10z"/>
<path d="M2456 1014 c-22 -22 -20 -50 6 -68 31 -22 54 -20 72 5 33 48 -37 105
-78 63z m68 -33 c11 -17 -21 -33 -43 -21 -23 12 -28 36 -8 43 13 5 43 -8 51
-22z"/>
<path d="M2416 943 c-3 -3 1 -17 9 -30 15 -22 15 -23 -15 -23 -41 0 -38 -12 9
-38 49 -28 75 -29 42 -2 -17 15 -19 20 -7 20 10 0 13 5 9 16 -5 14 -3 15 16 4
23 -12 42 -6 25 9 -23 21 -82 50 -88 44z"/>
<path d="M2340 823 c0 -3 14 -18 32 -33 19 -16 27 -29 21 -33 -6 -4 -25 4 -41
18 -17 14 -33 21 -36 16 -7 -11 49 -61 68 -61 13 0 53 38 45 43 -2 2 -19 15
-37 30 -33 26 -52 34 -52 20z"/>
<path d="M2271 744 l-23 -16 38 -39 c36 -36 39 -38 56 -22 22 19 16 50 -14 76
-25 21 -28 21 -57 1z m59 -46 c0 -21 0 -21 -25 2 -27 26 -24 46 6 30 10 -6 19
-20 19 -32z"/>
<path d="M2161 660 c-24 -16 -45 -31 -48 -33 -6 -6 47 -87 56 -87 4 0 7 16 7
35 0 25 -4 34 -13 31 -19 -8 -23 7 -7 29 14 19 14 19 28 0 43 -59 41 -58 64
-44 27 17 29 33 3 24 -11 -3 -22 -1 -26 5 -3 5 -1 10 4 10 6 0 11 5 11 11 0 6
-9 9 -20 6 -21 -5 -28 7 -10 18 12 7 14 25 3 24 -5 0 -28 -13 -52 -29z"/>
<path d="M1178 669 c-24 -13 -24 -74 -2 -83 21 -8 33 2 15 13 -17 11 -11 41
12 55 13 8 20 8 26 -3 7 -10 10 -10 16 -1 15 24 -34 38 -67 19z"/>
<path d="M1232 609 c-25 -43 -23 -61 3 -39 13 10 15 9 15 -8 0 -12 5 -24 10
-27 6 -3 10 3 10 13 0 11 7 25 15 32 18 15 19 42 3 58 -20 20 -32 14 -56 -29z
m48 1 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4 10
-10z"/>
<path d="M1343 622 c-11 -9 -30 -36 -41 -58 l-21 -41 26 -12 c29 -13 47 -5 20
10 -20 12 -13 31 8 22 18 -6 20 8 3 26 -11 10 -8 12 11 9 20 -2 25 2 28 24 5
34 -9 42 -34 20z"/>
<path d="M2073 558 c29 -50 36 -53 62 -32 20 15 19 15 -3 11 -19 -4 -26 1 -39
29 -9 19 -23 34 -31 34 -10 0 -8 -11 11 -42z"/>
<path d="M1375 544 c-17 -42 -19 -64 -5 -64 6 0 10 7 10 16 0 9 6 14 13 11 34
-12 62 34 35 61 -21 21 -37 13 -53 -24z m45 -5 c0 -5 -4 -9 -10 -9 -5 0 -10 7
-10 16 0 8 5 12 10 9 6 -3 10 -10 10 -16z"/>
<path d="M1986 564 c-22 -21 -20 -50 4 -74 24 -24 29 -24 58 -4 26 18 28 41 6
72 -18 26 -46 28 -68 6z m54 -25 c8 -15 8 -24 0 -34 -21 -26 -56 6 -44 40 9
21 31 19 44 -6z"/>
<path d="M1448 510 c-12 -38 -13 -50 -4 -50 12 0 36 61 36 89 0 28 -18 7 -32
-39z"/>
<path d="M1490 511 c-16 -58 -13 -71 15 -71 14 0 25 5 25 10 0 6 -7 10 -15 10
-8 0 -15 5 -15 10 0 6 9 10 20 10 11 0 20 5 20 10 0 6 -7 10 -15 10 -8 0 -15
5 -15 10 0 6 9 10 20 10 28 0 25 17 -5 22 -22 5 -26 0 -35 -31z"/>
<path d="M1902 538 c-30 -30 -5 -88 38 -88 25 0 30 4 30 25 0 25 -24 44 -38
30 -4 -4 -1 -10 6 -12 17 -6 15 -23 -2 -23 -16 0 -31 34 -21 50 3 5 13 10 21
10 8 0 14 5 14 10 0 14 -33 13 -48 -2z"/>
<path d="M1557 483 c-6 -56 -1 -66 19 -38 14 19 15 19 20 -3 4 -12 11 -22 16
-22 6 0 8 10 5 22 -3 12 -1 30 4 40 13 25 -5 48 -36 48 -19 0 -23 -7 -28 -47z
m43 12 c0 -8 -4 -15 -10 -15 -5 0 -10 7 -10 15 0 8 5 15 10 15 6 0 10 -7 10
-15z"/>
<path d="M1816 486 c4 -29 3 -46 -4 -46 -12 0 -22 24 -22 56 0 13 -6 24 -13
24 -19 0 -7 -80 14 -93 32 -20 50 -1 47 50 -2 26 -9 48 -15 51 -10 3 -11 -8
-7 -42z"/>
<path d="M1680 470 c0 -48 1 -50 29 -50 31 0 41 14 41 60 0 28 -15 40 -51 40
-16 0 -19 -7 -19 -50z m48 -3 c2 -19 -1 -27 -12 -27 -11 0 -16 10 -16 31 0 38
24 35 28 -4z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -0,0 +1,19 @@
{
"name": "",
"short_name": "",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-256x256.png",
"sizes": "256x256",
"type": "image/png"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}

View file

@ -1,7 +1,7 @@
// * LAYOUT // * LAYOUT
main { main {
min-height: calc(100vh - $bo-header-height - $bo-footer-height); min-height: calc(100vh - #{$bo-header-height} - #{$bo-footer-height});
} }
.container-fluid { .container-fluid {

View file

@ -72,8 +72,8 @@ td {
font-style: italic; font-style: italic;
} }
.box-shadow { box-shadow: 0 4px 14px -4px $noir; } .box-shadow { box-shadow: 0 4px 14px -4px #{$noir}; }
.drop-shadow { filter: drop-shadow(0.5rem 0.5rem 0.5rem $noir); } .drop-shadow { filter: drop-shadow(0.5rem 0.5rem 0.5rem #{$noir}); }
.h1 { .h1 {
font-family: Poppins-SemiBold, sans-serif; font-family: Poppins-SemiBold, sans-serif;
@ -218,7 +218,7 @@ td {
// background: radial-gradient(ellipse, transparent 35%, $noir2 $percent), no-repeat center/cover url("@/images/fond-ardoise.jpg"); // background: radial-gradient(ellipse, transparent 35%, $noir2 $percent), no-repeat center/cover url("@/images/fond-ardoise.jpg");
width: 100%; width: 100%;
background: background:
linear-gradient(0deg, $color-bg-body 0%, transparent 50%, $color-bg-body 100%), linear-gradient(0deg, #{$color-bg-body} 0%, transparent 50%, #{$color-bg-body} 100%),
no-repeat center/cover url("@/images/fond-ardoise.jpg"); no-repeat center/cover url("@/images/fond-ardoise.jpg");
} }

View file

@ -0,0 +1,4 @@
.nav-link.active {
color: $primary;
font-weight: bold;
}

View file

@ -21,7 +21,7 @@
&:hover, &:hover,
&:focus { &:focus {
background: $butn-prim-bgcolor; background: $butn-prim-bgcolor;
box-shadow: inset 0 -8rem 0 0 $butn-snd-hover; box-shadow: inset 0 -8rem 0 0 #{$butn-snd-hover};
color: $butn-spe-color; color: $butn-spe-color;
} }
@ -54,8 +54,8 @@
@extend %butn; @extend %butn;
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
background: $butn-snd-bgcolor;
border-radius: 0.5rem; border-radius: 0.5rem;
background: $butn-snd-bgcolor;
&:hover { &:hover {
background: $butn-spe-bgcolor; background: $butn-spe-bgcolor;

View file

@ -1,20 +1,5 @@
@use "sass:math"; @use "sass:math";
$svg-engag-width: 110px;
$width-card-adn: 350px;
$width-card-story: 250px;
$width-card-footer: 350px;
$width-card-btob: 248px;
$width-card-simple: 340px;
$width-card-ranges: 290px;
$width-card-swiper: 312px;
$width-card-id: 355px;
$width-card-posts: 280px;
$width-card-product: 334px;
$width-card-product-sm: 302px;
$width-card-prod-recipe: 312px;
$width-card-prod-adn: 351px;
.card-wrapper { .card-wrapper {
.card-title.marged { height: calc(1.2 * 16px * 2); } .card-title.marged { height: calc(1.2 * 16px * 2); }
} }
@ -293,7 +278,7 @@ $width-card-prod-adn: 351px;
padding: $border; padding: $border;
background: linear-gradient(0.25turn, #333, #fff, #333); background: linear-gradient(0.25turn, #333, #fff, #333);
.engag-start { height: calc($width-card-footer * 3 / 4); } .engag-start { height: calc(#{$width-card-footer} * 3 / 4); }
.card-sep-mobile { width: calc(100% + 2rem); } .card-sep-mobile { width: calc(100% + 2rem); }
.card-sep-desktop { display: none; } .card-sep-desktop { display: none; }
} }

View file

@ -1,47 +1,35 @@
// @import "./bs-colors"; @charset "UTF-8";
// 1. Include functions first (so you can manipulate colors, SVGs, calc, etc). // * UTILITIES
@import "~/bootstrap/scss/functions"; @import './utilities/variables';
// 2. Include remainder of required Bootstrap stylesheets.
@import "~/bootstrap/scss/variables";
// Override bootstrap variables
@import "utilities/variables";
@import "utilities/bs-variables";
@import "bootstrap"; @import "bootstrap";
@import "./utilities/bs-variables";
// Override bootstrap @import "./utilities/bs-custom";
@import "utilities/functions"; @import "./utilities/mixins";
@import "utilities/bs-custom";
@import "utilities/mixins";
@import "components/buttons";
@import "components/cards";
// Toastify
@import "~/toastify-js/src/toastify.css";
// Override css toasts
@import "utilities/notifications"; @import "utilities/notifications";
// import Swiper styles // * VENDOR
@import "~/swiper/swiper"; @import "./vendor/ckEditorContent";
@import "~/swiper/modules/autoplay/autoplay"; @import "./vendor/ldcweb-cookies";
@import "~/swiper/modules/controller/controller"; @import "./vendor/swiper";
@import "~/swiper/modules/navigation/navigation"; @import "@ldc-web/cookie-notice";
@import "~/swiper/modules/pagination/pagination";
// Override Swiper // Toastify
@import "utilities/swiper-custom"; @import "toastify-js/src/toastify.css";
// import Fancybox styles // import Fancybox styles
@import "@fancyapps/ui/dist/fancybox"; @import "@fancyapps/ui/dist/fancybox/fancybox.css";
// Vendor // * BASE
@import "vendor/ldcweb-cookies"; @import './base/bootstrap-overload';
@import "vendor/ck-content"; @import './base/fonts';
// Other // Override bootstrap
@import "./components/buttons";
@import "./components/cards";
// * PAGES.
@import "base/fonts"; @import "base/fonts";
@import "base/base"; @import "base/base";
@import "partials/banner"; @import "partials/banner";

View file

@ -0,0 +1,313 @@
@use "sass:color";
@import "utilities/variables";
// 1. Include new custom variables
@import "utilities/bootstrap-variables";
// 2. Include functions first (so you can manipulate colors, SVGs, calc, etc)
@import "bootstrap/scss/functions";
// 3. Include remainder of required Bootstrap stylesheets
@import "bootstrap/scss/variables";
// * Laravel mail vendor
/* Base */
body,
body *:not(html, style, br, tr, code) {
position: relative;
box-sizing: border-box;
font-family:
-apple-system,
BlinkMacSystemFont,
"Segoe UI",
Roboto,
Helvetica,
Arial,
sans-serif,
"Apple Color Emoji",
"Segoe UI Emoji",
"Segoe UI Symbol";
}
body {
width: 100% !important;
height: 100%;
padding: 0;
margin: 0;
background-color: $body-bg;
color: $body-color;
line-height: 1.4;
text-size-adjust: none;
}
p,
ul,
ol,
blockquote {
line-height: 1.4;
text-align: left;
}
img {
max-width: 100%;
}
a {
color: $link-color;
}
a img {
border: 0;
}
/* Typography */
h1 {
margin-top: 0;
color: $color-primary;
font-size: 18px;
font-weight: bold;
text-align: left;
}
h2 {
margin-top: 0;
font-size: 16px;
font-weight: bold;
text-align: left;
}
h3 {
margin-top: 0;
font-size: 14px;
font-weight: bold;
text-align: left;
}
p {
margin-top: 0;
font-size: 16px;
line-height: 1.5em;
text-align: left;
}
.sub {
font-size: 12px;
}
/* Layout */
.wrapper {
-premailer-width: 100%;
width: 100%;
padding: 0;
margin: 0;
background-color: $bg-lightened;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
}
.content {
-premailer-width: 100%;
width: 100%;
padding: 0;
margin: 0;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
}
/* Header */
.header {
padding: 25px 0;
text-align: center;
}
.header a {
color: $color-primary;
font-size: 19px;
font-weight: bold;
text-decoration: none;
}
/* Logo */
.logo {
width: 75px;
height: 75px;
max-height: 75px;
}
/* Body */
.body {
-premailer-width: 100%;
width: 100%;
padding: 0;
border-top: 1px solid #{$bg-lightened};
border-bottom: 1px solid #{$bg-lightened};
margin: 0;
background-color: $bg-lightened;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
}
.inner-body {
-premailer-width: 570px;
width: 570px;
padding: 0;
border-width: 1px;
border-color: color.scale($body-bg, $lightness: -30%);
border-radius: 2px;
margin: 0 auto;
background-color: $body-bg;
box-shadow: 0 2px 0 rgb(0 0 150 / 2.5%), 2px 4px 0 rgb(0 0 150 / 1.5%);
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
}
/* Subcopy */
.subcopy {
padding-top: 25px;
border-top: 1px solid color.scale($body-bg, $lightness: -30%);
margin-top: 25px;
}
.subcopy p {
font-size: 14px;
}
/* Footer */
.footer {
-premailer-width: 570px;
width: 570px;
padding: 0;
margin: 0 auto;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
text-align: center;
}
.footer p {
color: #b0adc5;
font-size: 12px;
text-align: center;
}
.footer a {
color: #b0adc5;
text-decoration: underline;
}
/* Tables */
.table table {
-premailer-width: 100%;
width: 100%;
margin: 30px auto;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
}
.table th {
padding-bottom: 8px;
border-bottom: 1px solid #edeff2;
margin: 0;
}
.table td {
padding: 10px 0;
margin: 0;
color: #74787e;
font-size: 15px;
line-height: 18px;
}
.content-cell {
max-width: 100vw;
padding: 32px;
}
/* Buttons */
.action {
-premailer-width: 100%;
width: 100%;
padding: 0;
margin: 30px auto;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
text-align: center;
}
.button {
display: inline-block;
overflow: hidden;
border-radius: 4px;
color: $body-bg;
text-decoration: none;
text-size-adjust: none;
}
.button-blue,
.button-primary {
border-top: 8px solid #{$color-primary};
border-right: 18px solid #{$color-primary};
border-bottom: 8px solid #{$color-primary};
border-left: 18px solid #{$color-primary};
background-color: #{$color-primary};
}
.button-green,
.button-success {
border-top: 8px solid #{$color-success};
border-right: 18px solid #{$color-success};
border-bottom: 8px solid #{$color-success};
border-left: 18px solid #{$color-success};
background-color: #{$color-success};
}
.button-red,
.button-error {
border-top: 8px solid #{$color-danger};
border-right: 18px solid #{$color-danger};
border-bottom: 8px solid #{$color-danger};
border-left: 18px solid #{$color-danger};
background-color: #{$color-danger};
}
/* Panels */
.panel {
border-left: $color-primary solid 4px;
margin: 21px 0;
}
.panel-content {
padding: 16px;
background-color: $bg-lightened;
color: $body-color;
}
.panel-content p {
color: $body-color;
}
.panel-item {
padding: 0;
}
.panel-item p:last-of-type {
padding-bottom: 0;
margin-bottom: 0;
}
/* Utilities */
.break-all {
word-break: break-all;
}

View file

@ -2,8 +2,8 @@
.bottom-n1 { bottom: -0.25px; } .bottom-n1 { bottom: -0.25px; }
.nav-pills.engagments .nav-link { .nav-pills.engagments .nav-link {
background-color: $primary;
border-radius: unset; border-radius: unset;
background-color: $primary;
color: $text-color; color: $text-color;
transition: none; transition: none;

View file

@ -26,7 +26,7 @@
scale: 1; scale: 1;
} }
.coin-img-wrapper { background-color: none; } .coin-img-wrapper { background-color: inherit; }
a:hover .coin-img-wrapper, a:hover .coin-img-wrapper,
.expertise-link.active .coin-img-wrapper { background-color: $primary; } .expertise-link.active .coin-img-wrapper { background-color: $primary; }

View file

@ -7,7 +7,7 @@
} }
$thumbs-height: 10%; $thumbs-height: 10%;
.swiper-hero .slide-txt { max-height: calc(100% - $thumbs-height); } .swiper-hero .slide-txt { max-height: calc(100% - #{$thumbs-height}); }
.swiper-hero .img-slide { filter: brightness(40%); } .swiper-hero .img-slide { filter: brightness(40%); }
.hero-thumbs { .hero-thumbs {

View file

@ -144,7 +144,7 @@
.section-products-wrapper { .section-products-wrapper {
width: 100%; width: 100%;
background: background:
linear-gradient(0deg, $color-bg-body 10%, transparent 50%, $color-bg-body 90%), linear-gradient(0deg, #{$color-bg-body} 10%, transparent 50%, #{$color-bg-body} 90%),
no-repeat center/cover url("@/images/fond-ardoise.jpg"); no-repeat center/cover url("@/images/fond-ardoise.jpg");
} }
@ -165,8 +165,8 @@
#search-products { background-color: $color-bg-noir; } #search-products { background-color: $color-bg-noir; }
.search-bar { .search-bar {
background-color: $color-bg-noir;
border-radius: 0.5rem; border-radius: 0.5rem;
background-color: $color-bg-noir;
} }
.panel-wrapper { .panel-wrapper {
@ -308,7 +308,7 @@
.business-infos { .business-infos {
.start-col { .start-col {
flex: 2; flex: 2;
border-right: 2px solid $text-color; border-right: 2px solid #{$text-color};
} }
.end-col { flex: 3; } .end-col { flex: 3; }
} }

View file

@ -43,8 +43,8 @@
height: 26px; height: 26px;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
background-color: $color-bg-banner;
border-radius: 50%; border-radius: 50%;
background-color: $color-bg-banner;
content: counter(step) "."; content: counter(step) ".";
counter-increment: step; counter-increment: step;
} }

View file

@ -1,61 +1,61 @@
.banner-header-wrapper.story::before { .banner-header-wrapper.story::before {
background: linear-gradient(0deg, $color-bg-body 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-story.jpg"); background: linear-gradient(0deg, #{$color-bg-body} 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-story.jpg");
} }
.banner-header-wrapper.ranges::before { .banner-header-wrapper.ranges::before {
background: linear-gradient(0deg, $color-bg-body 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-ranges.jpg"); background: linear-gradient(0deg, #{$color-bg-body} 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-ranges.jpg");
} }
.banner-header-wrapper.products::before { .banner-header-wrapper.products::before {
background: linear-gradient(0deg, $color-bg-body 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-products.jpg"); background: linear-gradient(0deg, #{$color-bg-body} 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-products.jpg");
} }
.banner-header-wrapper.engagments::before { .banner-header-wrapper.engagments::before {
background: linear-gradient(0deg, $color-bg-body 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-engagments.jpg"); background: linear-gradient(0deg, #{$color-bg-body} 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-engagments.jpg");
} }
.banner-header-wrapper.btob::before { .banner-header-wrapper.btob::before {
background: linear-gradient(0deg, $color-bg-body 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-b-to-b.jpg"); background: linear-gradient(0deg, #{$color-bg-body} 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-b-to-b.jpg");
} }
.banner-header-wrapper.breeder::before { .banner-header-wrapper.breeder::before {
background: linear-gradient(0deg, $color-bg-body 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-breeder.jpg"); background: linear-gradient(0deg, #{$color-bg-body} 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-breeder.jpg");
} }
.banner-header-wrapper.adn::before { .banner-header-wrapper.adn::before {
background: linear-gradient(0deg, $color-bg-body 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-adn.jpg"); background: linear-gradient(0deg, #{$color-bg-body} 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-adn.jpg");
} }
.banner-header-wrapper.ideas::before { .banner-header-wrapper.ideas::before {
background: linear-gradient(0deg, $color-bg-body 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-ideas.jpg"); background: linear-gradient(0deg, #{$color-bg-body} 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-ideas.jpg");
} }
.banner-header-wrapper.tips::before { .banner-header-wrapper.tips::before {
background: linear-gradient(0deg, $color-bg-body 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-tips.jpg"); background: linear-gradient(0deg, #{$color-bg-body} 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-tips.jpg");
} }
.banner-header-wrapper.recipes::before { .banner-header-wrapper.recipes::before {
background: linear-gradient(0deg, $color-bg-body 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-recipes.jpg"); background: linear-gradient(0deg, #{$color-bg-body} 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-recipes.jpg");
} }
.banner-header-wrapper.news::before { .banner-header-wrapper.news::before {
background: linear-gradient(0deg, $color-bg-body 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-news.jpg"); background: linear-gradient(0deg, #{$color-bg-body} 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-news.jpg");
} }
.banner-header-wrapper.contact::before { .banner-header-wrapper.contact::before {
background: linear-gradient(0deg, $color-bg-body 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-contact.jpg"); background: linear-gradient(0deg, #{$color-bg-body} 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-contact.jpg");
} }
.banner-header-wrapper.search-summary::before { .banner-header-wrapper.search-summary::before {
background: linear-gradient(0deg, $color-bg-body 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-contact.jpg"); background: linear-gradient(0deg, #{$color-bg-body} 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-contact.jpg");
} }
.banner-header-wrapper.search::before { .banner-header-wrapper.search::before {
background: linear-gradient(0deg, $color-bg-body 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-contact.jpg"); background: linear-gradient(0deg, #{$color-bg-body} 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-contact.jpg");
} }
.banner-header-wrapper.legals::before { .banner-header-wrapper.legals::before {
background: linear-gradient(0deg, $color-bg-body 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-legals.jpg"); background: linear-gradient(0deg, #{$color-bg-body} 0%, transparent 100%), no-repeat center/cover url("@/images/banner/header-legals.jpg");
} }
.banner-wrapper { background-color: $color-bg-banner; } .banner-wrapper { background-color: $color-bg-banner; }

View file

@ -70,7 +70,7 @@ $enable-negative-margins: true;
// ADD BREAKPOINT // ADD BREAKPOINT
$grid-breakpoints-override: (xxxl: 1500px, ml: 1900px); $grid-breakpoints-override: (xxxl: 1500px, ml: 1900px);
$grid-breakpoints: map.merge($grid-breakpoints-override, $grid-breakpoints); $grid-breakpoints: map.merge($grid-breakpoints, $grid-breakpoints-override);
// OVERRIDE ACCORDION ICON // OVERRIDE ACCORDION ICON
$accordion-button-icon: url("@/images/arrow-filter.png"); $accordion-button-icon: url("@/images/arrow-filter.png");

View file

@ -1 +0,0 @@
// FUNCTIONS TO BE IMPLEMENTED

View file

@ -11,7 +11,7 @@
/// @param {Length} $height /// @param {Length} $height
@mixin size-fract($width, $fract: 4 / 3) { @mixin size-fract($width, $fract: 4 / 3) {
width: $width; width: $width;
height: calc($width / $fract); height: calc(#{$width} / #{$fract});
} }
/// Media queries mobile first /// Media queries mobile first
@ -69,21 +69,21 @@
@mixin txt-overflow-fade($nblines, $fontsize, $lineheight, $bgcolor: "") { @mixin txt-overflow-fade($nblines, $fontsize, $lineheight, $bgcolor: "") {
position: relative; position: relative;
overflow: hidden; overflow: hidden;
max-height: calc($nblines * 1em * $lineheight); max-height: calc(#{$nblines} * 1em * #{$lineheight});
margin: 0; margin: 0;
font-size: $fontsize; font-size: $fontsize;
line-height: $lineheight; line-height: $lineheight;
&::after { &::after {
position: absolute; position: absolute;
top: calc(calc($nblines * 1em - 1em) * $lineheight); top: calc(calc(#{$nblines} * 1em - 1em) * #{$lineheight});
right: 0; right: 0;
display: block; display: block;
width: 12ch; width: 12ch;
height: calc(1em * $lineheight); height: calc(1em * #{$lineheight});
@if $bgcolor { @if $bgcolor {
background: linear-gradient(to right, transparent, $bgcolor 12ch); background: linear-gradient(to right, transparent, #{$bgcolor} 12ch);
} }
content: ""; content: "";

View file

@ -1,7 +1,7 @@
.notifications { .notifications {
display: flex; display: flex;
padding: 1rem; padding: 1rem;
background: linear-gradient(135deg, $primary, $secondary); background: linear-gradient(135deg, #{$primary}, #{$secondary});
font-size: 2rem; font-size: 2rem;
// font-family: "CreamyScriptRegular"; // font-family: "CreamyScriptRegular";
line-height: 2rem; line-height: 2rem;
@ -18,10 +18,10 @@
padding: 1rem; padding: 1rem;
border: 6px solid; border: 6px solid;
border-width: 3px; border-width: 3px;
border-radius: 1rem;
background: $noir4; background: $noir4;
border-image-slice: 1; border-image-slice: 1;
border-image-source: linear-gradient(0.5turn, #333, #fff, #333); border-image-source: linear-gradient(0.5turn, #333, #fff, #333);
border-radius: 1rem;
box-shadow: 0 3px 6px -1px rgb(0 0 0 / 12%), 0 10px 36px -4px rgb(255 255 255 / 30%); box-shadow: 0 3px 6px -1px rgb(0 0 0 / 12%), 0 10px 36px -4px rgb(255 255 255 / 30%);
font-size: 1.2rem; font-size: 1.2rem;
line-height: 1.5; line-height: 1.5;

View file

@ -12,7 +12,7 @@
z-index: 1; z-index: 1;
.swiper-pagination-bullet { .swiper-pagination-bullet {
border: 2px solid $text-color; border: 2px solid #{$text-color};
background: transparent; background: transparent;
opacity: 1; opacity: 1;
} }
@ -32,7 +32,7 @@
} }
.swiper-engag-btn-prev, .swiper-engag-btn-prev,
.swiper-engag-btn-next { top: calc($svg-engag-width / 2); } .swiper-engag-btn-next { top: calc(#{$svg-engag-width} / 2); }
// SSSSSSSSSSSSSSS MMMMMMMM MMMMMMMM // SSSSSSSSSSSSSSS MMMMMMMM MMMMMMMM
// SS:::::::::::::::SM:::::::M M:::::::M // SS:::::::::::::::SM:::::::M M:::::::M

View file

@ -18,6 +18,38 @@ $secondary: $bleu;
$tertiary: $orange; $tertiary: $orange;
$fourth: $vert; $fourth: $vert;
// * Base project vars
// * COLORS
$color-primary: $primary;
$color-secondary: $secondary;
$color-tertiary: $tertiary;
$color-fourth: $fourth;
$color-danger: $rouge;
$color-success: $vert2;
// * BACKGROUNDS COLORS
$bg-lightened: #eceff3;
$bg-darkened: $noir1;
$bg-action: $color-primary;
// * Components Var
$svg-engag-width: 110px;
$width-card-adn: 350px;
$width-card-story: 250px;
$width-card-footer: 350px;
$width-card-btob: 248px;
$width-card-simple: 340px;
$width-card-ranges: 290px;
$width-card-swiper: 312px;
$width-card-id: 355px;
$width-card-posts: 280px;
$width-card-product: 334px;
$width-card-product-sm: 302px;
$width-card-prod-recipe: 312px;
$width-card-prod-adn: 351px;
// BACKGROUNDS // BACKGROUNDS
$color-bg-body: $noir2; $color-bg-body: $noir2;
$color-bg-default: $noir4; $color-bg-default: $noir4;
@ -33,8 +65,8 @@ $text-color-third: $tertiary;
$text-color-fourth: $fourth; $text-color-fourth: $fourth;
$text-invert-color: $noir3; $text-invert-color: $noir3;
$text-color-input: $gris; $text-color-input: $gris;
$error-color: $rouge; $error-color: $color-danger;
$succes-color: $vert2; $succes-color: $color-success;
// BOUTONS // BOUTONS
$butn-snd-color: $secondary; $butn-snd-color: $secondary;

View file

@ -6,14 +6,13 @@
// Boutique FIX // Boutique FIX
.ck-content { .ck-content {
// * Import bootstrap reboot to counter count theme aggressive reset // * Import bootstrap reboot to counter count theme aggressive reset
@import "~/bootstrap/scss/functions"; @import "bootstrap/scss/functions";
@import "~/bootstrap/scss/variables"; @import "bootstrap/scss/variables";
@import "~/bootstrap/scss/variables-dark"; @import "bootstrap/scss/variables-dark";
@import "~/bootstrap/scss/mixins"; @import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
$theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value"); @import "bootstrap/scss/root";
@import "~/bootstrap/scss/root"; @import "bootstrap/scss/reboot";
@import "~/bootstrap/scss/reboot";
// ! Force word break a cause de ces pleurnicheurs de clients et tests non pertinents. // ! Force word break a cause de ces pleurnicheurs de clients et tests non pertinents.
overflow-wrap: break-word; overflow-wrap: break-word;

8
resources/sass/fo/vendor/_swiper.scss vendored Normal file
View file

@ -0,0 +1,8 @@
@import "~/swiper/swiper-vars";
@import "~/swiper/swiper";
@import "~/swiper/modules/autoplay";
@import "~/swiper/modules/controller";
@import "~/swiper/modules/navigation";
@import "~/swiper/modules/pagination";
@import "./../utilities/swiper-custom";

View file

@ -1,4 +1,4 @@
import { SweetAlertResult } from "sweetalert2"; import type { SweetAlertResult } from "sweetalert2";
import sweetalert from "../../modules/sweetalertConfirm"; import sweetalert from "../../modules/sweetalertConfirm";
window.addEventListener("DOMContentLoaded", () => { window.addEventListener("DOMContentLoaded", () => {

View file

@ -76,7 +76,7 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent, PropType } from "vue"; import { defineComponent, type PropType } from "vue";
// @ts-ignore // @ts-ignore
import { Chrome } from "@ckpack/vue-color"; import { Chrome } from "@ckpack/vue-color";
import Tooltip from "bootstrap/js/dist/tooltip"; import Tooltip from "bootstrap/js/dist/tooltip";

View file

@ -1,4 +1,4 @@
import axios, { CancelTokenSource } from "axios"; import axios, { type CancelTokenSource } from "axios";
import route from "./../../modules/route"; import route from "./../../modules/route";
class CKUploadAdaptater { class CKUploadAdaptater {

View file

@ -1,12 +1,16 @@
import { App, Component, createApp } from "vue"; import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import type { App, Component } from "vue";
import { createApp } from "vue";
document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {
const setupApp = (app: App<Element>) => { const setupApp = (app: App<Element>) => {
app.config.globalProperties.window = window; app.config.globalProperties.window = window;
app.config.globalProperties.document = document; app.config.globalProperties.document = document;
app.component("FontAwesomeIcon", FontAwesomeIcon);
}; };
// Register components // Register components
/// <reference types="vite/client" />
const vues = import.meta.glob("./../components/*.vue") as Record< const vues = import.meta.glob("./../components/*.vue") as Record<
string, string,
() => Promise<{ default: Component }> () => Promise<{ default: Component }>

View file

@ -1,6 +1,8 @@
/// <reference types="vite/client" />
declare module "*.vue" { declare module "*.vue" {
import type { DefineComponent } from "vue"; import type { DefineComponent } from "vue";
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
const component: DefineComponent<{}, {}, any>; const component: DefineComponent<{}, {}, any>;
// @ts-ignore
export default component; export default component;
} }

View file

@ -1,6 +0,0 @@
declare module "*.vue" {
import type { DefineComponent } from "vue";
const component: DefineComponent<{}, {}, any>;
// @ts-ignore
export default component;
}

View file

@ -7,8 +7,8 @@ import "./utilities/fontawesome";
import "./utilities/vue-fo"; import "./utilities/vue-fo";
// * LIBS // * LIBS
import "./../libs/fancyapp"; import "../libs/fancyapp";
import "./../libs/swiper"; import "../libs/swiper.ts";
// * LDCWEB Cookies // * LDCWEB Cookies
import { LdcwebCn } from "./../libs/ldcweb-cookies"; import { LdcwebCn } from "./../libs/ldcweb-cookies";

View file

@ -1,12 +1,16 @@
import { App, Component, createApp } from "vue"; import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import type { App, Component } from "vue";
import { createApp } from "vue";
document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {
const setupApp = (app: App<Element>) => { const setupApp = (app: App<Element>) => {
app.config.globalProperties.window = window; app.config.globalProperties.window = window;
app.config.globalProperties.document = document; app.config.globalProperties.document = document;
app.component("FontAwesomeIcon", FontAwesomeIcon);
}; };
// Register components // Register components
/// <reference types="vite/client" />
const vues = import.meta.glob("./../components/*.vue") as Record< const vues = import.meta.glob("./../components/*.vue") as Record<
string, string,
() => Promise<{ default: Component }> () => Promise<{ default: Component }>

View file

@ -1,7 +1,7 @@
export {}; export { };
import type { LdcwebCn } from "./libs/ldcweb-cookies";
import { AxiosStatic } from "axios";
import type VueTagsInput from "@sipec/vue3-tags-input"; import type VueTagsInput from "@sipec/vue3-tags-input";
import { AxiosStatic } from "axios";
import type { LdcwebCn } from "./libs/ldcweb-cookies";
// * Enum // * Enum
interface EnumInterface { interface EnumInterface {
@ -81,6 +81,7 @@ declare global {
LdcwebCn: LdcwebCn | {}; LdcwebCn: LdcwebCn | {};
axios: AxiosStatic; axios: AxiosStatic;
Swal: Function; Swal: Function;
Fancybox: Function;
vueDebug: boolean | undefined; vueDebug: boolean | undefined;
__SYSTEM: { __SYSTEM: {
_asset: string; _asset: string;

View file

@ -1,5 +1,6 @@
// import Swiper JS // import Swiper JS
import Swiper, { Autoplay, Navigation, Pagination } from "swiper"; import Swiper from "swiper";
import { Autoplay, Navigation, Pagination } from "swiper/modules";
document.addEventListener("DOMContentLoaded", function () { document.addEventListener("DOMContentLoaded", function () {
const swiperConfig = { const swiperConfig = {

View file

@ -1,4 +1,4 @@
import { SweetAlertResult } from "sweetalert2"; import type { SweetAlertResult } from "sweetalert2";
import confirm from "./sweetalertConfirm"; import confirm from "./sweetalertConfirm";
window.addEventListener("DOMContentLoaded", () => { window.addEventListener("DOMContentLoaded", () => {

View file

@ -1,5 +1,6 @@
// SweetAlert // SweetAlert
import Swal, { SweetAlertOptions, SweetAlertResult } from "sweetalert2"; import type { SweetAlertOptions, SweetAlertResult } from "sweetalert2";
import Swal from "sweetalert2";
import * as trans from "../modules/trans"; import * as trans from "../modules/trans";
@ -22,6 +23,7 @@ export default {
Swal.fire({ Swal.fire({
title: title, title: title,
text: text, text: text,
color: getComputedStyle(document.body).getPropertyValue("--bs-body-color"),
icon: icon, icon: icon,
showCancelButton: true, showCancelButton: true,
confirmButtonText: confirmButtonText:
@ -30,12 +32,14 @@ export default {
cancelButtonText: cancelButtonText:
options.cancelButtonText ?? options.cancelButtonText ??
trans.default.methods.__("Annuler"), trans.default.methods.__("Annuler"),
reverseButtons: true,
// * Bootstrap Styling // * Bootstrap Styling
customClass: { customClass: {
confirmButton: "btn btn-primary mx-1", confirmButton: "btn btn-primary mx-1",
cancelButton: "btn btn-danger mx-1", cancelButton: "btn btn-danger mx-1",
}, },
buttonsStyling: false, buttonsStyling: false,
background: getComputedStyle(document.body).getPropertyValue("--bs-body-bg"),
}).then((result) => { }).then((result) => {
if (result.isConfirmed) { if (result.isConfirmed) {
if (after) { if (after) {
@ -49,12 +53,14 @@ export default {
title: trans.default.methods.__( title: trans.default.methods.__(
"L'opération n'as pas été effectuée" "L'opération n'as pas été effectuée"
), ),
color: getComputedStyle(document.body).getPropertyValue("--bs-body-color"),
confirmButtonText: trans.default.methods.__("Ok"), confirmButtonText: trans.default.methods.__("Ok"),
// * Bootstrap Styling // * Bootstrap Styling
customClass: { customClass: {
confirmButton: "btn btn-primary", confirmButton: "btn btn-primary",
}, },
buttonsStyling: false, buttonsStyling: false,
background: getComputedStyle(document.body).getPropertyValue("--bs-body-bg"),
}); });
} }
}); });
@ -71,12 +77,14 @@ export default {
Swal.fire({ Swal.fire({
title: title, title: title,
text: text, text: text,
color: getComputedStyle(document.body).getPropertyValue("--bs-body-color"),
icon: icon, icon: icon,
// * Bootstrap Styling // * Bootstrap Styling
customClass: { customClass: {
confirmButton: "btn btn-lg btn-primary", confirmButton: "btn btn-lg btn-primary",
}, },
buttonsStyling: false, buttonsStyling: false,
background: getComputedStyle(document.body).getPropertyValue("--bs-body-bg"),
}).then((result) => { }).then((result) => {
if (after) { if (after) {
if (self) { if (self) {

View file

@ -1,4 +1,5 @@
import Toastify, { Options } from "toastify-js"; import type { Options } from "toastify-js";
import * as Toastify from "toastify-js";
export default { export default {
methods: { methods: {
@ -21,7 +22,7 @@ export default {
stopOnFocus: true, stopOnFocus: true,
}; };
options.text = message; options.text = message;
Toastify(options).showToast(); Toastify.default(options).showToast();
}, },
notify(message: string, duration = 4000): void { notify(message: string, duration = 4000): void {
this.toast(message, duration, "notifications"); this.toast(message, duration, "notifications");

View file

@ -23,12 +23,13 @@
<!-- Favicon --> <!-- Favicon -->
{{-- GENERER favicon avec un outil https://realfavicongenerator.net/ --}} {{-- GENERER favicon avec un outil https://realfavicongenerator.net/ --}}
<link href="{{ asset('apple-touch-icon.png') }}" rel="apple-touch-icon" sizes="180x180">
<link type="image/png" href="{{ asset('favicon-32x32.png') }}" rel="icon" sizes="32x32">
<link type="image/png" href="{{ asset('favicon-16x16.png') }}" rel="icon" sizes="16x16">
<link href="{{ asset('site.webmanifest') }}" rel="manifest"> <link href="{{ asset('site.webmanifest') }}" rel="manifest">
<link href="{{ asset('build/assets/images/safari-pinned-tab.svg') }}" rel="mask-icon" color="#091c58"> <link href="{{ asset('safari-pinned-tab.svg') }}" rel="mask-icon">
<link type="image/png" href="/favicon.png" rel="icon" /> <meta name="msapplication-TileColor" content="#2b5797">
<meta name="msapplication-TileColor" content="#091c58"> <meta name="theme-color" content="#ffffff">
<meta name="msapplication-config" content="{{ asset('browserconfig.xml') }}">
<meta name="theme-color" content="#091c58">
@include('modules.breadcrumbs.breadcrumb-head') @include('modules.breadcrumbs.breadcrumb-head')

View file

@ -41,8 +41,15 @@
<meta name="robots" content="index, follow"> <meta name="robots" content="index, follow">
@endif @endif
<!-- Favicon --> {{-- Favicon --}}
<link type="image/png" href="/favicon.png" rel="icon" /> {{-- GENERER favicon avec un outil https://realfavicongenerator.net/ --}}
<link href="{{ asset('apple-touch-icon.png') }}" rel="apple-touch-icon" sizes="180x180">
<link type="image/png" href="{{ asset('favicon-32x32.png') }}" rel="icon" sizes="32x32">
<link type="image/png" href="{{ asset('favicon-16x16.png') }}" rel="icon" sizes="16x16">
<link href="{{ asset('site.webmanifest') }}" rel="manifest">
<link href="{{ asset('safari-pinned-tab.svg') }}" rel="mask-icon">
<meta name="msapplication-TileColor" content="#2b5797">
<meta name="theme-color" content="#ffffff">
<!-- META FACEBOOK --> <!-- META FACEBOOK -->
<meta property="og:title" content="@yield('title')"> <meta property="og:title" content="@yield('title')">

View file

@ -1,29 +1,14 @@
{ {
"extends": "@vue/tsconfig/tsconfig.dom.json",
"sourceMap": true, "sourceMap": true,
"compilerOptions": { "compilerOptions": {
"esModuleInterop": true, "lib": ["ESNEXT", "DOM", "DOM.Iterable"],
"target": "esnext",
"lib": ["es5", "es6", "es2021", "dom", "dom.iterable"],
"module": "esnext",
"strict": true,
"jsx": "preserve",
"moduleResolution": "node",
"typeRoots": [
"resources/ts/@types",
"node_modules/@types"
],
"types": ["vite/client"],
"baseUrl": ".", "baseUrl": ".",
"paths": { "paths": {
"~/*": [ "~/*": ["node_modules/*", "node_modules/@types/*"],
"node_modules/*", "@/*": ["resources/assets/*"]
"node_modules/@types/*",
],
"@/*": ["resources/assets/*"],
} }
}, },
"include": ["resources/**/*.js", "resources/**/*.ts", "resources/**/*.vue"], "include": ["resources/**/*.js", "resources/**/*.ts", "resources/**/*.vue"],
"exclude": ["node_modules"], "exclude": ["node_modules"]
"compileOnSave": false,
"experimentalDecorators": true
} }

View file

@ -1,12 +1,17 @@
import legacy from "@vitejs/plugin-legacy"; import basicSsl from "@vitejs/plugin-basic-ssl";
import vue from "@vitejs/plugin-vue"; import vue from "@vitejs/plugin-vue";
import laravel from "laravel-vite-plugin"; import laravel from "laravel-vite-plugin";
import path from "path"; import path from "path";
import { defineConfig } from "vite"; import postcssDiscard from "postcss-discard-comments";
import copy from "rollup-plugin-copy";
import { defineConfig, loadEnv } from "vite";
import babel from "vite-plugin-babel";
import checker from "vite-plugin-checker"; import checker from "vite-plugin-checker";
import eslint from "vite-plugin-eslint"; import eslint from "vite-plugin-eslint";
import stylelint from "vite-plugin-stylelint"; import stylelint from "vite-plugin-stylelint";
const env = loadEnv("r", process.cwd(), "");
export default defineConfig({ export default defineConfig({
build: { build: {
rollupOptions: { rollupOptions: {
@ -26,19 +31,25 @@ export default defineConfig({
sourcemap: process.env.NODE_ENV === "local" ? "inline" : false, sourcemap: process.env.NODE_ENV === "local" ? "inline" : false,
}, },
css: { css: {
preprocessorOptions: {
scss: {
quietDeps: true
}
},
devSourcemap: process.env.NODE_ENV === "local" ? true : false, devSourcemap: process.env.NODE_ENV === "local" ? true : false,
postcss: { postcss: {
map: { map: {
inline: true, inline: true,
}, },
plugins: [ plugins: [
require("postcss-discard-comments")({ postcssDiscard({
removeAll: true, removeAll: true,
}), }),
], ],
}, }
}, },
plugins: [ plugins: [
basicSsl(),
checker({ checker({
enableBuild: true, enableBuild: true,
vueTsc: { vueTsc: {
@ -51,30 +62,53 @@ export default defineConfig({
}, },
eslint: { eslint: {
lintCommand: lintCommand:
"eslint --fix --quiet -c .eslintrc.json \"./resources\"", "eslint --quiet -c .eslintrc.json \"./resources/ts/*\"",
}, },
stylelint: { stylelint: {
lintCommand: lintCommand:
"stylelint -q --config \"./.stylelintrc.json\" --fix \"**/resources/**/*.scss\"", "stylelint --quiet -c .stylelintrc.json --fix **/resources/**/*.scss",
}, },
}), }),
laravel({ laravel({
input: [ input: [
"resources/sass/bo/bo.scss", "resources/sass/bo/bo.scss",
"resources/ts/bo/bo.ts", "resources/ts/bo/bo.ts",
"resources/sass/fo/mail-theme.scss",
"resources/sass/fo/fo.scss", "resources/sass/fo/fo.scss",
"resources/ts/fo/fo.ts", "resources/ts/fo/fo.ts",
], ],
refresh: true,
}),
copy({
targets: [
{
src: [
// * Engine copy (Default favicon)
path.normalize("resources/favicon/android-chrome-192x192.png"),
path.normalize("resources/favicon/android-chrome-512x512.png"),
path.normalize("resources/favicon/apple-touch-icon.png"),
path.normalize("resources/favicon/browserconfig.xml"),
path.normalize("resources/favicon/favicon.ico"),
path.normalize("resources/favicon/favicon-16x16.png"),
path.normalize("resources/favicon/favicon-32x32.png"),
path.normalize("resources/favicon/mstile-150x150.png"),
path.normalize("resources/favicon/safari-pinned-tab.svg"),
path.normalize("resources/favicon/site.webmanifest"),
],
dest: path.normalize("public")
},
],
copyOnce: true,
verbose: true
}), }),
stylelint({ stylelint({
dev: false, dev: false,
build: true, build: true,
cache: false, cache: false,
chokidar: true, chokidar: true,
quiet: false,
include: ["**/resources/**/*.scss", "**/resources/**/*.css"], include: ["**/resources/**/*.scss", "**/resources/**/*.css"],
exclude: ["node_modules", "vendor"], exclude: ["node_modules", "vendor"],
lintOnStart: true, lintOnStart: false,
emitError: true, emitError: true,
emitWarning: true, emitWarning: true,
emitErrorAsWarning: false, emitErrorAsWarning: false,
@ -85,21 +119,30 @@ export default defineConfig({
extensions: ["js", "ts"], extensions: ["js", "ts"],
include: "**/*.ts", include: "**/*.ts",
exclude: ["node_modules", "vendor"], exclude: ["node_modules", "vendor"],
lintOnStart: true, lintOnStart: false,
emitWarning: true, emitWarning: true,
emitError: true, emitError: true,
failOnWarning: false, failOnWarning: false,
failOnError: false, failOnError: false,
}), }),
babel({
babelConfig: {
targets: "last 3 version, not dead, >0.3%"
}
}),
vue({ vue({
isProduction: process.env.NODE_ENV !== "local" ? true : false, isProduction: process.env.NODE_ENV !== "local" ? true : false,
exclude: ["node_modules", "vendor"], exclude: ["node_modules", "vendor"],
}), })
legacy({
targets: "last 3 version, not dead, >0.3%",
renderLegacyChunks: false,
}),
], ],
server: {
https: true,
host: env["APP_URL"] ? new URL(env["APP_URL"]).hostname : "",
port: 4443,
watch: {
usePolling: true,
},
},
resolve: { resolve: {
extensions: ["*", ".js", ".ts", ".vue"], extensions: ["*", ".js", ".ts", ".vue"],
alias: [ alias: [