@silexlabs/silex-dashboard 1.0.57 → 1.0.59

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 (45) hide show
  1. package/{templates/css/connectors-187142925083dd32992cd4c78462f9a7e20f6fc462524b566ed616fd6d3d2b46.css → _site/css/connectors-748797d88cc32c0787052966e54e4f794629b8460d24f2aadac83c13899574fb.css} +1 -1
  2. package/{templates/css/websites-4b9b2b0a0a907b33eca109d50c2a3eee97f1955c742cef487110d21a0bbf8f50.css → _site/css/websites-c678e6ed7f508aa4b0e9218070d7235ed56f0eaea49350b30b849f4ef176cfb0.css} +1 -1
  3. package/_site/en/connectors/index.html +130 -218
  4. package/_site/en/index.html +111 -2
  5. package/_site/fr/connectors/index.html +130 -218
  6. package/_site/fr/index.html +111 -2
  7. package/_site/js/main.js +91 -91
  8. package/_site/js/main.js.LICENSE.txt +1 -1
  9. package/_site/js/vue.cjs.js +1 -1
  10. package/_site/js/vue.cjs.prod.js +1 -1
  11. package/_site/js/vue.esm-browser.js +6035 -6011
  12. package/_site/js/vue.esm-browser.prod.js +6 -9
  13. package/_site/js/vue.esm-bundler.js +1 -1
  14. package/_site/js/vue.global.js +4940 -4916
  15. package/_site/js/vue.global.prod.js +6 -9
  16. package/_site/js/vue.runtime.esm-browser.js +5930 -5886
  17. package/_site/js/vue.runtime.esm-browser.prod.js +2 -9
  18. package/_site/js/vue.runtime.esm-bundler.js +1 -1
  19. package/_site/js/vue.runtime.global.js +5435 -5391
  20. package/_site/js/vue.runtime.global.prod.js +2 -9
  21. package/package.json +8 -8
  22. package/templates/connectors-en.11tydata.mjs +25 -10
  23. package/templates/connectors-en.html +145 -260
  24. package/templates/connectors-fr.11tydata.mjs +25 -10
  25. package/templates/connectors-fr.html +145 -260
  26. package/{_site/css/connectors-187142925083dd32992cd4c78462f9a7e20f6fc462524b566ed616fd6d3d2b46.css → templates/css/connectors-748797d88cc32c0787052966e54e4f794629b8460d24f2aadac83c13899574fb.css} +1 -1
  27. package/{_site/css/websites-4b9b2b0a0a907b33eca109d50c2a3eee97f1955c742cef487110d21a0bbf8f50.css → templates/css/websites-c678e6ed7f508aa4b0e9218070d7235ed56f0eaea49350b30b849f4ef176cfb0.css} +1 -1
  28. package/templates/websites-en.11tydata.mjs +1 -0
  29. package/templates/websites-en.html +220 -81
  30. package/templates/websites-fr.11tydata.mjs +1 -0
  31. package/templates/websites-fr.html +220 -81
  32. package/tina/tina-lock.json +1 -1
  33. package/_site/connectors/index.html +0 -354
  34. package/_site/css/connectors-61bd21c2345101e48cc530cacf3afc0156ce7e089fcef3a34f853a537f0c55f2.css +0 -1
  35. package/_site/css/connectors-bb5104e4124d29465b3866b632c9a173d84b60bc78e4cd1607bc92a1ca85fb5b.css +0 -1
  36. package/_site/css/connectors-d7d00ca2aa235acdf7535c1e8faba94fe05e8a8863db5fc4421cd9369c811928.css +0 -1
  37. package/_site/css/websites-5cf941724b3798508df646193a48dcf4ec08e709d92aa33e06f09632a8b1b0a5.css +0 -1
  38. package/_site/websites/index.html +0 -350
  39. package/js/index.js +0 -0
  40. package/templates/connectors.html +0 -354
  41. package/templates/css/connectors-61bd21c2345101e48cc530cacf3afc0156ce7e089fcef3a34f853a537f0c55f2.css +0 -1
  42. package/templates/css/connectors-bb5104e4124d29465b3866b632c9a173d84b60bc78e4cd1607bc92a1ca85fb5b.css +0 -1
  43. package/templates/css/connectors-d7d00ca2aa235acdf7535c1e8faba94fe05e8a8863db5fc4421cd9369c811928.css +0 -1
  44. package/templates/css/websites-5cf941724b3798508df646193a48dcf4ec08e709d92aa33e06f09632a8b1b0a5.css +0 -1
  45. package/templates/websites.html +0 -350
@@ -8,7 +8,7 @@ collection: "Connectors"
8
8
  <html lang="">
9
9
  <head>
10
10
  <meta charset="UTF-8">
11
- <link rel="stylesheet" href="/css/connectors-bb5104e4124d29465b3866b632c9a173d84b60bc78e4cd1607bc92a1ca85fb5b.css" />
11
+ <link rel="stylesheet" href="/css/connectors-748797d88cc32c0787052966e54e4f794629b8460d24f2aadac83c13899574fb.css" />
12
12
  <!-- font google -->
13
13
  <link rel="preconnect" href="https://fonts.gstatic.com" />
14
14
  <link href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;700&display=swap" rel="stylesheet">
@@ -40,6 +40,16 @@ collection: "Connectors"
40
40
  .button{
41
41
  min-width:110px;
42
42
  }
43
+ details {
44
+ max-height: 2em;
45
+ display: block;
46
+ overflow: hidden;
47
+ transition: max-height .75s ease;
48
+ }
49
+ details[open] {
50
+ max-height: 40em;
51
+ }
52
+
43
53
  /*BTNS*/
44
54
  a {
45
55
  text-decoration: none;
@@ -151,288 +161,163 @@ collection: "Connectors"
151
161
  <script src="/js/vue.global.prod.js"></script>
152
162
  <script src="/js/main.js"></script>
153
163
  <script type="module">
154
- const CONNECTORS_PATH = '/connectors/'
155
- window.addEventListener('load', function() {
156
- const { createApp } = Vue;
157
- const { api, constants, types } = silex;
158
- const {
159
- ConnectorType,
160
- } = types
161
- const {
162
- setServerUrl,
163
- getUser,
164
- logout,
165
- websiteDelete,
166
- websiteDuplicate,
167
- websiteList,
168
- websiteCreate,
169
- websiteMetaWrite,
170
- } = api
171
- function toSafeId(name) {
172
- return name.replace(/[/\\?%*:|"<>]/g, '_')
173
- }
164
+ const CONNECTORS_PATH = ''
165
+ const { createApp } = Vue;
166
+ const { api, constants, types } = silex;
167
+ const {
168
+ ConnectorType,
169
+ } = types
170
+ const {
171
+ setServerUrl,
172
+ getUser,
173
+ logout,
174
+ websiteDelete,
175
+ websiteDuplicate,
176
+ websiteList,
177
+ websiteCreate,
178
+ websiteMetaWrite,
179
+ connectorList,
180
+ } = api
181
+ function toSafeId(name) {
182
+ return name.replace(/[/\\?%*:|"<>]/g, '_')
183
+ }
174
184
 
175
- const App = {
176
- data() {
177
- return {
178
- websites: [],
179
- newWebsiteName: '',
180
- showCreationForm: false,
181
- error: null,
182
- message: null,
183
- loggedIn: false,
184
- loading: true,
185
- storage: null,
186
- user: null,
187
- showMenu: false,
188
- empty: false,
185
+ const App = {
186
+ data() {
187
+ return {
188
+ websites: [],
189
+ connectors: [],
190
+ newWebsiteName: '',
191
+ showCreationForm: false,
192
+ error: null,
193
+ message: null,
194
+ loggedIn: false,
195
+ loading: true,
196
+ storage: null,
197
+ user: null,
198
+ showMenu: false,
199
+ empty: false,
200
+ }
201
+ },
202
+ mounted() {
203
+ this.init()
204
+ },
205
+
206
+ methods: {
207
+ async init() {
208
+ try {
209
+ // Init Silex server path
210
+ // Go up one level because of the language prefix
211
+ setServerUrl(window.location.origin)
212
+ await this.getConnectors()
213
+ } catch (error) {
214
+ console.error(error)
215
+ this.loading = false
216
+ this.error = `{{ api-translations[lang]["Failed to start dashboard"] }} - ${error.message}`
217
+ this.message = ''
189
218
  }
190
219
  },
191
- mounted() {
192
- this.init()
193
- },
194
-
195
- methods: {
196
- async init() {
197
- try {
198
- // Init Silex server path
199
- // Go up one level because of the language prefix
200
- setServerUrl(window.location.origin)
201
- // Start
202
- const user = await getUser({type: ConnectorType.STORAGE})
203
- // Escape single quotes in the picture URL and decode the picture URL
204
- user.picture = decodeURIComponent(user.picture).replace(/'/g, "\\'")
205
- if(user) {
206
- this.user = user
207
- this.loggedIn = true
208
- this.websites = await websiteList({connectorId: this.user.storage.connectorId})
209
- this.empty = this.websites.length === 0
210
- this.loading = false
211
- } else {
212
- this.openLogin()
213
- }
214
- } catch (error) {
215
- console.error(error)
216
- this.loading = false
217
- if(error.code === 401 || error.httpStatusCode === 401) {
218
- this.loggedIn = false
219
- this.openLogin()
220
- } else {
221
- this.error = `{{ api-translations[lang]["Failed to start dashboard"] }} - ${error.message}`
222
- this.message = ''
223
- }
224
- }
225
- },
226
-
227
- openLogin(id, lang) {
228
- //throw new Error('debug')
229
- const path = `/{{lang}}${CONNECTORS_PATH}`
230
- console.log(window.location.pathname, window.location.path, path)
231
- if(window.location.pathname === path) return
232
- window.open(path, '_self')
233
- },
234
-
235
- openEditor(id, lang) {
236
- window.open(`/?id=${id}&lang=${lang}&connectorId=${this.user.storage.connectorId}`, '_self')
237
- },
238
220
 
239
- async logout() {
240
- await logout({
241
- type: ConnectorType.STORAGE,
242
- connectorId: this.user.storage.connectorId,
243
- })
244
- window.location.reload()
245
- },
246
-
247
- async createWebsite() {
248
- try {
249
- if (!this.newWebsiteName) throw new Error('{{ api-translations[lang]["You need to provide a website name"] }}')
250
- this.loading = true
251
- const websiteId = toSafeId(this.newWebsiteName)
252
- const result = await websiteCreate({
253
- websiteId,
254
- data: {
255
- name: this.newWebsiteName,
256
- imageUrl: null,
257
- },
258
- connectorId: this.user.storage.connectorId
259
- })
260
- this.message = '{{ api-translations[lang]["Website created successfully"] }}'
261
- this.error = ''
262
- this.newWebsiteName = ''
263
- this.showCreationForm = false;
264
- this.websites = await websiteList({connectorId: this.user.storage.connectorId})
265
- this.empty = this.websites.length === 0
266
- this.loading = false
267
- return result
268
- } catch (error) {
269
- this.loading = false
270
- console.error(error)
271
- this.error = `{{ api-translations[lang]["Failed to create website"] }} - ${error.message}`
272
- this.message = ''
273
- }
274
- },
221
+ getIcon(connector) {
222
+ return decodeURIComponent(connector.icon.split(',').slice(1).join(','))
223
+ },
275
224
 
276
- async deleteWebsite(websiteId) {
277
- const ok = confirm('{{ api-translations[lang]["Deleting a website? Are your sure? Really?"] }}')
278
- if (!ok) return
279
- this.loading = true
280
- try {
281
- const result = await websiteDelete({websiteId, connectorId: this.user.storage.connectorId})
282
- this.message = '{{ api-translations[lang]["Website deleted successfully"] }}'
283
- this.error = ''
284
- this.websites = await websiteList({connectorId: this.user.storage.connectorId})
285
- this.empty = this.websites.length === 0
286
- this.loading = false
287
- return result
288
- } catch (error) {
289
- this.loading = false
290
- this.error = `{{ api-translations[lang]["Failed to delete website"] }} - ${error.message}`
291
- this.message = ''
292
- }
293
- },
225
+ getHref(connector) {
226
+ console.log(connector, connector.oauthUrl)
227
+ return connector.oauthUrl
228
+ },
294
229
 
295
- async duplicateWebsite(websiteId) {
296
- this.loading = true
297
- try {
298
- await websiteDuplicate({websiteId, connectorId: this.user.storage.connectorId, data: { name }})
299
- this.error = ''
300
- this.websites = await websiteList({connectorId: this.user.storage.connectorId})
301
- this.message = '{{ api-translations[lang]["Website duplicated successfully"] }}'
302
- this.empty = this.websites.length === 0
303
- this.loading = false
304
- } catch (error) {
305
- this.loading = false
306
- this.error = `{{ api-translations[lang]["Failed to duplicate website"] }} - ${error.message}`
307
- this.message = ''
308
- }
309
- },
230
+ getConnectorStyle(connector) {
231
+ return {
232
+ backgroundImage: `url(${connector.icon})`,
233
+ //color: connector.color,
234
+ //backgroundColor: connector.background
235
+ }
236
+ },
310
237
 
311
- async renameWebsite(websiteId) {
312
- const website = this.websites.find(w => w.websiteId === websiteId)
313
- const name = prompt('{{ api-translations[lang]["New name for this website"] }}', website.name)
314
- if (!name) return
238
+ async getConnectors() {
239
+ try {
315
240
  this.loading = true
316
- try {
317
- const result = await websiteMetaWrite({websiteId, connectorId: this.user.storage.connectorId, data: { name }})
318
- this.message = '{{ api-translations[lang]["Website renamed successfully"] }}'
319
- this.error = ''
320
- this.websites = await websiteList({connectorId: this.user.storage.connectorId})
321
- this.empty = this.websites.length === 0
322
- this.loading = false
323
- return result
324
- } catch (error) {
325
- this.loading = false
326
- this.error = `{{ api-translations[lang]["Failed to rename website"] }} - ${error.message}`
327
- this.message = ''
328
- }
329
- },
241
+ const connectors = await connectorList({ type: ConnectorType.STORAGE })
242
+ this.connectors = connectors
243
+ this.loading = false
244
+ } catch (error) {
245
+ this.loading = false
246
+ console.error(error)
247
+ this.error = `{{ api-translations[lang]["Failed to get connectors"] }} - ${error.message}`
248
+ this.message = ''
249
+ }
330
250
  },
331
- };
332
- // Prepare elements for vue
333
- document.querySelectorAll('[v-text], [v-html]')
251
+ openLogin() {}
252
+ },
253
+ };
254
+ // Prepare elements for vue
255
+ document.querySelectorAll('[v-text], [v-html]')
334
256
  .forEach(el => el.innerText = '')
335
257
 
336
- // Create the app
337
- const app = createApp(App);
258
+ document.querySelectorAll('[data-remove-href]')
259
+ .forEach(el => {
260
+ el.removeAttribute('href')
261
+ el.removeAttribute('data-remove-href')
262
+ })
338
263
 
339
- // Suppress "v-text will override element children" warning
340
- app.config.compilerOptions.directiveTransforms = {
341
- text: false,
342
- }
343
264
 
344
- // Mount the app
345
- app.mount('.app');
265
+ // Create the app
266
+ const app = createApp(App);
346
267
 
268
+ // Mount the app
269
+ app.mount('.app');
270
+
271
+
272
+ // Remove loading
273
+ setTimeout(() => {
274
+ document.querySelector('.before-js').classList.add('after-js')
275
+ }, 100)
347
276
 
348
- // Remove loading
349
- setTimeout(() => {
350
- document.querySelector('.before-js').classList.add('after-js')
351
- }, 100)
352
- })
353
277
  </script>
354
278
 
355
279
  <title>Silex Dashboard</title>
356
280
  <link rel="icon" href="/assets/favicon-32x32.png" />
357
281
  <meta name="og:title" property="og:title" content="Silex Dashboard"/>
358
282
  <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>
359
- <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
360
- assign var_imgx81_1983 = tina.connectorsConnection.edges | where: "node.lang", page.lang | first
361
- assign var_imgx81_1984 = var_imgx81_1983.node
362
- assign state_imgx81-1985_imgx81-7uhkrqd2giq = var_imgx81_1984
283
+ {% liquid
284
+ assign var_i2hcfw_22919 = tina.settingsConnection.edges | where: "node.lang", page.lang | first
285
+ assign state_i2hcfw-1214_i2hcfw-xbsn5ipretk = var_i2hcfw_22919
286
+ %}<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
287
+ assign var_imgx81_22906 = tina.connectorsConnection.edges | where: "node.lang", page.lang | first
288
+ assign var_imgx81_22907 = var_imgx81_22906.node
289
+ assign state_imgx81-1985_imgx81-7uhkrqd2giq = var_imgx81_22907
363
290
  %}<div id="imgx81" 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" class="subtitle-16">{% liquid
364
- assign var_it2175_1937 = state_imgx81-1985_imgx81-7uhkrqd2giq.subtitle
365
- echo var_it2175_1937
291
+ assign var_it2175_22902 = state_imgx81-1985_imgx81-7uhkrqd2giq.subtitle
292
+ echo var_it2175_22902
366
293
  %}</p></div><h3 id="iqc1xf" class="margin-top">{% liquid
367
- assign var_iqc1xf_1938 = state_imgx81-1985_imgx81-7uhkrqd2giq.recommended
368
- echo var_iqc1xf_1938
369
- %}</h3><div id="in62y2">{% liquid
370
- assign var_isqe61_1959 = state_imgx81-1985_imgx81-7uhkrqd2giq.connectors
294
+ assign var_iqc1xf_22903 = state_imgx81-1985_imgx81-7uhkrqd2giq.recommended
295
+ echo var_iqc1xf_22903
296
+ %}</h3><div id="in62y2"><div id="isqe61" class="" 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><DETAILS id="ihn6fj"><summary id="i8w75b" class="margin-30">{% liquid
297
+ assign var_i8w75b_22904 = state_imgx81-1985_imgx81-7uhkrqd2giq.advanced_users
298
+ echo var_i8w75b_22904
299
+ %}</summary><div class="" v-for="(connector, index) in connectors.slice(1)"><a href="/" class="connector__card" v-bind:href="connector.oauthUrl" :key="index"><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" class="text-centered">{% liquid
300
+ assign var_ijflxq_22905 = state_imgx81-1985_imgx81-7uhkrqd2giq.help
301
+ echo var_ijflxq_22905
302
+ %}</div></div><div id="i9msnk" class="text-white top-space-20" v-if="error" v-text="message" :test="message">Insert your text here</div><div id="i6akll" class="button button--tertiary text-centered" v-if="error" v-on:click="logout()">{{ api-translations[lang]["Logout"] }}</div></div></div><FOOTER class="footer">{% liquid
303
+ assign var_iprzeh_22918 = state_i2hcfw-1214_i2hcfw-xbsn5ipretk.node.footer_links
371
304
  %}
372
- {% for state_isqe61-589___data in var_isqe61_1959 %}
373
- {% liquid
374
- assign var_isqe61_1957 = forloop.index0
375
- assign var_isqe61_1958 = "0"
305
+ {% for state_isucae-3308___data in var_iprzeh_22918 %}
306
+ <div id="iprzeh" class="footer__column"><h3 href="" class="footer__item">{% liquid
307
+ assign var_ineync_22913 = state_isucae-3308___data.title
308
+ echo var_ineync_22913
309
+ %}</h3>{% liquid
310
+ assign var_i6qx92_22915 = state_isucae-3308___data.columns
376
311
  %}
377
- {% if var_isqe61_1957 <= var_isqe61_1958 %}
378
- <div id="isqe61" class="">{% liquid
379
- assign var_i0vhjr_1952 = state_isqe61-589___data.background_color
380
- assign state_i0vhjr-6879_i0vhjr-uop2xr4ta4 = var_i0vhjr_1952
381
- %}
382
- {% liquid
383
- assign var_i0vhjr_1953 = state_isqe61-589___data.color
384
- assign state_i0vhjr-6879_i0vhjr-q0yr34th38p = var_i0vhjr_1953
385
- %}<a id="i0vhjr" href="{% liquid
386
- assign var_i0vhjr_1954 = state_isqe61-589___data.auth_url
387
- echo var_i0vhjr_1954
388
- %}" class="connector__card" data-style="{% liquid
389
- assign var_i0vhjr_1955 = "background: " | append: state_i0vhjr-6879_i0vhjr-uop2xr4ta4 | append: "; color: " | append: state_i0vhjr-6879_i0vhjr-q0yr34th38p | append: ";"
390
- echo var_i0vhjr_1955
391
- %}" title="{% liquid
392
- assign var_i0vhjr_1956 = state_isqe61-589___data.description | strip_html
393
- echo var_i0vhjr_1956
394
- %}"><div id="io3lid" class="button-bar__item__icon">{% liquid
395
- assign var_io3lid_1950 = state_isqe61-589___data.icon
396
- echo var_io3lid_1950
397
- %}</div><div id="i87asw" class="connector__description">{% liquid
398
- assign var_i87asw_1951 = state_isqe61-589___data.text
399
- echo var_i87asw_1951
400
- %}</div></a></div>{% endif %}{% endfor %}</div><DETAILS id="igp4xl"><summary id="i8w75b" class="margin-30">{% liquid
401
- assign var_i8w75b_1960 = state_imgx81-1985_imgx81-7uhkrqd2giq.advanced_users
402
- echo var_i8w75b_1960
403
- %}</summary>{% liquid
404
- assign var_id9k25_1981 = state_imgx81-1985_imgx81-7uhkrqd2giq.connectors
405
- %}
406
- {% for state_isqe61-589___data in var_id9k25_1981 %}
407
- {% liquid
408
- assign var_id9k25_1979 = forloop.index0
409
- assign var_id9k25_1980 = "0"
410
- %}
411
- {% if var_id9k25_1979 > var_id9k25_1980 %}
412
- <div id="id9k25" href="" class="">{% liquid
413
- assign var_irgt6z_1974 = state_isqe61-589___data.background_color
414
- assign state_i0vhjr-6879_i0vhjr-uop2xr4ta4 = var_irgt6z_1974
415
- %}
416
- {% liquid
417
- assign var_irgt6z_1975 = state_isqe61-589___data.color
418
- assign state_i0vhjr-6879_i0vhjr-q0yr34th38p = var_irgt6z_1975
419
- %}<a href="{% liquid
420
- assign var_irgt6z_1976 = state_isqe61-589___data.auth_url
421
- echo var_irgt6z_1976
422
- %}" id="irgt6z" class="connector__card" data-style="{% liquid
423
- assign var_irgt6z_1977 = "background: " | append: state_i0vhjr-6879_i0vhjr-uop2xr4ta4 | append: "; color: " | append: state_i0vhjr-6879_i0vhjr-q0yr34th38p | append: ";"
424
- echo var_irgt6z_1977
425
- %}" title="{% liquid
426
- assign var_irgt6z_1978 = state_isqe61-589___data.description | strip_html
427
- echo var_irgt6z_1978
428
- %}"><div class="button-bar__item__icon">{% liquid
429
- assign var_iublx3_1972 = state_isqe61-589___data.icon
430
- echo var_iublx3_1972
431
- %}</div><div class="connector__description">{% liquid
432
- assign var_idatmu_1973 = state_isqe61-589___data.text
433
- echo var_idatmu_1973
434
- %}</div></a></div>{% endif %}{% endfor %}</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" class="text-centered">{% liquid
435
- assign var_ijflxq_1982 = state_imgx81-1985_imgx81-7uhkrqd2giq.help
436
- echo var_ijflxq_1982
437
- %}</div></div><div id="i9msnk" class="text-white top-space-20" v-if="error" v-text="message" :test="message">Insert your text here</div><div id="i6akll" class="button button--tertiary text-centered" v-if="error" v-on:click="logout()">{{ api-translations[lang]["Logout"] }}</div></div></div></body>
312
+ {% for state_i2u9h4-2642___data in var_i6qx92_22915 %}
313
+ <a href="{% liquid
314
+ assign var_i6qx92_22916 = state_i2u9h4-2642___data.url
315
+ echo var_i6qx92_22916
316
+ %}" class="footer__item" target="{% liquid
317
+ assign var_i6qx92_22917 = state_i2u9h4-2642___data.target
318
+ echo var_i6qx92_22917
319
+ %}">{% liquid
320
+ assign var_i6qx92_22914 = state_i2u9h4-2642___data.label
321
+ echo var_i6qx92_22914
322
+ %}</a>{% endfor %}</div>{% endfor %}</FOOTER></body>
438
323
  </html>
@@ -16,6 +16,31 @@ export default async function (configData) {
16
16
  body: JSON.stringify({
17
17
  query: `query {
18
18
  __typename
19
+ settingsConnection {
20
+ __typename
21
+ edges {
22
+ __typename
23
+ node {
24
+ __typename
25
+ footer_links {
26
+ __typename
27
+ title
28
+ columns {
29
+ __typename
30
+ label
31
+ url
32
+ target
33
+
34
+ }
35
+
36
+ }
37
+ lang
38
+
39
+ }
40
+
41
+ }
42
+
43
+ }
19
44
  connectorsConnection {
20
45
  __typename
21
46
  edges {
@@ -25,16 +50,6 @@ connectorsConnection {
25
50
  subtitle
26
51
  recommended
27
52
  advanced_users
28
- connectors {
29
- __typename
30
- background_color
31
- color
32
- auth_url
33
- description
34
- icon
35
- text
36
-
37
- }
38
53
  help
39
54
  lang
40
55