@silexlabs/silex-dashboard 1.0.40 → 1.0.44

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 (83) hide show
  1. package/.gitmodules +2 -2
  2. package/11ty/eleventy.config.mjs +62 -0
  3. package/README.md +8 -2
  4. package/collections/connectors/en.md +70 -0
  5. package/collections/connectors/fr.md +72 -0
  6. package/collections/home/en.md +57 -0
  7. package/{pages/fr/index.md → collections/home/fr.md} +20 -21
  8. package/collections/languages/en.json +5 -0
  9. package/collections/languages/fr.json +5 -0
  10. package/collections/settings/en.json +127 -0
  11. package/collections/settings/fr.json +131 -0
  12. package/package.json +17 -8
  13. package/silex/client-config.js +24 -0
  14. package/{.silex.js → silex/server-config.js} +8 -16
  15. package/templates/connectors-en.11tydata.mjs +56 -0
  16. package/templates/connectors-en.html +440 -0
  17. package/templates/connectors-fr.11tydata.mjs +56 -0
  18. package/templates/connectors-fr.html +440 -0
  19. package/templates/css/connectors-61bd21c2345101e48cc530cacf3afc0156ce7e089fcef3a34f853a537f0c55f2.css +1 -0
  20. package/templates/css/websites-4b9b2b0a0a907b33eca109d50c2a3eee97f1955c742cef487110d21a0bbf8f50.css +1 -0
  21. package/templates/websites-en.11tydata.mjs +108 -0
  22. package/templates/websites-en.html +478 -0
  23. package/templates/websites-fr.11tydata.mjs +108 -0
  24. package/templates/websites-fr.html +478 -0
  25. package/tina/config.ts +258 -0
  26. package/tina/tina-lock.json +1 -0
  27. package/.eleventy.js +0 -11
  28. package/.silex-client.js +0 -22
  29. package/_data/languages.json +0 -7
  30. package/_includes/api-connectors.js.html +0 -96
  31. package/_includes/api-websites.js.html +0 -189
  32. package/_includes/connectors.html +0 -253
  33. package/_includes/websites.html +0 -548
  34. package/_silex/old/assets/alex-hoyau.jpg +0 -0
  35. package/_silex/old/assets/alex-small.jpg +0 -0
  36. package/_silex/old/assets/empty-projects.gif +0 -0
  37. package/_silex/old/assets/gitlab.svg +0 -13
  38. package/_silex/old/assets/picto-silex.png +0 -0
  39. package/_silex/old/assets/silex-icon-2018@200px.png +0 -0
  40. package/_silex/old/meta.json +0 -1
  41. package/_silex/old/website.json +0 -1
  42. package/_site/assets/alex-small.jpg +0 -0
  43. package/_site/assets/bg-purpel-silex.webp +0 -0
  44. package/_site/assets/bg-silex-purpel.webp +0 -0
  45. package/_site/assets/empty-projects-sos.gif +0 -0
  46. package/_site/assets/gitlab.svg +0 -13
  47. package/_site/assets/logo-silex.svg +0 -1
  48. package/_site/assets/picto-silex@3x.png +0 -0
  49. package/_site/assets/silex-dashboard.png +0 -0
  50. package/_site/assets/silex-icon-2018@200px.png +0 -0
  51. package/_site/css/connectors.css +0 -1
  52. package/_site/css/websites.css +0 -1
  53. package/_site/en/connectors/index.html +0 -376
  54. package/_site/en/index.html +0 -795
  55. package/_site/fr/connectors/index.html +0 -376
  56. package/_site/fr/index.html +0 -795
  57. package/assets/alex-small.jpg +0 -0
  58. package/assets/bg-purpel-silex.webp +0 -0
  59. package/assets/bg-silex-purpel.webp +0 -0
  60. package/assets/empty-projects-sos.gif +0 -0
  61. package/assets/favicon-32x32.png +0 -0
  62. package/assets/gitlab.svg +0 -13
  63. package/assets/logo-silex.svg +0 -1
  64. package/assets/picto-silex@3x.png +0 -0
  65. package/assets/silex-dashboard.png +0 -0
  66. package/assets/silex-icon-2018@200px.png +0 -0
  67. package/pages/connectors.css.liquid +0 -4
  68. package/pages/en/connectors.md +0 -4
  69. package/pages/en/en.json +0 -72
  70. package/pages/en/index.md +0 -28
  71. package/pages/fr/connectors.md +0 -5
  72. package/pages/fr/fr.json +0 -72
  73. package/pages/pages.11tydata.js +0 -5
  74. package/pages/websites.css.liquid +0 -4
  75. /package/{_data → 11ty/_data}/api-translations.json +0 -0
  76. /package/{_data → 11ty/_data}/site.js +0 -0
  77. /package/{_includes → 11ty/_includes}/alternate.liquid +0 -0
  78. /package/{_silex/old → templates}/assets/bg-purpel-silex.webp +0 -0
  79. /package/{_silex/old → templates}/assets/bg-silex-purpel.webp +0 -0
  80. /package/{_silex/old → templates}/assets/empty-projects-sos.gif +0 -0
  81. /package/{_site → templates}/assets/favicon-32x32.png +0 -0
  82. /package/{_silex/old → templates}/assets/logo-silex.svg +0 -0
  83. /package/{_silex/old → templates}/assets/picto-silex@3x.png +0 -0
@@ -1,376 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="">
3
- <head>
4
- <link rel="stylesheet" href="/css/connectors.css" />
5
- <!-- font google -->
6
- <link rel="preconnect" href="https://fonts.gstatic.com" />
7
- <link href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;700&display=swap" rel="stylesheet">
8
-
9
- <link
10
- rel="alternate"
11
- hreflang="fr"
12
- href="/fr/connectors" />
13
- <style>
14
- .before-js > * {
15
- visibility: hidden;
16
- opacity: 0;
17
- transition: opacity .5s ease;
18
- }
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*/
145
- </style>
146
- <script src="/js/vue.global.js"></script>
147
- <script src="/js/main.js"></script>
148
- <script type="module">
149
- window.addEventListener('load', function() {
150
- const { createApp } = Vue;
151
- const { api, constants, types } = silex;
152
- const {
153
- ConnectorType,
154
- } = types
155
- const {
156
- setServerUrl,
157
- connectorList,
158
- logout,
159
- } = api
160
-
161
- const App = {
162
- data() {
163
- return {
164
- connectors: [],
165
- error: null,
166
- message: null,
167
- loading: true,
168
- lastConnector: null,
169
- }
170
- },
171
- mounted() {
172
- this.init()
173
- window.addEventListener('message', (event) => {
174
- if(event.data && event.data.type === 'login') {
175
- this.loginResult(event.data)
176
- }
177
- })
178
- },
179
-
180
- methods: {
181
- async init() {
182
- try {
183
- // Init Silex server path
184
- // Go up 2 levels because of the language prefix + the page path
185
- setServerUrl((window.location.origin + window.location.pathname.replace(/\/$/, '')).replace(/\/[^/]+\/[^/]+$/, ''))
186
- // Start
187
- this.loading = true
188
- console.log('init')
189
- this.connectors = await connectorList({type: ConnectorType.STORAGE})
190
- console.log('connectors', this.connectors)
191
- this.loading = false
192
- } catch (error) {
193
- console.error(error)
194
- this.error = error
195
- this.loading = false
196
- }
197
- },
198
- openLogin(connector) {
199
- this.lastConnector = connector
200
- const nonOAuthUrl = `${constants.API_PATH}${constants.API_CONNECTOR_PATH}${constants.API_CONNECTOR_LOGIN}?connectorId=${connector.connectorId}&type=${connector.type}`
201
- console.log('openLogin', connector.oauthUrl, nonOAuthUrl)
202
- window.open(connector.oauthUrl || nonOAuthUrl, '_blank')
203
- },
204
- loginResult(data) {
205
- console.log('loginResult', data)
206
- if(data.error) {
207
- this.error = data.error
208
- this.message = `Error, login failed. ${data.message}`
209
- } else {
210
- window.location.href = '/'
211
- }
212
- },
213
- async logout() {
214
- try {
215
- this.message = 'Logging out'
216
- await logout({type: ConnectorType.STORAGE, connectorId: this.lastConnector.connectorId})
217
- this.loggedIn = false
218
- this.user = null
219
- this.websites = []
220
- this.loading = false
221
- this.message = ''
222
- this.error = false
223
- } catch (error) {
224
- console.error(error)
225
- this.error = error
226
- this.message = error.message
227
- this.loading = false
228
- }
229
- },
230
- },
231
- };
232
-
233
- // Start vue app
234
- createApp(App).mount('.app');
235
-
236
- // Remove loading
237
- setTimeout(() => {
238
- document.querySelector('.before-js').classList.add('after-js')
239
- }, 100)
240
- })
241
- </script>
242
-
243
- <title></title>
244
- <link rel="icon" href="/assets/favicon-32x32.png" />
245
- <meta name="description" property="description" content=""/>
246
- <meta name="og:title" property="og:title" content=""/>
247
- <meta name="og:description" property="og:description" content=""/>
248
- <meta name="og:image" property="og:image" content=""/>
249
- </head>
250
- <body
251
- id="i2hcfw"
252
- class="body app"
253
-
254
-
255
- ><HEADER
256
- id="ij139z"
257
- class="menu-bar "
258
-
259
-
260
- ><A
261
- href="/" id="iy54t1"
262
-
263
-
264
-
265
- ><img
266
- src="/assets/picto-silex@3x.png"
267
- class="nav__logo "
268
-
269
-
270
- ></img></A><NAV
271
- id="in5jeq"
272
- class="nav "
273
-
274
-
275
- ><A
276
- href="/" id="i0g3ac"
277
- class="nav__item uppercase active"
278
- target=""
279
-
280
- >Sites</A><A
281
- href="http://docs.silex.me/" id="i0g3ac"
282
- class="nav__item uppercase "
283
- target="_blank"
284
-
285
- >Docs</A><A
286
- href="https://www.silex.me/" id="i0g3ac"
287
- class="nav__item uppercase "
288
- target="_blank"
289
-
290
- >About</A><A
291
- href="https://community.silex.me/" id="i0g3ac"
292
- class="nav__item uppercase "
293
- target="_blank"
294
-
295
- >Community</A><A
296
- href="https://mail-list.silexlabs.org/subscription/cemnfkaVrK?locale=en-US&source=silex-dashboard" id="i0g3ac"
297
- class="nav__item uppercase "
298
- target="_blank"
299
-
300
- >News</A></NAV><div
301
-
302
- class="lang h-space uppercase "
303
-
304
-
305
- ><A
306
- href="/en"
307
- class="lang__item nav__item active"
308
- hreflang="en"
309
-
310
- >en</A><A
311
- href="/fr"
312
- class="lang__item nav__item "
313
- hreflang="fr"
314
-
315
- >fr</A></div></HEADER><A
316
- id="ixzhcr" href="/"
317
- class="button button-bar__item--secondary "
318
-
319
-
320
- >< Back</A><div
321
- id="imawg3"
322
- class="bg-silex-purpel "
323
-
324
-
325
- ><div
326
- id="imgx81"
327
- class=" before-js"
328
-
329
-
330
- ><div
331
- id="iikf0s"
332
- class="box text-centered padding-100-30 box_login "
333
-
334
-
335
- ><H1
336
- id="ighycb"
337
- class="title-40 "
338
-
339
-
340
- >Welcome to Silex</H1><div
341
- id="it2175"
342
- class="subtitle-16 "
343
-
344
-
345
- >Please login to continue</div><div
346
- id="in62y2"
347
- class="button-bar "
348
-
349
-
350
- ><A
351
- id="isqe61"
352
- class="button big-button "
353
- v-if="!loading" v-for="(connector, index) in connectors" :key="index" :style="{ backgroundColor: connector.background, color: connector.color }" @click="openLogin(connector)"
354
-
355
- ><div
356
- id="io3lid"
357
- class="button-bar__item__icon "
358
- :style='`background: url("${connector.icon}"); background-repeat: no-repeat; background-size: contain;`'
359
-
360
- ></div><div
361
- id="i87asw"
362
-
363
- v-text="connector.displayName"
364
-
365
- >Insert your text here</div></A></div></div><div
366
- id="i9msnk"
367
- class="text-white top-space-20 "
368
- v-if="error" v-html="message"
369
-
370
- >Insert your text here</div><div
371
- id="i6akll"
372
- class="button button--tertiary text-centered "
373
- v-if="error" @click="logout()"
374
-
375
- >Logout</div></div></div></body>
376
- </html>