Updated 2024 theme

This commit is contained in:
Noah Lancien 2024-05-06 16:20:25 +02:00
parent 4e4e093b2d
commit 09eb3c2ad4
101 changed files with 13377 additions and 479 deletions

Binary file not shown.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 394 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 369 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

View file

Before

Width:  |  Height:  |  Size: 149 KiB

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 56 KiB

BIN
assets/images/logo-tdf.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

@ -3,7 +3,7 @@
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png"/>
<TileColor>#2b5797</TileColor>
<TileColor>#2d89ef</TileColor>
</tile>
</msapplication>
</browserconfig>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 963 B

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

View file

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View file

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 963 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
favicon/old/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

View file

@ -0,0 +1,109 @@
<?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="680.000000pt" height="680.000000pt" viewBox="0 0 680.000000 680.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.14, written by Peter Selinger 2001-2017
</metadata>
<g transform="translate(0.000000,680.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M3378 6575 c-2 -1 -61 -5 -133 -9 -161 -7 -208 -12 -365 -38 -448
-73 -906 -257 -1278 -515 -247 -171 -495 -397 -647 -588 -22 -27 -43 -52 -46
-55 -4 -3 -46 -59 -94 -124 -239 -329 -418 -714 -514 -1106 -16 -69 -32 -136
-35 -150 -26 -146 -41 -260 -51 -385 -5 -67 -6 -403 -1 -450 2 -16 7 -65 10
-107 4 -43 9 -88 11 -100 2 -13 9 -54 15 -93 46 -294 145 -604 285 -890 71
-143 181 -331 248 -423 51 -69 141 -187 147 -192 3 -3 29 -34 59 -70 64 -76
250 -263 334 -335 290 -248 669 -467 1019 -590 77 -27 256 -81 298 -89 14 -3
34 -7 45 -10 59 -15 231 -46 282 -52 32 -3 61 -8 64 -10 37 -23 711 -22 749 1
3 2 33 6 68 9 34 4 119 18 189 32 1118 222 2042 1038 2407 2128 37 110 93 325
110 426 14 84 17 101 35 230 17 119 11 630 -9 770 -127 904 -598 1679 -1340
2205 -429 304 -894 479 -1485 560 -22 3 -107 8 -190 11 -82 3 -158 7 -167 8
-9 2 -18 3 -20 1z m-74 -317 c0 -54 -2 -99 -5 -102 -2 -2 -49 -6 -104 -10 -55
-3 -115 -8 -132 -11 -18 -3 -45 -7 -60 -9 -95 -13 -287 -55 -358 -76 -543
-168 -959 -431 -1315 -831 -111 -125 -200 -240 -245 -317 -5 -9 -12 -19 -15
-22 -15 -13 -123 -206 -167 -295 -152 -311 -247 -665 -269 -1000 -4 -55 -8
-102 -10 -104 -2 -2 -48 -4 -101 -5 l-98 0 1 59 c1 75 16 236 30 315 2 14 7
41 10 60 28 173 122 480 206 668 99 223 256 484 389 647 150 183 379 414 481
483 13 9 25 18 28 22 13 15 156 115 250 175 139 88 386 211 541 267 114 42
308 101 369 113 14 3 70 13 125 24 108 21 155 28 255 37 36 4 66 7 67 8 1 1
30 1 65 1 l63 0 -1 -97z m431 86 c28 -2 61 -7 75 -9 14 -3 41 -7 60 -10 427
-66 835 -225 1199 -469 58 -39 113 -76 121 -83 8 -7 31 -25 51 -40 103 -81
146 -120 279 -253 171 -171 247 -263 378 -460 259 -388 428 -848 477 -1295 4
-33 8 -71 10 -83 8 -46 8 -152 1 -159 -10 -10 -187 -10 -193 1 -3 4 -7 31 -8
60 -7 129 -14 180 -61 439 -3 15 -21 81 -39 147 -215 753 -732 1376 -1434
1730 -240 121 -542 221 -771 256 -19 2 -46 7 -60 9 -78 14 -168 22 -257 24
l-53 1 0 106 0 106 88 -6 c48 -4 110 -9 137 -12z m-180 -398 c500 -20 1018
-215 1444 -543 128 -99 364 -340 467 -478 295 -394 469 -844 511 -1320 9 -109
9 -361 0 -468 -19 -215 -92 -526 -162 -692 -60 -145 -96 -221 -147 -313 -349
-628 -937 -1084 -1622 -1258 -110 -28 -181 -43 -241 -50 -22 -3 -47 -7 -55 -9
-67 -18 -427 -26 -575 -12 -400 38 -739 150 -1094 358 -233 138 -502 372 -682
594 -269 333 -461 755 -533 1172 -14 79 -19 118 -31 243 -5 50 -5 358 0 405 2
22 7 65 10 95 3 30 7 64 9 75 2 11 7 40 11 65 18 112 24 135 62 268 149 519
449 969 878 1316 300 242 757 454 1105 511 19 3 58 10 85 15 85 16 125 20 260
26 72 4 131 8 133 9 2 2 11 1 20 -1 9 -1 76 -5 147 -8z m-2924 -2733 c0 -32 2
-67 4 -78 1 -11 6 -51 9 -90 19 -203 114 -566 191 -733 14 -29 25 -55 25 -58
0 -4 51 -107 115 -234 39 -75 185 -290 270 -395 102 -127 277 -304 385 -390
41 -33 77 -62 80 -65 3 -3 30 -23 60 -45 184 -135 418 -263 639 -350 139 -54
393 -125 501 -140 14 -2 52 -8 85 -14 60 -10 129 -18 239 -26 32 -2 62 -8 65
-14 9 -14 7 -173 -2 -188 -4 -7 -13 -10 -20 -8 -7 2 -50 6 -97 9 -74 4 -267
28 -325 40 -289 60 -494 127 -740 245 -212 102 -409 226 -600 379 -100 81
-350 332 -429 432 -37 47 -73 92 -79 100 -103 130 -272 425 -352 615 -81 193
-159 457 -190 640 -3 17 -7 39 -9 50 -2 11 -7 49 -11 85 -4 36 -9 73 -10 82
-2 9 -7 60 -10 112 l-7 96 106 0 106 0 1 -57z m5763 27 c-4 -63 -16 -203 -19
-218 -1 -9 -6 -42 -9 -72 -9 -81 -42 -246 -66 -330 -115 -414 -268 -728 -513
-1055 -141 -188 -367 -417 -532 -540 -22 -16 -42 -33 -45 -36 -13 -16 -235
-162 -323 -213 -237 -136 -574 -269 -790 -312 -10 -2 -26 -5 -35 -8 -9 -3 -30
-8 -47 -11 -31 -5 -62 -11 -105 -20 -14 -3 -41 -7 -60 -9 -19 -3 -55 -7 -80
-10 -66 -9 -127 -14 -195 -17 l-60 -3 -3 102 c-3 100 -2 102 20 103 54 2 241
22 318 34 560 86 1124 376 1526 787 173 175 294 329 407 514 54 88 177 324
177 338 0 3 9 25 20 49 81 172 177 554 196 780 6 71 12 146 13 165 1 10 26 12
104 10 102 -3 102 -3 101 -28z"/>
<path d="M5081 3581 c-12 -7 -14 -48 -15 -210 l-1 -200 40 -7 c142 -27 216 21
218 139 1 67 -18 113 -56 137 -27 16 -82 22 -111 10 -24 -9 -24 -8 -22 66 1
68 -1 74 -19 74 -11 0 -26 -4 -34 -9z m148 -198 c26 -22 36 -86 20 -125 -12
-30 -66 -54 -97 -44 -16 5 -19 18 -19 87 -1 74 0 81 20 89 34 13 53 12 76 -7z"/>
<path d="M1619 3543 c-81 -24 -119 -75 -127 -169 -13 -169 94 -249 281 -208
l27 6 0 92 0 93 -35 1 -35 1 0 -68 c0 -76 -4 -81 -59 -75 -77 9 -116 68 -106
157 6 59 26 94 61 107 34 13 101 13 126 -1 23 -12 38 1 38 34 0 34 -99 52
-171 30z"/>
<path d="M2789 3550 c-91 -16 -150 -88 -154 -189 -5 -158 106 -235 284 -196
l27 6 0 92 -1 92 -30 1 c-16 1 -32 -2 -35 -7 -3 -5 -5 -35 -5 -68 2 -65 -2
-69 -54 -65 -80 6 -110 48 -108 147 2 57 6 70 28 93 31 31 100 43 149 26 28
-10 32 -9 40 14 13 32 13 31 -7 39 -37 14 -99 21 -134 15z"/>
<path d="M4215 3542 c-1 -2 1 -20 6 -40 50 -215 62 -263 76 -299 14 -38 19
-43 47 -43 32 0 33 2 69 104 20 57 37 109 37 115 0 6 4 11 8 11 4 0 23 -46 41
-102 18 -57 38 -109 43 -115 6 -7 23 -13 38 -13 25 0 29 6 48 63 11 34 30 105
42 157 12 52 26 110 30 127 10 37 6 41 -34 39 -31 -2 -39 -15 -51 -96 -11 -73
-39 -190 -43 -185 -3 3 -22 56 -42 117 -36 109 -39 113 -68 116 l-30 3 -38
-122 c-37 -117 -39 -121 -50 -93 -6 16 -21 81 -34 145 l-23 116 -34 -1 c-19
-1 -36 -2 -38 -4z"/>
<path d="M1936 3440 c-52 -26 -71 -64 -70 -135 0 -52 5 -69 27 -98 29 -39 83
-58 144 -50 57 6 63 10 63 38 0 25 -2 26 -51 21 -27 -3 -60 0 -73 5 -25 12
-49 45 -42 58 3 5 46 8 96 7 54 -1 90 3 91 9 13 122 -83 197 -185 145z m106
-62 c19 -19 20 -22 4 -33 -17 -13 -106 -14 -106 -2 0 4 0 11 0 16 0 18 32 41
56 41 13 0 34 -10 46 -22z"/>
<path d="M2255 3453 c-67 -13 -61 1 -61 -153 l0 -140 33 0 32 0 3 118 3 117
30 3 c59 6 70 -14 73 -132 l4 -106 28 0 c15 0 30 6 32 13 10 24 1 195 -11 223
-6 16 -21 36 -33 43 -22 13 -96 21 -133 14z"/>
<path d="M3053 3450 c-24 -10 -27 -18 -18 -42 4 -11 19 -13 56 -10 55 5 79 -8
79 -42 0 -19 -5 -21 -34 -18 -80 9 -141 -40 -130 -104 11 -67 79 -90 201 -69
l32 6 -3 112 c-3 113 -13 149 -46 163 -26 10 -114 13 -137 4z m117 -200 c0
-40 0 -40 -38 -40 -40 0 -62 14 -62 40 0 26 22 40 62 40 38 0 38 0 38 -40z"/>
<path d="M3360 3451 l-35 -6 -3 -143 -3 -143 33 3 33 3 2 105 c0 58 2 111 2
118 1 7 15 12 36 12 47 0 58 -24 59 -140 l2 -95 32 -3 33 -3 -3 115 -3 116 33
6 c37 7 61 -8 67 -42 2 -10 4 -59 4 -107 l1 -88 33 3 32 3 -1 112 c-1 130 -12
156 -71 173 -30 9 -47 9 -82 -4 -34 -11 -49 -12 -65 -4 -24 13 -84 17 -136 9z"/>
<path d="M3848 3436 c-70 -46 -88 -160 -35 -229 36 -47 127 -66 195 -42 19 7
11 61 -8 57 -50 -11 -85 -10 -110 3 -17 9 -30 20 -30 24 0 5 -2 16 -5 24 -5
11 11 14 90 13 l95 -1 0 38 c0 47 -22 97 -52 116 -37 23 -103 22 -140 -3z
m104 -48 c8 -7 18 -22 20 -33 5 -19 1 -21 -51 -19 -31 1 -60 2 -64 3 -9 1 12
43 27 53 17 12 51 9 68 -4z"/>
<path d="M4822 3450 c-56 -24 -85 -74 -85 -146 0 -62 29 -116 72 -134 62 -25
179 -14 167 16 -3 9 -6 22 -6 30 0 9 -5 12 -11 8 -19 -12 -79 -13 -107 -3 -29
11 -42 26 -42 50 0 13 13 16 83 14 45 0 87 1 93 3 14 4 11 64 -5 104 -19 50
-104 81 -159 58z m94 -75 c9 -14 14 -29 10 -32 -4 -4 -31 -8 -61 -8 -60 -2
-70 11 -38 47 24 27 69 23 89 -7z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.2 KiB

View file

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

View file

@ -2,108 +2,27 @@
<!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="680.000000pt" height="680.000000pt" viewBox="0 0 680.000000 680.000000"
width="96.000000pt" height="96.000000pt" viewBox="0 0 96.000000 96.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.14, written by Peter Selinger 2001-2017
</metadata>
<g transform="translate(0.000000,680.000000) scale(0.100000,-0.100000)"
<g transform="translate(0.000000,96.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M3378 6575 c-2 -1 -61 -5 -133 -9 -161 -7 -208 -12 -365 -38 -448
-73 -906 -257 -1278 -515 -247 -171 -495 -397 -647 -588 -22 -27 -43 -52 -46
-55 -4 -3 -46 -59 -94 -124 -239 -329 -418 -714 -514 -1106 -16 -69 -32 -136
-35 -150 -26 -146 -41 -260 -51 -385 -5 -67 -6 -403 -1 -450 2 -16 7 -65 10
-107 4 -43 9 -88 11 -100 2 -13 9 -54 15 -93 46 -294 145 -604 285 -890 71
-143 181 -331 248 -423 51 -69 141 -187 147 -192 3 -3 29 -34 59 -70 64 -76
250 -263 334 -335 290 -248 669 -467 1019 -590 77 -27 256 -81 298 -89 14 -3
34 -7 45 -10 59 -15 231 -46 282 -52 32 -3 61 -8 64 -10 37 -23 711 -22 749 1
3 2 33 6 68 9 34 4 119 18 189 32 1118 222 2042 1038 2407 2128 37 110 93 325
110 426 14 84 17 101 35 230 17 119 11 630 -9 770 -127 904 -598 1679 -1340
2205 -429 304 -894 479 -1485 560 -22 3 -107 8 -190 11 -82 3 -158 7 -167 8
-9 2 -18 3 -20 1z m-74 -317 c0 -54 -2 -99 -5 -102 -2 -2 -49 -6 -104 -10 -55
-3 -115 -8 -132 -11 -18 -3 -45 -7 -60 -9 -95 -13 -287 -55 -358 -76 -543
-168 -959 -431 -1315 -831 -111 -125 -200 -240 -245 -317 -5 -9 -12 -19 -15
-22 -15 -13 -123 -206 -167 -295 -152 -311 -247 -665 -269 -1000 -4 -55 -8
-102 -10 -104 -2 -2 -48 -4 -101 -5 l-98 0 1 59 c1 75 16 236 30 315 2 14 7
41 10 60 28 173 122 480 206 668 99 223 256 484 389 647 150 183 379 414 481
483 13 9 25 18 28 22 13 15 156 115 250 175 139 88 386 211 541 267 114 42
308 101 369 113 14 3 70 13 125 24 108 21 155 28 255 37 36 4 66 7 67 8 1 1
30 1 65 1 l63 0 -1 -97z m431 86 c28 -2 61 -7 75 -9 14 -3 41 -7 60 -10 427
-66 835 -225 1199 -469 58 -39 113 -76 121 -83 8 -7 31 -25 51 -40 103 -81
146 -120 279 -253 171 -171 247 -263 378 -460 259 -388 428 -848 477 -1295 4
-33 8 -71 10 -83 8 -46 8 -152 1 -159 -10 -10 -187 -10 -193 1 -3 4 -7 31 -8
60 -7 129 -14 180 -61 439 -3 15 -21 81 -39 147 -215 753 -732 1376 -1434
1730 -240 121 -542 221 -771 256 -19 2 -46 7 -60 9 -78 14 -168 22 -257 24
l-53 1 0 106 0 106 88 -6 c48 -4 110 -9 137 -12z m-180 -398 c500 -20 1018
-215 1444 -543 128 -99 364 -340 467 -478 295 -394 469 -844 511 -1320 9 -109
9 -361 0 -468 -19 -215 -92 -526 -162 -692 -60 -145 -96 -221 -147 -313 -349
-628 -937 -1084 -1622 -1258 -110 -28 -181 -43 -241 -50 -22 -3 -47 -7 -55 -9
-67 -18 -427 -26 -575 -12 -400 38 -739 150 -1094 358 -233 138 -502 372 -682
594 -269 333 -461 755 -533 1172 -14 79 -19 118 -31 243 -5 50 -5 358 0 405 2
22 7 65 10 95 3 30 7 64 9 75 2 11 7 40 11 65 18 112 24 135 62 268 149 519
449 969 878 1316 300 242 757 454 1105 511 19 3 58 10 85 15 85 16 125 20 260
26 72 4 131 8 133 9 2 2 11 1 20 -1 9 -1 76 -5 147 -8z m-2924 -2733 c0 -32 2
-67 4 -78 1 -11 6 -51 9 -90 19 -203 114 -566 191 -733 14 -29 25 -55 25 -58
0 -4 51 -107 115 -234 39 -75 185 -290 270 -395 102 -127 277 -304 385 -390
41 -33 77 -62 80 -65 3 -3 30 -23 60 -45 184 -135 418 -263 639 -350 139 -54
393 -125 501 -140 14 -2 52 -8 85 -14 60 -10 129 -18 239 -26 32 -2 62 -8 65
-14 9 -14 7 -173 -2 -188 -4 -7 -13 -10 -20 -8 -7 2 -50 6 -97 9 -74 4 -267
28 -325 40 -289 60 -494 127 -740 245 -212 102 -409 226 -600 379 -100 81
-350 332 -429 432 -37 47 -73 92 -79 100 -103 130 -272 425 -352 615 -81 193
-159 457 -190 640 -3 17 -7 39 -9 50 -2 11 -7 49 -11 85 -4 36 -9 73 -10 82
-2 9 -7 60 -10 112 l-7 96 106 0 106 0 1 -57z m5763 27 c-4 -63 -16 -203 -19
-218 -1 -9 -6 -42 -9 -72 -9 -81 -42 -246 -66 -330 -115 -414 -268 -728 -513
-1055 -141 -188 -367 -417 -532 -540 -22 -16 -42 -33 -45 -36 -13 -16 -235
-162 -323 -213 -237 -136 -574 -269 -790 -312 -10 -2 -26 -5 -35 -8 -9 -3 -30
-8 -47 -11 -31 -5 -62 -11 -105 -20 -14 -3 -41 -7 -60 -9 -19 -3 -55 -7 -80
-10 -66 -9 -127 -14 -195 -17 l-60 -3 -3 102 c-3 100 -2 102 20 103 54 2 241
22 318 34 560 86 1124 376 1526 787 173 175 294 329 407 514 54 88 177 324
177 338 0 3 9 25 20 49 81 172 177 554 196 780 6 71 12 146 13 165 1 10 26 12
104 10 102 -3 102 -3 101 -28z"/>
<path d="M5081 3581 c-12 -7 -14 -48 -15 -210 l-1 -200 40 -7 c142 -27 216 21
218 139 1 67 -18 113 -56 137 -27 16 -82 22 -111 10 -24 -9 -24 -8 -22 66 1
68 -1 74 -19 74 -11 0 -26 -4 -34 -9z m148 -198 c26 -22 36 -86 20 -125 -12
-30 -66 -54 -97 -44 -16 5 -19 18 -19 87 -1 74 0 81 20 89 34 13 53 12 76 -7z"/>
<path d="M1619 3543 c-81 -24 -119 -75 -127 -169 -13 -169 94 -249 281 -208
l27 6 0 92 0 93 -35 1 -35 1 0 -68 c0 -76 -4 -81 -59 -75 -77 9 -116 68 -106
157 6 59 26 94 61 107 34 13 101 13 126 -1 23 -12 38 1 38 34 0 34 -99 52
-171 30z"/>
<path d="M2789 3550 c-91 -16 -150 -88 -154 -189 -5 -158 106 -235 284 -196
l27 6 0 92 -1 92 -30 1 c-16 1 -32 -2 -35 -7 -3 -5 -5 -35 -5 -68 2 -65 -2
-69 -54 -65 -80 6 -110 48 -108 147 2 57 6 70 28 93 31 31 100 43 149 26 28
-10 32 -9 40 14 13 32 13 31 -7 39 -37 14 -99 21 -134 15z"/>
<path d="M4215 3542 c-1 -2 1 -20 6 -40 50 -215 62 -263 76 -299 14 -38 19
-43 47 -43 32 0 33 2 69 104 20 57 37 109 37 115 0 6 4 11 8 11 4 0 23 -46 41
-102 18 -57 38 -109 43 -115 6 -7 23 -13 38 -13 25 0 29 6 48 63 11 34 30 105
42 157 12 52 26 110 30 127 10 37 6 41 -34 39 -31 -2 -39 -15 -51 -96 -11 -73
-39 -190 -43 -185 -3 3 -22 56 -42 117 -36 109 -39 113 -68 116 l-30 3 -38
-122 c-37 -117 -39 -121 -50 -93 -6 16 -21 81 -34 145 l-23 116 -34 -1 c-19
-1 -36 -2 -38 -4z"/>
<path d="M1936 3440 c-52 -26 -71 -64 -70 -135 0 -52 5 -69 27 -98 29 -39 83
-58 144 -50 57 6 63 10 63 38 0 25 -2 26 -51 21 -27 -3 -60 0 -73 5 -25 12
-49 45 -42 58 3 5 46 8 96 7 54 -1 90 3 91 9 13 122 -83 197 -185 145z m106
-62 c19 -19 20 -22 4 -33 -17 -13 -106 -14 -106 -2 0 4 0 11 0 16 0 18 32 41
56 41 13 0 34 -10 46 -22z"/>
<path d="M2255 3453 c-67 -13 -61 1 -61 -153 l0 -140 33 0 32 0 3 118 3 117
30 3 c59 6 70 -14 73 -132 l4 -106 28 0 c15 0 30 6 32 13 10 24 1 195 -11 223
-6 16 -21 36 -33 43 -22 13 -96 21 -133 14z"/>
<path d="M3053 3450 c-24 -10 -27 -18 -18 -42 4 -11 19 -13 56 -10 55 5 79 -8
79 -42 0 -19 -5 -21 -34 -18 -80 9 -141 -40 -130 -104 11 -67 79 -90 201 -69
l32 6 -3 112 c-3 113 -13 149 -46 163 -26 10 -114 13 -137 4z m117 -200 c0
-40 0 -40 -38 -40 -40 0 -62 14 -62 40 0 26 22 40 62 40 38 0 38 0 38 -40z"/>
<path d="M3360 3451 l-35 -6 -3 -143 -3 -143 33 3 33 3 2 105 c0 58 2 111 2
118 1 7 15 12 36 12 47 0 58 -24 59 -140 l2 -95 32 -3 33 -3 -3 115 -3 116 33
6 c37 7 61 -8 67 -42 2 -10 4 -59 4 -107 l1 -88 33 3 32 3 -1 112 c-1 130 -12
156 -71 173 -30 9 -47 9 -82 -4 -34 -11 -49 -12 -65 -4 -24 13 -84 17 -136 9z"/>
<path d="M3848 3436 c-70 -46 -88 -160 -35 -229 36 -47 127 -66 195 -42 19 7
11 61 -8 57 -50 -11 -85 -10 -110 3 -17 9 -30 20 -30 24 0 5 -2 16 -5 24 -5
11 11 14 90 13 l95 -1 0 38 c0 47 -22 97 -52 116 -37 23 -103 22 -140 -3z
m104 -48 c8 -7 18 -22 20 -33 5 -19 1 -21 -51 -19 -31 1 -60 2 -64 3 -9 1 12
43 27 53 17 12 51 9 68 -4z"/>
<path d="M4822 3450 c-56 -24 -85 -74 -85 -146 0 -62 29 -116 72 -134 62 -25
179 -14 167 16 -3 9 -6 22 -6 30 0 9 -5 12 -11 8 -19 -12 -79 -13 -107 -3 -29
11 -42 26 -42 50 0 13 13 16 83 14 45 0 87 1 93 3 14 4 11 64 -5 104 -19 50
-104 81 -159 58z m94 -75 c9 -14 14 -29 10 -32 -4 -4 -31 -8 -61 -8 -60 -2
-70 11 -38 47 24 27 69 23 89 -7z"/>
<path d="M385 950 c-3 -5 -15 -10 -26 -10 -29 0 -128 -53 -177 -95 -45 -39
-122 -145 -122 -167 0 -8 -4 -18 -9 -24 -39 -43 -38 -310 2 -350 4 -4 7 -14 7
-21 0 -23 77 -128 122 -168 49 -42 148 -95 177 -95 11 0 23 -4 26 -10 8 -13
202 -13 210 0 3 5 15 10 25 10 37 0 146 66 202 123 57 58 118 164 118 205 0
12 4 24 10 27 13 8 13 202 0 210 -5 3 -10 15 -10 27 0 41 -61 147 -118 205
-58 59 -163 123 -200 123 -12 0 -24 5 -27 10 -3 6 -50 10 -105 10 -55 0 -102
-4 -105 -10z m-21 -209 c3 -4 1 -23 -5 -42 -19 -65 -59 -262 -65 -325 -8 -75
-3 -78 70 -39 26 14 49 25 52 25 12 0 2 -59 -13 -72 -55 -48 -152 -68 -188
-38 -15 12 -16 25 -11 80 9 99 63 349 81 377 21 32 68 52 79 34z m382 -15 c26
-21 27 -25 15 -54 -19 -45 -38 -48 -55 -7 -12 28 -21 35 -42 35 -69 0 -133
-83 -155 -201 -11 -60 -10 -70 7 -104 23 -48 47 -64 71 -49 31 20 53 59 59
107 l7 48 -27 -7 c-49 -12 -61 -10 -64 13 -2 14 4 26 16 32 24 13 162 27 162
17 0 -4 -11 -56 -25 -114 -13 -59 -27 -133 -31 -165 -5 -43 -11 -57 -23 -57
-27 0 -42 15 -45 46 -3 27 -6 29 -57 34 -101 10 -134 50 -133 165 0 130 85
249 198 275 59 15 94 11 122 -14z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -3,13 +3,8 @@
"short_name": "",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-512x512.png",
"sizes": "512x512",
"src": "/android-chrome-96x96.png",
"sizes": "96x96",
"type": "image/png"
}
],

View file

@ -1 +1,5 @@
// Empty.
.text-border-white {
text-shadow: 2px 0 #fff, -2px 0 #fff, 0 2px #fff, 0 -2px #fff,
1px 1px #fff, -1px -1px #fff, 1px -1px #fff, -1px 1px #fff;
}

View file

@ -1 +1,70 @@
// Empty.
@font-face {
font-family: "Barlow Bold";
font-style: normal;
font-weight: normal;
src: url("@Theme/fonts/barlow/Barlow-Bold.woff2") format("ttf"),
url("@Theme/fonts/barlow/Barlow-Bold.woff") format("woff"),
url("@Theme/fonts/barlow/Barlow-Bold.ttf") format("ttf"),
url("@Theme/fonts/barlow/Barlow-Bold.svg") format("svg"),
url("@Theme/fonts/barlow/Barlow-Bold.eot") format("eot");
}
@font-face {
font-family: "Barlow Condensed Medium";
font-style: normal;
font-weight: normal;
src: url("@Theme/fonts/barlow/BarlowCondensed-Medium.woff2") format("ttf"),
url("@Theme/fonts/barlow/BarlowCondensed-Medium.woff") format("woff"),
url("@Theme/fonts/barlow/BarlowCondensed-Medium.ttf") format("ttf"),
url("@Theme/fonts/barlow/BarlowCondensed-Medium.svg") format("svg"),
url("@Theme/fonts/barlow/BarlowCondensed-Medium.eot") format("eot");
}
@font-face {
font-family: "Barlow Condensed Semi Bold";
font-style: normal;
font-weight: normal;
src: url("@Theme/fonts/barlow/BarlowCondensed-SemiBold.woff2") format("ttf"),
url("@Theme/fonts/barlow/BarlowCondensed-SemiBold.woff") format("woff"),
url("@Theme/fonts/barlow/BarlowCondensed-SemiBold.ttf") format("ttf"),
url("@Theme/fonts/barlow/BarlowCondensed-SemiBold.svg") format("svg"),
url("@Theme/fonts/barlow/BarlowCondensed-SemiBold.eot") format("eot");
}
@font-face {
font-family: "Barlow Medium";
font-style: normal;
font-weight: normal;
src: url("@Theme/fonts/barlow/Barlow-Medium.woff2") format("ttf"),
url("@Theme/fonts/barlow/Barlow-Medium.woff") format("woff"),
url("@Theme/fonts/barlow/Barlow-Medium.ttf") format("ttf"),
url("@Theme/fonts/barlow/Barlow-Medium.svg") format("svg"),
url("@Theme/fonts/barlow/Barlow-Medium.eot") format("eot");
}
@font-face {
font-family: Veneer;
font-style: normal;
font-weight: normal;
src: url("@Theme/fonts/Veneer/regular/veneer.ttf") format("truetype");
}
.f-veneer {
font-family: Veneer, sans-serif;
}
.f-barlow-bold {
font-family: "Barlow Bold", sans-serif;
}
.f-barlow-condensed-medium {
font-family: "Barlow Condensed Medium", sans-serif;
}
.f-barlow-condensed-semi-bold {
font-family: "Barlow Condensed Semi Bold", sans-serif;
}
.f-barlow-medium {
font-family: "Barlow Medium", sans-serif;
}

View file

@ -76,25 +76,22 @@ body {
@include media-breakpoint-up(md) {
.downlink {
position: relative;
height: 6rem;
> a {
position: absolute;
top: -3rem;
left: 50%;
width: 11rem;
max-height: 8rem;
transform: translateX(-50%);
position: relative;
> span {
position: relative;
top: -3rem;
position: absolute;
right: 5%;
bottom: 0;
}
}
}
}
#newsletter-email::placeholder {
color: $color-white !important;
}
#page-up {
position: fixed;
right: 0;

View file

@ -1,4 +1,27 @@
.home-page {
#main-section {
h2 {
margin: 0 0 .5vw 8vw;
font-size: 3.5rem;
line-height: 3.5rem;
text-align: left;
}
.gift-label {
top: 25%;
}
.gift-discount {
border-style: dashed !important;
}
}
#gifts {
h2 {
font-size: 4rem;
}
}
.picture-100-win {
left: 40%;
transform: translateX(-60%);

View file

@ -1,23 +1,11 @@
.participate-page {
.br-and-arrow {
position: relative;
top: 0;
left: 5vw;
text-align: center;
img {
width: 9rem;
}
&::after {
position: relative;
display: inline-block;
width: 3rem;
height: 4rem;
background-image: url('@Theme/images/arrow-code.png');
background-position: center;
background-repeat: no-repeat;
background-size: contain;
content: ' ';
transform: translateY(100%);
width: 12rem;
}
}
}

View file

@ -8,7 +8,7 @@
transform: translateX(-60%);
}
@include media-breakpoint-up(xl) {
@include media-breakpoint-up(md) {
.main-rotate {
transform: rotateZ(-5deg);
}

View file

@ -1,4 +1,5 @@
@import "./../partials/spin_wheel";
@import "./../partials/scratch";
.won-page {
#wheel-wrapper {
@ -22,6 +23,7 @@
@include media-breakpoint-up(md) {
right: -2rem;
min-width: 75%;
}
}
}

View file

@ -0,0 +1,7 @@
#scratch-wrapper {
canvas {
position: absolute;
top: 0;
left: 0;
}
}

View file

@ -34,6 +34,9 @@
.w#{$infix}-100 {
width: 100% !important;
}
.w#{$infix}-fit {
width: fit-content !important;
}
@each $prop, $unit in (width: vw, height: vh) {
@each $size in [25, 50, 75, 100] {

View file

@ -43,20 +43,20 @@ $font-size-base: $font-default-size-base;
$line-height-base: $line-default-height-base;
// Add font-size variable
$heading-multiplicator: 1;
$h1-font-size: $font-size-base * $heading-multiplicator * 2.5;
$h2-font-size: $font-size-base * $heading-multiplicator * 2;
$h3-font-size: $font-size-base * $heading-multiplicator * 1.75;
$h4-font-size: $font-size-base * $heading-multiplicator * 1.5;
$h5-font-size: $font-size-base * $heading-multiplicator * 1.25;
$h6-font-size: $font-size-base * $heading-multiplicator;
// $heading-multiplicator: 1;
// $h1-font-size: $font-size-base * $heading-multiplicator * 2.5;
// $h2-font-size: $font-size-base * $heading-multiplicator * 2;
// $h3-font-size: $font-size-base * $heading-multiplicator * 1.75;
// $h4-font-size: $font-size-base * $heading-multiplicator * 1.5;
// $h5-font-size: $font-size-base * $heading-multiplicator * 1.25;
// $h6-font-size: $font-size-base * $heading-multiplicator;
// Add the new font-size in this map
$font-sizes: (
1: $h1-font-size,
2: $h2-font-size,
3: $h3-font-size,
4: $h4-font-size,
5: $h5-font-size,
6: $h6-font-size,
);
// $font-sizes: (
// 1: $h1-font-size,
// 2: $h2-font-size,
// 3: $h3-font-size,
// 4: $h4-font-size,
// 5: $h5-font-size,
// 6: $h6-font-size,
// );

View file

@ -2,17 +2,17 @@
// * COLORS
$color-white: #fff;
$color-light: #eceff3;
$color-dark: #070000;
$color-success: #00ac61;
$color-danger: #f71200;
$color-info: #508fdf;
$color-warning: #e6cd00;
$color-light: #fff9f0;
$color-dark: #000;
$color-success: #5ea600;
$color-danger: #f30066;
$color-info: #5883a3;
$color-warning: #ffc06c;
$color-primary: #e30613;
$color-secondary: #005d89;
$color-tertiary: #db275a;
$color-quad: #00719e;
$color-quint: #fba629;
$color-tertiary: #0972b4;
$color-quad: #1d88b9;
$color-quint: #a1aab4;
// * BACKGROUNDS COLORS
$bg-lightened: $color-light;
@ -24,13 +24,14 @@ $color-default-titles: $color-primary;
$color-default-texts: $color-dark;
// * FONTS
$font-default-family-base: "Imprima Regular", sans-serif; // - The default site font family.
$font-default-family-base: "Barlow Condensed Semi Bold", sans-serif; // - The default site font family.
$font-default-size-base: 1rem; // Assumes the browser default, typically `16px`
$line-default-height-base: 1.65;
// * Inputs
$input-bg: color.adjust($color-primary, $lightness: 45%);
$input-color: color.adjust($color-primary, $lightness: -10%);
$input-bg: color.adjust($color-tertiary, $lightness: 45%);
$input-color: color.adjust($color-tertiary, $lightness: -10%);
$input-focus-border-color: color.adjust($color-tertiary, $lightness: 45%);
// * Cookie Notice
$ck-primary-color: $color-primary;

View file

@ -2,7 +2,7 @@
return [
// * GGW version
'version' => '2.0.0',
'version' => '2.2.10',
// * Theme name
'name' => 'le-gaulois-tdf',
// * Picture BO validation sizes
@ -67,6 +67,16 @@ return [
'inCanvas' => true,
'trim' => ['transparent', null, 10],
'format' => 'png'
]
],
'scratch_prize' => [
'width' => 570,
'height' => 350,
'resize' => true,
'inCanvas' => true,
'keepRatio' => true,
'trim' => ['transparent', null, 10],
'format' => 'png'
],
]
];

View file

@ -1,3 +1,7 @@
import route from "../../../../ts/modules/route";
const laravelRoute = route.methods.route;
// * Video frames.
document.addEventListener("DOMContentLoaded", function () {
const videoFrameList = document.querySelectorAll(
@ -64,6 +68,52 @@ document.addEventListener("DOMContentLoaded", function () {
pageUp.classList.remove("show");
});
}
// * NEWSLETTERS
// Subscribe to newsletter
const newsletterSubmitBtn = document.getElementById("newsletter-submit");
const newsletterEmailInput = document.getElementById("newsletter-email") as HTMLInputElement;
const newsletterMessageDiv = document.getElementById("newsletter-message");
if (newsletterSubmitBtn && newsletterEmailInput && newsletterMessageDiv) {
// Submit the request
newsletterSubmitBtn.addEventListener("click", function () {
// Reset error field
newsletterMessageDiv.classList.remove("bg-success-subtle", "border-success", "text-success");
newsletterMessageDiv.classList.remove("bg-danger-subtle", "border-danger", "text-danger");
newsletterMessageDiv.textContent = "";
const addSingleOptinRoute = laravelRoute("fo.add-single-optin");
if (addSingleOptinRoute === null) {
return;
}
window.axios.post(addSingleOptinRoute, {
email: newsletterEmailInput.value,
})
.then(function (response) {
newsletterMessageDiv.classList.remove("d-none");
newsletterMessageDiv.classList.add("bg-success-subtle", "border-success", "text-success");
newsletterMessageDiv.textContent = String(response.data);
newsletterEmailInput.value = "";
})
.catch(function (error) {
newsletterMessageDiv.classList.remove("d-none");
newsletterMessageDiv.classList.add("bg-danger-subtle", "border-danger", "text-danger");
if (error.response.status == 422) {
const errors = error.response.data.errors;
for (const errorKey in errors) {
const errorP = document.createElement("p");
errorP.classList.add("m-0");
errorP.textContent = errors[errorKey];
newsletterMessageDiv.appendChild(errorP);
}
} else {
newsletterMessageDiv.textContent = error.response.data;
}
});
});
}
});
// * Input Validation.

View file

@ -1,12 +1,14 @@
import { SCRATCH_TYPE, ScratchCard } from "scratchcard-js";
import grattageUrl from "./../../assets/images/animations/grattage.png";
document.addEventListener("DOMContentLoaded", function () {
if (!document.querySelector("main.won-page")) {
return;
}
const wheelWrapper = document.getElementById("wheel-wrapper"),
spinWheelInner = wheelWrapper?.querySelector(".wheel-inner") as HTMLElement | null | undefined,
spinWheelBtnList = wheelWrapper?.querySelectorAll(".wheel-spin") as NodeListOf<HTMLElement> | undefined,
animationSection = document.getElementById("spin-animation"),
const scratchWrapper = document.getElementById("scratch-wrapper"),
scratchPicture = document.getElementById("scratch-picture") as HTMLPictureElement|null,
animationSection = document.getElementById("scratch-animation"),
prizeSection = document.getElementById("prize-section"),
discountSection = document.getElementById("discount-section"),
winningProofSection = document.getElementById("winning-proof-section");
@ -29,75 +31,37 @@ document.addEventListener("DOMContentLoaded", function () {
};
if (!animationSection) {
throw Error("section#spin-animation missing");
throw Error("section#scratch-animation missing");
}
if (wheelWrapper && spinWheelInner && spinWheelBtnList && spinWheelBtnList.length) {
let clicks: number = 0;
// * Set default degree (360*5) soit 5 tours
const degree: number = (360 * 5),
wheelPartsDeg: number = 360 / spinWheelInner.children.length,
thisWinAngle: number = (Number.parseInt(
String(wheelWrapper.dataset["winChild"])
// On s'aligne sur la tranche on on ajoute entre 10% et 90% d'une part
)) * wheelPartsDeg - 45 + (wheelPartsDeg * (Math.random() * (0.9 - 0.1) + 0.1));
let timeout: NodeJS.Timeout | null = null;
const spinTheWheel = () => {
// * Add 1 every click
/**
* Multiply the degree by number of clicks
* generate random number between 1 - 85,
* then add to the new degree
*/
const newDegree = degree * ++clicks;
const totalDegree = newDegree + thisWinAngle;
/**
* Let's make the spin btn to tilt every
* time the edge of the section hits
* the indicator
*/
spinWheelInner.style["transform"] = `rotate(${totalDegree}deg)`;
if (timeout) {
clearTimeout(timeout);
}
timeout = setTimeout(toggleAnimationPhase, 7000);
};
/** ! Même Algo que sur GGW legacy */
spinWheelBtnList.forEach((spinBtn) => {
spinBtn.addEventListener("click", spinTheWheel);
spinBtn.addEventListener("keydown", (kbdEvt: KeyboardEvent) => {
if (
kbdEvt.key == " " ||
kbdEvt.code == "Space" ||
kbdEvt.keyCode == 32 ||
kbdEvt.key == "Enter" ||
kbdEvt.code == "Enter" ||
kbdEvt.keyCode == 13
) {
spinBtn.classList.add("active");
spinTheWheel();
kbdEvt.preventDefault();
}
if (scratchWrapper && scratchPicture) {
scratchPicture.addEventListener("load", () => {
const sc = new ScratchCard(scratchWrapper, {
scratchType: SCRATCH_TYPE.LINE,
containerWidth: scratchWrapper.offsetWidth,
containerHeight: scratchWrapper.offsetHeight,
imageForwardSrc: grattageUrl,
imageBackgroundSrc: "",
htmlBackground: "",
clearZoneRadius: 50,
nPoints: 30,
pointSize: 8,
percentToFinish: 65,
callback: function () {
toggleAnimationPhase();
},
brushSrc: "",
enabledPercentUpdate: true
});
spinBtn.addEventListener("keyup", (kbdEvt: KeyboardEvent) => {
if (
kbdEvt.key == " " ||
kbdEvt.code == "Space" ||
kbdEvt.keyCode == 32 ||
kbdEvt.key == "Enter" ||
kbdEvt.code == "Enter" ||
kbdEvt.keyCode == 13
) {
spinBtn.classList.remove("active");
kbdEvt.preventDefault();
}
sc.init().catch((e) => {
console.error(e);
toggleAnimationPhase();
});
});
scratchPicture.setAttribute("src", String(scratchPicture.dataset["src"]));
} else {
toggleAnimationPhase();
}
});

View file

@ -19,16 +19,16 @@
@enderror
<div class="row mb-3">
<div class="col-12 col-md-6 text-md-end g-0">
<span class="h1 fw-bold text-uppercase text-tertiary d-block mb-5">{{ __('Je m\'inscris') }}</span>
<p class="mb-5">{{ __('Pour participer et tenter votre chance, inscrivez-vous !') }}</p>
<a class="btn btn-lg btn-tertiary" href="{{ route('fo.register') }}">{{ __('Inscription') }}</a>
<span class="h1 f-veneer text-uppercase text-primary d-block mb-5">{{ __('Je m\'inscris') }}</span>
<p class="text-secondary mb-5">{{ __('Pour participer et tenter votre chance, inscrivez-vous !') }}</p>
<a class="btn btn-lg btn-primary text-uppercase fs-4" href="{{ route('fo.register') }}">{{ __('Inscription') }}</a>
</div>
<div class="vr bg-tertiary d-none d-md-inline-block mx-4 px-1"></div>
<div class="vr bg-primary d-none d-md-inline-block mx-4 px-0 opacity-100"></div>
<div class="col g-0">
<hr class="border-tertiary d-md-none border-3 border opacity-25">
<hr class="border-primary d-md-none border-3 border opacity-25">
<span class="h1 fw-bold text-uppercase text-tertiary d-block mb-5">{{ __('Je me connecte') }}</span>
<p class="mb-5">
<span class="h1 f-veneer text-uppercase text-primary d-block mb-5">{{ __('Je me connecte') }}</span>
<p class="text-secondary mb-5">
{{ __('Si vous possédez déjà un compte Club :company, vous pouvez utiliser les mêmes identifiants.', [
'company' => $settingsGlobal->company,
]) }}
@ -86,12 +86,12 @@
<div class="row justify-content-center mb-0">
<div class="col-xl-8">
<button class="btn btn-tertiary fw-bold text-uppercase" type="submit">
<button class="btn btn-primary text-uppercase fs-4" type="submit">
{{ __('Login') }}
</button>
@if (Route::has('fo.password.request'))
<a class="btn btn-link link-tertiary fw-bold" href="{{ route('fo.password.request') }}">
<a class="btn btn-link link-primary" href="{{ route('fo.password.request') }}">
{{ __('Forgot Your Password?') }}
</a>
@endif

View file

@ -1,5 +1,5 @@
<fieldset class="mb-3">
<legend class="text-center">{{ __('Vos coordonnées') }}</legend>
<legend class="text-tertiary text-center">{{ __('Vos coordonnées') }}</legend>
{{-- ADDRESS --}}
<div class="row justify-content-center">

View file

@ -1,5 +1,5 @@
<fieldset class="mb-3">
<legend class="text-center">{{ __('Votre profil') }}</legend>
<legend class="text-tertiary text-center">{{ __('Votre profil') }}</legend>
<div class="container-fluid">
{{-- FIRST_NAME --}}

View file

@ -1,5 +1,5 @@
<fieldset class="mb-3">
<legend class="text-center">{{ __('Vos identifiants') }}</legend>
<legend class="text-tertiary text-center">{{ __('Vos identifiants') }}</legend>
<div class="container-fluid">
{{-- EMAIL --}}

View file

@ -1,5 +1,5 @@
<div class="row justify-content-center mb-3">
<div class="col col-md-8 text-dark lh-sm px-0 py-2 text-start">
<div class="col col-md-8 text-secondary lh-sm px-0 py-2 text-start">
<small>
{!! nl2br(
clean(

View file

@ -7,7 +7,7 @@
<div class="container pb-5 pt-5">
<div class="row justify-content-center mb-3">
<div class="col-md-8">
<h1 class="fw-bold text-tertiary text-uppercase text-center">{{ __('Reset Password') }}</h1>
<h1 class="f-veneer text-tertiary text-uppercase text-center">{{ __('Reset Password') }}</h1>
</div>
</div>
<div class="row justify-content-center">

View file

@ -7,7 +7,7 @@
<div class="container pb-5 pt-5">
<div class="row justify-content-center mb-3">
<div class="col-md-8">
<h1 class="fw-bold text-tertiary text-uppercase text-center">{{ __('Reset Password') }}</h1>
<h1 class="f-veneer text-tertiary text-uppercase text-center">{{ __('Reset Password') }}</h1>
</div>
</div>
<div class="row justify-content-center">

View file

@ -7,7 +7,7 @@
<div class="container pb-5 pt-5">
<div class="row justify-content-center">
<div class="col-md-8">
<h1 class="fw-bold text-tertiary text-uppercase text-center">
<h1 class="f-veneer text-tertiary text-uppercase text-center">
{{ __('Mon compte du club :company', ['company' => $settingsGlobal->company]) }}</h1>
<form class="container-fluid" method="POST" action="{{ route('fo.profil.verify-submit') }}">

View file

@ -7,7 +7,7 @@
<div class="container pb-5 pt-5">
<div class="row justify-content-center">
<div class="col-md-8">
<h1 class="fw-bold text-tertiary text-uppercase text-center">
<h1 class="f-veneer text-primary text-uppercase text-center">
{{ __('S\'inscrire au club :company', ['company' => $settingsGlobal->company]) }}</h1>
<form class="container-fluid" method="POST" action="{{ route('fo.register') }}">
@ -15,7 +15,8 @@
<div class="row justify-content-center mb-3">
<div class="col-md-8">
<span class="h2 d-block text-center">{{ __("Merci de renseigner les champs ci-dessous\u{00A0}:") }}</span>
<span
class="fs-2 d-block text-secondary text-center">{{ __("Merci de renseigner les champs ci-dessous\u{00A0}:") }}</span>
</div>
</div>
@ -41,7 +42,7 @@
'me-1',
'is-invalid' => $errors->has('opt_in'),
])>
<label class="form-check-label fw-bold w-fit" for="register-optin">
<label class="form-check-label text-secondary w-fit" for="register-optin">
{{ __('Je souhaite m\'inscrire à la newsletter') }} {{ $settingsGlobal->company }}
</label>
</div>
@ -58,7 +59,7 @@
'me-1',
'is-invalid' => $errors->has('ok_cgv'),
]) required />
<label class="form-check-label fw-bold w-fit" for="register-ok-cgv">
<label class="form-check-label text-secondary w-fit" for="register-ok-cgv">
{!! clean(
__('J\'ai lu et accepte le :a règlement du jeu :enda', [
'a' => '<a href="' . route('fo.reglement') . '" target="_blank">',
@ -74,16 +75,16 @@
</div>
<div class="row mb-2">
<div class="col-md-6 offset-md-4">
<button class="btn btn-lg btn-tertiary" type="submit">
<div class="col d-flex justify-content-center">
<button class="btn btn-lg btn-primary text-uppercase" type="submit">
{{ __('Register') }}
</button>
</div>
</div>
<div class="row mb-0">
<div class="col-md-6 offset-md-4">
<span class="fw-bold">{{ __('* champs obligatoires') }}</span>
<div class="col d-flex justify-content-center">
<span class="text-secondary">{{ __('* champs obligatoires') }}</span>
</div>
</div>
</form>

View file

@ -7,7 +7,7 @@
<div class="container pb-5 pt-5">
<div class="row justify-content-center mb-3">
<div class="col-md-8">
<h1 class="fw-bold text-tertiary text-uppercase text-center">{{ __('Verify Your Email Address') }}</h1>
<h1 class="f-veneer text-tertiary text-uppercase text-center">{{ __('Verify Your Email Address') }}</h1>
</div>
</div>
<div class="row justify-content-center">

View file

@ -0,0 +1,23 @@
{{-- Newsletter form --}}
<div class="d-inline-block fs-3 p-3">
<span>{{ __('Inscrivez-vous à notre newsletter') }}</span>
<div class="d-inline-block">
{{-- <div class="share d-inline-block ms-2">
<a class="btn-link" href="https://www.facebook.com/LeGauloisFrance"
title="{{ __('Aller voir la page Facebook :company', ['company' => $settingsGlobal->name]) }}" target="_blank">
@include('theme::partials.icons.facebook')
</a>
</div>
<a class="share d-inline-block btn-link text-light mx-1" href="https://www.instagram.com/legaulois_officiel/"
title="{{ __('Aller voir la page Instagram :company', ['company' => $settingsGlobal->name]) }}" target="_blank">
@include('theme::partials.icons.instagram')
</a> --}}
<div class="d-flex">
<input class="form-control border-bottom border-top-0 border-start-0 border-end-0 rounded-0 mx-2 bg-transparent text-white"
id="newsletter-email" type="email" placeholder="mon@email.com">
<button class="btn btn-primary text-uppercase fs-4" id="newsletter-submit" type="submit">{{ __('Valider') }}</button>
{{-- Error/Success message container --}}
</div>
</div>
<div class="d-none fs-6 rounded-2 my-3 border p-3" id="newsletter-message"></div>
</div>

View file

@ -1,9 +1,9 @@
<div class="row text-bg-quad">
<div class="col-12 col-md-9 col-xl-10">
<div class="row text-bg-secondary">
<div class="col-12 col-md-6 col-lg-7">
@include('theme::layouts.footer-links')
@include('theme::layouts.footer-newsletter')
{{-- LINKS --}}
<nav class="ms-md-5 footer-nav p-3">
<nav class="footer-nav p-3">
<ul class="list-inline">
<li class="list-inline-item">
<a class="link-light" href="{{ route('fo.reglement') }}"
@ -34,7 +34,7 @@
</ul>
</nav>
</div>
<div class="col-12 col-md-3 col-xl-2 downlink text-md-end text-center">
<div class="col-12 col-md-6 col-lg-5 downlink text-md-end d-flex align-items-center text-center">
<a class="link-light" href="{{ $settingsGlobal->redirect_close }}" target="_blank">
<img class="img-fluid" src="{{ Vite::asset('resources/theme/mounted/assets/images/logo-footer.png') }}"
alt="{{ Str::ucfirst($settingsGlobal->company) }}">

View file

@ -1,16 +1,9 @@
<div class="row text-bg-quad">
<div class="col-12 col-md-9 col-xl-10">
<div class="row text-bg-secondary">
<div class="col-12 col-md-6 col-lg-8">
@include('theme::layouts.footer-links')
{{-- LINKS --}}
<ul class="list-inline ms-md-5 p-3">
<li class="list-inline-item">
<a class="link-light cn-cookie-link" title="{{ __('Afficher la boite cookie notice') }}"
title="{{ __('Gestion des cookies') }}" role="button" tabindex="0">{{ __('Gestion des cookies') }}</a>
</li>
</ul>
@include('theme::layouts.footer-newsletter')
</div>
<div class="col-12 col-md-3 col-xl-2 downlink text-md-end text-center">
<div class="col-12 col-md-6 col-lg-4 downlink text-md-end text-center">
<a class="link-light" href="{{ $settingsGlobal->redirect_close }}" target="_blank">
<img class="img-fluid" src="{{ Vite::asset('resources/theme/mounted/assets/images/logo-footer.png') }}"
alt="{{ Str::ucfirst($settingsGlobal->company) }}">
@ -19,5 +12,16 @@
</a>
</div>
</div>
<div class="row text-bg-secondary">
<div class="col-12">
{{-- LINKS --}}
<ul class="list-inline p-3">
<li class="list-inline-item">
<a class="link-light cn-cookie-link" title="{{ __('Afficher la boite cookie notice') }}"
title="{{ __('Gestion des cookies') }}" role="button" tabindex="0">{{ __('Gestion des cookies') }}</a>
</li>
</ul>
</div>
</div>
@include('theme::layouts.up-arrow')

View file

@ -4,7 +4,7 @@
<div class="container pb-5 pt-5 text-center">
<div class="row mb-3 mt-5">
<div class="col">
<h1 class="text-quad text-uppercase fw-bold">{{ __('Fin du jeu') }}</h1>
<h1 class="text-tertiary text-uppercase f-veneer">{{ __('Fin du jeu') }}</h1>
</div>
</div>
<div class="row mb-5">

View file

@ -9,14 +9,14 @@
<div class="container pb-5 pt-5">
<div class="row mb-3">
<div class="col">
<h1 class="text-quad text-uppercase fw-bold">{{ __('Foire aux questions') }}</h1>
<h1 class="text-primary f-veneer">{{ __('Foire aux questions') }}</h1>
</div>
</div>
@foreach ($questionModelList->groupBy('theme')->values() as $themeIndex => $themeQuestionsModelList)
<div class="row mb-5">
@if ($themeQuestionsModelList->count())
<div class="col-12">
<h2 class="text-uppercase fw-bold">{{ $themeQuestionsModelList->first()->theme->name }}</h2>
<h2 class="text-uppercase fw-bold text-tertiary">{{ $themeQuestionsModelList->first()->theme->name }}</h2>
</div>
@endif
<div class="col-12">
@ -28,14 +28,14 @@
data-bs-toggle="collapse" data-bs-target="#accordion-qa-{{ $themeIndex }}{{ $questionIndex }}"
type="button" aria-controls="accordion-qa-{{ $themeIndex }}{{ $questionIndex }}"
aria-expanded="@if ($loop->first) true @else false @endif">
<span class="text-uppercase fw-bold rounded">{{ $questionModel->question }}</span>
<span class="text-uppercase fw-bold text-secondary rounded">{{ $questionModel->question }}</span>
</button>
</h3>
<div class="accordion-collapse @if ($loop->first) show @endif collapse"
id="accordion-qa-{{ $themeIndex }}{{ $questionIndex }}"
data-bs-parent="#accordion-qa-theme-{{ $themeIndex }}">
<div class="accordion-body">
<div class="ck-content ps-4">{!! clean($questionModel->answer) !!}</div>
<div class="ck-content text-tertiary ps-4">{!! clean($questionModel->answer) !!}</div>
</div>
</div>
</div>

View file

@ -3,7 +3,7 @@
@section('main-class', 'home-page')
@section('content')
{{-- 1st row lots --}}
<section class="row position-relative text-xl-start text-center">
<section class="row position-relative text-xl-start" id="main-section">
<div class="col d-none d-xl-flex g-0">
<img class="img-fluid object-fit-cover" src="{{ Vite::asset('resources/theme/mounted/assets/images/home-image.png') }}"
title="{{ __('Poule blanche contente.') }}"
@ -13,19 +13,19 @@
<div class="container-fluid main-rotate mt-5">
<div class="row">
<div class="col">
<h2 class="text-uppercase text-primary fs-2 fw-bold ms-xl-5">{{ __('Jouez et tentez de gagner') }}</h2>
<h2 class="text-uppercase text-primary fs-1 f-veneer">{{ __('Jouez et tentez de gagner') }}</h2>
</div>
</div>
@if (collect($prizesGlobal)->count())
<div class="row">
@if (Arr::has($prizesGlobal, 0))
<div class="col-12 col-sm-6">
<div class="d-flex justify-content-center justify-content-xl-start">
<div class="col-12 col-sm-6 position-relative">
<div class="d-flex justify-content-center justify-content-xl-start gift-label position-absolute z-1 w-100">
<div class="ms-xl-5 me-2">
<span
class="bg-tertiary fs-3 rounded-pill fw-bold px-3 py-1 text-white">{{ Arr::get($prizesGlobal, 0)->quantity }}</span>
class="bg-primary fs-3 rounded-pill fw-bold border-2 border-white px-3 py-1 text-white">{{ Arr::get($prizesGlobal, 0)->quantity }}</span>
</div>
<h3 class="text-tertiary fw-bold fs-3 text-uppercase lh-1">
<h3 class="text-tertiary fs-3 text-uppercase lh-1 text-border-white">
@if (intval(Arr::get($prizesGlobal, 0)->quantity) > 1)
{{ Str::plural(Arr::get($prizesGlobal, 0)->label) }}
@else
@ -42,9 +42,9 @@
<div class="d-flex justify-content-center justify-content-xl-start">
<div class="ms-xl-5 me-2">
<span
class="bg-tertiary fs-3 rounded-pill fw-bold px-3 py-1 text-white">{{ Arr::get($prizesGlobal, 1)->quantity }}</span>
class="bg-primary fs-3 rounded-pill fw-bold px-3 py-1 text-white">{{ Arr::get($prizesGlobal, 1)->quantity }}</span>
</div>
<h3 class="text-tertiary fw-bold fs-3 text-uppercase lh-1">
<h3 class="text-tertiary fs-3 text-uppercase lh-1 text-border-white">
@if (intval(Arr::get($prizesGlobal, 1)->quantity) > 1)
{{ Str::plural(Arr::get($prizesGlobal, 1)->label) }}
@else
@ -55,8 +55,9 @@
<img class="img-fluid anti-rotate" src="{{ asset(resize(Arr::get($prizesGlobal, 1)->picture, 'trimlot2')) }}"
title="{{ Arr::get($prizesGlobal, 1)->picture_title }}"
alt="{{ Arr::get($prizesGlobal, 1)->picture_alt }}">
<div class="d-flex align-items-center justify-content-center flex-column flex-lg-row mt-3">
<span class="text-primary fw-bold text-uppercase">{!! clean(nl2br(__("Ou des milliers\n de bons\n de réduction"))) !!}</span>
<div
class="d-flex align-items-center justify-content-center flex-column flex-lg-row border-secondary gift-discount mt-3 border border-2 p-2">
<span class="text-tertiary f-barlow-bold lh-sm fs-4 text-uppercase">{!! clean(nl2br(__("Ou des milliers\n de bons\n de réduction"))) !!}</span>
<img class="img-fluid" src="{{ Vite::asset('resources/theme/mounted/assets/images/br-1-euro.png') }}"
title="{{ __('Réduction de 1 euro') }}" alt="{{ __('Réduction de 1 euro') }}">
</div>
@ -74,57 +75,62 @@
<div class="row mb-3 mt-5">
<div class="col d-flex justify-content-center">
<a class="btn btn-lg btn-primary fs-2 fw-bold text-uppercase px-5 py-1"
href="{{ route('fo.participate') }}">{{ __('Jouer !') }}</a>
href="{{ route('fo.participate') }}">{{ __('Je joue !') }}</a>
</div>
</div>
{{-- 2nd Row how to play --}}
<section class="row text-bg-quad p-md-3 py-3" id="howto">
<div class="col-12 col-md-5 mb-3 pt-2 text-start">
<h2 class="fs-1 fw-bold">{{ __("Comment jouer\u{00A0}?") }}</h2>
<span
class="fs-3 fw-bold">{{ __("Rien de plus simple\u{00A0}! Suivez les 3 étapes décrites à droite et laissez-vous guider.") }}</span>
<div class="d-flex justify-content-center">
<img class="img-fluid picture-products" src="{{ Vite::asset('resources/theme/mounted/assets/images/how-to-play.png') }}"
title="{{ __('Plusieurs produits de la marque :company', ['company' => $settingsGlobal->company]) }}"
alt="{{ __('Plusieurs produits de la marque :company', ['company' => $settingsGlobal->company]) }}">
</div>
</div>
<div class="col d-flex mb-3 flex-row">
<div class="d-flex flex-column justify-content-evenly px-md-3 pe-3">
<div class="rounded-pill badge-vertical bg-white">
<div class="d-flex justify-content-center align-items-center w-100 h-100">
<img class="img-fluid mx-auto" src="{{ Vite::asset('resources/theme/mounted/assets/images/logo-kart.png') }}"
title="{{ __('Achetez un produit :company porteur de l\'offre.', ['company' => Str::title($settingsGlobal->company)]) }}"
alt="{{ __('Un panier de course') }}">
<section class="row text-bg-secondary p-md-3 py-3" id="howto">
<div class="col">
<div class="container">
<div class="row">
<div class="col-12 col-md-5 mb-3 pt-2 text-start">
<h2 class="fs-1 f-veneer">{{ __("Comment jouer\u{00A0}?") }}</h2>
<span
class="fs-5 f-barlow-medium">{{ __("Rien de plus simple\u{00A0}! Suivez les 3 étapes décrites ci-contre et laissez-vous guider.") }}</span>
<div class="d-flex justify-content-center">
<img class="img-fluid picture-products"
src="{{ Vite::asset('resources/theme/mounted/assets/images/how-to-play.png') }}"
title="{{ __('Plusieurs produits de la marque :company', ['company' => $settingsGlobal->company]) }}"
alt="{{ __('Plusieurs produits de la marque :company', ['company' => $settingsGlobal->company]) }}">
</div>
</div>
<div class="col d-flex mb-3 flex-row">
<div class="d-flex flex-column justify-content-evenly px-md-3 pe-3">
<div class="rounded-pill badge-vertical bg-white">
<div class="d-flex justify-content-center align-items-center w-100 h-100">
<img class="img-fluid mx-auto"
src="{{ Vite::asset('resources/theme/mounted/assets/images/logo-kart.png') }}"
title="{{ __('Achetez un produit :company porteur de l\'offre.', ['company' => Str::title($settingsGlobal->company)]) }}"
alt="{{ __('Un panier de course') }}">
</div>
</div>
<div class="rounded-pill badge-vertical bg-white">
<div class="d-flex justify-content-center align-items-center w-100 h-100">
<img class="img-fluid mx-auto" src="{{ Vite::asset('resources/theme/mounted/assets/images/logo-br.png') }}"
title="{{ __('Trouver le code au dos du sticker') }}" alt="{{ __('Un sticker du jeu') }}">
</div>
</div>
<div class="rounded-pill badge-vertical bg-white">
<div class="d-flex justify-content-center align-items-center w-100 h-100">
<img class="img-fluid mx-auto" src="{{ Vite::asset('resources/theme/mounted/assets/images/logo-tv.png') }}"
title="{{ __('Inscrivez-vous sur ce site') }}"
alt="{{ __('Un écran d\'ordinateur avec un cadeau en son centre') }}">
</div>
</div>
</div>
<div class="d-flex justify-content-evenly flex-column ps-lg-3">
<span
class="h2 mb-0">{{ __('Achetez un produit :company porteur de l\'offre.', ['company' => Str::title($settingsGlobal->company)]) }}</span>
<span
class="h2 mb-0">{{ __('Trouvez le code au dos du sticker, soit en le décollant du produit, soit en lisant en transparence.') }}</span>
<span
class="h2 mb-0">{{ __("Inscrivez-vous sur ce site, insérez votre code et découvrez ce que vous avez gagné\u{00A0}!") }}</span>
</div>
</div>
</div>
<div class="rounded-pill badge-vertical bg-white">
<div class="d-flex justify-content-center align-items-center w-100 h-100">
<img class="img-fluid mx-auto" src="{{ Vite::asset('resources/theme/mounted/assets/images/logo-br.png') }}"
title="{{ __('Trouver le code au dos du sticker') }}" alt="{{ __('Un sticker du jeu') }}">
</div>
</div>
<div class="rounded-pill badge-vertical bg-white">
<div class="d-flex justify-content-center align-items-center w-100 h-100">
<img class="img-fluid mx-auto" src="{{ Vite::asset('resources/theme/mounted/assets/images/logo-tv.png') }}"
title="{{ __('Inscrivez-vous sur ce site') }}" alt="{{ __('Un écran d\'ordinateur avec un cadeau en son centre') }}">
</div>
</div>
</div>
<div class="d-flex justify-content-center flex-column ps-lg-3">
<div class="mb-1">
<span
class="h2">{{ __('Achetez un produit :company porteur de l\'offre.', ['company' => Str::title($settingsGlobal->company)]) }}</span>
</div>
<div class="mb-5">
<span
class="h2">{{ __('Trouvez le code au dos du sticker, soit en le décollant du produit, soit en lisant en transparence.') }}</span>
</div>
<div class="">
<span
class="h2">{{ __("Inscrivez-vous sur ce site, insérez votre code et découvrez ce que vous avez gagné\u{00A0}!") }}</span>
</div>
</div>
</div>
</section>
@ -133,7 +139,7 @@
<section class="row overflow-x-hidden" id="gifts">
<div class="col g-0">
<div class="mt-4 p-1 text-center">
<h2 class="fs-1 text-quint text-uppercase fw-bold">{{ __('Les cadeaux') }}</h2>
<h2 class="fs-1 text-primary text-uppercase f-veneer">{{ __('Les cadeaux') }}</h2>
</div>
<div class="carousel slide mt-5" id="carousel-lots" data-bs-pause="false" data-bs-touch="true">
@ -145,8 +151,9 @@
<i class="fa-solid fa-pause d-none" aria-hidden="true"></i>
</button>
@foreach ($prizesGlobal as $prizeIndex => $prizeModel)
<button class="bg-quint @if ($loop->first) active @endif" data-bs-target="#carousel-lots"
data-bs-slide-to="{{ $prizeIndex }}" type="button" aria-label="{{ __('Slide :n', ['n' => $prizeIndex + 1]) }}"
<button class="bg-primary @if ($loop->first) active @endif" data-bs-target="#carousel-lots"
data-bs-slide-to="{{ $prizeIndex }}" type="button"
aria-label="{{ __('Slide :n', ['n' => $prizeIndex + 1]) }}"
@if ($loop->first) aria-current="true" @endif></button>
@endforeach
</div>
@ -171,13 +178,13 @@
</div>
<div class="col d-flex justify-content-start align-items-center overflow-visible">
<div
class="d-inline-block text-bg-quint main-rotate carousel-text-pannel mx-md-4 p-md-4 mx-lg-5 p-lg-5 mb-5 overflow-visible">
class="d-inline-block text-bg-primary main-rotate carousel-text-pannel mx-md-4 p-md-4 mx-lg-5 p-lg-5 mx-auto mb-5 overflow-visible">
<div class="anti-rotate m-3 p-1">
<h3 class="fs-3 text-md-start text-center">{{ $prizeModel->arg_title }}</h3>
<h3 class="fs-2 text-md-start text-center">{{ $prizeModel->arg_title }}</h3>
@if ($prizeModel->arg_subtitle)
<h4>{{ $prizeModel->arg_subtitle }}</h4>
@endif
<div class="ck-content">{!! clean($prizeModel->arg_content) !!}</div>
<div class="ck-content f-barlow-medium">{!! clean($prizeModel->arg_content) !!}</div>
</div>
</div>
</div>
@ -199,10 +206,10 @@
</section>
{{-- BTN JOUER --}}
<div class="row mb-3 mt-5">
<div class="row my-5 pb-5">
<div class="col d-flex justify-content-center">
<a class="btn btn-lg btn-primary fs-2 fw-bold text-uppercase px-5 py-1"
href="{{ route('fo.participate') }}">{{ __('Jouer !') }}</a>
href="{{ route('fo.participate') }}">{{ __('Je joue !') }}</a>
</div>
</div>
@endsection

View file

@ -8,13 +8,13 @@
<div class="container pb-5 pt-5 text-center">
<div class="row mb-3 mt-5">
<div class="col">
<h1 class="text-quad text-uppercase fw-bold">{{ __('C\'est perdu') }}</h1>
<h1 class="text-tertiary text-uppercase f-veneer">{{ __('C\'est perdu') }}</h1>
</div>
</div>
<div class="row mb-5">
<div class="col">
<a class="btn btn-lg btn-success" data-bs-toggle="tooltip" href="{{ route('fo.participate') }}"
title="{{ __('Retenter votre change avec un nouveau code unique') }}">{{ __('Rejouer !') }}</a>
<a class="btn btn-lg btn-primary" data-bs-toggle="tooltip" href="{{ route('fo.participate') }}"
title="{{ __('Retenter votre chance avec un nouveau code unique') }}">{{ __('Rejouer !') }}</a>
</div>
</div>
</div>

View file

@ -8,29 +8,23 @@
@section('content')
<div class="container pb-5 pt-5">
{{-- TITLE --}}
<div class="row mb-3">
<div class="row position-relative mb-3">
<div class="position-absolute d-lg-block d-none br-and-arrow w-auto">
<img class="img-fluid" data-bs-toggle="tooltip" src="{{ Vite::asset('resources/theme/mounted/assets/images/logo-br.png') }}"
title="{{ __('Le sticker présent sur le produit que vous avez acheté.') }}" alt="{{ __('Votre sticker') }}">
</div>
<div class="col text-center">
<h1 class="text-tertiary text-uppercase fw-bold">{{ __('Saisissez votre code') }}</h1>
<h1 class="text-primary text-uppercase f-veneer">{{ __('Saisissez votre code') }}</h1>
</div>
</div>
{{-- TEXT --}}
<div class="row mb-5">
<div class="col position-relative">
<p class="fs-4 mb-5 text-center">
<div class="row mx-lg-5 px-lg-5 mb-5">
<div class="col position-relative mx-lg-5 px-lg-5">
<p class="fs-4 text-tertiary mx-lg-5 px-lg-5 mb-5 text-center">
{{ __('Pour participer au jeu, munissez-vous du sticker présent sur les produits Le Gaulois participant à l\'opération.') }}
</p>
<p class="fs-4 mb-5 text-center">
<span class="text-decoration-underline">{{ __('Attention') }} :</span>&nbsp;{!! __(
':strong en cas de gain du coffret Wonderbox,:endStrong gardez précieusement :strong le sticker utilisé ainsi que votre ticket de caisse. :endStrong',
[
'strong' => '<strong>',
'endStrong' => '</strong>',
],
) !!}
{{ __('Ils vous seront demandés comme preuves de gain pour valider votre lot.') }}
</p>
<div class="br-and-arrow">
<img class="img-fluid" data-bs-toggle="tooltip" src="{{ Vite::asset('resources/theme/mounted/assets/images/br.png') }}"
<div class="d-lg-none br-and-arrow">
<img class="img-fluid" data-bs-toggle="tooltip" src="{{ Vite::asset('resources/theme/mounted/assets/images/logo-br.png') }}"
title="{{ __('Le sticker présent sur le produit que vous avez acheté.') }}" alt="{{ __('Votre sticker') }}">
</div>
</div>
@ -68,7 +62,8 @@
</div>
@enderror
</div>
<small>{{ __('Comporte :length caractères, trouvable au dos du sticker', ['length' => config('codes.codeLength')]) }}</small>
<small
class="text-tertiary">{{ __('Comporte :length caractères, trouvable au dos du sticker', ['length' => config('codes.codeLength')]) }}</small>
</div>
{{-- Force next columns to break to new line --}}
@ -102,7 +97,8 @@
</div>
@enderror
</div>
<small>{{ __('Comporte :length caractères, trouvable au dos du produit que vous avez acheté', ['length' => 13]) }}</small>
<small
class="text-tertiary">{{ __('Comporte :length caractères, trouvable au dos du produit que vous avez acheté', ['length' => 13]) }}</small>
</div>
@endif
@ -117,9 +113,9 @@
'me-1',
'is-invalid' => $errors->has('game_rules'),
]) required />
<label class="form-check-label fw-bold w-fit" for="participate-game-rules">
<label class="form-check-label text-tertiary w-fit" for="participate-game-rules">
{!! clean(
__('J\'ai lu et accepte le :a :game_rules :enda', [
__('J\'ai lu et accepte le :a :game_rules :enda *', [
'a' => '<a href="' . route('fo.reglement') . '" target="_blank">',
'game_rules' => __('validation.custom.game_rules'),
'enda' => '</a>',
@ -133,18 +129,29 @@
</div>
</div>
<div class="row justify-content-center mb-5">
<div class="col col-sm-10 col-md-6 col-lg-5 col-xl-4 text-end">
<span class="text-secondary">*&nbsp;{{ __('Champs obligatoires') }}</span>
<div class="col col-sm-10 col-md-6 col-lg-5 col-xl-4 text-center">
<span class="text-tertiary">*&nbsp;{{ __('Champs obligatoires') }}</span>
</div>
</div>
<div class="row justify-content-center mb-5">
<div class="col col-sm-10 col-md-6 col-lg-5 col-xl-4 text-center">
<button class="btn btn-lg btn-tertiary fw-bold text-uppercase px-3 py-2" data-bs-toggle="tooltip" type="submit"
<button class="btn btn-lg btn-primary fs-4 text-uppercase px-3 py-2" data-bs-toggle="tooltip" type="submit"
title="{{ __('Soumettre ma participation et découvrir mon éventuel gain') }}">{{ __('Je valide') }}</button>
</div>
</div>
</form>
</div>
</div>
<div class="row">
<p class="fs-4 text-tertiary mb-5 text-center">
{{ __(
'Attention en cas de gain du lot :lot1 ou du lot :lot2, gardez précieusement le sticker utilisé ainsi que votre ticket de caisse. Ils vous seront demandés comme preuves de gain pour valider votre lot.',
[
'lot1' => $prizesGlobal->get(0)->label,
'lot2' => $prizesGlobal->get(1)->label,
],
) }}
</p>
</div>
</div>
@endsection

View file

@ -7,12 +7,12 @@
<div class="container pb-5 pt-5 text-center">
<div class="row mb-3 mt-5">
<div class="col">
<h1 class="text-quad text-uppercase fw-bold">{{ __('Participation épuisée') }}</h1>
<h1 class="text-primary text-uppercase f-veneer">{{ __('Participation épuisée') }}</h1>
</div>
</div>
<div class="row mb-2">
<div class="col">
<p>{{ __('Vous ne pouvez plus participer à ce jeu car vous avez déjà participé trop de fois.') }}</p>
<p class="text-tertiary">{{ __('Vous ne pouvez plus participer à ce jeu car vous avez déjà participé trop de fois.') }}</p>
</div>
</div>
<div class="row mb-5">

View file

@ -0,0 +1,27 @@
<section class="container pb-5 pt-5 text-center" id="{{ $sectionId }}">
<div class="row mb-3 mt-5">
<div class="col">
<h1 class="text-primary f-veneer text-uppercase">{{ __('Grattez et découvrez votre gain') }}</h1>
</div>
</div>
<div class="row mb-5">
<div class="col">
{{-- blade-formatter-enable --}}
<div class="d-inline-block position-relative" id="scratch-wrapper" aria-describedby="scratch-helper">
@if ($winDiscount)
<img class="img-fluid rounded-4" id="scratch-picture"
data-src="{{ asset(resize($objectWon->picture, 'scratch_prize')) }}" src="#"
title="{{ __('Votre bon de réduction de :value', ['value' => number_format($objectWon->face_value / 100, 2, ',')]) }}"
alt="{{ __('Votre bon de réduction de :value', ['value' => number_format($objectWon->face_value / 100, 2, ',')]) }}">
@else
<img class="img-fluid rounded-4" id="scratch-picture"
data-src="{{ asset(resize($objectWon->picture, 'scratch_prize')) }}" src="#"
title="{{ $objectWon->picture_title }}" alt="{{ $objectWon->picture_alt }}">
@endif
</div>
<div class="mt-4">
<span class="fs-2 text-tertiary" id="scratch-helper">{{ __('Grattez la carte pour connaitre votre gain.') }}</span>
</div>
</div>
</div>
</section>

View file

@ -1,27 +1,35 @@
<section class="container-fluid d-none overflow-x-hidden pb-5 pt-5 text-center" id="{{ $sectionId }}">
<section class="container-fluid d-none mb-5 overflow-x-hidden pb-5 pt-5" id="{{ $sectionId }}">
<div class="row">
<div class="col-12 col-md-6">
<div class="col-12 col-md-6 d-flex align-items-center mb-3">
<img class="img-fluid" src="{{ asset($discount->picture) }}"
title="{{ __('Votre bon de réduction de :value', ['value' => number_format($discount->face_value / 100, 2, ',')]) }}"
alt="{{ __('Votre bon de réduction de :value', ['value' => number_format($discount->face_value / 100, 2, ',')]) }}">
</div>
<div class="col position-relative g-0 d-flex align-items-center justify-content-center justify-content-md-end">
<div class="wide-banner prize-rotate text-bg-quint p-5">
<span class="fs-1 anti-rotate d-block">{{ __("Félicitations\u{00A0}!") }}</span>
<div class="wide-banner prize-rotate text-bg-primary p-5">
<span class="fs-1 anti-rotate d-block text-uppercase">{{ __("Félicitations\u{00A0}!") }}</span>
<p class="anti-rotate">
{{ __('Vous avez gagné un bon d\'achat de :amount € sur :product_name', [
{{ __('Vous avez gagné un bon d\'achat de :amount €', [
'amount' => number_format($discount->face_value / 100, 2, ','),
]) }}
<br>
</p>
<p class="anti-rotate">
{{ __('Valable sur :product_name', [
'amount' => number_format($discount->face_value / 100, 2, ','),
'product_name' => $discount->valid_on,
]) }}
<br>
</p>
<div>
<a class="btn btn-lg btn-white anti-rotate px-3 py-2" data-bs-toggle="tooltip" href="{{ $mesBrDiscount->link }}"
title="{{ __('Imprimer ma réduction') }}" target="_blank">{{ __('Imprimer ma réduction') }}</a>
<a class="btn btn-lg btn-white text-secondary fs-4 anti-rotate text-uppercase px-3 py-2" data-bs-toggle="tooltip"
href="{{ $mesBrDiscount->link }}" title="{{ __('Imprimer ma réduction') }}"
target="_blank">{{ __('Imprimer ma réduction') }}</a>
</div>
<p class="strong anti-rotate mt-5">{{ __("Vous possédez un autre code\u{00A0}?") }}</p>
<div>
<a class="btn btn-lg btn-white anti-rotate px-3 py-2" href="{{ route('fo.participate') }}">
<a class="btn btn-lg btn-white text-secondary fs-4 anti-rotate text-uppercase px-3 py-2"
href="{{ route('fo.participate') }}">
{{ __('Je rejoue') }}
</a>
</div>

View file

@ -1,9 +1,5 @@
<section id="{{ $sectionId }}" @class([
'container-fluid',
'pb-5',
'pt-5',
'text-center',
'overflow-x-hidden',
'container-fluid pb-5 pt-5 overflow-x-hidden',
'd-none' => empty($noHide),
])>
<div class="row">
@ -12,14 +8,8 @@
alt="{{ $prizeModel->picture_alt }}">
</div>
<div class="col position-relative g-0 d-flex align-items-center justify-content-center justify-content-md-end">
<div @class([
'wide-banner',
'p-5',
'prize-rotate',
'text-bg-quint' => $prizeModel->id % 2 === 0,
'text-bg-tertiary' => $prizeModel->id % 2 === 1,
])>
<span class="fs-1 anti-rotate d-block">{{ __("Félicitations\u{00A0}!") }}</span>
<div class="wide-banner prize-rotate w-md-100 text-bg-primary p-5">
<span class="fs-1 anti-rotate d-block text-uppercase">{{ __("Félicitations\u{00A0}!") }}</span>
<p class="anti-rotate">
{{ __('Vous avez gagné un :model !', [
'model' => $prizeModel->label,
@ -32,8 +22,10 @@
@endif
</p>
@if ($settingsGlobal->winning_proof)
<a class="anti-rotate btn btn-lg btn-white" href="#{{ $winProofAnchor }}"
title="{{ __('Aller à la section preuve de gains') }}">&raquo;</a>
<div class="d-flex justify-content-center">
<a class="anti-rotate btn btn-lg btn-white text-secondary" href="#{{ $winProofAnchor }}"
title="{{ __('Aller à la section preuve de gains') }}">&raquo;</a>
</div>
@endif
</div>
</div>

View file

@ -1,7 +1,7 @@
<span class="fs-2 fw-bold d-block">{{ __('Ou Par courrier') }}</span>
<p class="fs-4">{!! clean(
<span class="fs-2 fw-bold d-block text-primary text-center">{{ __('Ou par courrier') }}</span>
<p class="fs-4 text-tertiary">{!! clean(
__(
'Merci de nous envoyer, sur papier libre :printLinkComment, vos coordonnées ainsi que vos preuves d\'achat originales. Le tout sous pli suffisamment affranchi sous dix jours à l\'adresse suivante :',
'Pour recevoir votre lot, n\'oubliez pas de nous renvoyer sur papier libre :printLinkComment vos preuves d\'achats sous 10 jours (cachet de la poste faisant foi) sous pli suffisamment affranchi accompagnés de :',
[
// Optionnal winning proof pdf
'printLinkComment' => optional($prizeModel ?? '')->pdf_winning_proof
@ -19,21 +19,25 @@
),
) !!}
</p>
<address class="fw-bold fs-4">
Service Consommateurs LDC<br>
Jeu "Gau'loisirs"<br>
CS 50925<br>
72302 SABL&Eacute; SUR SARTHE CEDEX
</address>
<span class="d-block text-decoration-underline fs-5">{{ __("Avec\u{00A0}:") }}</span>
<dl class="fs-4">
<dt>{{ __('Vos coordonnées') }}</dt>
<dd>{{ __('Nom, prénom, adresse complète') }}</dd>
<dd>{{ __('N° de téléphone et E-mail') }}</dd>
</dl>
<dl class="fs-4">
<dt>{{ __('Vos preuves d\'achat') }}</dt>
<dd>{{ __('Code-barres original du produit') }}</dd>
<dd>{{ __('Ticket de caisse original avec la date') }}</dd>
<dd>{{ __('Le sticker ou ou la partie de l\'emballage contenant le code unique de jeu (code visible)') }}</dd>
</dl>
<div class="row">
<div class="col-12 col-lg-6">
<p class="text-primary fw-bold fs-5">{{ __('- vos coordonnées complètes sur papier libre :') }}</p>
<p class="text-tertiary fs-5">{{ __('nom, prénom, adresse complète, adresse mail et numéro de téléphone') }}</p>
</div>
<div class="col-12 col-lg-6">
<p class="text-primary fw-bold fs-5">{{ __('- vos preuves d\'achat originales du produit gagnant :') }}</p>
<ul>
<li class="text-tertiary fs-5">{{ __('le code barre à 13 chiffres du produit gagnant') }}</li>
<li class="text-tertiary fs-5">{{ __('le sticker de l\'offre avec le code') }}</li>
</ul>
</div>
</div>
<div class="border-primary rounded-4 mx-auto w-fit border border-2 px-5 py-2">
<p class="fs-4 text-tertiary">{{ __('A l\'adresse suivante :') }}</p>
<address class="fs-4 text-tertiary">
LDC - Service Consommateurs<br>
Le Gaulois fait le Tour de France<br>
ZI Saint Laurent CS 50925<br>
72308 Sablé-sur-Sarthe
</address>
</div>

View file

@ -1,5 +1,5 @@
<fieldset class="row justify-content-center mb-5">
<legend class="col-md-auto fw-bold">{{ __('Vos coordonnées') }}</legend>
<legend class="col-md-auto fw-bold text-tertiary">{{ __('Vos coordonnées') }}</legend>
{{-- Force next columns to break to new line --}}
<div class="w-100"></div>

View file

@ -1,12 +1,12 @@
<fieldset class="row justify-content-center mb-5">
<legend class="col-md-auto fw-bold">{{ __('Vos preuves d\'achat') }}</legend>
<legend class="col-md-auto fw-bold text-tertiary">{{ __('Vos preuves d\'achat') }}</legend>
{{-- Force next columns to break to new line --}}
<div class="w-100"></div>
{{-- FILE CODE --}}
<div class="col col-lg-8 col-xl-6 py-2">
<label class="form-label fw-bold" for="barcode">{{ Str::ucfirst(__('validation.custom.barcode')) }}&nbsp;*</label>
<label class="form-label text-tertiary" for="barcode">{{ Str::ucfirst(__('validation.custom.barcode')) }}&nbsp;*</label>
<input id="barcode" name="barcode" type="file" @class([
'form-control',
'form-control-lg',
@ -20,7 +20,7 @@
@foreach ($errors->get('barcode') as $message)
<div class="invalid-feedback">{{ $message }}</div>
@endforeach
<small>{{ __('Image ou pdf, 2 Mo maximum') }}</small>
<small class="text-tertiary">{{ __('Image ou pdf, 2 Mo maximum') }}</small>
</div>
{{-- Force next columns to break to new line --}}
@ -28,7 +28,7 @@
{{-- FILE RECEIPT --}}
<div class="col col-lg-8 col-xl-6 py-2">
<label class="form-label fw-bold" for="ticket">{{ Str::ucfirst(__('validation.custom.ticket')) }}&nbsp;*</label>
<label class="form-label text-tertiary" for="ticket">{{ Str::ucfirst(__('validation.custom.ticket')) }}&nbsp;*</label>
<input id="ticket" name="ticket" type="file" @class([
'form-control',
'form-control-lg',
@ -42,7 +42,7 @@
@foreach ($errors->get('ticket') as $message)
<div class="invalid-feedback">{{ $message }}</div>
@endforeach
<small>{{ __('Image ou pdf, 2 Mo maximum') }}</small>
<small class="text-tertiary">{{ __('Image ou pdf, 2 Mo maximum') }}</small>
</div>
{{-- Force next columns to break to new line --}}
@ -50,7 +50,7 @@
{{-- FILE STICKER --}}
<div class="col col-lg-8 col-xl-6 py-2">
<label class="form-label fw-bold" for="sticker">{{ Str::ucfirst(__('validation.custom.sticker')) }}&nbsp;*</label>
<label class="form-label text-tertiary" for="sticker">{{ Str::ucfirst(__('validation.custom.sticker')) }}&nbsp;*</label>
<input id="sticker" name="sticker" type="file" @class([
'form-control',
'form-control-lg',
@ -64,7 +64,7 @@
@foreach ($errors->get('sticker') as $message)
<div class="invalid-feedback">{{ $message }}</div>
@endforeach
<small>{{ __('Image ou pdf, 2 Mo maximum') }}</small>
<small class="text-tertiary">{{ __('Image ou pdf, 2 Mo maximum') }}</small>
</div>
</fieldset>

View file

@ -6,7 +6,7 @@
])>
<div class="row mb-3">
<div class="col">
<span class="fs-1 fw-bold text-tertiary d-block text-center">{{ __('Envoyez vos preuves de gain') }}</span>
<span class="fs-1 fw-bold text-primary d-block text-center">{{ __('Envoyez vos preuves de gain') }}</span>
</div>
</div>
@ -14,9 +14,9 @@
{{-- ONLINE FORM --}}
<div class="row mb-1">
<div class="col g-0">
<span class="fs-2 fw-bold d-block text-center">{{ __('En ligne @') }}</span>
<span class="fs-2 fw-bold d-block text-tertiary text-center">{{ __('En ligne @') }}</span>
<span
class="d-block fs-3">{{ __('Renseignez l\'adresse à laquelle vous souhaitez recevoir votre gain et téléversez vos preuves d\'achat.') }}</span>
class="d-block fs-3 text-tertiary">{{ __('Renseignez l\'adresse à laquelle vous souhaitez recevoir votre gain et téléversez vos preuves d\'achat.') }}</span>
</div>
</div>
<div class="row justify-content-center mb-5">
@ -37,7 +37,7 @@
</div>
<div class="row">
<div class="col text-center">
<span>{{ __('*Champs obligatoires') }}</span>
<span class="text-tertiary">{{ __('*Champs obligatoires') }}</span>
</div>
</div>
</form>
@ -46,7 +46,7 @@
{{-- POSTAL INSTRUCTIONS --}}
<div class="row">
<div class="col g-0 text-center">
<div class="col g-0">
@include('theme::pages.participation.parts.winning-proof-address', [
'prizeModel' => $prizeModel,
])

View file

@ -9,7 +9,7 @@
<div class="container pb-5 pt-5">
<div class="row mb-3">
<div class="col">
<h1 class="text-quad text-uppercase fw-bold">{{ __('Mes gains') }}</h1>
<h1 class="text-primary f-veneer">{{ __('Mes gains') }}</h1>
</div>
</div>
@foreach ($winningList as $participationModel)
@ -18,10 +18,11 @@
@if ($participationModel->relationLoaded('instantWin') and $participationModel->instantWin)
<div class="card">
<div class="card-body">
<h5 class="card-title fs-2">{{ __('Lot :label', ['label' => $participationModel->instantWin->prize->label]) }}
<h5 class="card-title fs-2 text-tertiary">
{{ __('Lot :label', ['label' => $participationModel->instantWin->prize->label]) }}
</h5>
@can('submitProof', $participationModel)
<p class="card-text fs-4">
<p class="card-text fs-4 text-tertiary">
{{ __('Vous avez gagné ce lot et devez nous fournir les preuves de gains.') }}
</p>
<a class="btn btn-primary btn-lg mb-3" data-bs-togle="tooltip"
@ -33,7 +34,7 @@
'prizeModel' => $participationModel->instantWin->prize,
])
@else
<p class="card-text fs-4">
<p class="card-text fs-4 text-tertiary">
{{ __('Vous avez gagné ce lot et le receverez prochainenment par voie postale.') }}
</p>
@endcan
@ -43,9 +44,9 @@
@if ($participationModel->relationLoaded('discount') and $participationModel->discount)
<div class="card">
<div class="card-body">
<h5 class="card-title fs-2">{{ __('Bon de réduction') }}
<h5 class="card-title fs-2 text-tertiary">{{ __('Bon de réduction') }}
</h5>
<p class="card-text fs-4">
<p class="card-text fs-4 text-tertiary">
{{ __('Vous avez gagné un bon d\'achat, vous pouvez utiliser le lien ci-dessous pour l\'imprimer si ce n\'est pas déjà fait.') }}<br>
<strong>{{ __('Pensez bien à allumer votre imprimante avant de cliquer sur le lien') }}</strong>
</p>

View file

@ -6,12 +6,19 @@
@section('main-class', 'won-page g-0')
@section('content')
{{-- SCRATCH CARD --}}
@include('theme::pages.participation.parts.animation-scratch', [
'sectionId' => 'scratch-animation',
'winDiscount' => !empty($prizeModel) ? false : true,
'objectWon' => $prizeModel ?? ($discount ?? null),
])
{{-- SPIN WHEEL --}}
@include('theme::pages.participation.parts.animation', [
{{-- @include('theme::pages.participation.parts.animation', [
'sectionId' => 'spin-animation',
'winDiscount' => !empty($prizeModel) ? false : true,
'prizeModel' => $prizeModel ?? null,
])
]) --}}
@if (!empty($prizeModel))
{{-- LOT --}}

View file

@ -9,7 +9,7 @@
<div class="container pb-5 pt-5">
<div class="row mb-3">
<div class="col">
<h1 class="text-quad text-uppercase fw-bold">{{ __('Les produits porteurs') }}</h1>
<h1 class="text-primary text-uppercase f-veneer">{{ __('Les produits porteurs') }}</h1>
</div>
</div>
<div class="row">

View file

@ -8,7 +8,7 @@
<div class="container pb-5 pt-5">
<div class="row mb-3">
<div class="col">
<h1>{{ $staticPageModel->title }}</h1>
<h1 class="text-primary f-veneer">{{ $staticPageModel->title }}</h1>
</div>
</div>
<div class="row">

Some files were not shown because too many files have changed in this diff Show more