@silexlabs/silex-dashboard 1.0.73 → 1.0.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/_site/css/connectors-152b01dfacf0586ce2f3fb0ddbbf5a5bbcd181a48b4b20b275f837786b2889cd.css +1 -0
  2. package/_site/css/connectors-febcafaf261c0f23ca11fc13809f259c74dbdd50b6a47506ba295fdb99d1b4a4.css +1 -0
  3. package/_site/en/connectors/index.html +59 -3
  4. package/_site/fr/connectors/index.html +59 -3
  5. package/_site/js/main.js +59 -57
  6. package/_site/js/vue.cjs.js +1 -1
  7. package/_site/js/vue.cjs.prod.js +1 -1
  8. package/_site/js/vue.esm-browser.js +312 -286
  9. package/_site/js/vue.esm-browser.prod.js +6 -6
  10. package/_site/js/vue.esm-bundler.js +1 -1
  11. package/_site/js/vue.global.js +303 -282
  12. package/_site/js/vue.global.prod.js +6 -6
  13. package/_site/js/vue.runtime.esm-browser.js +293 -277
  14. package/_site/js/vue.runtime.esm-browser.prod.js +2 -2
  15. package/_site/js/vue.runtime.esm-bundler.js +1 -1
  16. package/_site/js/vue.runtime.global.js +284 -273
  17. package/_site/js/vue.runtime.global.prod.js +2 -2
  18. package/collections/connectors/en.md +3 -0
  19. package/collections/connectors/fr.md +3 -0
  20. package/package.json +1 -1
  21. package/templates/connectors-en.11tydata.mjs +18 -0
  22. package/templates/connectors-en.html +90 -28
  23. package/templates/connectors-fr.11tydata.mjs +18 -0
  24. package/templates/connectors-fr.html +90 -28
  25. package/templates/css/connectors-152b01dfacf0586ce2f3fb0ddbbf5a5bbcd181a48b4b20b275f837786b2889cd.css +1 -0
  26. package/templates/css/connectors-febcafaf261c0f23ca11fc13809f259c74dbdd50b6a47506ba295fdb99d1b4a4.css +1 -0
  27. package/templates/websites-en.11tydata.mjs +12 -0
  28. package/templates/websites-en.html +79 -79
  29. package/templates/websites-fr.11tydata.mjs +12 -0
  30. package/templates/websites-fr.html +79 -79
  31. package/tina/config.ts +10 -0
  32. package/tina/tina-lock.json +1 -1
@@ -0,0 +1 @@
1
+ * { box-sizing: border-box; } body {margin: 0;}.body{font-family:"Ubuntu", sans-serif;background-color:#f0f0f0;color:#2b1b63;}.subtitle-16{font-size:1rem;margin:0px 0px 20px 0px;}.subtitle-16.color--light{color:#636363;font-weight:700;}.button{font-size:0.8rem;padding:10px 20px 10px 20px;display:inline-block;border:2px solid #8873fe;transition:all 0.18s ease-out;font-weight:700;line-height:1.2rem;}.button.button--primary{background-color:#8873fe;color:white;}.button-bar{margin:20px 0px 20px 0px;display:flex;padding:30px 30px 30px 30px;align-items:center;justify-content:space-between;border-radius:4px 4px 4px 4px;background-color:#ffffff;}.button-bar.button-bar--full-width{justify-content:space-between;align-items:center;}.button-bar_item.button-bar__item--secondary{font-size:0.8rem;}.button.button--secondary{font-weight:400;color:#8873fe;border:2px solid #8873fe;}.footer{display:flex;margin:50px 0px 0px 0px;background-color:#ffffff;justify-content:space-evenly;padding:30px 30px 60px 30px;}.full-width{width:100%;}.box{border-radius:4px 4px 4px 4px;background-color:#ffffff;}.box.flex-between{align-items:center;}.button--tertiary{background-color:transparent;font-weight:400;}.button:hover{color:#8873fe;border:2px solid #8873fe;}.button.button--secondary:hover{background-color:white;border:2px solid rgba(136,115,254,0.5);}#imgx81{min-height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;}#in62y2{justify-content:center;}.big-button{border-radius:5px 5px 5px 5px;font-size:15px;margin:10px 10px 10px 10px;padding:15px 30px 15px 30px;font-weight:700;background-color:#ffffff;}#i9msnk{padding:10px;display:inline;}#i6akll{padding:10px;display:inline;}#ixzhcr{padding:10px;position:absolute;display:none;}.bg-silex-purpel{background-repeat:repeat-y;background-position:center top;background-attachment:scroll;background-size:contain;background-image:url(/assets/../assets/bg-purpel-silex.webp);}.text-centered{text-align:center;}.text-white{color:#ffffff;}.box.box_transp{background-color:rgba(255,255,255,0.5);}.top-space-20{margin:20px 0 0 0;}.button.button--tertiary{border:2px solid transparent;background-color:rgba(221,221,221,0.5);}.box_login{max-width:450px;width:100%;padding:60px 40px 60px 40px;}.button-bar__item--link.text-white{color:#ffffff;}.button.big-button{border:2px solid transparent;}.button.button--tertiary:hover{border:2px solid #8873fe;color:#8873fe;background-color:white;}.button-bar__item__icon{float:left;height:30px;margin:5px 5px 5px 5px;width:30px;background-repeat:no-repeat;background-position:center center;background-attachment:scroll;background-size:contain;background-image:none;}.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;margin:10px auto 10px auto;border:1px solid;border-radius:5px 5px 5px 5px;max-width:100%;display:flex;color:black;justify-content:center;padding:4px 0px 4px 0px;transition:all 0.25s ease;}#i3cney{width:100%;display:none;justify-content:center;}.connector__description{padding:5px 15px 5px 15px;}#ior0hl{color:black;}#igp4xl{justify-content:center;display:inline-block;width:100%;}#isqe61{display:inline-block;}.margin-top{margin:80px 0px 30px 0px;}.margin-30{margin:30px 0px 30px 0px;}.connector__card:link{text-decoration:none;color:black;border:1px solid;}.connector__card:hover{background-color:#8873fe;color:white;}#iqc1xf{display:none;}#it2175{margin:15px 0px 0px 0px;font-size:1rem;}#i8w75b{margin:10px 0px 10px 0px;font-size:0.95rem;font-weight:600;cursor:pointer;}#ijflxq{font-size:0.85rem;text-align:left;margin:30px 0px 0px 0px;}#iprzeh{min-height:100px;}#ibi9qh{display:inline-block;}.rgpd-checks{padding:10px 0px 10px 0px;display:flex;align-items:center;}.rgpd-checks__check{width:20px;height:20px;margin:0px 10px 0px 0px;}#ihn6fj{margin:20px 0px 0px 0px;}#errorDiv{color:#ff557a;font-weight:800;}
@@ -0,0 +1 @@
1
+ * { box-sizing: border-box; } body {margin: 0;}.body{font-family:"Ubuntu", sans-serif;background-color:#f0f0f0;color:#2b1b63;}.subtitle-16{font-size:1rem;margin:0px 0px 20px 0px;}.subtitle-16.color--light{color:#636363;font-weight:700;}.button{font-size:0.8rem;padding:10px 20px 10px 20px;display:inline-block;border:2px solid #8873fe;transition:all 0.18s ease-out;font-weight:700;line-height:1.2rem;}.button.button--primary{background-color:#8873fe;color:white;}.button-bar{margin:20px 0px 20px 0px;display:flex;padding:30px 30px 30px 30px;align-items:center;justify-content:space-between;border-radius:4px 4px 4px 4px;background-color:#ffffff;}.button-bar.button-bar--full-width{justify-content:space-between;align-items:center;}.button-bar_item.button-bar__item--secondary{font-size:0.8rem;}.button.button--secondary{font-weight:400;color:#8873fe;border:2px solid #8873fe;}.footer{display:flex;margin:50px 0px 0px 0px;background-color:#ffffff;justify-content:space-evenly;padding:30px 30px 60px 30px;}.full-width{width:100%;}.box{border-radius:4px 4px 4px 4px;background-color:#ffffff;}.box.flex-between{align-items:center;}.button--tertiary{background-color:transparent;font-weight:400;}.button:hover{color:#8873fe;border:2px solid #8873fe;}.button.button--secondary:hover{background-color:white;border:2px solid rgba(136,115,254,0.5);}#imgx81{min-height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;}#in62y2{justify-content:center;}.big-button{border-radius:5px 5px 5px 5px;font-size:15px;margin:10px 10px 10px 10px;padding:15px 30px 15px 30px;font-weight:700;background-color:#ffffff;}#i9msnk{padding:10px;display:inline;}#i6akll{padding:10px;display:inline;}#ixzhcr{padding:10px;position:absolute;display:none;}.bg-silex-purpel{background-repeat:repeat-y;background-position:center top;background-attachment:scroll;background-size:contain;background-image:url(/assets/../assets/bg-purpel-silex.webp);}.text-centered{text-align:center;}.text-white{color:#ffffff;}.box.box_transp{background-color:rgba(255,255,255,0.5);}.top-space-20{margin:20px 0 0 0;}.button.button--tertiary{border:2px solid transparent;background-color:rgba(221,221,221,0.5);}.box_login{max-width:450px;width:100%;padding:60px 40px 60px 40px;}.button-bar__item--link.text-white{color:#ffffff;}.button.big-button{border:2px solid transparent;}.button.button--tertiary:hover{border:2px solid #8873fe;color:#8873fe;background-color:white;}.button-bar__item__icon{float:left;height:30px;margin:5px 5px 5px 5px;width:30px;background-repeat:no-repeat;background-position:center center;background-attachment:scroll;background-size:contain;background-image:none;}.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;margin:10px auto 10px auto;border:1px solid;border-radius:5px 5px 5px 5px;max-width:100%;display:flex;color:black;justify-content:center;padding:4px 0px 4px 0px;transition:all 0.25s ease;}#i3cney{width:100%;display:none;justify-content:center;}.connector__description{padding:5px 15px 5px 15px;}#ior0hl{color:black;}#igp4xl{justify-content:center;display:inline-block;width:100%;}#isqe61{display:inline-block;}.margin-top{margin:80px 0px 30px 0px;}.margin-30{margin:30px 0px 30px 0px;}.connector__card:link{text-decoration:none;color:black;border:1px solid;}.connector__card:hover{background-color:#8873fe;color:white;}#iqc1xf{display:none;}#it2175{margin:15px 0px 0px 0px;font-size:1rem;}#i8w75b{margin:10px 0px 10px 0px;font-size:0.95rem;font-weight:600;cursor:pointer;}#ijflxq{font-size:0.85rem;text-align:left;margin:30px 0px 0px 0px;}#iprzeh{min-height:100px;}#ibi9qh{display:inline-block;}.rgpd-checks{padding:10px 0px 10px 0px;display:flex;align-items:center;}.rgpd-checks__check{width:20px;height:20px;margin:0px 10px 0px 0px;}#ihn6fj{margin:20px 0px 0px 0px;}
@@ -2,7 +2,7 @@
2
2
  <html lang="">
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
- <link rel="stylesheet" href="/css/connectors-66fe82f10a7a257f59212e18bb384b019ffb12192fa3f748951da7d4428733b4.css" />
5
+ <link rel="stylesheet" href="/css/connectors-152b01dfacf0586ce2f3fb0ddbbf5a5bbcd181a48b4b20b275f837786b2889cd.css" />
6
6
  <!-- font google -->
7
7
  <link rel="preconnect" href="https://fonts.gstatic.com" />
8
8
  <link href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;700&display=swap" rel="stylesheet">
@@ -191,6 +191,8 @@ const App = {
191
191
  user: null,
192
192
  showMenu: false,
193
193
  empty: false,
194
+ rgpdFeedback: false,
195
+ rgpdNL: false,
194
196
  }
195
197
  },
196
198
  mounted() {
@@ -204,6 +206,8 @@ const App = {
204
206
  // Go up one level because of the language prefix
205
207
  setServerUrl(window.location.origin)
206
208
  await this.getConnectors()
209
+ this.setRgpd('nl', this.getRgpd('nl') ?? true)
210
+ this.setRgpd('feedback', this.getRgpd('feedback') ?? true)
207
211
  } catch (error) {
208
212
  console.error(error)
209
213
  this.loading = false
@@ -244,7 +248,59 @@ const App = {
244
248
  this.message = ''
245
249
  }
246
250
  },
247
- openLogin() {}
251
+ openLogin() {},
252
+ // name: "nl" | "feedback", value: Boolean
253
+ setRgpd(name, value) {
254
+ const errorDiv = document.getElementById('errorDiv');
255
+ console.log('set RGPD', {name, value, errorDiv})
256
+ if (errorDiv) errorDiv.textContent = ''; // Clear previous errors
257
+
258
+ if(name === 'feedback') this.rgpdFeedback = value.toString()
259
+ if(name === 'nl') this.rgpdNL = value.toString()
260
+
261
+ if (typeof Storage !== 'undefined') {
262
+ try {
263
+ localStorage.setItem(name, JSON.stringify(value));
264
+ console.log(`RGPD setting saved: ${name} = ${value}`);
265
+ } catch (e) {
266
+ if (errorDiv) {
267
+ errorDiv.textContent = 'Error saving to localStorage: ' + e.message;
268
+ }
269
+ console.error('Error saving to localStorage', e);
270
+ }
271
+ } else {
272
+ const warning = 'Local storage is not supported in this browser.';
273
+ if (errorDiv) {
274
+ errorDiv.textContent = warning;
275
+ }
276
+ console.warn(warning);
277
+ }
278
+ },
279
+ getRgpd(name) {
280
+ const errorDiv = document.getElementById('errorDiv');
281
+ if (errorDiv) errorDiv.textContent = ''; // Clear previous errors
282
+ console.log('getRgpd', name)
283
+
284
+ if (typeof Storage !== 'undefined') {
285
+ try {
286
+ const value = localStorage.getItem(name);
287
+ return value !== null ? JSON.parse(value) : null; // Return parsed value or null if not found
288
+ } catch (e) {
289
+ if (errorDiv) {
290
+ errorDiv.textContent = 'Error retrieving from localStorage: ' + e.message;
291
+ }
292
+ console.error('Error retrieving from localStorage', e);
293
+ return null;
294
+ }
295
+ } else {
296
+ const warning = 'Local storage is not supported in this browser.';
297
+ if (errorDiv) {
298
+ errorDiv.textContent = warning;
299
+ }
300
+ console.warn(warning);
301
+ return null;
302
+ }
303
+ },
248
304
  },
249
305
  };
250
306
  // Prepare elements for vue
@@ -276,7 +332,7 @@ setTimeout(() => {
276
332
  <link rel="icon" href="/assets/favicon-32x32.png" />
277
333
  <meta name="og:title" property="og:title" content="Silex Dashboard"/>
278
334
  <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>
279
- <body id="i2hcfw" class="body app before-js"><A id="ixzhcr" href="/" class="button button-bar__item--secondary">< Back</A><div id="imawg3" class="bg-silex-purpel"><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">Please login to continue</p></div><h3 id="iqc1xf" style="display:none;" class="margin-top">Recommended and free</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><DETAILS id="ihn6fj"><summary id="i8w75b" class="margin-30">Advanced users</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">Do you need help? Check <a href="https://docs.silex.me/en/user/login" target="_blank">the documentation</a>. <br><br> By logging in, you agree to the <a href="https://docs.silex.me/en/terms" target="_blank">terms of use</a> and the <a href="https://docs.silex.me/en/security" target="_blank">privacy policy</a>.</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()">Logout</div></div></div><FOOTER class="footer">
335
+ <body id="i2hcfw" class="body app before-js"><A id="ixzhcr" href="/" class="button button-bar__item--secondary">< Back</A><div id="imawg3" class="bg-silex-purpel"><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">Please login to continue</p></div><h3 id="iqc1xf" style="display:none;" class="margin-top">Recommended and free</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="">Allow contact for debugging and feedback</label></div><div id="iahvhn" class="rgpd-checks"><input type="checkbox" name="nl-check" id="nl-check" checked __p="undefined" class="rgpd-checks__check" v-on:change="(event) => setRgpd('nl', event.target.checked)" v-model="rgpdNL"></input><label for="nl-check" id="isjk6j" class="">Subscribe to our newsletter</label></div><div id="errorDiv"></div></div><DETAILS id="ihn6fj"><summary id="i8w75b" class="margin-30">Advanced users</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">Do you need help? Check <a href="https://docs.silex.me/en/user/login" target="_blank">the documentation</a>. <br><br> By logging in, you agree to the <a href="https://docs.silex.me/en/terms" target="_blank">terms of use</a> and the <a href="https://docs.silex.me/en/security" target="_blank">privacy policy</a>.</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()">Logout</div></div></div><FOOTER class="footer">
280
336
 
281
337
  <div id="iprzeh" style="min-height:100px;" class="footer__column"><h3 href="" class="footer__item">Social & community</h3>
282
338
 
@@ -2,7 +2,7 @@
2
2
  <html lang="">
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
- <link rel="stylesheet" href="/css/connectors-66fe82f10a7a257f59212e18bb384b019ffb12192fa3f748951da7d4428733b4.css" />
5
+ <link rel="stylesheet" href="/css/connectors-152b01dfacf0586ce2f3fb0ddbbf5a5bbcd181a48b4b20b275f837786b2889cd.css" />
6
6
  <!-- font google -->
7
7
  <link rel="preconnect" href="https://fonts.gstatic.com" />
8
8
  <link href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;700&display=swap" rel="stylesheet">
@@ -191,6 +191,8 @@ const App = {
191
191
  user: null,
192
192
  showMenu: false,
193
193
  empty: false,
194
+ rgpdFeedback: false,
195
+ rgpdNL: false,
194
196
  }
195
197
  },
196
198
  mounted() {
@@ -204,6 +206,8 @@ const App = {
204
206
  // Go up one level because of the language prefix
205
207
  setServerUrl(window.location.origin)
206
208
  await this.getConnectors()
209
+ this.setRgpd('nl', this.getRgpd('nl') ?? true)
210
+ this.setRgpd('feedback', this.getRgpd('feedback') ?? true)
207
211
  } catch (error) {
208
212
  console.error(error)
209
213
  this.loading = false
@@ -244,7 +248,59 @@ const App = {
244
248
  this.message = ''
245
249
  }
246
250
  },
247
- openLogin() {}
251
+ openLogin() {},
252
+ // name: "nl" | "feedback", value: Boolean
253
+ setRgpd(name, value) {
254
+ const errorDiv = document.getElementById('errorDiv');
255
+ console.log('set RGPD', {name, value, errorDiv})
256
+ if (errorDiv) errorDiv.textContent = ''; // Clear previous errors
257
+
258
+ if(name === 'feedback') this.rgpdFeedback = value.toString()
259
+ if(name === 'nl') this.rgpdNL = value.toString()
260
+
261
+ if (typeof Storage !== 'undefined') {
262
+ try {
263
+ localStorage.setItem(name, JSON.stringify(value));
264
+ console.log(`RGPD setting saved: ${name} = ${value}`);
265
+ } catch (e) {
266
+ if (errorDiv) {
267
+ errorDiv.textContent = 'Error saving to localStorage: ' + e.message;
268
+ }
269
+ console.error('Error saving to localStorage', e);
270
+ }
271
+ } else {
272
+ const warning = 'Local storage is not supported in this browser.';
273
+ if (errorDiv) {
274
+ errorDiv.textContent = warning;
275
+ }
276
+ console.warn(warning);
277
+ }
278
+ },
279
+ getRgpd(name) {
280
+ const errorDiv = document.getElementById('errorDiv');
281
+ if (errorDiv) errorDiv.textContent = ''; // Clear previous errors
282
+ console.log('getRgpd', name)
283
+
284
+ if (typeof Storage !== 'undefined') {
285
+ try {
286
+ const value = localStorage.getItem(name);
287
+ return value !== null ? JSON.parse(value) : null; // Return parsed value or null if not found
288
+ } catch (e) {
289
+ if (errorDiv) {
290
+ errorDiv.textContent = 'Error retrieving from localStorage: ' + e.message;
291
+ }
292
+ console.error('Error retrieving from localStorage', e);
293
+ return null;
294
+ }
295
+ } else {
296
+ const warning = 'Local storage is not supported in this browser.';
297
+ if (errorDiv) {
298
+ errorDiv.textContent = warning;
299
+ }
300
+ console.warn(warning);
301
+ return null;
302
+ }
303
+ },
248
304
  },
249
305
  };
250
306
  // Prepare elements for vue
@@ -276,7 +332,7 @@ setTimeout(() => {
276
332
  <link rel="icon" href="/assets/favicon-32x32.png" />
277
333
  <meta name="og:title" property="og:title" content="Silex Dashboard"/>
278
334
  <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>
279
- <body id="i2hcfw" class="body app before-js"><A id="ixzhcr" href="/" class="button button-bar__item--secondary">< Retour</A><div id="imawg3" class="bg-silex-purpel"><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">Connectez-vous pour continuer</p></div><h3 id="iqc1xf" style="display:none;" class="margin-top">Recommandé et gratuit</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><DETAILS id="ihn6fj"><summary id="i8w75b" class="margin-30">Utilisateurs avancés</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">Avez-vous besoin d'aide ? Consultez <a href="https://docs.silex.me/fr/user/login" target="_blank">la documentation</a>. <br><br> En vous connectant, vous acceptez les <a href="https://docs.silex.me/fr/terms" target="_blank">conditions d'utilisation</a> et la <a href="https://docs.silex.me/fr/security" target="_blank">politique de confidentialité</a>.</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()">Déconnexion</div></div></div><FOOTER class="footer">
335
+ <body id="i2hcfw" class="body app before-js"><A id="ixzhcr" href="/" class="button button-bar__item--secondary">< Retour</A><div id="imawg3" class="bg-silex-purpel"><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">Connectez-vous pour continuer</p></div><h3 id="iqc1xf" style="display:none;" class="margin-top">Recommandé et gratuit</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="">Autoriser le contact pour débogage et feedback</label></div><div id="iahvhn" class="rgpd-checks"><input type="checkbox" name="nl-check" id="nl-check" checked __p="undefined" class="rgpd-checks__check" v-on:change="(event) => setRgpd('nl', event.target.checked)" v-model="rgpdNL"></input><label for="nl-check" id="isjk6j" class="">S'abonner à la newsletter</label></div><div id="errorDiv"></div></div><DETAILS id="ihn6fj"><summary id="i8w75b" class="margin-30">Utilisateurs avancés</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">Avez-vous besoin d'aide ? Consultez <a href="https://docs.silex.me/fr/user/login" target="_blank">la documentation</a>. <br><br> En vous connectant, vous acceptez les <a href="https://docs.silex.me/fr/terms" target="_blank">conditions d'utilisation</a> et la <a href="https://docs.silex.me/fr/security" target="_blank">politique de confidentialité</a>.</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()">Déconnexion</div></div></div><FOOTER class="footer">
280
336
 
281
337
  <div id="iprzeh" style="min-height:100px;" class="footer__column"><h3 href="" class="footer__item">Social & communauté</h3>
282
338