@silexlabs/silex-dashboard 1.0.36 → 1.0.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/.gitmodules +3 -0
  2. package/.silex-client.js +4 -4
  3. package/.silex.js +8 -8
  4. package/_data/api-translations.json +8 -2
  5. package/_includes/api-websites.js.html +24 -1
  6. package/_includes/connectors.html +145 -166
  7. package/_includes/websites.html +155 -171
  8. package/_silex/old/meta.json +1 -0
  9. package/_site/css/connectors.css +1 -1
  10. package/_site/css/websites.css +1 -1
  11. package/_site/en/connectors/index.html +145 -166
  12. package/_site/en/index.html +179 -172
  13. package/_site/fr/connectors/index.html +145 -166
  14. package/_site/fr/index.html +179 -172
  15. package/package.json +2 -2
  16. package/pages/connectors.css.liquid +1 -1
  17. package/pages/en/index.md +2 -0
  18. package/pages/fr/index.md +2 -0
  19. package/pages/websites.css.liquid +1 -1
  20. package/_silex/default/meta.json +0 -1
  21. /package/_silex/{default → old}/assets/alex-hoyau.jpg +0 -0
  22. /package/_silex/{default → old}/assets/alex-small.jpg +0 -0
  23. /package/_silex/{default → old}/assets/bg-purpel-silex.webp +0 -0
  24. /package/_silex/{default → old}/assets/bg-silex-purpel.webp +0 -0
  25. /package/_silex/{default → old}/assets/empty-projects-sos.gif +0 -0
  26. /package/_silex/{default → old}/assets/empty-projects.gif +0 -0
  27. /package/_silex/{default → old}/assets/gitlab.svg +0 -0
  28. /package/_silex/{default → old}/assets/logo-silex.svg +0 -0
  29. /package/_silex/{default → old}/assets/picto-silex.png +0 -0
  30. /package/_silex/{default → old}/assets/picto-silex@3x.png +0 -0
  31. /package/_silex/{default → old}/assets/silex-icon-2018@200px.png +0 -0
  32. /package/_silex/{default → old}/website.json +0 -0
@@ -1,169 +1,149 @@
1
-
2
- <!DOCTYPE html>
3
- <html lang="">
4
- <head>
5
- <link rel="stylesheet" href="/css/websites.css" />
6
- <!-- font google -->
1
+ <!DOCTYPE html>
2
+ <html lang="">
3
+ <head>
4
+ <link rel="stylesheet" href="/css/websites.css" />
5
+ <!-- font google -->
7
6
  <link rel="preconnect" href="https://fonts.gstatic.com" />
8
7
  <link href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;700&display=swap" rel="stylesheet">
9
8
 
10
-
11
9
  <link
12
10
  rel="alternate"
13
11
  hreflang="en"
14
12
  href="/en/" />
15
-
16
13
  <style>
17
- .before-js > * {
18
- visibility: hidden;
19
- opacity: 0;
20
- transition: opacity .5s ease;
21
- }
22
- .after-js > * {
23
- visibility: visible;
24
- opacity: 1;
25
- }
26
- .before-js:before {
27
- content: 'Loading';
28
- position: absolute;
29
- top: 49%;
30
- left: 49%;
31
- }
32
- .after-js:before {
33
- content: none;
34
- }
35
-
36
- body { color:#2B1B63;}
37
- /*BTNS*/
38
- .button, .pointer { cursor: pointer!important}
39
- .button{min-width:110px;}
40
- /*BTNS*/
41
- a {
42
- text-decoration: none;
43
- color:#8873FE;}
44
- a:hover { text-decoration: underline; }
45
- .uppercase {text-transform: uppercase;}
46
-
47
- /*footer position*/
48
- .main-min-height {min-height: calc(100vh - 560px);}
49
- /*footer position*/
50
-
51
- /*label*/
52
- ::placeholder {color: #8873FE;}
53
- input:focus {
54
- border: 2px solid ##9977FE;
55
- background-color:#ffffff;}
56
- :focus { outline: none;}
57
- /*label*/
58
- .skeleton-anim:after {
59
- width: 100%;
60
- height: 100%;
61
- position: absolute;
62
- top: 0;
63
- left: 0;
64
- content: "";
65
- background:
66
- linear-gradient(0.25turn, transparent, rgba(255,255,255,.75), transparent),
67
- linear-gradient(transparent, transparent),
68
- radial-gradient(38px circle at 19px 19px, transparent 50%, transparent 51%),
69
- linear-gradient(transparent, transparent);
70
- background-repeat: no-repeat;
71
- background-size: 315px 250px, 315px 180px, 100px 100px, 225px 30px;
72
- background-position: -315px 0, 0 0, 0px 190px, 50px 195px;
73
- animation: loading 1.5s infinite;
74
- }
75
-
76
- @keyframes loading {
77
- to {
78
- background-position: 200% 0, 0 0, 0 190px, 50px 195px;
14
+ .before-js > * {
15
+ visibility: hidden;
16
+ opacity: 0;
17
+ transition: opacity .5s ease;
79
18
  }
80
- }
81
- /*FX ANIMATIONS*/
82
- /*scale-round-inside*/
83
- .fx-scale-round {
84
- position:relative;
85
- z-index: 10;
86
- overflow: hidden;
87
- }
88
- .fx-scale-round::after {
89
- content: "";
90
- background: #ffffff;
91
- position: absolute;
92
- z-index: -1;
93
- border-radius: 50%;
94
- left: -50%;
95
- right: -50%;
96
- top: -100%;
97
- bottom: -100%;
98
- transform: scale(0, 0);
99
- transform-origin: center bottom;
100
- transition: all 0.3s ease-out;
101
-
102
- }
103
- .fx-scale-round:hover {
104
- transform-origin: center bottom;
105
- transform: scale(1.1);
106
- transition: transform 0.2s cubic-bezier(0, -0.530, 0.405, 2.8);
107
- }
108
- .fx-scale-round:hover::after {
109
- transform: scale(1, 1);
110
- transition: transform 0.2s cubic-bezier(0, -0.530, 0.405, 2.8);
111
- }
112
- /*scale-round-inside*/
113
- /*scale*/
114
- .fx-scale:hover {
115
- transform-origin: center bottom;
116
- transform: scale(1.1);
117
- transition: transform 0.2s cubic-bezier(0, -0.530, 0.405, 2.8);
118
- }
119
- /*flash*/
120
- .fx-underline:hover, .fx-flash:hover {
121
- animation: flash-in .5s ;
122
- }
123
- /* Underline animation */
124
- .fx-underline {
125
- position: relative;
126
- }
127
- /* Fade in */
128
- .fx-underline::after {
129
- content: '';
130
- position: absolute;
131
- bottom: -3px;
132
- left: 0;
133
- width: 100%;
134
- height: 0.1em;
135
- background-color: #8873fe;
136
- opacity: 0;
137
- transition: transform 0.2s cubic-bezier(0, -0.530, 0.405, 1.8);
138
- }
139
-
140
- .fx-underline:hover::after,
141
- .fx-underline:focus::after {
142
- opacity: 1;
143
- transform: translate3d(0, 2.2em, 0);
144
- }
145
-
146
- /* Scale from center */
147
- .fx-underline:after {
148
- transform: scale(0);
149
- transform-origin: center;
150
- }
151
-
152
- .fx-underline:hover::after,
153
- .fx-underline:focus::after{
154
- transform: scale(1);
155
- }
156
- /* Underline animation */
157
- /*flash-in animation*/
158
- @keyframes flash-in{
159
- 0% {opacity:0;}
160
- 100% {opacity:1;}
161
- }
162
- /*flash-in animation*/
163
-
164
- /*FX ANIMATIONS*/
19
+ .after-js > * {
20
+ visibility: visible;
21
+ opacity: 1;
22
+ }
23
+ .before-js:before {
24
+ content: 'Loading';
25
+ position: absolute;
26
+ top: 49%;
27
+ left: 49%;
28
+ }
29
+ .after-js:before {
30
+ content: none;
31
+ }
32
+ /*BTNS*/
33
+ .button, .pointer {
34
+ cursor: pointer!important}
35
+ .button{
36
+ min-width:110px;
37
+ }
38
+ /*BTNS*/
39
+ a {
40
+ text-decoration: none;
41
+ color:#8873FE;
42
+ }
43
+ a:hover {
44
+ text-decoration: underline;
45
+ }
46
+ .uppercase {
47
+ text-transform: uppercase;
48
+ }
49
+ .underline:hover{
50
+ text-decoration: underline;
51
+ text-decoration-thickness: from-font;
52
+ text-underline-position: under;
53
+ }
54
+ /*footer position*/
55
+ .main-min-height {
56
+ min-height: calc(100vh - 560px);
57
+ }
58
+ /*footer position*/
59
+ /*label*/
60
+ ::placeholder {
61
+ color: #8873FE;
62
+ }
63
+ input:focus {
64
+ border: 2px solid ##9977FE;
65
+ background-color:#ffffff;
66
+ }
67
+ :focus {
68
+ outline: none;
69
+ }
70
+ /*label*/
71
+ .skeleton-anim:after {
72
+ width: 100%;
73
+ height: 100%;
74
+ position: absolute;
75
+ top: 0;
76
+ left: 0;
77
+ content: "";
78
+ background:
79
+ linear-gradient(0.25turn, transparent, rgba(255,255,255,.75), transparent),
80
+ linear-gradient(transparent, transparent),
81
+ radial-gradient(38px circle at 19px 19px, transparent 50%, transparent 51%),
82
+ linear-gradient(transparent, transparent);
83
+ background-repeat: no-repeat;
84
+ background-size: 315px 250px, 315px 180px, 100px 100px, 225px 30px;
85
+ background-position: -315px 0, 0 0, 0px 190px, 50px 195px;
86
+ animation: loading 1.5s infinite;
87
+ }
88
+ @keyframes loading {
89
+ to {
90
+ background-position: 200% 0, 0 0, 0 190px, 50px 195px;
91
+ }
92
+ }
93
+ /*FX ANIMATIONS*/
94
+ /*scale-round-inside_pour-BTN*/
95
+ .fx-scale-round {
96
+ position:relative;
97
+ z-index: 10;
98
+ overflow: hidden;
99
+ }
100
+ .fx-scale-round::after {
101
+ content: "";
102
+ background: #ffffff;
103
+ position: absolute;
104
+ z-index: -1;
105
+ border-radius: 50%;
106
+ left: -50%;
107
+ right: -50%;
108
+ top: -100%;
109
+ bottom: -100%;
110
+ transform: scale(0, 0);
111
+ transform-origin: center bottom;
112
+ transition: all 0.3s ease-out;
113
+ }
114
+ .fx-scale-round:hover {
115
+ transform-origin: center bottom;
116
+ transform: scale(1.1);
117
+ transition: transform 0.2s cubic-bezier(0, -0.530, 0.405, 2.8);
118
+ }
119
+ .fx-scale-round:hover::after {
120
+ transform: scale(1, 1);
121
+ transition: transform 0.2s cubic-bezier(0, -0.530, 0.405, 2.8);
122
+ }
123
+ /*scale-round-inside_pour-BTN*/
124
+ /*scale*/
125
+ .fx-scale:hover {
126
+ transform-origin: center bottom;
127
+ transform: scale(1.1);
128
+ transition: transform 0.2s cubic-bezier(0, -0.530, 0.405, 2.8);
129
+ }
130
+ /*flash*/
131
+ .fx-flash:hover {
132
+ animation: flash-in .5s ;
133
+ }
134
+ /*flash-in animation*/
135
+ @keyframes flash-in{
136
+ 0% {
137
+ opacity:0;
138
+ }
139
+ 100% {
140
+ opacity:1;
141
+ }
142
+ }
143
+ /*flash-in animation*/
144
+ /*FX ANIMATIONS*/
165
145
  </style>
166
- <script src="/js/vue.global.js"></script>
146
+ <script src="/js/vue.global.js"></script>
167
147
  <script src="/js/main.js"></script>
168
148
  <script type="module">
169
149
  const CONNECTORS_PATH = '/connectors/'
@@ -178,10 +158,14 @@ window.addEventListener('load', function() {
178
158
  getUser,
179
159
  logout,
180
160
  websiteDelete,
161
+ websiteDuplicate,
181
162
  websiteList,
182
163
  websiteCreate,
183
164
  websiteMetaWrite,
184
165
  } = api
166
+ function toSafeId(name) {
167
+ return name.replace(/[/\\?%*:|"<>]/g, '_')
168
+ }
185
169
 
186
170
  const App = {
187
171
  data() {
@@ -257,7 +241,7 @@ window.addEventListener('load', function() {
257
241
  try {
258
242
  if (!this.newWebsiteName) throw new Error('Vous n\'avez pas donné de nom à votre site')
259
243
  this.loading = true
260
- const websiteId = this.newWebsiteName.replace(/[/\\?%*:|"<>]/g, '_')
244
+ const websiteId = toSafeId(this.newWebsiteName)
261
245
  const result = await websiteCreate({
262
246
  websiteId,
263
247
  data: {
@@ -301,6 +285,25 @@ window.addEventListener('load', function() {
301
285
  }
302
286
  },
303
287
 
288
+ async duplicateWebsite(fromId) {
289
+ const name = prompt('Nouveau nom pour votre site')
290
+ if (!name) return
291
+ this.loading = true
292
+ try {
293
+ const toId = toSafeId(name)
294
+ await websiteDuplicate({fromId, toId, connectorId: this.user.storage.connectorId, data: { name }})
295
+ this.error = ''
296
+ this.websites = await websiteList({connectorId: this.user.storage.connectorId})
297
+ this.message = 'Le site a bien été dupliqué'
298
+ this.empty = this.websites.length === 0
299
+ this.loading = false
300
+ } catch (error) {
301
+ this.loading = false
302
+ this.error = `Erreur, le site n'a pas été dupliqué - ${error.message}`
303
+ this.message = ''
304
+ }
305
+ },
306
+
304
307
  async renameWebsite(websiteId) {
305
308
  const website = this.websites.find(w => w.websiteId === websiteId)
306
309
  const name = prompt('Nouveau nom', website.name)
@@ -334,14 +337,14 @@ window.addEventListener('load', function() {
334
337
  </script>
335
338
 
336
339
 
337
- <title>Dashboard Silex</title>
338
- <link rel="icon" href="" />
339
- <meta property="description" content=""/>
340
- <meta property="og:title" content=""/>
341
- <meta property="og:description" content=""/>
342
- <meta property="og:image" content=""/>
343
- </head>
344
- <body
340
+ <title>Dashboard Silex</title>
341
+ <link rel="icon" href="/assets/favicon-32x32.png" />
342
+ <meta name="description" property="description" content=""/>
343
+ <meta name="og:title" property="og:title" content=""/>
344
+ <meta name="og:description" property="og:description" content=""/>
345
+ <meta name="og:image" property="og:image" content=""/>
346
+ </head>
347
+ <body
345
348
  id="ik0i"
346
349
  class="body loading app before-js"
347
350
 
@@ -477,7 +480,7 @@ window.addEventListener('load', function() {
477
480
  v-if="!empty"
478
481
 
479
482
  ><BUTTON
480
-
483
+ id="ic92g"
481
484
  class="button button--primary rounded top-space-40 fx-scale-round "
482
485
  @click="showCreationForm = !showCreationForm" v-if="!showCreationForm"
483
486
 
@@ -553,7 +556,7 @@ window.addEventListener('load', function() {
553
556
 
554
557
  ><H3
555
558
  id="i69a7"
556
- class="right-space-40 color-2B1B63-80 uppercase pointer "
559
+ class="right-space-40 color-2B1B63-80 uppercase pointer fx-flash full-width button-bar__title underline "
557
560
  v-text="website.name || website.id" @click="openEditor(website.websiteId, 'fr')"
558
561
 
559
562
  >My first website</H3><P
@@ -573,16 +576,21 @@ window.addEventListener('load', function() {
573
576
 
574
577
  ><BUTTON
575
578
  id="ifyf6p"
576
- class="right-space-20 bold button-bar__item--link pointer fx-underline fx-scale "
579
+ class="right-space-20 bold button-bar__item--link pointer fx-scale underline fx-flash "
577
580
  @click="openEditor(website.websiteId, 'fr')"
578
581
 
579
582
  >Editer</BUTTON><BUTTON
580
583
  id="ihf6ew"
581
- class="right-space-20 button-bar__item--link pointer fx-underline fx-scale "
584
+ class="right-space-20 button-bar__item--link pointer fx-scale underline fx-flash "
582
585
  @click="renameWebsite(website.websiteId, 'fr')"
583
586
 
584
587
  >Renommer</BUTTON><BUTTON
585
- id="iol4h"
588
+ id="iol4h" title="Dupliquer"
589
+ class="button-bar__item--link pointer fx-flash fx-scale button-bar__item--icon "
590
+ @click="duplicateWebsite(website.websiteId, 'fr')"
591
+
592
+ ><svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 448 512"><path fill="#8873fe" d="M384 336H192c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16l140.1 0L400 115.9V320c0 8.8-7.2 16-16 16zM192 384H384c35.3 0 64-28.7 64-64V115.9c0-12.7-5.1-24.9-14.1-33.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1H192c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V416H272v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16H96V128H64z"/></svg></BUTTON><BUTTON
593
+
586
594
  class="button-bar__item--link pointer fx-flash fx-scale "
587
595
  @click="deleteWebsite(website.websiteId)" title="Supprimer"
588
596
 
@@ -787,5 +795,4 @@ window.addEventListener('load', function() {
787
795
 
788
796
 
789
797
  >Youtube - tutoriels et plus</A></div></FOOTER></body>
790
- </html>
791
-
798
+ </html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexlabs/silex-dashboard",
3
- "version": "1.0.36",
3
+ "version": "1.0.38",
4
4
  "description": "Dashboard for Silex v3",
5
5
  "main": ".silex.js",
6
6
  "scripts": {
@@ -24,7 +24,7 @@
24
24
  "homepage": "https://github.com/silexlabs/silex-dashboard#readme",
25
25
  "devDependencies": {
26
26
  "@11ty/eleventy": "^2.0.1",
27
- "@silexlabs/silex": "^3.0.0-alpha.89"
27
+ "@silexlabs/silex": "^3.0.0-alpha.117"
28
28
  },
29
29
  "dependencies": {
30
30
  "locale": "^0.1.0",
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  permalink: /css/connectors.css
3
3
  ---
4
- * { box-sizing: border-box; } body {margin: 0;}.nav__item{margin:0px 10px 0px 10px;font-size:0.8rem;padding:24px 0px 24px 0px;color:#4a4a4a;}.body{font-family:"Ubuntu", sans-serif;background-color:#f0f0f0;}.menu-bar{display:flex;align-items:center;justify-content:space-between;background-color:#ffffff;height:94px;padding:0px 100px 0px 100px;width:100%;}.nav{width:100%;margin:0px 20px 0px 20px;}.subtitle-16{font-size:1rem;margin:0px 0px 20px 0px;}.subtitle-16.color--light{color:#636363;font-weight:700;}.button{font-size:0.8rem;padding:10px 20px 10px 20px;display:inline-block;border:2px solid #8873fe;transition:all 0.18s ease-out;font-weight:700;line-height:1.2rem;}.button.button--primary{background-color:#8873fe;color:white;}.button-bar{margin:20px 0px 20px 0px;display:flex;padding:30px 30px 30px 30px;align-items:center;justify-content:space-between;border-radius:4px 4px 4px 4px;background-color:#ffffff;}.button-bar.button-bar--full-width{justify-content:space-between;align-items:center;}.button-bar_item.button-bar__item--secondary{font-size:0.8rem;}.button.button--secondary{font-weight:400;color:#8873fe;border:2px solid #8873fe;}.nav__item.active{color:black;}.box{border-radius:4px 4px 4px 4px;background-color:#ffffff;}.box.flex-between{align-items:center;}.h-space{margin:0px 10px 0px 0px;}.button--tertiary{background-color:transparent;font-weight:400;}.lang__item{margin:0px 5px 0px 5px;}.nav__logo{height:50px;}.button:hover{color:#8873fe;border:2px solid #8873fe;}.button.button--secondary:hover{background-color:white;border:2px solid rgba(136,115,254,0.5);}#imgx81{min-height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;}#in62y2{width:100%;display:flex;justify-content:center;}.big-button{border-radius:5px 5px 5px 5px;font-size:15px;margin:10px 10px 10px 10px;padding:15px 30px 15px 30px;font-weight:700;background-color:#ffffff;}#i9msnk{padding:10px;display:inline;}#i6akll{padding:10px;display:inline;}#ixzhcr{padding:10px;position:absolute;display:none;}.title-40{margin:0 0 10px 0;font-size:2.5rem;font-weight:700;}#in5jeq{display:flex;}#ij139z{position:absolute;}.bg-silex-purpel{background-repeat:repeat-y;background-position:center top;background-attachment:scroll;background-size:contain;background-image:url(/assets/bg-purpel-silex.webp);}.text-centered{text-align:center;}.text-white{color:#ffffff;}.box.box_transp{background-color:rgba(255,255,255,0.5);}.padding-100-30{padding:100px 30px 80px 30px;}.top-space-20{margin:20px 0 0 0;}.button.button--tertiary{border:2px solid transparent;background-color:rgba(221,221,221,0.5);}.box_login{max-width:880px;width:100%;}.button-bar__item--link.text-white{color:#ffffff;}.button.big-button{border:2px solid transparent;}.button.button--tertiary:hover{border:2px solid #8873fe;color:#8873fe;background-color:white;}.button-bar__item__icon{float:left;height:40px;width:40px;margin:5px 5px 5px 5px;}.button-bar__item--secondary{font-size:0.8rem;}
4
+ * { box-sizing: border-box; } body {margin: 0;}.nav__item{margin:0px 10px 0px 10px;font-size:0.8rem;padding:24px 0px 24px 0px;color:#4a4a4a;}.body{font-family:"Ubuntu", sans-serif;background-color:#f0f0f0;color:#2b1b63;}.menu-bar{display:flex;align-items:center;justify-content:space-between;background-color:#ffffff;height:94px;padding:0px 100px 0px 100px;width:100%;}.nav{width:100%;margin:0px 20px 0px 20px;}.subtitle-16{font-size:1rem;margin:0px 0px 20px 0px;}.subtitle-16.color--light{color:#636363;font-weight:700;}.button{font-size:0.8rem;padding:10px 20px 10px 20px;display:inline-block;border:2px solid #8873fe;transition:all 0.18s ease-out;font-weight:700;line-height:1.2rem;}.button.button--primary{background-color:#8873fe;color:white;}.button-bar{margin:20px 0px 20px 0px;display:flex;padding:30px 30px 30px 30px;align-items:center;justify-content:space-between;border-radius:4px 4px 4px 4px;background-color:#ffffff;}.button-bar.button-bar--full-width{justify-content:space-between;align-items:center;}.button-bar_item.button-bar__item--secondary{font-size:0.8rem;}.button.button--secondary{font-weight:400;color:#8873fe;border:2px solid #8873fe;}.nav__item.active{color:black;}.box{border-radius:4px 4px 4px 4px;background-color:#ffffff;}.box.flex-between{align-items:center;}.h-space{margin:0px 10px 0px 0px;}.button--tertiary{background-color:transparent;font-weight:400;}.lang__item{margin:0px 5px 0px 5px;}.nav__logo{height:50px;}.button:hover{color:#8873fe;border:2px solid #8873fe;}.button.button--secondary:hover{background-color:white;border:2px solid rgba(136,115,254,0.5);}#imgx81{min-height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;}#in62y2{width:100%;display:flex;justify-content:center;}.big-button{border-radius:5px 5px 5px 5px;font-size:15px;margin:10px 10px 10px 10px;padding:15px 30px 15px 30px;font-weight:700;background-color:#ffffff;}#i9msnk{padding:10px;display:inline;}#i6akll{padding:10px;display:inline;}#ixzhcr{padding:10px;position:absolute;display:none;}.title-40{margin:0 0 10px 0;font-size:2.5rem;font-weight:700;}#in5jeq{display:flex;}#ij139z{position:absolute;}.bg-silex-purpel{background-repeat:repeat-y;background-position:center top;background-attachment:scroll;background-size:contain;background-image:url(../assets/bg-purpel-silex.webp);}.text-centered{text-align:center;}.text-white{color:#ffffff;}.box.box_transp{background-color:rgba(255,255,255,0.5);}.padding-100-30{padding:100px 30px 80px 30px;}.top-space-20{margin:20px 0 0 0;}.button.button--tertiary{border:2px solid transparent;background-color:rgba(221,221,221,0.5);}.box_login{max-width:880px;width:100%;}.button-bar__item--link.text-white{color:#ffffff;}.button.big-button{border:2px solid transparent;}.button.button--tertiary:hover{border:2px solid #8873fe;color:#8873fe;background-color:white;}.button-bar__item__icon{float:left;height:40px;width:40px;margin:5px 5px 5px 5px;}.button-bar__item--secondary{font-size:0.8rem;}
package/pages/en/index.md CHANGED
@@ -18,6 +18,8 @@ list-item-updated: Updated
18
18
  list-item-created: Created
19
19
  list-edit: Edit
20
20
  list-rename: Rename
21
+ list-duplicate: Duplicate
22
+ list-duplicate-icon: '<svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 448 512"><path fill="#8873fe" d="M384 336H192c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16l140.1 0L400 115.9V320c0 8.8-7.2 16-16 16zM192 384H384c35.3 0 64-28.7 64-64V115.9c0-12.7-5.1-24.9-14.1-33.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1H192c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V416H272v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16H96V128H64z"/></svg>'
21
23
  list-delete: Delete
22
24
  message-dismiss: Dismiss
23
25
 
package/pages/fr/index.md CHANGED
@@ -18,6 +18,8 @@ list-item-updated: Mis à jour le
18
18
  list-item-created: Créé le
19
19
  list-edit: Editer
20
20
  list-rename: Renommer
21
+ list-duplicate: Dupliquer
22
+ list-duplicate-icon: '<svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 448 512"><path fill="#8873fe" d="M384 336H192c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16l140.1 0L400 115.9V320c0 8.8-7.2 16-16 16zM192 384H384c35.3 0 64-28.7 64-64V115.9c0-12.7-5.1-24.9-14.1-33.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1H192c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V416H272v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16H96V128H64z"/></svg>'
21
23
  list-delete: Supprimer
22
24
  message-dismiss: Fermer
23
25
 
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  permalink: /css/websites.css
3
3
  ---
4
- * { box-sizing: border-box; } body {margin: 0;}.nav__item{margin:0px 10px 0px 10px;font-size:0.8rem;padding:24px 0px 24px 0px;color:#4a4a4a;}.body{font-family:"Ubuntu", sans-serif;background-color:#f0f0f0;}.menu-bar{display:flex;align-items:center;justify-content:space-between;background-color:#ffffff;height:94px;padding:0px 100px 0px 100px;width:100%;}.padding-normal{padding:0px 24px 0px 24px;}#i9jq{display:flex;}.nav{width:100%;margin:0px 20px 0px 20px;}.subtitle-16{font-size:1rem;margin:0px 0px 20px 0px;}.subtitle-16.color--light{color:#636363;font-weight:700;}.button{font-size:0.8rem;padding:10px 20px 10px 20px;display:inline-block;border:2px solid #8873fe;transition:all 0.18s ease-out;font-weight:700;line-height:1.2rem;}.button.button--primary{background-color:#8873fe;color:white;}.button-bar{margin:20px 0px 20px 0px;display:flex;padding:30px 30px 30px 30px;align-items:center;justify-content:space-between;border-radius:4px 4px 4px 4px;background-color:#ffffff;}#ibsgw{position:relative;top:3px;}.button-bar.button-bar--full-width{justify-content:space-between;align-items:center;}.button-bar_item.button-bar__item--secondary{font-size:0.8rem;}.button.button--secondary{font-weight:400;color:#8873fe;border:2px solid #8873fe;}.rounded{border-radius:4px 4px 4px 4px;}.footer{display:flex;margin:50px 0px 50px 0px;background-color:#ffffff;align-items:center;justify-content:space-evenly;padding:30px 30px 30px 30px;}.skeleton-text.skeleton{background-color:#dddddd;color:transparent;opacity:0.31;border-radius:5px 5px 5px 5px;}.skeleton.skeleton-button{color:transparent;opacity:0.31;background-color:#dddddd;border-radius:5px 5px 5px 5px;width:140px;}.skeleton-anim{position:relative;}.nav__item.active{color:black;}.margin-20{margin:20px 0px 20px 0px;}#i0ro3{display:none;}.loading__item.loaded-true{display:none;}#i69a7{width:100%;}.flex-no-shrink{flex-shrink:0;}.form{padding:10px 0px 10px 0px;border-radius:5px 5px 5px 5px;}#i1nmbc{flex-shrink:0;}.input{padding:10px 10px 10px 10px;background-color:transparent;border:2px solid #8873fe;margin:10px 0px 10px 0px;border-radius:4px 4px 4px 4px;}.full-width{width:100%;}.v-space{margin:10px 0px 10px 0px;}.box{border-radius:4px 4px 4px 4px;background-color:#ffffff;}.box__header{margin:0px 0px 0px 0px;padding:10px 0px 10px 0px;font-weight:700;font-size:1.625rem;color:rgba(43,27,99,0.5);}.box.flex-between{align-items:center;}.flex-between{display:flex;align-items:center;justify-content:space-between;}.h-space{margin:0px 10px 0px 0px;}.button--tertiary{background-color:transparent;font-weight:400;}.icon-font{font-size:1.5rem;line-height:1px;margin:0px 2px 0px 2px;}.lang__item{margin:0px 5px 0px 5px;}.top-space-40{margin:40px 0 0 0;}.nav__logo{height:50px;}.user-icon__image{width:100%;height:100%;}.user__wrapper{border:1px solid white;display:flex;flex-direction:column;justify-content:center;align-items:center;}.right-space-20{margin:0px 20px 0px 0px;}#iksw4d{padding:10px;}.button:hover{color:#8873fe;border:2px solid #8873fe;}.button.button--secondary:hover{background-color:white;border:2px solid rgba(136,115,254,0.5);}.user-icon__wrapper{border:1px solid #f0f0f0;background-color:#f0f0f0;border-radius:50% 50% 50% 50%;width:40px;height:40px;padding:5px 5px 5px 5px;}.title-40{margin:0 0 10px 0;font-size:2.5rem;font-weight:700;}.bg-silex-purpel{background-repeat:repeat-y;background-position:center top;background-attachment:scroll;background-size:contain;background-image:url(/assets/bg-purpel-silex.webp);}.section-top{max-width:1200px;padding:40px 30px 40px 30px;height:226px;display:flex;flex-direction:column;justify-content:center;margin:0px auto 0px auto;}.text-centered{text-align:center;}.box-message{background-color:rgba(43,27,99,0.3);border-radius:4px 4px 4px 4px;padding:20px 30px 20px 30px;margin:10px 0px 10px 0px;}.text-white{color:#ffffff;}.bold{font-weight:800;}.button-bar__item--link{background-color:transparent;border:0px solid black;font-size:0.8rem;color:#8873fe;}.padding-30{padding:30px 30px 30px 30px;}.right-space-40{margin:0 40px 0 0;}.title-26{font-size:1.625rem;margin:10px 0px 10px 0px;}.empty-image{min-height:500px;background-image:url(/assets/empty-projects-sos.gif);background-repeat:no-repeat;background-position:center center;background-attachment:scroll;background-size:contain;}.padding-50-30{padding:50px 30px 50px 30px;}.box.box_transp{background-color:rgba(255,255,255,0.5);}.button.button--tertiary{border:2px solid transparent;background-color:rgba(221,221,221,0.5);}.button-bar__item--link.text-white{color:#ffffff;}.button.big-button{border:2px solid transparent;}.color-2B1B63-80{color:rgba(43,27,99,0.8);}.button.button--tertiary:hover{border:2px solid #8873fe;color:#8873fe;background-color:white;}.box-message-text{margin:0px 0 0 0;font-weight:300;}.website-max-width{max-width:1200px;}.margin-80{margin:80px auto 80px auto;}.button-bar__item--secondary{font-size:0.8rem;}.skeleton{line-height:1.1rem;}#isucae{min-height:100px;}.footer__column{display:flex;flex-direction:column;}#iahjww{padding:10px;}#ie28kq{min-height:100px;}.footer__item{padding:10px 10px 10px 10px;}#igsxoc{position:relative;top:3px;}.box--centered{display:flex;flex-direction:column;align-items:center;}
4
+ * { box-sizing: border-box; } body {margin: 0;}.nav__item{margin:0px 10px 0px 10px;font-size:0.8rem;padding:24px 0px 24px 0px;color:#4a4a4a;}.body{font-family:"Ubuntu", sans-serif;background-color:#f0f0f0;color:#2b1b63;}.menu-bar{display:flex;align-items:center;justify-content:space-between;background-color:#ffffff;height:94px;padding:0px 100px 0px 100px;width:100%;}.padding-normal{padding:0px 24px 0px 24px;}#i9jq{display:flex;}.nav{width:100%;margin:0px 20px 0px 20px;}.subtitle-16{font-size:1rem;margin:0px 0px 20px 0px;}.subtitle-16.color--light{color:#636363;font-weight:700;}.button{font-size:0.8rem;padding:10px 20px 10px 20px;display:inline-block;border:2px solid #8873fe;transition:all 0.18s ease-out;font-weight:700;line-height:1.2rem;}.button.button--primary{background-color:#8873fe;color:white;}.button-bar{margin:20px 0px 20px 0px;display:flex;padding:30px 30px 30px 30px;align-items:center;justify-content:space-between;border-radius:4px 4px 4px 4px;background-color:#ffffff;}#ibsgw{position:relative;top:3px;}.button-bar.button-bar--full-width{justify-content:space-between;align-items:center;}.button-bar_item.button-bar__item--secondary{font-size:0.8rem;}.button.button--secondary{font-weight:400;color:#8873fe;border:2px solid #8873fe;}.rounded{border-radius:4px 4px 4px 4px;}.footer{display:flex;margin:50px 0px 0px 0px;background-color:#ffffff;align-items:center;justify-content:space-evenly;padding:30px 30px 60px 30px;}.skeleton-text.skeleton{background-color:#dddddd;color:transparent;opacity:0.31;border-radius:5px 5px 5px 5px;}.skeleton.skeleton-button{color:transparent;opacity:0.31;background-color:#dddddd;border-radius:5px 5px 5px 5px;width:140px;}.skeleton-anim{position:relative;}.nav__item.active{color:black;}.margin-20{margin:20px 0px 20px 0px;}#i0ro3{display:none;}.loading__item.loaded-true{display:none;}.flex-no-shrink{flex-shrink:0;}.form{padding:10px 0px 10px 0px;border-radius:5px 5px 5px 5px;}#i1nmbc{flex-shrink:0;}.input{padding:10px 10px 10px 10px;background-color:transparent;border:2px solid #8873fe;margin:10px 0px 10px 0px;border-radius:4px 4px 4px 4px;}.full-width{width:100%;}.v-space{margin:10px 0px 10px 0px;}.box{border-radius:4px 4px 4px 4px;background-color:#ffffff;}.box__header{margin:0px 0px 0px 0px;padding:10px 0px 10px 0px;font-weight:700;font-size:1.625rem;color:rgba(43,27,99,0.5);}.box.flex-between{align-items:center;}.flex-between{display:flex;align-items:center;justify-content:space-between;}.h-space{margin:0px 10px 0px 0px;}.button--tertiary{background-color:transparent;font-weight:400;}.icon-font{font-size:1.5rem;line-height:1px;margin:0px 2px 0px 2px;}.lang__item{margin:0px 5px 0px 5px;}.top-space-40{margin:40px 0 0 0;}.nav__logo{height:50px;}.user-icon__image{width:100%;height:100%;}.user__wrapper{border:1px solid white;display:flex;flex-direction:column;justify-content:center;align-items:center;}.right-space-20{margin:0px 20px 0px 0px;}#iksw4d{padding:10px;}.button:hover{color:#8873fe;border:2px solid #8873fe;}.button.button--secondary:hover{background-color:white;border:2px solid rgba(136,115,254,0.5);}.user-icon__wrapper{border:1px solid #f0f0f0;background-color:#f0f0f0;border-radius:50% 50% 50% 50%;width:40px;height:40px;padding:5px 5px 5px 5px;}.title-40{margin:0 0 10px 0;font-size:2.5rem;font-weight:700;}.bg-silex-purpel{background-repeat:repeat-y;background-position:center top;background-attachment:scroll;background-size:contain;background-image:url(../assets/bg-purpel-silex.webp);}.section-top{max-width:1200px;padding:40px 30px 40px 30px;height:226px;display:flex;flex-direction:column;justify-content:center;margin:0px auto 0px auto;}.text-centered{text-align:center;}.box-message{background-color:rgba(43,27,99,0.3);border-radius:4px 4px 4px 4px;padding:20px 30px 20px 30px;margin:10px 0px 10px 0px;}.text-white{color:#ffffff;}.bold{font-weight:800;}.button-bar__item--link{background-color:transparent;border:0px solid black;font-size:0.8rem;color:#8873fe;}.padding-30{padding:30px 30px 30px 30px;}.right-space-40{margin:0 40px 0 0;}.title-26{font-size:1.625rem;margin:10px 0px 10px 0px;}.empty-image{min-height:500px;background-image:url(../assets/empty-projects-sos.gif);background-repeat:no-repeat;background-position:center center;background-attachment:scroll;background-size:contain;}.padding-50-30{padding:50px 30px 50px 30px;}.box.box_transp{background-color:rgba(255,255,255,0.5);}.button.button--tertiary{border:2px solid transparent;background-color:rgba(221,221,221,0.5);}.button-bar__item--link.text-white{color:#ffffff;}.button.big-button{border:2px solid transparent;}.color-2B1B63-80{color:rgba(43,27,99,0.8);}.button.button--tertiary:hover{border:2px solid #8873fe;color:#8873fe;background-color:white;}.box-message-text{margin:0px 0 0 0;font-weight:300;}.website-max-width{max-width:1200px;}.margin-80{margin:80px auto 80px auto;}.button-bar__item--secondary{font-size:0.8rem;}.skeleton{line-height:1.1rem;}#isucae{min-height:100px;}.footer__column{display:flex;flex-direction:column;}#iahjww{padding:10px;}#ie28kq{min-height:100px;}.footer__item{padding:10px 10px 10px 10px;}#igsxoc{position:relative;top:3px;}.box--centered{display:flex;flex-direction:column;align-items:center;}.button-bar__title:hover{color:#8873fe;}.button-bar__item--icon{margin:0px 0 0 0;padding:5px 5px 5px 5px;}
@@ -1 +0,0 @@
1
- {"name":"Dashboard"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes