@silexlabs/silex-dashboard 1.5.0-canary.1 → 1.5.0-canary.3

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 (74) hide show
  1. package/DASHBOARD-ARCHITECTURE.md +1410 -0
  2. package/_site/css/connectors-e4ae24975f4df2e2bea5121337282d8f2201bb86dc8c041c9ef43c0c2d7a32a7.css +1 -0
  3. package/_site/css/fork-00fcb49f686e5d4a6d23a3c77ebc1563a99581e1fb3f270c6204538ab3d02f94.css +1 -0
  4. package/_site/css/fork-506e7c805e636be6225c35a11f5804b72cf41d7a6355aa64a5d7ddb7d66ea314.css +1 -0
  5. package/_site/css/fork-923d814802e46c2d0db0f71c5c488c616ca0016f340d8dae66b263ba7f1143bc.css +1 -0
  6. package/_site/css/index-2a63e02ab10ac924e626195148618b0b283ee7d663656afe25a806b4769f64ad.css +1 -0
  7. package/_site/css/index-38d10542f641eb789c11b589b95d0e6363e71978479fa5cddbec3da65774560c.css +1 -0
  8. package/_site/en/connectors/index.html +51 -26
  9. package/_site/en/fork/index.html +371 -0
  10. package/_site/en/index.html +30 -28
  11. package/_site/fr/connectors/index.html +52 -27
  12. package/_site/fr/fork/index.html +372 -0
  13. package/_site/fr/index.html +31 -29
  14. package/collections/fork/en.md +17 -0
  15. package/collections/fork/fr.md +17 -0
  16. package/package.json +2 -2
  17. package/silex/websites/default/meta.json +4 -0
  18. package/silex/websites/default/website.json +6 -0
  19. package/templates/connectors-en.html +66 -41
  20. package/templates/connectors-fr.html +66 -41
  21. package/templates/css/connectors-e4ae24975f4df2e2bea5121337282d8f2201bb86dc8c041c9ef43c0c2d7a32a7.css +1 -0
  22. package/templates/css/fork-00fcb49f686e5d4a6d23a3c77ebc1563a99581e1fb3f270c6204538ab3d02f94.css +1 -0
  23. package/templates/css/fork-506e7c805e636be6225c35a11f5804b72cf41d7a6355aa64a5d7ddb7d66ea314.css +1 -0
  24. package/templates/css/fork-923d814802e46c2d0db0f71c5c488c616ca0016f340d8dae66b263ba7f1143bc.css +1 -0
  25. package/templates/css/index-2a63e02ab10ac924e626195148618b0b283ee7d663656afe25a806b4769f64ad.css +1 -0
  26. package/templates/css/index-38d10542f641eb789c11b589b95d0e6363e71978479fa5cddbec3da65774560c.css +1 -0
  27. package/templates/fork-en.11tydata.mjs +117 -0
  28. package/templates/fork-en.html +412 -0
  29. package/templates/fork-fr.11tydata.mjs +117 -0
  30. package/templates/fork-fr.html +412 -0
  31. package/templates/{websites-en.11tydata.mjs → index-en.11tydata.mjs} +32 -32
  32. package/templates/{websites-en.html → index-en.html} +94 -92
  33. package/templates/{websites-fr.11tydata.mjs → index-fr.11tydata.mjs} +32 -32
  34. package/templates/{websites-fr.html → index-fr.html} +94 -92
  35. package/tina/config.ts +76 -0
  36. package/tina/tina-lock.json +1 -1
  37. package/_site/connectors/index.html +0 -278
  38. package/_site/css/connectors-1350f25629f7addac6970f5297f8aef050ba1c207b28c8a0e4a7b113246d69dc.css +0 -1
  39. package/_site/css/connectors-152b01dfacf0586ce2f3fb0ddbbf5a5bbcd181a48b4b20b275f837786b2889cd.css +0 -1
  40. package/_site/css/connectors-306649a254eff69e10db2fa5368e173e88e24449db25d65b7117ebfd5dbbcd31.css +0 -1
  41. package/_site/css/connectors-66fe82f10a7a257f59212e18bb384b019ffb12192fa3f748951da7d4428733b4.css +0 -1
  42. package/_site/css/connectors-748797d88cc32c0787052966e54e4f794629b8460d24f2aadac83c13899574fb.css +0 -1
  43. package/_site/css/connectors-87cf0f4b873d104a845dcafd5d80d4f8d482f8cea15f2412cd9655071dcb9ea8.css +0 -1
  44. package/_site/css/connectors-885e03b1611113e2363f7a86fba9aee867130a14836b3cc9c4714265708c1704.css +0 -1
  45. package/_site/css/connectors-9d0c9569a2ce8afaa4a30a0534b3d0597c761c7e0e5280dcbc966dc2b709e98e.css +0 -1
  46. package/_site/css/connectors-a8ae93c40b7c738a4514e47046a029afdcf74bb28a7724287e1350afac4fa60f.css +0 -1
  47. package/_site/css/connectors-c1d5f4c520a9a86d99b7201d30a8fe25a5779b7b2373b73262868f446fe3f855.css +0 -1
  48. package/_site/css/connectors-febcafaf261c0f23ca11fc13809f259c74dbdd50b6a47506ba295fdb99d1b4a4.css +0 -1
  49. package/_site/css/websites-19b822a8683767833f7656ff2df318ba13bed49f33d9bfc946ff619cf986b449.css +0 -1
  50. package/_site/css/websites-4b9b2b0a0a907b33eca109d50c2a3eee97f1955c742cef487110d21a0bbf8f50.css +0 -1
  51. package/_site/css/websites-7843a323acc9c4921d373250c5f647854910ea0913530659823fbe29844ee6b5.css +0 -1
  52. package/_site/css/websites-931c1ae713658c5aca51e25f5c43a79611c9a762dc38b989cc99ad4dbd4eda8e.css +0 -1
  53. package/_site/css/websites-c678e6ed7f508aa4b0e9218070d7235ed56f0eaea49350b30b849f4ef176cfb0.css +0 -1
  54. package/_site/css/websites-e6d63d0512032a2909a7f648cecfad311842ecba7bd03f94afc8639998e606f0.css +0 -1
  55. package/_site/websites/index.html +0 -360
  56. package/templates/connectors.html +0 -278
  57. package/templates/css/connectors-1350f25629f7addac6970f5297f8aef050ba1c207b28c8a0e4a7b113246d69dc.css +0 -1
  58. package/templates/css/connectors-152b01dfacf0586ce2f3fb0ddbbf5a5bbcd181a48b4b20b275f837786b2889cd.css +0 -1
  59. package/templates/css/connectors-306649a254eff69e10db2fa5368e173e88e24449db25d65b7117ebfd5dbbcd31.css +0 -1
  60. package/templates/css/connectors-66fe82f10a7a257f59212e18bb384b019ffb12192fa3f748951da7d4428733b4.css +0 -1
  61. package/templates/css/connectors-748797d88cc32c0787052966e54e4f794629b8460d24f2aadac83c13899574fb.css +0 -1
  62. package/templates/css/connectors-87cf0f4b873d104a845dcafd5d80d4f8d482f8cea15f2412cd9655071dcb9ea8.css +0 -1
  63. package/templates/css/connectors-885e03b1611113e2363f7a86fba9aee867130a14836b3cc9c4714265708c1704.css +0 -1
  64. package/templates/css/connectors-9d0c9569a2ce8afaa4a30a0534b3d0597c761c7e0e5280dcbc966dc2b709e98e.css +0 -1
  65. package/templates/css/connectors-a8ae93c40b7c738a4514e47046a029afdcf74bb28a7724287e1350afac4fa60f.css +0 -1
  66. package/templates/css/connectors-c1d5f4c520a9a86d99b7201d30a8fe25a5779b7b2373b73262868f446fe3f855.css +0 -1
  67. package/templates/css/connectors-febcafaf261c0f23ca11fc13809f259c74dbdd50b6a47506ba295fdb99d1b4a4.css +0 -1
  68. package/templates/css/websites-19b822a8683767833f7656ff2df318ba13bed49f33d9bfc946ff619cf986b449.css +0 -1
  69. package/templates/css/websites-4b9b2b0a0a907b33eca109d50c2a3eee97f1955c742cef487110d21a0bbf8f50.css +0 -1
  70. package/templates/css/websites-7843a323acc9c4921d373250c5f647854910ea0913530659823fbe29844ee6b5.css +0 -1
  71. package/templates/css/websites-931c1ae713658c5aca51e25f5c43a79611c9a762dc38b989cc99ad4dbd4eda8e.css +0 -1
  72. package/templates/css/websites-c678e6ed7f508aa4b0e9218070d7235ed56f0eaea49350b30b849f4ef176cfb0.css +0 -1
  73. package/templates/css/websites-e6d63d0512032a2909a7f648cecfad311842ecba7bd03f94afc8639998e606f0.css +0 -1
  74. package/templates/websites.html +0 -360
@@ -8,7 +8,9 @@ collection: "Connectors"
8
8
  <html lang="">
9
9
  <head>
10
10
  <meta charset="UTF-8">
11
- <link rel="stylesheet" href="/css/connectors-c1d5f4c520a9a86d99b7201d30a8fe25a5779b7b2373b73262868f446fe3f855.css" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
12
+ <meta name="generator" content="Silex v3.6.0-canary.2">
13
+ <link rel="stylesheet" href="/css/connectors-e4ae24975f4df2e2bea5121337282d8f2201bb86dc8c041c9ef43c0c2d7a32a7.css" />
12
14
  <!-- font google -->
13
15
  <link rel="preconnect" href="https://fonts.gstatic.com" />
14
16
  <link href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;700&display=swap" rel="stylesheet">
@@ -182,6 +184,9 @@ function toSafeId(name) {
182
184
  return name.replace(/[/\\?%*:|"<>]/g, '_')
183
185
  }
184
186
 
187
+ const params = new URLSearchParams(window.location.search)
188
+ const redirect = params.get('redirect')
189
+
185
190
  const App = {
186
191
  data() {
187
192
  return {
@@ -227,11 +232,31 @@ const App = {
227
232
  },
228
233
 
229
234
  getHref(connector) {
230
- if(connector.isLoggedIn) return '/'
231
- if(connector.oauthUrl) return connector.oauthUrl
232
- return '/api/connector/login/?type=STORAGE&connectorId=' + connector.connectorId
235
+ const params = new URLSearchParams(window.location.search)
236
+ const redirect = params.get('redirect')
237
+
238
+ if (connector.isLoggedIn) {
239
+ return redirect || '/'
240
+ }
241
+
242
+ if (!connector.oauthUrl) {
243
+ return '/api/connector/login/?type=STORAGE&connectorId=' + connector.connectorId
244
+ }
245
+
246
+ if (!redirect) return connector.oauthUrl
247
+
248
+ const url = new URL(connector.oauthUrl)
249
+ const state = url.searchParams.get('state')
250
+
251
+ url.searchParams.set(
252
+ 'state',
253
+ JSON.stringify({ state, redirect })
254
+ )
255
+
256
+ return url.toString()
233
257
  },
234
258
 
259
+
235
260
  getConnectorStyle(connector) {
236
261
  return {
237
262
  backgroundImage: `url(${connector.icon})`,
@@ -337,51 +362,51 @@ setTimeout(() => {
337
362
  <title>Silex Dashboard</title>
338
363
  <link rel="icon" href="/assets/favicon-32x32.png" />
339
364
  <meta name="og:title" property="og:title" content="Silex Dashboard"/>
340
- <link href="https://fonts.googleapis.com" rel="preconnect" ><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin ><link href="https://fonts.googleapis.com/css?family=Ubuntu&display=swap" rel="stylesheet" ></head>
365
+ <link href="https://fonts.googleapis.com" rel="preconnect" ><link href="https://fonts.googleapis.com/css2" rel="preconnect" crossorigin ><link href="https://fonts.googleapis.com/css2?family=Ubuntu&display=swap" rel="stylesheet" ></head>
341
366
  {% liquid
342
- assign var_i2hcfw_55 = tina.settingsConnection.edges | where: "node.lang", page.lang | first
343
- assign state_i2hcfw-1214_i2hcfw-xbsn5ipretk = var_i2hcfw_55
344
- %}<body id="i2hcfw" class="body app before-js"><A id="ixzhcr" href="/" class="button button-bar__item--secondary">{{ api-translations[lang]["Back to home"] }}</A><div id="imawg3" class="bg-silex-purpel">{% liquid
345
- assign var_imgx81_47 = tina.connectorsConnection.edges | where: "node.lang", page.lang | first
346
- assign var_imgx81_48 = var_imgx81_47.node
347
- assign state_imgx81-1985_imgx81-7uhkrqd2giq = var_imgx81_48
367
+ assign var_i2hcfw_371 = tina.settingsConnection.edges | where: "node.lang", page.lang | first
368
+ assign state_i2hcfw-1214_i2hcfw-xbsn5ipretk = var_i2hcfw_371
369
+ %}<body id="i2hcfw" class="body app before-js"><A href="/" id="ixzhcr" class="button button-bar__item--secondary">{{ api-translations[lang]["Back to home"] }}</A><div id="imawg3" class="bg-silex-purpel">{% liquid
370
+ assign var_imgx81_363 = tina.connectorsConnection.edges | where: "node.lang", page.lang | first
371
+ assign var_imgx81_364 = var_imgx81_363.node
372
+ assign state_imgx81-1985_imgx81-7uhkrqd2giq = var_imgx81_364
348
373
  %}<div id="imgx81" style="min-height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;" class=""><div id="iikf0s" class="box box_login"><div id="ie0dxn" class="text-centered"><img id="ior0hl" src="/assets/logo-silex.svg"/><p id="it2175" style="margin:15px 0px 0px 0px;font-size:1rem;" class="subtitle-16">{% liquid
349
- assign var_it2175_41 = state_imgx81-1985_imgx81-7uhkrqd2giq.subtitle
350
- echo var_it2175_41
374
+ assign var_it2175_357 = state_imgx81-1985_imgx81-7uhkrqd2giq.subtitle
375
+ echo var_it2175_357
351
376
  %}</p></div><h3 id="iqc1xf" style="display:none;" class="margin-top">{% liquid
352
- assign var_iqc1xf_42 = state_imgx81-1985_imgx81-7uhkrqd2giq.recommended
353
- echo var_iqc1xf_42
354
- %}</h3><div id="in62y2"><div id="isqe61" class="full-width margin-30" v-for="(connector, index) in connectors.slice(0, 1)"><a id="i44y9w" href="https://" class="connector__card" :href="getHref(connector)" data-remove-href="true"><div id="io3lid" class="button-bar__item__icon" :style="getConnectorStyle(connector)"></div><div id="i87asw" class="connector__description" v-text="connector.displayName">Login with <span href="" id="i0tt68">Name</span><br/></div></a></div><div id="i9fpn7" class="rgpd-checks"><input type="checkbox" id="feedback-check" name="feedback-check" checked class="rgpd-checks__check" v-on:change="(event) => setRgpd('feedback', event.target.checked)" v-model="rgpdFeedback"></input><label id="iv7hwn" for="feedback-check" class="">{% liquid
355
- assign var_iv7hwn_43 = state_imgx81-1985_imgx81-7uhkrqd2giq.rgpd.feedbackCheck
356
- echo var_iv7hwn_43
357
- %}</label></div><div id="iahvhn" class="rgpd-checks"><input type="checkbox" name="nl-check" id="nl-check" checked class="rgpd-checks__check" v-on:change="(event) => setRgpd('nl', event.target.checked)" v-model="rgpdNL"></input><label for="nl-check" id="isjk6j" class="">{% liquid
358
- assign var_isjk6j_44 = state_imgx81-1985_imgx81-7uhkrqd2giq.rgpd.nlCheck
359
- echo var_isjk6j_44
377
+ assign var_iqc1xf_358 = state_imgx81-1985_imgx81-7uhkrqd2giq.recommended
378
+ echo var_iqc1xf_358
379
+ %}</h3><div id="in62y2"><div id="isqe61" class="full-width margin-30" v-for="(connector, index) in connectors.slice(0, 1)"><a href="https://" id="i44y9w" class="connector__card" :href="getHref(connector)" data-remove-href="true"><div id="io3lid" class="button-bar__item__icon" :style="getConnectorStyle(connector)"></div><div id="i87asw" class="connector__description" v-text="connector.displayName">Login with <span href="" id="i0tt68">Name</span><br id="i1zf1p"/></div></a></div><div id="i9fpn7" class="rgpd-checks"><input type="checkbox" checked id="feedback-check" name="feedback-check" class="rgpd-checks__check" v-on:change="(event) => setRgpd('feedback', event.target.checked)" v-model="rgpdFeedback"></input><label for="feedback-check" id="iv7hwn" class="">{% liquid
380
+ assign var_iv7hwn_359 = state_imgx81-1985_imgx81-7uhkrqd2giq.rgpd.feedbackCheck
381
+ echo var_iv7hwn_359
382
+ %}</label></div><div id="iahvhn" class="rgpd-checks"><input type="checkbox" checked id="nl-check" name="nl-check" class="rgpd-checks__check" v-on:change="(event) => setRgpd('nl', event.target.checked)" v-model="rgpdNL"></input><label for="nl-check" id="isjk6j" class="">{% liquid
383
+ assign var_isjk6j_360 = state_imgx81-1985_imgx81-7uhkrqd2giq.rgpd.nlCheck
384
+ echo var_isjk6j_360
360
385
  %}</label></div><div id="errorDiv"></div></div><DETAILS id="ihn6fj"><summary id="i8w75b" class="margin-30">{% liquid
361
- assign var_i8w75b_45 = state_imgx81-1985_imgx81-7uhkrqd2giq.advanced_users
362
- echo var_i8w75b_45
363
- %}</summary><div id="ibi9qh" class="full-width" v-for="(connector, index) in connectors.slice(1)"><a href="https://" class="connector__card" :href="getHref(connector)" data-remove-href="true"><div class="button-bar__item__icon" :style="getConnectorStyle(connector)"></div><div class="connector__description" v-text="connector.displayName">Login with <span href="">Name</span><br/></div></a></div></DETAILS><div id="i3cney" class="button-bar"><a id="iacshy" class="button big-button connector__card" v-if="!loading" :key="index" :style="{ backgroundColor: connector.background, color: connector.color }" v-for="(connector, index) in connectors" v-on-click="openLogin(connector)"><div id="iiwn36"><div class="button-bar__item__icon" :style="`background: url('${connector.icon}'); background-repeat: no-repeat; background-size: contain;`"></div><div id="if4gvb" class="" v-text="connector.displayName">Name<br/></div></div><div id="isndui">This connector is about blablabla<br/></div></a></div><div id="ijflxq" style="font-size:0.85rem;text-align:left;margin:30px 0px 0px 0px;" class="text-centered">{% liquid
364
- assign var_ijflxq_46 = state_imgx81-1985_imgx81-7uhkrqd2giq.help
365
- echo var_ijflxq_46
366
- %}</div></div><div id="i9msnk" style="padding:10px;display:inline;" class="text-white top-space-20" v-if="error" v-text="message" :test="message">Insert your text here</div><div id="i6akll" style="padding:10px;display:inline;" class="button button--tertiary text-centered" v-if="error" v-on:click="logout()">{{ api-translations[lang]["Logout"] }}</div></div></div><FOOTER class="footer">{% liquid
367
- assign var_iprzeh_54 = state_i2hcfw-1214_i2hcfw-xbsn5ipretk.node.footer_links
386
+ assign var_i8w75b_361 = state_imgx81-1985_imgx81-7uhkrqd2giq.advanced_users
387
+ echo var_i8w75b_361
388
+ %}</summary><div id="ibi9qh" class="full-width" v-for="(connector, index) in connectors.slice(1)"><a href="https://" id="i5p9p5" class="connector__card" :href="getHref(connector)" data-remove-href="true"><div id="ibphi6" class="button-bar__item__icon" :style="getConnectorStyle(connector)"></div><div id="iaoqw4" class="connector__description" v-text="connector.displayName">Login with <span href="" id="iz6g2i">Name</span><br id="ihgk46"/></div></a></div></DETAILS><div id="i3cney" class="button-bar"><a id="iacshy" class="button big-button connector__card" v-if="!loading" :key="index" :style="{ backgroundColor: connector.background, color: connector.color }" v-for="(connector, index) in connectors" v-on-click="openLogin(connector)"><div id="iiwn36"><div id="iiau0s" class="button-bar__item__icon" :style="`background: url('${connector.icon}'); background-repeat: no-repeat; background-size: contain;`"></div><div id="if4gvb" class="" v-text="connector.displayName">Name<br id="iimwvw"/></div></div><div id="isndui">This connector is about blablabla<br id="igsu87"/></div></a></div><div id="ijflxq" style="font-size:0.85rem;text-align:left;margin:30px 0px 0px 0px;" class="text-centered">{% liquid
389
+ assign var_ijflxq_362 = state_imgx81-1985_imgx81-7uhkrqd2giq.help
390
+ echo var_ijflxq_362
391
+ %}</div></div><div id="i9msnk" style="padding:10px;display:inline;" class="text-white top-space-20" v-if="error" v-text="message" :test="message">Insert your text here</div><div id="i6akll" style="padding:10px;display:inline;" class="button button--tertiary text-centered" v-if="error" v-on:click="logout()">{{ api-translations[lang]["Logout"] }}</div></div></div><FOOTER id="i6qv1n" class="footer">{% liquid
392
+ assign var_iprzeh_370 = state_i2hcfw-1214_i2hcfw-xbsn5ipretk.node.footer_links
368
393
  %}
369
- {% for state_isucae-3308___data in var_iprzeh_54 %}
370
- <div id="iprzeh" style="min-height:100px;" class="footer__column"><h3 href="" class="footer__item">{% liquid
371
- assign var_ilhunw_49 = state_isucae-3308___data.title
372
- echo var_ilhunw_49
394
+ {% for state_isucae-3308___data in var_iprzeh_370 %}
395
+ <div id="iprzeh" style="min-height:100px;" class="footer__column"><h3 href="" id="ik1iir" class="footer__item">{% liquid
396
+ assign var_ik1iir_365 = state_isucae-3308___data.title
397
+ echo var_ik1iir_365
373
398
  %}</h3>{% liquid
374
- assign var_iqc4nr_51 = state_isucae-3308___data.columns
399
+ assign var_is59uo_367 = state_isucae-3308___data.columns
375
400
  %}
376
- {% for state_i2u9h4-2642___data in var_iqc4nr_51 %}
401
+ {% for state_i2u9h4-2642___data in var_is59uo_367 %}
377
402
  <a href="{% liquid
378
- assign var_iqc4nr_52 = state_i2u9h4-2642___data.url
379
- echo var_iqc4nr_52
380
- %}" class="footer__item" target="{% liquid
381
- assign var_iqc4nr_53 = state_i2u9h4-2642___data.target
382
- echo var_iqc4nr_53
403
+ assign var_is59uo_368 = state_i2u9h4-2642___data.url
404
+ echo var_is59uo_368
405
+ %}" id="is59uo" class="footer__item" target="{% liquid
406
+ assign var_is59uo_369 = state_i2u9h4-2642___data.target
407
+ echo var_is59uo_369
383
408
  %}">{% liquid
384
- assign var_iqc4nr_50 = state_i2u9h4-2642___data.label
385
- echo var_iqc4nr_50
409
+ assign var_is59uo_366 = state_i2u9h4-2642___data.label
410
+ echo var_is59uo_366
386
411
  %}</a>{% endfor %}</div>{% endfor %}</FOOTER></body>
387
412
  </html>
@@ -8,7 +8,9 @@ collection: "Connectors"
8
8
  <html lang="">
9
9
  <head>
10
10
  <meta charset="UTF-8">
11
- <link rel="stylesheet" href="/css/connectors-c1d5f4c520a9a86d99b7201d30a8fe25a5779b7b2373b73262868f446fe3f855.css" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
12
+ <meta name="generator" content="Silex v3.6.0-canary.2">
13
+ <link rel="stylesheet" href="/css/connectors-e4ae24975f4df2e2bea5121337282d8f2201bb86dc8c041c9ef43c0c2d7a32a7.css" />
12
14
  <!-- font google -->
13
15
  <link rel="preconnect" href="https://fonts.gstatic.com" />
14
16
  <link href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;700&display=swap" rel="stylesheet">
@@ -182,6 +184,9 @@ function toSafeId(name) {
182
184
  return name.replace(/[/\\?%*:|"<>]/g, '_')
183
185
  }
184
186
 
187
+ const params = new URLSearchParams(window.location.search)
188
+ const redirect = params.get('redirect')
189
+
185
190
  const App = {
186
191
  data() {
187
192
  return {
@@ -227,11 +232,31 @@ const App = {
227
232
  },
228
233
 
229
234
  getHref(connector) {
230
- if(connector.isLoggedIn) return '/'
231
- if(connector.oauthUrl) return connector.oauthUrl
232
- return '/api/connector/login/?type=STORAGE&connectorId=' + connector.connectorId
235
+ const params = new URLSearchParams(window.location.search)
236
+ const redirect = params.get('redirect')
237
+
238
+ if (connector.isLoggedIn) {
239
+ return redirect || '/'
240
+ }
241
+
242
+ if (!connector.oauthUrl) {
243
+ return '/api/connector/login/?type=STORAGE&connectorId=' + connector.connectorId
244
+ }
245
+
246
+ if (!redirect) return connector.oauthUrl
247
+
248
+ const url = new URL(connector.oauthUrl)
249
+ const state = url.searchParams.get('state')
250
+
251
+ url.searchParams.set(
252
+ 'state',
253
+ JSON.stringify({ state, redirect })
254
+ )
255
+
256
+ return url.toString()
233
257
  },
234
258
 
259
+
235
260
  getConnectorStyle(connector) {
236
261
  return {
237
262
  backgroundImage: `url(${connector.icon})`,
@@ -337,51 +362,51 @@ setTimeout(() => {
337
362
  <title>Silex Dashboard</title>
338
363
  <link rel="icon" href="/assets/favicon-32x32.png" />
339
364
  <meta name="og:title" property="og:title" content="Silex Dashboard"/>
340
- <link href="https://fonts.googleapis.com" rel="preconnect" ><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin ><link href="https://fonts.googleapis.com/css?family=Ubuntu&display=swap" rel="stylesheet" ></head>
365
+ <link href="https://fonts.googleapis.com" rel="preconnect" ><link href="https://fonts.googleapis.com/css2" rel="preconnect" crossorigin ><link href="https://fonts.googleapis.com/css2?family=Ubuntu&display=swap" rel="stylesheet" ></head>
341
366
  {% liquid
342
- assign var_i2hcfw_55 = tina.settingsConnection.edges | where: "node.lang", page.lang | first
343
- assign state_i2hcfw-1214_i2hcfw-xbsn5ipretk = var_i2hcfw_55
344
- %}<body id="i2hcfw" class="body app before-js"><A id="ixzhcr" href="/" class="button button-bar__item--secondary">{{ api-translations[lang]["Back to home"] }}</A><div id="imawg3" class="bg-silex-purpel">{% liquid
345
- assign var_imgx81_47 = tina.connectorsConnection.edges | where: "node.lang", page.lang | first
346
- assign var_imgx81_48 = var_imgx81_47.node
347
- assign state_imgx81-1985_imgx81-7uhkrqd2giq = var_imgx81_48
367
+ assign var_i2hcfw_371 = tina.settingsConnection.edges | where: "node.lang", page.lang | first
368
+ assign state_i2hcfw-1214_i2hcfw-xbsn5ipretk = var_i2hcfw_371
369
+ %}<body id="i2hcfw" class="body app before-js"><A href="/" id="ixzhcr" class="button button-bar__item--secondary">{{ api-translations[lang]["Back to home"] }}</A><div id="imawg3" class="bg-silex-purpel">{% liquid
370
+ assign var_imgx81_363 = tina.connectorsConnection.edges | where: "node.lang", page.lang | first
371
+ assign var_imgx81_364 = var_imgx81_363.node
372
+ assign state_imgx81-1985_imgx81-7uhkrqd2giq = var_imgx81_364
348
373
  %}<div id="imgx81" style="min-height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;" class=""><div id="iikf0s" class="box box_login"><div id="ie0dxn" class="text-centered"><img id="ior0hl" src="/assets/logo-silex.svg"/><p id="it2175" style="margin:15px 0px 0px 0px;font-size:1rem;" class="subtitle-16">{% liquid
349
- assign var_it2175_41 = state_imgx81-1985_imgx81-7uhkrqd2giq.subtitle
350
- echo var_it2175_41
374
+ assign var_it2175_357 = state_imgx81-1985_imgx81-7uhkrqd2giq.subtitle
375
+ echo var_it2175_357
351
376
  %}</p></div><h3 id="iqc1xf" style="display:none;" class="margin-top">{% liquid
352
- assign var_iqc1xf_42 = state_imgx81-1985_imgx81-7uhkrqd2giq.recommended
353
- echo var_iqc1xf_42
354
- %}</h3><div id="in62y2"><div id="isqe61" class="full-width margin-30" v-for="(connector, index) in connectors.slice(0, 1)"><a id="i44y9w" href="https://" class="connector__card" :href="getHref(connector)" data-remove-href="true"><div id="io3lid" class="button-bar__item__icon" :style="getConnectorStyle(connector)"></div><div id="i87asw" class="connector__description" v-text="connector.displayName">Login with <span href="" id="i0tt68">Name</span><br/></div></a></div><div id="i9fpn7" class="rgpd-checks"><input type="checkbox" id="feedback-check" name="feedback-check" checked class="rgpd-checks__check" v-on:change="(event) => setRgpd('feedback', event.target.checked)" v-model="rgpdFeedback"></input><label id="iv7hwn" for="feedback-check" class="">{% liquid
355
- assign var_iv7hwn_43 = state_imgx81-1985_imgx81-7uhkrqd2giq.rgpd.feedbackCheck
356
- echo var_iv7hwn_43
357
- %}</label></div><div id="iahvhn" class="rgpd-checks"><input type="checkbox" name="nl-check" id="nl-check" checked class="rgpd-checks__check" v-on:change="(event) => setRgpd('nl', event.target.checked)" v-model="rgpdNL"></input><label for="nl-check" id="isjk6j" class="">{% liquid
358
- assign var_isjk6j_44 = state_imgx81-1985_imgx81-7uhkrqd2giq.rgpd.nlCheck
359
- echo var_isjk6j_44
377
+ assign var_iqc1xf_358 = state_imgx81-1985_imgx81-7uhkrqd2giq.recommended
378
+ echo var_iqc1xf_358
379
+ %}</h3><div id="in62y2"><div id="isqe61" class="full-width margin-30" v-for="(connector, index) in connectors.slice(0, 1)"><a href="https://" id="i44y9w" class="connector__card" :href="getHref(connector)" data-remove-href="true"><div id="io3lid" class="button-bar__item__icon" :style="getConnectorStyle(connector)"></div><div id="i87asw" class="connector__description" v-text="connector.displayName">Login with <span href="" id="i0tt68">Name</span><br id="i1zf1p"/></div></a></div><div id="i9fpn7" class="rgpd-checks"><input type="checkbox" checked id="feedback-check" name="feedback-check" class="rgpd-checks__check" v-on:change="(event) => setRgpd('feedback', event.target.checked)" v-model="rgpdFeedback"></input><label for="feedback-check" id="iv7hwn" class="">{% liquid
380
+ assign var_iv7hwn_359 = state_imgx81-1985_imgx81-7uhkrqd2giq.rgpd.feedbackCheck
381
+ echo var_iv7hwn_359
382
+ %}</label></div><div id="iahvhn" class="rgpd-checks"><input type="checkbox" checked id="nl-check" name="nl-check" class="rgpd-checks__check" v-on:change="(event) => setRgpd('nl', event.target.checked)" v-model="rgpdNL"></input><label for="nl-check" id="isjk6j" class="">{% liquid
383
+ assign var_isjk6j_360 = state_imgx81-1985_imgx81-7uhkrqd2giq.rgpd.nlCheck
384
+ echo var_isjk6j_360
360
385
  %}</label></div><div id="errorDiv"></div></div><DETAILS id="ihn6fj"><summary id="i8w75b" class="margin-30">{% liquid
361
- assign var_i8w75b_45 = state_imgx81-1985_imgx81-7uhkrqd2giq.advanced_users
362
- echo var_i8w75b_45
363
- %}</summary><div id="ibi9qh" class="full-width" v-for="(connector, index) in connectors.slice(1)"><a href="https://" class="connector__card" :href="getHref(connector)" data-remove-href="true"><div class="button-bar__item__icon" :style="getConnectorStyle(connector)"></div><div class="connector__description" v-text="connector.displayName">Login with <span href="">Name</span><br/></div></a></div></DETAILS><div id="i3cney" class="button-bar"><a id="iacshy" class="button big-button connector__card" v-if="!loading" :key="index" :style="{ backgroundColor: connector.background, color: connector.color }" v-for="(connector, index) in connectors" v-on-click="openLogin(connector)"><div id="iiwn36"><div class="button-bar__item__icon" :style="`background: url('${connector.icon}'); background-repeat: no-repeat; background-size: contain;`"></div><div id="if4gvb" class="" v-text="connector.displayName">Name<br/></div></div><div id="isndui">This connector is about blablabla<br/></div></a></div><div id="ijflxq" style="font-size:0.85rem;text-align:left;margin:30px 0px 0px 0px;" class="text-centered">{% liquid
364
- assign var_ijflxq_46 = state_imgx81-1985_imgx81-7uhkrqd2giq.help
365
- echo var_ijflxq_46
366
- %}</div></div><div id="i9msnk" style="padding:10px;display:inline;" class="text-white top-space-20" v-if="error" v-text="message" :test="message">Insert your text here</div><div id="i6akll" style="padding:10px;display:inline;" class="button button--tertiary text-centered" v-if="error" v-on:click="logout()">{{ api-translations[lang]["Logout"] }}</div></div></div><FOOTER class="footer">{% liquid
367
- assign var_iprzeh_54 = state_i2hcfw-1214_i2hcfw-xbsn5ipretk.node.footer_links
386
+ assign var_i8w75b_361 = state_imgx81-1985_imgx81-7uhkrqd2giq.advanced_users
387
+ echo var_i8w75b_361
388
+ %}</summary><div id="ibi9qh" class="full-width" v-for="(connector, index) in connectors.slice(1)"><a href="https://" id="i5p9p5" class="connector__card" :href="getHref(connector)" data-remove-href="true"><div id="ibphi6" class="button-bar__item__icon" :style="getConnectorStyle(connector)"></div><div id="iaoqw4" class="connector__description" v-text="connector.displayName">Login with <span href="" id="iz6g2i">Name</span><br id="ihgk46"/></div></a></div></DETAILS><div id="i3cney" class="button-bar"><a id="iacshy" class="button big-button connector__card" v-if="!loading" :key="index" :style="{ backgroundColor: connector.background, color: connector.color }" v-for="(connector, index) in connectors" v-on-click="openLogin(connector)"><div id="iiwn36"><div id="iiau0s" class="button-bar__item__icon" :style="`background: url('${connector.icon}'); background-repeat: no-repeat; background-size: contain;`"></div><div id="if4gvb" class="" v-text="connector.displayName">Name<br id="iimwvw"/></div></div><div id="isndui">This connector is about blablabla<br id="igsu87"/></div></a></div><div id="ijflxq" style="font-size:0.85rem;text-align:left;margin:30px 0px 0px 0px;" class="text-centered">{% liquid
389
+ assign var_ijflxq_362 = state_imgx81-1985_imgx81-7uhkrqd2giq.help
390
+ echo var_ijflxq_362
391
+ %}</div></div><div id="i9msnk" style="padding:10px;display:inline;" class="text-white top-space-20" v-if="error" v-text="message" :test="message">Insert your text here</div><div id="i6akll" style="padding:10px;display:inline;" class="button button--tertiary text-centered" v-if="error" v-on:click="logout()">{{ api-translations[lang]["Logout"] }}</div></div></div><FOOTER id="i6qv1n" class="footer">{% liquid
392
+ assign var_iprzeh_370 = state_i2hcfw-1214_i2hcfw-xbsn5ipretk.node.footer_links
368
393
  %}
369
- {% for state_isucae-3308___data in var_iprzeh_54 %}
370
- <div id="iprzeh" style="min-height:100px;" class="footer__column"><h3 href="" class="footer__item">{% liquid
371
- assign var_ilhunw_49 = state_isucae-3308___data.title
372
- echo var_ilhunw_49
394
+ {% for state_isucae-3308___data in var_iprzeh_370 %}
395
+ <div id="iprzeh" style="min-height:100px;" class="footer__column"><h3 href="" id="ik1iir" class="footer__item">{% liquid
396
+ assign var_ik1iir_365 = state_isucae-3308___data.title
397
+ echo var_ik1iir_365
373
398
  %}</h3>{% liquid
374
- assign var_iqc4nr_51 = state_isucae-3308___data.columns
399
+ assign var_is59uo_367 = state_isucae-3308___data.columns
375
400
  %}
376
- {% for state_i2u9h4-2642___data in var_iqc4nr_51 %}
401
+ {% for state_i2u9h4-2642___data in var_is59uo_367 %}
377
402
  <a href="{% liquid
378
- assign var_iqc4nr_52 = state_i2u9h4-2642___data.url
379
- echo var_iqc4nr_52
380
- %}" class="footer__item" target="{% liquid
381
- assign var_iqc4nr_53 = state_i2u9h4-2642___data.target
382
- echo var_iqc4nr_53
403
+ assign var_is59uo_368 = state_i2u9h4-2642___data.url
404
+ echo var_is59uo_368
405
+ %}" id="is59uo" class="footer__item" target="{% liquid
406
+ assign var_is59uo_369 = state_i2u9h4-2642___data.target
407
+ echo var_is59uo_369
383
408
  %}">{% liquid
384
- assign var_iqc4nr_50 = state_i2u9h4-2642___data.label
385
- echo var_iqc4nr_50
409
+ assign var_is59uo_366 = state_i2u9h4-2642___data.label
410
+ echo var_is59uo_366
386
411
  %}</a>{% endfor %}</div>{% endfor %}</FOOTER></body>
387
412
  </html>
@@ -0,0 +1 @@
1
+ * { box-sizing: border-box; } body {margin: 0;}.body{background-color:#f0f0f0;color:#2b1b63;font-family:"Ubuntu", sans-serif;}.subtitle-16{font-size:1rem;margin:0px 0px 20px 0px;}.subtitle-16.color--light{color:#636363;font-weight:700;}.button{border:2px solid #8873fe;display:inline-block;font-size:0.8rem;font-weight:700;line-height:1.2rem;padding:10px 20px 10px 20px;transition:all 0.18s ease-out;}.button.button--primary{background-color:#8873fe;color:white;}.button-bar{align-items:center;background-color:#ffffff;border-radius:4px 4px 4px 4px;display:flex;justify-content:space-between;margin:20px 0px 20px 0px;padding:30px 30px 30px 30px;}.button-bar.button-bar--full-width{align-items:center;justify-content:space-between;}.button-bar_item.button-bar__item--secondary{font-size:0.8rem;}.button.button--secondary{border:2px solid #8873fe;color:#8873fe;font-weight:400;}.footer{background-color:#ffffff;display:flex;justify-content:space-evenly;margin:50px 0px 0px 0px;padding:30px 30px 60px 30px;}.full-width{width:100%;}.box{background-color:#ffffff;border-radius:4px 4px 4px 4px;}.box.flex-between{align-items:center;}.button--tertiary{background-color:transparent;font-weight:400;}.button:hover{border:2px solid #8873fe;color:#8873fe;}.button.button--secondary:hover{background-color:white;border:2px solid rgba(136,115,254,0.5);}#imgx81{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;}#in62y2{justify-content:center;}.big-button{background-color:#ffffff;border-radius:5px 5px 5px 5px;font-size:15px;font-weight:700;margin:10px 10px 10px 10px;padding:15px 30px 15px 30px;}#i9msnk{display:inline;padding:10px;}#i6akll{display:inline;padding:10px;}#ixzhcr{display:none;padding:10px;position:absolute;}.bg-silex-purpel{background-attachment:scroll;background-image:url("/assets/../assets/bg-purpel-silex.webp");background-position:center top;background-repeat:repeat-y;background-size:contain;}.text-centered{text-align:center;}.text-white{color:#ffffff;}.box.box_transp{background-color:rgba(255,255,255,0.5);}.top-space-20{margin:20px 0 0 0;}.button.button--tertiary{background-color:rgba(221,221,221,0.5);border:2px solid transparent;}.box_login{max-width:450px;padding:60px 40px 60px 40px;width:100%;}.button-bar__item--link.text-white{color:#ffffff;}.button.big-button{border:2px solid transparent;}.button.button--tertiary:hover{background-color:white;border:2px solid #8873fe;color:#8873fe;}.button-bar__item__icon{background-attachment:scroll;background-image:none;background-position:center center;background-repeat:no-repeat;background-size:contain;float:left;height:30px;margin:5px 5px 5px 5px;width:30px;}.button-bar__item--secondary{font-size:0.8rem;}.footer__column{display:flex;flex-direction:column;flex-grow:1;text-align:center;}.footer__item{padding:10px 10px 10px 10px;}.connector__card{align-items:center;border:1px solid;border-radius:5px 5px 5px 5px;color:black;display:flex;justify-content:center;margin:10px auto 10px auto;max-width:100%;padding:4px 0px 4px 0px;transition:all 0.25s ease;}#i3cney{display:none;justify-content:center;width:100%;}.connector__description{padding:5px 15px 5px 15px;}#ior0hl{color:black;}#igp4xl{display:inline-block;justify-content:center;width:100%;}#isqe61{display:inline-block;}.margin-top{margin:80px 0px 30px 0px;}.margin-30{margin:30px 0px 30px 0px;}.connector__card:link{border:1px solid;color:black;text-decoration:none;}.connector__card:hover{background-color:#8873fe;color:white;}#iqc1xf{display:none;}#it2175{font-size:1rem;margin:15px 0px 0px 0px;}#i8w75b{cursor:pointer;font-size:0.95rem;font-weight:600;margin:10px 0px 10px 0px;}#ijflxq{font-size:0.85rem;margin:30px 0px 0px 0px;text-align:left;}#iprzeh{min-height:100px;}#ibi9qh{display:inline-block;}.rgpd-checks{align-items:center;display:flex;padding:10px 0px 10px 0px;}.rgpd-checks__check{height:20px;margin:0px 10px 0px 0px;width:20px;}#ihn6fj{margin:20px 0px 0px 0px;}#errorDiv{color:#ff557a;font-weight:800;}
@@ -0,0 +1 @@
1
+ * { box-sizing: border-box; } body {margin: 0;}.nav__item{color:#4a4a4a;font-size:0.8rem;margin:0px 10px 0px 10px;padding:24px 0px 24px 0px;}.body{background-color:#f0f0f0;color:#2b1b63;font-family:"Ubuntu", sans-serif;}.menu-bar{align-items:center;background-color:#ffffff;display:flex;height:94px;justify-content:space-between;padding:0px 100px 0px 100px;width:100%;}.padding-normal{padding:0px 24px 0px 24px;}.nav{margin:0px 20px 0px 20px;width:100%;}.subtitle-16{font-size:1rem;margin:0px 0px 20px 0px;}.subtitle-16.color--light{color:#636363;font-weight:700;}.rounded{border-radius:4px 4px 4px 4px;}.footer{background-color:#ffffff;display:flex;justify-content:space-evenly;margin:50px 0px 0px 0px;padding:30px 30px 60px 30px;}.nav__item.active{color:black;}.box.flex-between{align-items:center;}.flex-between{align-items:center;display:flex;justify-content:space-between;}.lang__item{margin:0px 5px 0px 5px;}.nav__logo{height:50px;}.user-icon__image{height:100%;width:100%;}.user__wrapper{align-items:center;border:1px solid white;display:flex;flex-direction:column;justify-content:center;margin:0 0 0 20px;}.user-icon__wrapper{background-color:#f0f0f0;border:1px solid #f0f0f0;border-radius:50% 50% 50% 50%;height:40px;overflow:hidden hidden;width:40px;}.title-40{font-size:2.5rem;font-weight:700;margin:0 0 10px 0;}.bg-silex-purpel{background-attachment:scroll;background-image:url("/assets/../assets/bg-purpel-silex.webp");background-position:center top;background-repeat:repeat-y;background-size:contain;}.section-top{display:flex;flex-direction:column;height:226px;justify-content:center;margin:0px auto 0px auto;max-width:1200px;padding:40px 30px 40px 30px;}.text-centered{text-align:center;}.box-message{background-color:rgba(43,27,99,0.3);border-radius:4px 4px 4px 4px;margin:10px 0px 10px 0px;padding:20px 30px 20px 30px;}.text-white{color:#ffffff;}.button-bar__item--link{background-color:transparent;border:0px solid black;color:#8873fe;font-size:0.8rem;}.button-bar__item--link.text-white{color:#ffffff;}.box-message-text{font-weight:300;margin:0px 0 0 0;}.website-max-width{max-width:1200px;}.margin-80-centered{margin:80px auto 80px auto;}.footer__column{display:flex;flex-direction:column;flex-grow:1;text-align:center;}.footer__item{padding:10px 10px 10px 10px;}.nav__item:hover{color:#8873fe;text-decoration:none;}.nav_item--active:first-child{color:#8873fe;}
@@ -0,0 +1 @@
1
+ * { box-sizing: border-box; } body {margin: 0;}.nav__item{color:#4a4a4a;font-size:0.8rem;margin:0px 10px 0px 10px;padding:24px 0px 24px 0px;}.body{background-color:#f0f0f0;color:#2b1b63;font-family:"Ubuntu", sans-serif;}.menu-bar{align-items:center;background-color:#ffffff;display:flex;height:94px;justify-content:space-between;padding:0px 100px 0px 100px;width:100%;}.padding-normal{padding:0px 24px 0px 24px;}.nav{margin:0px 20px 0px 20px;width:100%;}.subtitle-16{font-size:1rem;margin:0px 0px 20px 0px;}.subtitle-16.color--light{color:#636363;font-weight:700;}.button{border:2px solid #8873fe;display:inline-block;font-size:0.8rem;font-weight:700;line-height:1.2rem;padding:10px 20px 10px 20px;transition:all 0.18s ease-out;}.button.button--primary{background-color:#8873fe;color:white;}.button-bar{align-items:center;background-color:#ffffff;border-radius:4px 4px 4px 4px;display:flex;justify-content:space-between;margin:20px 0px 20px 0px;padding:30px 30px 30px 30px;}.button-bar.button-bar--full-width{align-items:center;justify-content:space-between;}.button-bar_item.button-bar__item--secondary{font-size:0.8rem;}.button.button--secondary{border:2px solid #8873fe;color:#8873fe;font-weight:400;}.rounded{border-radius:4px 4px 4px 4px;}.footer{background-color:#ffffff;display:flex;justify-content:space-evenly;margin:50px 0px 0px 0px;padding:30px 30px 60px 30px;}.skeleton-text.skeleton{background-color:#dddddd;border-radius:5px 5px 5px 5px;color:transparent;opacity:0.31;}.skeleton.skeleton-button{background-color:#dddddd;border-radius:5px 5px 5px 5px;color:transparent;opacity:0.31;width:140px;}.skeleton-anim{position:relative;}.nav__item.active{color:black;}.margin-20{margin:20px 0px 20px 0px;}.loading__item.loaded-true{display:none;}.flex-no-shrink{flex-shrink:0;}.form{border-radius:5px 5px 5px 5px;padding:10px 0px 10px 0px;}.input{background-color:transparent;border:2px solid #8873fe;border-radius:4px 4px 4px 4px;margin:10px 0px 10px 0px;padding:10px 10px 10px 10px;}.full-width{width:100%;}.v-space{margin:10px 0px 10px 0px;}.box{background-color:#ffffff;border-radius:4px 4px 4px 4px;}.box__header{color:rgba(43,27,99,0.5);font-size:1.625rem;font-weight:700;margin:0px 0px 0px 0px;padding:10px 0px 10px 0px;}.box.flex-between{align-items:center;}.flex-between{align-items:center;display:flex;justify-content:space-between;}.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{height:100%;width:100%;}.user__wrapper{align-items:center;border:1px solid white;display:flex;flex-direction:column;justify-content:center;margin:0 0 0 20px;}.right-space-20{margin:0px 20px 0px 0px;}.button:hover{border:2px solid #8873fe;color:#8873fe;}.button.button--secondary:hover{background-color:white;border:2px solid rgba(136,115,254,0.5);}.user-icon__wrapper{background-color:#f0f0f0;border:1px solid #f0f0f0;border-radius:50% 50% 50% 50%;height:40px;overflow:hidden hidden;width:40px;}.title-40{font-size:2.5rem;font-weight:700;margin:0 0 10px 0;}.bg-silex-purpel{background-attachment:scroll;background-image:url("/assets/../assets/bg-purpel-silex.webp");background-position:center top;background-repeat:repeat-y;background-size:contain;}.section-top{display:flex;flex-direction:column;height:226px;justify-content:center;margin:0px auto 0px auto;max-width:1200px;padding:40px 30px 40px 30px;}.text-centered{text-align:center;}.box-message{background-color:rgba(43,27,99,0.3);border-radius:4px 4px 4px 4px;margin:10px 0px 10px 0px;padding:20px 30px 20px 30px;}.text-white{color:#ffffff;}.bold{font-weight:800;}.button-bar__item--link{background-color:transparent;border:0px solid black;color:#8873fe;font-size:0.8rem;}.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{background-attachment:scroll;background-image:url("/assets/../assets/empty-projects-sos.gif");background-position:center center;background-repeat:no-repeat;background-size:contain;min-height:500px;}.padding-50-30{padding:50px 30px 50px 30px;}.box.box_transp{background-color:rgba(255,255,255,0.5);}.button.button--tertiary{background-color:rgba(221,221,221,0.5);border:2px solid transparent;}.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{background-color:white;border:2px solid #8873fe;color:#8873fe;}.box-message-text{font-weight:300;margin:0px 0 0 0;}.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;}.footer__column{display:flex;flex-direction:column;flex-grow:1;text-align:center;}.footer__item{padding:10px 10px 10px 10px;}.box--centered{align-items:center;display:flex;flex-direction:column;}.button-bar__title:hover{color:#8873fe;}.button-bar__item--icon{margin:0px 0 0 0;padding:5px 5px 5px 5px;}.nav__item:hover{color:#8873fe;text-decoration:none;}.nav_item--active:first-child{color:#8873fe;}
@@ -0,0 +1 @@
1
+ * { box-sizing: border-box; } body {margin: 0;}.nav__item{color:#4a4a4a;font-size:0.8rem;margin:0px 10px 0px 10px;padding:24px 0px 24px 0px;}.body{background-color:#f0f0f0;color:#2b1b63;font-family:"Ubuntu", sans-serif;}.menu-bar{align-items:center;background-color:#ffffff;display:flex;height:94px;justify-content:space-between;padding:0px 100px 0px 100px;width:100%;}.padding-normal{padding:0px 24px 0px 24px;}.nav{margin:0px 20px 0px 20px;width:100%;}.subtitle-16{font-size:1rem;margin:0px 0px 20px 0px;}.subtitle-16.color--light{color:#636363;font-weight:700;}.rounded{border-radius:4px 4px 4px 4px;}.footer{background-color:#ffffff;display:flex;justify-content:space-evenly;margin:50px 0px 0px 0px;padding:30px 30px 60px 30px;}.nav__item.active{color:black;}.box.flex-between{align-items:center;}.flex-between{align-items:center;display:flex;justify-content:space-between;}.lang__item{margin:0px 5px 0px 5px;}.nav__logo{height:50px;}.user-icon__image{height:100%;width:100%;}.user__wrapper{align-items:center;border:1px solid white;display:flex;flex-direction:column;justify-content:center;margin:0 0 0 20px;}.user-icon__wrapper{background-color:#f0f0f0;border:1px solid #f0f0f0;border-radius:50% 50% 50% 50%;height:40px;overflow:hidden hidden;width:40px;}.title-40{font-size:2.5rem;font-weight:700;margin:0 0 10px 0;}.bg-silex-purpel{background-attachment:scroll;background-image:url("/assets/../assets/bg-purpel-silex.webp");background-position:center top;background-repeat:repeat-y;background-size:contain;}.section-top{display:flex;flex-direction:column;height:226px;justify-content:center;margin:0px auto 0px auto;max-width:1200px;padding:40px 30px 40px 30px;}.text-centered{text-align:center;}.box-message{background-color:rgba(43,27,99,0.3);border-radius:4px 4px 4px 4px;margin:10px 0px 10px 0px;padding:20px 30px 20px 30px;}.text-white{color:#ffffff;}.button-bar__item--link{background-color:transparent;border:0px solid black;color:#8873fe;font-size:0.8rem;}.button-bar__item--link.text-white{color:#ffffff;}.box-message-text{font-weight:300;margin:0px 0 0 0;}.website-max-width{max-width:1200px;}.margin-80{margin:80px auto 80px auto;}.footer__column{display:flex;flex-direction:column;flex-grow:1;text-align:center;}.footer__item{padding:10px 10px 10px 10px;}.nav__item:hover{color:#8873fe;text-decoration:none;}.nav_item--active:first-child{color:#8873fe;}
@@ -0,0 +1 @@
1
+ * { box-sizing: border-box; } body {margin: 0;}.nav__item{color:#4a4a4a;font-size:0.8rem;margin:0px 10px 0px 10px;padding:24px 0px 24px 0px;}.body{background-color:#f0f0f0;color:#2b1b63;font-family:"Ubuntu", sans-serif;}.menu-bar{align-items:center;background-color:#ffffff;display:flex;height:94px;justify-content:space-between;padding:0px 100px 0px 100px;width:100%;}.padding-normal{padding:0px 24px 0px 24px;}#i9jq{display:flex;}.nav{margin:0px 20px 0px 20px;width:100%;}.subtitle-16{font-size:1rem;margin:0px 0px 20px 0px;}.subtitle-16.color--light{color:#636363;font-weight:700;}.button{border:2px solid #8873fe;display:inline-block;font-size:0.8rem;font-weight:700;line-height:1.2rem;padding:10px 20px 10px 20px;transition:all 0.18s ease-out;}.button.button--primary{background-color:#8873fe;color:white;}.button-bar{align-items:center;background-color:#ffffff;border-radius:4px 4px 4px 4px;display:flex;justify-content:space-between;margin:20px 0px 20px 0px;padding:30px 30px 30px 30px;}#ibsgw{position:relative;top:3px;}.button-bar.button-bar--full-width{align-items:center;justify-content:space-between;}.button-bar_item.button-bar__item--secondary{font-size:0.8rem;}.button.button--secondary{border:2px solid #8873fe;color:#8873fe;font-weight:400;}.rounded{border-radius:4px 4px 4px 4px;}.footer{background-color:#ffffff;display:flex;justify-content:space-evenly;margin:50px 0px 0px 0px;padding:30px 30px 60px 30px;}.skeleton-text.skeleton{background-color:#dddddd;border-radius:5px 5px 5px 5px;color:transparent;opacity:0.31;}.skeleton.skeleton-button{background-color:#dddddd;border-radius:5px 5px 5px 5px;color:transparent;opacity:0.31;width:140px;}.skeleton-anim{position:relative;}.nav__item.active{color:black;}.margin-20{margin:20px 0px 20px 0px;}.loading__item.loaded-true{display:none;}.flex-no-shrink{flex-shrink:0;}.form{border-radius:5px 5px 5px 5px;padding:10px 0px 10px 0px;}#i1nmbc{flex-shrink:0;}.input{background-color:transparent;border:2px solid #8873fe;border-radius:4px 4px 4px 4px;margin:10px 0px 10px 0px;padding:10px 10px 10px 10px;}.full-width{width:100%;}.v-space{margin:10px 0px 10px 0px;}.box{background-color:#ffffff;border-radius:4px 4px 4px 4px;}.box__header{color:rgba(43,27,99,0.5);font-size:1.625rem;font-weight:700;margin:0px 0px 0px 0px;padding:10px 0px 10px 0px;}.box.flex-between{align-items:center;}.flex-between{align-items:center;display:flex;justify-content:space-between;}.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{height:100%;width:100%;}.user__wrapper{align-items:center;border:1px solid white;display:flex;flex-direction:column;justify-content:center;margin:0 0 0 20px;}.right-space-20{margin:0px 20px 0px 0px;}.button:hover{border:2px solid #8873fe;color:#8873fe;}.button.button--secondary:hover{background-color:white;border:2px solid rgba(136,115,254,0.5);}.user-icon__wrapper{background-color:#f0f0f0;border:1px solid #f0f0f0;border-radius:50% 50% 50% 50%;height:40px;overflow:hidden hidden;width:40px;}.title-40{font-size:2.5rem;font-weight:700;margin:0 0 10px 0;}.bg-silex-purpel{background-attachment:scroll;background-image:url("/assets/../assets/bg-purpel-silex.webp");background-position:center top;background-repeat:repeat-y;background-size:contain;}.section-top{display:flex;flex-direction:column;height:226px;justify-content:center;margin:0px auto 0px auto;max-width:1200px;padding:40px 30px 40px 30px;}.text-centered{text-align:center;}.box-message{background-color:rgba(43,27,99,0.3);border-radius:4px 4px 4px 4px;margin:10px 0px 10px 0px;padding:20px 30px 20px 30px;}.text-white{color:#ffffff;}.bold{font-weight:800;}.button-bar__item--link{background-color:transparent;border:0px solid black;color:#8873fe;font-size:0.8rem;}.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{background-attachment:scroll;background-image:url("/assets/../assets/empty-projects-sos.gif");background-position:center center;background-repeat:no-repeat;background-size:contain;min-height:500px;}.padding-50-30{padding:50px 30px 50px 30px;}.box.box_transp{background-color:rgba(255,255,255,0.5);}.button.button--tertiary{background-color:rgba(221,221,221,0.5);border:2px solid transparent;}.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{background-color:white;border:2px solid #8873fe;color:#8873fe;}.box-message-text{font-weight:300;margin:0px 0 0 0;}.website-max-width{max-width:1200px;}.margin-80-centered{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;flex-grow:1;text-align:center;}.footer__item{padding:10px 10px 10px 10px;}#igsxoc{position:relative;top:3px;}.box--centered{align-items:center;display:flex;flex-direction:column;}.button-bar__title:hover{color:#8873fe;}.button-bar__item--icon{margin:0px 0 0 0;padding:5px 5px 5px 5px;}.nav__item:hover{color:#8873fe;text-decoration:none;}.nav_item--active:first-child{color:#8873fe;}#igv1rf{padding:10px;}
@@ -0,0 +1 @@
1
+ * { box-sizing: border-box; } body {margin: 0;}.nav__item{color:#4a4a4a;font-size:0.8rem;margin:0px 10px 0px 10px;padding:24px 0px 24px 0px;}.body{background-color:#f0f0f0;color:#2b1b63;font-family:"Ubuntu", sans-serif;}.menu-bar{align-items:center;background-color:#ffffff;display:flex;height:94px;justify-content:space-between;padding:0px 100px 0px 100px;width:100%;}.padding-normal{padding:0px 24px 0px 24px;}#i9jq{display:flex;}.nav{margin:0px 20px 0px 20px;width:100%;}.subtitle-16{font-size:1rem;margin:0px 0px 20px 0px;}.subtitle-16.color--light{color:#636363;font-weight:700;}.button{border:2px solid #8873fe;display:inline-block;font-size:0.8rem;font-weight:700;line-height:1.2rem;padding:10px 20px 10px 20px;transition:all 0.18s ease-out;}.button.button--primary{background-color:#8873fe;color:white;}.button-bar{align-items:center;background-color:#ffffff;border-radius:4px 4px 4px 4px;display:flex;justify-content:space-between;margin:20px 0px 20px 0px;padding:30px 30px 30px 30px;}#ibsgw{position:relative;top:3px;}.button-bar.button-bar--full-width{align-items:center;justify-content:space-between;}.button-bar_item.button-bar__item--secondary{font-size:0.8rem;}.button.button--secondary{border:2px solid #8873fe;color:#8873fe;font-weight:400;}.rounded{border-radius:4px 4px 4px 4px;}.footer{background-color:#ffffff;display:flex;justify-content:space-evenly;margin:50px 0px 0px 0px;padding:30px 30px 60px 30px;}.skeleton-text.skeleton{background-color:#dddddd;border-radius:5px 5px 5px 5px;color:transparent;opacity:0.31;}.skeleton.skeleton-button{background-color:#dddddd;border-radius:5px 5px 5px 5px;color:transparent;opacity:0.31;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{border-radius:5px 5px 5px 5px;padding:10px 0px 10px 0px;}#i1nmbc{flex-shrink:0;}.input{background-color:transparent;border:2px solid #8873fe;border-radius:4px 4px 4px 4px;margin:10px 0px 10px 0px;padding:10px 10px 10px 10px;}.full-width{width:100%;}.v-space{margin:10px 0px 10px 0px;}.box{background-color:#ffffff;border-radius:4px 4px 4px 4px;}.box__header{color:rgba(43,27,99,0.5);font-size:1.625rem;font-weight:700;margin:0px 0px 0px 0px;padding:10px 0px 10px 0px;}.box.flex-between{align-items:center;}.flex-between{align-items:center;display:flex;justify-content:space-between;}.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{height:100%;width:100%;}.user__wrapper{align-items:center;border:1px solid white;display:flex;flex-direction:column;justify-content:center;margin:0 0 0 20px;}.right-space-20{margin:0px 20px 0px 0px;}.button:hover{border:2px solid #8873fe;color:#8873fe;}.button.button--secondary:hover{background-color:white;border:2px solid rgba(136,115,254,0.5);}.user-icon__wrapper{background-color:#f0f0f0;border:1px solid #f0f0f0;border-radius:50% 50% 50% 50%;height:40px;overflow:hidden hidden;width:40px;}.title-40{font-size:2.5rem;font-weight:700;margin:0 0 10px 0;}.bg-silex-purpel{background-attachment:scroll;background-image:url("/assets/../assets/bg-purpel-silex.webp");background-position:center top;background-repeat:repeat-y;background-size:contain;}.section-top{display:flex;flex-direction:column;height:226px;justify-content:center;margin:0px auto 0px auto;max-width:1200px;padding:40px 30px 40px 30px;}.text-centered{text-align:center;}.box-message{background-color:rgba(43,27,99,0.3);border-radius:4px 4px 4px 4px;margin:10px 0px 10px 0px;padding:20px 30px 20px 30px;}.text-white{color:#ffffff;}.bold{font-weight:800;}.button-bar__item--link{background-color:transparent;border:0px solid black;color:#8873fe;font-size:0.8rem;}.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{background-attachment:scroll;background-image:url("/assets/../assets/empty-projects-sos.gif");background-position:center center;background-repeat:no-repeat;background-size:contain;min-height:500px;}.padding-50-30{padding:50px 30px 50px 30px;}.box.box_transp{background-color:rgba(255,255,255,0.5);}.button.button--tertiary{background-color:rgba(221,221,221,0.5);border:2px solid transparent;}.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{background-color:white;border:2px solid #8873fe;color:#8873fe;}.box-message-text{font-weight:300;margin:0px 0 0 0;}.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;flex-grow:1;text-align:center;}.footer__item{padding:10px 10px 10px 10px;}#igsxoc{position:relative;top:3px;}.box--centered{align-items:center;display:flex;flex-direction:column;}.button-bar__title:hover{color:#8873fe;}.button-bar__item--icon{margin:0px 0 0 0;padding:5px 5px 5px 5px;}.nav__item:hover{color:#8873fe;text-decoration:none;}.nav_item--active:first-child{color:#8873fe;}#igv1rf{padding:10px;}
@@ -0,0 +1,117 @@
1
+
2
+
3
+ export default async function (configData) {
4
+ const data = {
5
+ ...configData,
6
+ lang: 'en',
7
+ }
8
+ const result = {}
9
+ try {
10
+ const response = await fetch(`http://localhost:4001/graphql`, {
11
+
12
+ headers: {
13
+ 'Content-Type': `application/json`,
14
+ },
15
+ method: 'POST',
16
+ body: JSON.stringify({
17
+ query: `query {
18
+ __typename
19
+ homeConnection {
20
+ __typename
21
+ edges {
22
+ __typename
23
+ node {
24
+ __typename
25
+ title
26
+
27
+ }
28
+
29
+ }
30
+
31
+ }
32
+ settingsConnection {
33
+ __typename
34
+ edges {
35
+ __typename
36
+ node {
37
+ __typename
38
+ nav {
39
+ __typename
40
+ label
41
+ url
42
+ target
43
+
44
+ }
45
+ footer_links {
46
+ __typename
47
+ title
48
+ columns {
49
+ __typename
50
+ label
51
+ url
52
+ target
53
+
54
+ }
55
+
56
+ }
57
+ lang
58
+
59
+ }
60
+
61
+ }
62
+
63
+ }
64
+ forkConnection {
65
+ __typename
66
+ edges {
67
+ __typename
68
+ node {
69
+ __typename
70
+ hero_title
71
+ hero_subtitle
72
+ lang
73
+
74
+ }
75
+
76
+ }
77
+
78
+ }
79
+ languagesConnection {
80
+ __typename
81
+ edges {
82
+ __typename
83
+ node {
84
+ __typename
85
+ label
86
+ permalink
87
+
88
+ }
89
+
90
+ }
91
+
92
+ }
93
+
94
+ }`,
95
+ })
96
+ })
97
+
98
+ if (!response.ok) {
99
+ throw new Error(`Error fetching graphql data: HTTP status code ${response.status}, HTTP status text: ${response.statusText}`)
100
+ }
101
+
102
+ const json = await response.json()
103
+
104
+ if (json.errors) {
105
+ throw new Error(`GraphQL error: \
106
+ > ${json.errors.map(e => e.message).join('\
107
+ > ')}`)
108
+ }
109
+
110
+ result['tina'] = json.data
111
+ } catch (e) {
112
+ console.error('11ty plugin for Silex: error fetching graphql data', e, 'tina', 'http://localhost:4001/graphql')
113
+ throw e
114
+ }
115
+ return result
116
+ }
117
+