@silexlabs/silex-dashboard 1.0.41 → 1.0.45
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.
- package/.gitmodules +2 -2
- package/11ty/eleventy.config.mjs +62 -0
- package/README.md +8 -2
- package/_site/css/connectors-61bd21c2345101e48cc530cacf3afc0156ce7e089fcef3a34f853a537f0c55f2.css +1 -0
- package/_site/css/websites-4b9b2b0a0a907b33eca109d50c2a3eee97f1955c742cef487110d21a0bbf8f50.css +1 -0
- package/_site/en/connectors/index.html +176 -181
- package/_site/en/index.html +59 -470
- package/_site/fr/connectors/index.html +176 -181
- package/_site/fr/index.html +59 -470
- package/_site/js/main.js +362 -0
- package/_site/js/main.js.LICENSE.txt +38 -0
- package/_site/js/vue.cjs.js +89 -0
- package/_site/js/vue.cjs.prod.js +75 -0
- package/_site/js/vue.d.mts +7 -0
- package/_site/js/vue.d.ts +7 -0
- package/_site/js/vue.esm-browser.js +16740 -0
- package/_site/js/vue.esm-browser.prod.js +12 -0
- package/_site/js/vue.esm-bundler.js +80 -0
- package/_site/js/vue.global.js +16725 -0
- package/_site/js/vue.global.prod.js +12 -0
- package/_site/js/vue.runtime.esm-browser.js +11155 -0
- package/_site/js/vue.runtime.esm-browser.prod.js +12 -0
- package/_site/js/vue.runtime.esm-bundler.js +26 -0
- package/_site/js/vue.runtime.global.js +11302 -0
- package/_site/js/vue.runtime.global.prod.js +12 -0
- package/collections/connectors/en.md +70 -0
- package/collections/connectors/fr.md +72 -0
- package/collections/home/en.md +57 -0
- package/{pages/fr/index.md → collections/home/fr.md} +20 -21
- package/collections/languages/en.json +5 -0
- package/collections/languages/fr.json +5 -0
- package/collections/settings/en.json +127 -0
- package/collections/settings/fr.json +131 -0
- package/package.json +17 -8
- package/silex/client-config.js +24 -0
- package/{.silex.js → silex/server-config.js} +8 -18
- package/templates/connectors-en.11tydata.mjs +56 -0
- package/templates/connectors-en.html +440 -0
- package/templates/connectors-fr.11tydata.mjs +56 -0
- package/templates/connectors-fr.html +440 -0
- package/templates/css/connectors-61bd21c2345101e48cc530cacf3afc0156ce7e089fcef3a34f853a537f0c55f2.css +1 -0
- package/templates/css/websites-4b9b2b0a0a907b33eca109d50c2a3eee97f1955c742cef487110d21a0bbf8f50.css +1 -0
- package/templates/websites-en.11tydata.mjs +108 -0
- package/templates/websites-en.html +478 -0
- package/templates/websites-fr.11tydata.mjs +108 -0
- package/templates/websites-fr.html +478 -0
- package/tina/config.ts +258 -0
- package/tina/tina-lock.json +1 -0
- package/.eleventy.js +0 -11
- package/.silex-client.js +0 -22
- package/_data/languages.json +0 -7
- package/_includes/api-connectors.js.html +0 -96
- package/_includes/api-websites.js.html +0 -189
- package/_includes/connectors.html +0 -253
- package/_includes/websites.html +0 -548
- package/_silex/old/assets/alex-hoyau.jpg +0 -0
- package/_silex/old/assets/alex-small.jpg +0 -0
- package/_silex/old/assets/empty-projects.gif +0 -0
- package/_silex/old/assets/gitlab.svg +0 -13
- package/_silex/old/assets/picto-silex.png +0 -0
- package/_silex/old/assets/silex-icon-2018@200px.png +0 -0
- package/_silex/old/meta.json +0 -1
- package/_silex/old/website.json +0 -1
- package/_site/assets/alex-small.jpg +0 -0
- package/_site/assets/gitlab.svg +0 -13
- package/_site/assets/silex-dashboard.png +0 -0
- package/_site/assets/silex-icon-2018@200px.png +0 -0
- package/_site/css/connectors.css +0 -1
- package/_site/css/websites.css +0 -1
- package/assets/alex-small.jpg +0 -0
- package/assets/bg-purpel-silex.webp +0 -0
- package/assets/bg-silex-purpel.webp +0 -0
- package/assets/empty-projects-sos.gif +0 -0
- package/assets/gitlab.svg +0 -13
- package/assets/logo-silex.svg +0 -1
- package/assets/picto-silex@3x.png +0 -0
- package/assets/silex-dashboard.png +0 -0
- package/assets/silex-icon-2018@200px.png +0 -0
- package/pages/connectors.css.liquid +0 -4
- package/pages/en/connectors.md +0 -4
- package/pages/en/en.json +0 -72
- package/pages/en/index.md +0 -28
- package/pages/fr/connectors.md +0 -5
- package/pages/fr/fr.json +0 -72
- package/pages/pages.11tydata.js +0 -5
- package/pages/websites.css.liquid +0 -4
- /package/{_data → 11ty/_data}/api-translations.json +0 -0
- /package/{_data → 11ty/_data}/site.js +0 -0
- /package/{_includes → 11ty/_includes}/alternate.liquid +0 -0
- /package/{_silex/old → templates}/assets/bg-purpel-silex.webp +0 -0
- /package/{_silex/old → templates}/assets/bg-silex-purpel.webp +0 -0
- /package/{_silex/old → templates}/assets/empty-projects-sos.gif +0 -0
- /package/{assets → templates/assets}/favicon-32x32.png +0 -0
- /package/{_silex/old → templates}/assets/logo-silex.svg +0 -0
- /package/{_silex/old → templates}/assets/picto-silex@3x.png +0 -0
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
---
|
|
2
|
+
permalink: "/{{ lang }}/connectors/"
|
|
3
|
+
lang: "fr"
|
|
4
|
+
collection: "Connectors"
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
<!DOCTYPE html>
|
|
8
|
+
<html lang="">
|
|
9
|
+
<head>
|
|
10
|
+
<meta charset="UTF-8">
|
|
11
|
+
<link rel="stylesheet" href="/css/connectors-61bd21c2345101e48cc530cacf3afc0156ce7e089fcef3a34f853a537f0c55f2.css" />
|
|
12
|
+
<!-- font google -->
|
|
13
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" />
|
|
14
|
+
<link href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;700&display=swap" rel="stylesheet">
|
|
15
|
+
{% render "alternate.liquid" languages: languages lang: lang page: page %}
|
|
16
|
+
<style>
|
|
17
|
+
.before-js > * {
|
|
18
|
+
visibility: hidden;
|
|
19
|
+
opacity: 0;
|
|
20
|
+
transition: opacity .5s ease;
|
|
21
|
+
}
|
|
22
|
+
.before-js[data-gjs-type] > *, /* This is only inside the editor, .before-js needs to be on the body */
|
|
23
|
+
.after-js > * {
|
|
24
|
+
visibility: visible;
|
|
25
|
+
opacity: 1;
|
|
26
|
+
}
|
|
27
|
+
.before-js:before {
|
|
28
|
+
content: 'Loading';
|
|
29
|
+
position: absolute;
|
|
30
|
+
top: 49%;
|
|
31
|
+
left: 49%;
|
|
32
|
+
}
|
|
33
|
+
.before-js[data-gjs-type]:before, /* This is only inside the editor, .before-js needs to be on the body */
|
|
34
|
+
.after-js:before {
|
|
35
|
+
content: none;
|
|
36
|
+
}
|
|
37
|
+
/*BTNS*/
|
|
38
|
+
.button, .pointer {
|
|
39
|
+
cursor: pointer!important}
|
|
40
|
+
.button{
|
|
41
|
+
min-width:110px;
|
|
42
|
+
}
|
|
43
|
+
/*BTNS*/
|
|
44
|
+
a {
|
|
45
|
+
text-decoration: none;
|
|
46
|
+
color:#8873FE;
|
|
47
|
+
}
|
|
48
|
+
a:hover {
|
|
49
|
+
text-decoration: underline;
|
|
50
|
+
}
|
|
51
|
+
.uppercase {
|
|
52
|
+
text-transform: uppercase;
|
|
53
|
+
}
|
|
54
|
+
.underline:hover{
|
|
55
|
+
text-decoration: underline;
|
|
56
|
+
text-decoration-thickness: from-font;
|
|
57
|
+
text-underline-position: under;
|
|
58
|
+
}
|
|
59
|
+
/*footer position*/
|
|
60
|
+
.main-min-height {
|
|
61
|
+
min-height: calc(100vh - 560px);
|
|
62
|
+
}
|
|
63
|
+
/*footer position*/
|
|
64
|
+
/*label*/
|
|
65
|
+
::placeholder {
|
|
66
|
+
color: #8873FE;
|
|
67
|
+
}
|
|
68
|
+
input:focus {
|
|
69
|
+
border: 2px solid #9977FE;
|
|
70
|
+
background-color:#ffffff;
|
|
71
|
+
}
|
|
72
|
+
:focus {
|
|
73
|
+
outline: none;
|
|
74
|
+
}
|
|
75
|
+
/*label*/
|
|
76
|
+
.skeleton-anim:after {
|
|
77
|
+
width: 100%;
|
|
78
|
+
height: 100%;
|
|
79
|
+
position: absolute;
|
|
80
|
+
top: 0;
|
|
81
|
+
left: 0;
|
|
82
|
+
content: "";
|
|
83
|
+
background:
|
|
84
|
+
linear-gradient(0.25turn, transparent, rgba(255,255,255,.75), transparent),
|
|
85
|
+
linear-gradient(transparent, transparent),
|
|
86
|
+
radial-gradient(38px circle at 19px 19px, transparent 50%, transparent 51%),
|
|
87
|
+
linear-gradient(transparent, transparent);
|
|
88
|
+
background-repeat: no-repeat;
|
|
89
|
+
background-size: 315px 250px, 315px 180px, 100px 100px, 225px 30px;
|
|
90
|
+
background-position: -315px 0, 0 0, 0px 190px, 50px 195px;
|
|
91
|
+
animation: loading 1.5s infinite;
|
|
92
|
+
}
|
|
93
|
+
@keyframes loading {
|
|
94
|
+
to {
|
|
95
|
+
background-position: 200% 0, 0 0, 0 190px, 50px 195px;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/*FX ANIMATIONS*/
|
|
99
|
+
/*scale-round-inside_pour-BTN*/
|
|
100
|
+
.fx-scale-round {
|
|
101
|
+
position:relative;
|
|
102
|
+
z-index: 10;
|
|
103
|
+
overflow: hidden;
|
|
104
|
+
}
|
|
105
|
+
.fx-scale-round::after {
|
|
106
|
+
content: "";
|
|
107
|
+
background: #ffffff;
|
|
108
|
+
position: absolute;
|
|
109
|
+
z-index: -1;
|
|
110
|
+
border-radius: 50%;
|
|
111
|
+
left: -50%;
|
|
112
|
+
right: -50%;
|
|
113
|
+
top: -100%;
|
|
114
|
+
bottom: -100%;
|
|
115
|
+
transform: scale(0, 0);
|
|
116
|
+
transform-origin: center bottom;
|
|
117
|
+
transition: all 0.3s ease-out;
|
|
118
|
+
}
|
|
119
|
+
.fx-scale-round:hover {
|
|
120
|
+
transform-origin: center bottom;
|
|
121
|
+
transform: scale(1.1);
|
|
122
|
+
transition: transform 0.2s cubic-bezier(0, -0.530, 0.405, 2.8);
|
|
123
|
+
}
|
|
124
|
+
.fx-scale-round:hover::after {
|
|
125
|
+
transform: scale(1, 1);
|
|
126
|
+
transition: transform 0.2s cubic-bezier(0, -0.530, 0.405, 2.8);
|
|
127
|
+
}
|
|
128
|
+
/*scale-round-inside_pour-BTN*/
|
|
129
|
+
/*scale*/
|
|
130
|
+
.fx-scale:hover {
|
|
131
|
+
transform-origin: center bottom;
|
|
132
|
+
transform: scale(1.1);
|
|
133
|
+
transition: transform 0.2s cubic-bezier(0, -0.530, 0.405, 2.8);
|
|
134
|
+
}
|
|
135
|
+
/*flash*/
|
|
136
|
+
.fx-flash:hover {
|
|
137
|
+
animation: flash-in .25s ;
|
|
138
|
+
}
|
|
139
|
+
/*flash-in animation*/
|
|
140
|
+
@keyframes flash-in{
|
|
141
|
+
0% {
|
|
142
|
+
opacity:.25;
|
|
143
|
+
}
|
|
144
|
+
100% {
|
|
145
|
+
opacity:1;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/*flash-in animation*/
|
|
149
|
+
/*FX ANIMATIONS*/
|
|
150
|
+
</style>
|
|
151
|
+
<script src="/js/vue.global.prod.js"></script>
|
|
152
|
+
<script src="/js/main.js"></script>
|
|
153
|
+
<script type="module">
|
|
154
|
+
console.log('xxxxxx')
|
|
155
|
+
const CONNECTORS_PATH = '/connectors/'
|
|
156
|
+
window.addEventListener('load', function() {
|
|
157
|
+
console.log('xxxxxx')
|
|
158
|
+
const { createApp } = Vue;
|
|
159
|
+
const { api, constants, types } = silex;
|
|
160
|
+
const {
|
|
161
|
+
ConnectorType,
|
|
162
|
+
} = types
|
|
163
|
+
const {
|
|
164
|
+
setServerUrl,
|
|
165
|
+
getUser,
|
|
166
|
+
logout,
|
|
167
|
+
websiteDelete,
|
|
168
|
+
websiteDuplicate,
|
|
169
|
+
websiteList,
|
|
170
|
+
websiteCreate,
|
|
171
|
+
websiteMetaWrite,
|
|
172
|
+
} = api
|
|
173
|
+
function toSafeId(name) {
|
|
174
|
+
return name.replace(/[/\\?%*:|"<>]/g, '_')
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
const App = {
|
|
178
|
+
data() {
|
|
179
|
+
return {
|
|
180
|
+
websites: [],
|
|
181
|
+
newWebsiteName: '',
|
|
182
|
+
showCreationForm: false,
|
|
183
|
+
error: null,
|
|
184
|
+
message: null,
|
|
185
|
+
loggedIn: false,
|
|
186
|
+
loading: true,
|
|
187
|
+
storage: null,
|
|
188
|
+
user: null,
|
|
189
|
+
showMenu: false,
|
|
190
|
+
empty: false,
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
mounted() {
|
|
194
|
+
this.init()
|
|
195
|
+
},
|
|
196
|
+
|
|
197
|
+
methods: {
|
|
198
|
+
async init() {
|
|
199
|
+
try {
|
|
200
|
+
// Init Silex server path
|
|
201
|
+
// Go up one level because of the language prefix
|
|
202
|
+
setServerUrl(window.location.origin)
|
|
203
|
+
// Start
|
|
204
|
+
const user = await getUser({type: ConnectorType.STORAGE})
|
|
205
|
+
// Escape single quotes in the picture URL and decode the picture URL
|
|
206
|
+
user.picture = decodeURIComponent(user.picture).replace(/'/g, "\\'")
|
|
207
|
+
if(user) {
|
|
208
|
+
this.user = user
|
|
209
|
+
this.loggedIn = true
|
|
210
|
+
this.websites = await websiteList({connectorId: this.user.storage.connectorId})
|
|
211
|
+
this.empty = this.websites.length === 0
|
|
212
|
+
this.loading = false
|
|
213
|
+
} else {
|
|
214
|
+
this.openLogin()
|
|
215
|
+
}
|
|
216
|
+
} catch (error) {
|
|
217
|
+
console.error(error)
|
|
218
|
+
this.loading = false
|
|
219
|
+
if(error.code === 401 || error.httpStatusCode === 401) {
|
|
220
|
+
this.loggedIn = false
|
|
221
|
+
this.openLogin()
|
|
222
|
+
} else {
|
|
223
|
+
this.error = `{{ api-translations[lang]["Failed to start dashboard"] }} - ${error.message}`
|
|
224
|
+
this.message = ''
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
|
|
229
|
+
openLogin(id, lang) {
|
|
230
|
+
//throw new Error('debug')
|
|
231
|
+
const path = `/{{lang}}${CONNECTORS_PATH}`
|
|
232
|
+
console.log(window.location.pathname, window.location.path, path)
|
|
233
|
+
if(window.location.pathname === path) return
|
|
234
|
+
window.open(path, '_self')
|
|
235
|
+
},
|
|
236
|
+
|
|
237
|
+
openEditor(id, lang) {
|
|
238
|
+
window.open(`/?id=${id}&lang=${lang}&connectorId=${this.user.storage.connectorId}`, '_self')
|
|
239
|
+
},
|
|
240
|
+
|
|
241
|
+
async logout() {
|
|
242
|
+
await logout({
|
|
243
|
+
type: ConnectorType.STORAGE,
|
|
244
|
+
connectorId: this.user.storage.connectorId,
|
|
245
|
+
})
|
|
246
|
+
window.location.reload()
|
|
247
|
+
},
|
|
248
|
+
|
|
249
|
+
async createWebsite() {
|
|
250
|
+
try {
|
|
251
|
+
if (!this.newWebsiteName) throw new Error('{{ api-translations[lang]["You need to provide a website name"] }}')
|
|
252
|
+
this.loading = true
|
|
253
|
+
const websiteId = toSafeId(this.newWebsiteName)
|
|
254
|
+
const result = await websiteCreate({
|
|
255
|
+
websiteId,
|
|
256
|
+
data: {
|
|
257
|
+
name: this.newWebsiteName,
|
|
258
|
+
imageUrl: null,
|
|
259
|
+
},
|
|
260
|
+
connectorId: this.user.storage.connectorId
|
|
261
|
+
})
|
|
262
|
+
this.message = '{{ api-translations[lang]["Website created successfully"] }}'
|
|
263
|
+
this.error = ''
|
|
264
|
+
this.newWebsiteName = ''
|
|
265
|
+
this.showCreationForm = false;
|
|
266
|
+
this.websites = await websiteList({connectorId: this.user.storage.connectorId})
|
|
267
|
+
this.empty = this.websites.length === 0
|
|
268
|
+
this.loading = false
|
|
269
|
+
return result
|
|
270
|
+
} catch (error) {
|
|
271
|
+
this.loading = false
|
|
272
|
+
console.error(error)
|
|
273
|
+
this.error = `{{ api-translations[lang]["Failed to create website"] }} - ${error.message}`
|
|
274
|
+
this.message = ''
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
|
|
278
|
+
async deleteWebsite(websiteId) {
|
|
279
|
+
const ok = confirm('{{ api-translations[lang]["Deleting a website? Are your sure? Really?"] }}')
|
|
280
|
+
if (!ok) return
|
|
281
|
+
this.loading = true
|
|
282
|
+
try {
|
|
283
|
+
const result = await websiteDelete({websiteId, connectorId: this.user.storage.connectorId})
|
|
284
|
+
this.message = '{{ api-translations[lang]["Website deleted successfully"] }}'
|
|
285
|
+
this.error = ''
|
|
286
|
+
this.websites = await websiteList({connectorId: this.user.storage.connectorId})
|
|
287
|
+
this.empty = this.websites.length === 0
|
|
288
|
+
this.loading = false
|
|
289
|
+
return result
|
|
290
|
+
} catch (error) {
|
|
291
|
+
this.loading = false
|
|
292
|
+
this.error = `{{ api-translations[lang]["Failed to delete website"] }} - ${error.message}`
|
|
293
|
+
this.message = ''
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
|
|
297
|
+
async duplicateWebsite(websiteId) {
|
|
298
|
+
this.loading = true
|
|
299
|
+
try {
|
|
300
|
+
await websiteDuplicate({websiteId, connectorId: this.user.storage.connectorId, data: { name }})
|
|
301
|
+
this.error = ''
|
|
302
|
+
this.websites = await websiteList({connectorId: this.user.storage.connectorId})
|
|
303
|
+
this.message = '{{ api-translations[lang]["Website duplicated successfully"] }}'
|
|
304
|
+
this.empty = this.websites.length === 0
|
|
305
|
+
this.loading = false
|
|
306
|
+
} catch (error) {
|
|
307
|
+
this.loading = false
|
|
308
|
+
this.error = `{{ api-translations[lang]["Failed to duplicate website"] }} - ${error.message}`
|
|
309
|
+
this.message = ''
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
|
|
313
|
+
async renameWebsite(websiteId) {
|
|
314
|
+
const website = this.websites.find(w => w.websiteId === websiteId)
|
|
315
|
+
const name = prompt('{{ api-translations[lang]["New name for this website"] }}', website.name)
|
|
316
|
+
if (!name) return
|
|
317
|
+
this.loading = true
|
|
318
|
+
try {
|
|
319
|
+
const result = await websiteMetaWrite({websiteId, connectorId: this.user.storage.connectorId, data: { name }})
|
|
320
|
+
this.message = '{{ api-translations[lang]["Website renamed successfully"] }}'
|
|
321
|
+
this.error = ''
|
|
322
|
+
this.websites = await websiteList({connectorId: this.user.storage.connectorId})
|
|
323
|
+
this.empty = this.websites.length === 0
|
|
324
|
+
this.loading = false
|
|
325
|
+
return result
|
|
326
|
+
} catch (error) {
|
|
327
|
+
this.loading = false
|
|
328
|
+
this.error = `{{ api-translations[lang]["Failed to rename website"] }} - ${error.message}`
|
|
329
|
+
this.message = ''
|
|
330
|
+
}
|
|
331
|
+
},
|
|
332
|
+
},
|
|
333
|
+
};
|
|
334
|
+
// Prepare elements for vue
|
|
335
|
+
document.querySelectorAll('[v-text], [v-html]')
|
|
336
|
+
.forEach(el => el.innerText = '')
|
|
337
|
+
|
|
338
|
+
// Create the app
|
|
339
|
+
const app = createApp(App);
|
|
340
|
+
|
|
341
|
+
// Suppress "v-text will override element children" warning
|
|
342
|
+
app.config.compilerOptions.directiveTransforms = {
|
|
343
|
+
text: false,
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
// Mount the app
|
|
347
|
+
app.mount('.app');
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
// Remove loading
|
|
351
|
+
setTimeout(() => {
|
|
352
|
+
document.querySelector('.before-js').classList.add('after-js')
|
|
353
|
+
}, 100)
|
|
354
|
+
})
|
|
355
|
+
</script>
|
|
356
|
+
|
|
357
|
+
<title>Silex Dashboard</title>
|
|
358
|
+
<link rel="icon" href="/assets/favicon-32x32.png" />
|
|
359
|
+
<meta name="og:title" property="og:title" content="Silex Dashboard"/>
|
|
360
|
+
<link href="https://www.googleapis.com" rel="preconnect" ><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin ><link href="https://www.googleapis.com/css?family=Ubuntu&display=swap" rel="stylesheet" ></head>
|
|
361
|
+
<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
|
|
362
|
+
assign var_imgx81_241 = tina.connectorsConnection.edges | where: "node.lang", page.lang | first
|
|
363
|
+
assign var_imgx81_242 = var_imgx81_241.node
|
|
364
|
+
assign state_imgx81-1985_imgx81-7uhkrqd2giq = var_imgx81_242
|
|
365
|
+
%}<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
|
|
366
|
+
assign var_it2175_195 = state_imgx81-1985_imgx81-7uhkrqd2giq.subtitle
|
|
367
|
+
echo var_it2175_195
|
|
368
|
+
%}</p><div id="ilq8ui" class="text-centered">{% liquid
|
|
369
|
+
assign var_ilq8ui_196 = state_imgx81-1985_imgx81-7uhkrqd2giq.help
|
|
370
|
+
echo var_ilq8ui_196
|
|
371
|
+
%}</div></div><h3 id="iqc1xf" class="margin-top">{% liquid
|
|
372
|
+
assign var_iqc1xf_197 = state_imgx81-1985_imgx81-7uhkrqd2giq.recommended
|
|
373
|
+
echo var_iqc1xf_197
|
|
374
|
+
%}</h3><div id="in62y2">{% liquid
|
|
375
|
+
assign var_isqe61_218 = state_imgx81-1985_imgx81-7uhkrqd2giq.connectors
|
|
376
|
+
%}
|
|
377
|
+
{% for state_isqe61-589___data in var_isqe61_218 %}
|
|
378
|
+
{% liquid
|
|
379
|
+
assign var_isqe61_216 = forloop.index0
|
|
380
|
+
assign var_isqe61_217 = "0"
|
|
381
|
+
%}
|
|
382
|
+
{% if var_isqe61_216 <= var_isqe61_217 %}
|
|
383
|
+
<div id="isqe61" class="">{% liquid
|
|
384
|
+
assign var_i0vhjr_211 = state_isqe61-589___data.background_color
|
|
385
|
+
assign state_i0vhjr-6879_i0vhjr-uop2xr4ta4 = var_i0vhjr_211
|
|
386
|
+
%}
|
|
387
|
+
{% liquid
|
|
388
|
+
assign var_i0vhjr_212 = state_isqe61-589___data.color
|
|
389
|
+
assign state_i0vhjr-6879_i0vhjr-q0yr34th38p = var_i0vhjr_212
|
|
390
|
+
%}<a id="i0vhjr" href="{% liquid
|
|
391
|
+
assign var_i0vhjr_213 = state_isqe61-589___data.auth_url
|
|
392
|
+
echo var_i0vhjr_213
|
|
393
|
+
%}" class="connector__card" data-style="{% liquid
|
|
394
|
+
assign var_i0vhjr_214 = "background: " | append: state_i0vhjr-6879_i0vhjr-uop2xr4ta4 | append: "; color: " | append: state_i0vhjr-6879_i0vhjr-q0yr34th38p | append: ";"
|
|
395
|
+
echo var_i0vhjr_214
|
|
396
|
+
%}" title="{% liquid
|
|
397
|
+
assign var_i0vhjr_215 = state_isqe61-589___data.description | strip_html
|
|
398
|
+
echo var_i0vhjr_215
|
|
399
|
+
%}"><div id="io3lid" class="button-bar__item__icon">{% liquid
|
|
400
|
+
assign var_io3lid_209 = state_isqe61-589___data.icon
|
|
401
|
+
echo var_io3lid_209
|
|
402
|
+
%}</div><div id="i87asw" class="connector__description">{% liquid
|
|
403
|
+
assign var_i87asw_210 = state_isqe61-589___data.text
|
|
404
|
+
echo var_i87asw_210
|
|
405
|
+
%}</div></a></div>{% endif %}{% endfor %}</div><h3 id="i8w75b" class="margin-30">{% liquid
|
|
406
|
+
assign var_i8w75b_219 = state_imgx81-1985_imgx81-7uhkrqd2giq.advanced_users
|
|
407
|
+
echo var_i8w75b_219
|
|
408
|
+
%}</h3><div id="igp4xl">{% liquid
|
|
409
|
+
assign var_id9k25_240 = state_imgx81-1985_imgx81-7uhkrqd2giq.connectors
|
|
410
|
+
%}
|
|
411
|
+
{% for state_isqe61-589___data in var_id9k25_240 %}
|
|
412
|
+
{% liquid
|
|
413
|
+
assign var_id9k25_238 = forloop.index0
|
|
414
|
+
assign var_id9k25_239 = "0"
|
|
415
|
+
%}
|
|
416
|
+
{% if var_id9k25_238 > var_id9k25_239 %}
|
|
417
|
+
<div id="id9k25" href="" class="">{% liquid
|
|
418
|
+
assign var_irgt6z_233 = state_isqe61-589___data.background_color
|
|
419
|
+
assign state_i0vhjr-6879_i0vhjr-uop2xr4ta4 = var_irgt6z_233
|
|
420
|
+
%}
|
|
421
|
+
{% liquid
|
|
422
|
+
assign var_irgt6z_234 = state_isqe61-589___data.color
|
|
423
|
+
assign state_i0vhjr-6879_i0vhjr-q0yr34th38p = var_irgt6z_234
|
|
424
|
+
%}<a href="{% liquid
|
|
425
|
+
assign var_irgt6z_235 = state_isqe61-589___data.auth_url
|
|
426
|
+
echo var_irgt6z_235
|
|
427
|
+
%}" id="irgt6z" class="connector__card" data-style="{% liquid
|
|
428
|
+
assign var_irgt6z_236 = "background: " | append: state_i0vhjr-6879_i0vhjr-uop2xr4ta4 | append: "; color: " | append: state_i0vhjr-6879_i0vhjr-q0yr34th38p | append: ";"
|
|
429
|
+
echo var_irgt6z_236
|
|
430
|
+
%}" title="{% liquid
|
|
431
|
+
assign var_irgt6z_237 = state_isqe61-589___data.description | strip_html
|
|
432
|
+
echo var_irgt6z_237
|
|
433
|
+
%}"><div class="button-bar__item__icon">{% liquid
|
|
434
|
+
assign var_iwt3h3_231 = state_isqe61-589___data.icon
|
|
435
|
+
echo var_iwt3h3_231
|
|
436
|
+
%}</div><div class="connector__description">{% liquid
|
|
437
|
+
assign var_incxlr_232 = state_isqe61-589___data.text
|
|
438
|
+
echo var_incxlr_232
|
|
439
|
+
%}</div></a></div>{% endif %}{% endfor %}</div><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><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>
|
|
440
|
+
</html>
|
|
@@ -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;}.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:30px 30px 30px 30px;}.button-bar__item--link.text-white{color:#ffffff;}.button.big-button{border:2px solid transparent;}.button.button--tertiary:hover{border:2px solid #8873fe;color:#8873fe;background-color:white;}.button-bar__item__icon{float:left;height:40px;margin:5px 5px 5px 5px;width:40px;}.button-bar__item--secondary{font-size:0.8rem;}.connector__card{align-items:center;margin:5px auto 5px auto;border:1px solid;border-radius:5px 5px 5px 5px;max-width:100%;display:flex;color:black;}#i3cney{width:100%;display:none;justify-content:center;}.connector__description{padding:5px 15px 5px 15px;}#ie0dxn{min-height:100px;}#ior0hl{color:black;}#igp4xl{justify-content:center;display:inline-block;}#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;}
|
package/templates/css/websites-4b9b2b0a0a907b33eca109d50c2a3eee97f1955c742cef487110d21a0bbf8f50.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
* { box-sizing: border-box; } body {margin: 0;}.nav__item{margin:0px 10px 0px 10px;font-size:0.8rem;padding:24px 0px 24px 0px;color:#4a4a4a;}.body{font-family:"Ubuntu", sans-serif;background-color:#f0f0f0;color:#2b1b63;}.menu-bar{display:flex;align-items:center;justify-content:space-between;background-color:#ffffff;height:94px;padding:0px 100px 0px 100px;width:100%;}.padding-normal{padding:0px 24px 0px 24px;}#i9jq{display:flex;}.nav{width:100%;margin:0px 20px 0px 20px;}.subtitle-16{font-size:1rem;margin:0px 0px 20px 0px;}.subtitle-16.color--light{color:#636363;font-weight:700;}.button{font-size:0.8rem;padding:10px 20px 10px 20px;display:inline-block;border:2px solid #8873fe;transition:all 0.18s ease-out;font-weight:700;line-height:1.2rem;}.button.button--primary{background-color:#8873fe;color:white;}.button-bar{margin:20px 0px 20px 0px;display:flex;padding:30px 30px 30px 30px;align-items:center;justify-content:space-between;border-radius:4px 4px 4px 4px;background-color:#ffffff;}#ibsgw{position:relative;top:3px;}.button-bar.button-bar--full-width{justify-content:space-between;align-items:center;}.button-bar_item.button-bar__item--secondary{font-size:0.8rem;}.button.button--secondary{font-weight:400;color:#8873fe;border:2px solid #8873fe;}.rounded{border-radius:4px 4px 4px 4px;}.footer{display:flex;margin:50px 0px 0px 0px;background-color:#ffffff;justify-content:space-evenly;padding:30px 30px 60px 30px;}.skeleton-text.skeleton{background-color:#dddddd;color:transparent;opacity:0.31;border-radius:5px 5px 5px 5px;}.skeleton.skeleton-button{color:transparent;opacity:0.31;background-color:#dddddd;border-radius:5px 5px 5px 5px;width:140px;}.skeleton-anim{position:relative;}.nav__item.active{color:black;}.margin-20{margin:20px 0px 20px 0px;}#i0ro3{display:none;}.loading__item.loaded-true{display:none;}.flex-no-shrink{flex-shrink:0;}.form{padding:10px 0px 10px 0px;border-radius:5px 5px 5px 5px;}#i1nmbc{flex-shrink:0;}.input{padding:10px 10px 10px 10px;background-color:transparent;border:2px solid #8873fe;margin:10px 0px 10px 0px;border-radius:4px 4px 4px 4px;}.full-width{width:100%;}.v-space{margin:10px 0px 10px 0px;}.box{border-radius:4px 4px 4px 4px;background-color:#ffffff;}.box__header{margin:0px 0px 0px 0px;padding:10px 0px 10px 0px;font-weight:700;font-size:1.625rem;color:rgba(43,27,99,0.5);}.box.flex-between{align-items:center;}.flex-between{display:flex;align-items:center;justify-content:space-between;}.button--tertiary{background-color:transparent;font-weight:400;}.icon-font{font-size:1.5rem;line-height:1px;margin:0px 2px 0px 2px;}.lang__item{margin:0px 5px 0px 5px;}.top-space-40{margin:40px 0 0 0;}.nav__logo{height:50px;}.user-icon__image{width:100%;height:100%;}.user__wrapper{border:1px solid white;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0 0 0 20px;}.right-space-20{margin:0px 20px 0px 0px;}#iksw4d{padding:10px;}.button:hover{color:#8873fe;border:2px solid #8873fe;}.button.button--secondary:hover{background-color:white;border:2px solid rgba(136,115,254,0.5);}.user-icon__wrapper{border:1px solid #f0f0f0;background-color:#f0f0f0;border-radius:50% 50% 50% 50%;width:40px;height:40px;overflow:hidden hidden;}.title-40{margin:0 0 10px 0;font-size:2.5rem;font-weight:700;}.bg-silex-purpel{background-repeat:repeat-y;background-position:center top;background-attachment:scroll;background-size:contain;background-image:url(/assets/../assets/bg-purpel-silex.webp);}.section-top{max-width:1200px;padding:40px 30px 40px 30px;height:226px;display:flex;flex-direction:column;justify-content:center;margin:0px auto 0px auto;}.text-centered{text-align:center;}.box-message{background-color:rgba(43,27,99,0.3);border-radius:4px 4px 4px 4px;padding:20px 30px 20px 30px;margin:10px 0px 10px 0px;}.text-white{color:#ffffff;}.bold{font-weight:800;}.button-bar__item--link{background-color:transparent;border:0px solid black;font-size:0.8rem;color:#8873fe;}.padding-30{padding:30px 30px 30px 30px;}.right-space-40{margin:0 40px 0 0;}.title-26{font-size:1.625rem;margin:10px 0px 10px 0px;}.empty-image{min-height:500px;background-image:url(/assets/../assets/empty-projects-sos.gif);background-repeat:no-repeat;background-position:center center;background-attachment:scroll;background-size:contain;}.padding-50-30{padding:50px 30px 50px 30px;}.box.box_transp{background-color:rgba(255,255,255,0.5);}.button.button--tertiary{border:2px solid transparent;background-color:rgba(221,221,221,0.5);}.button-bar__item--link.text-white{color:#ffffff;}.button.big-button{border:2px solid transparent;}.color-2B1B63-80{color:rgba(43,27,99,0.8);}.button.button--tertiary:hover{border:2px solid #8873fe;color:#8873fe;background-color:white;}.box-message-text{margin:0px 0 0 0;font-weight:300;}.website-max-width{max-width:1200px;}.margin-80{margin:80px auto 80px auto;}.button-bar__item--secondary{font-size:0.8rem;}.skeleton{line-height:1.1rem;}#isucae{min-height:100px;}.footer__column{display:flex;flex-direction:column;flex-grow:1;text-align:center;}.footer__item{padding:10px 10px 10px 10px;}#igsxoc{position:relative;top:3px;}.box--centered{display:flex;flex-direction:column;align-items:center;}.button-bar__title:hover{color:#8873fe;}.button-bar__item--icon{margin:0px 0 0 0;padding:5px 5px 5px 5px;}.nav__item:hover{text-decoration:none;color:#8873fe;}.nav_item--active:first-child{color:#8873fe;}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
export default async function (configData) {
|
|
4
|
+
const data = {
|
|
5
|
+
...configData,
|
|
6
|
+
lang: 'en',
|
|
7
|
+
}
|
|
8
|
+
const result = {}
|
|
9
|
+
try {
|
|
10
|
+
result['tina'] = (await (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
|
+
settingsConnection {
|
|
20
|
+
__typename
|
|
21
|
+
edges {
|
|
22
|
+
__typename
|
|
23
|
+
node {
|
|
24
|
+
__typename
|
|
25
|
+
nav {
|
|
26
|
+
__typename
|
|
27
|
+
label
|
|
28
|
+
url
|
|
29
|
+
target
|
|
30
|
+
|
|
31
|
+
}
|
|
32
|
+
footer_links {
|
|
33
|
+
__typename
|
|
34
|
+
title
|
|
35
|
+
columns {
|
|
36
|
+
__typename
|
|
37
|
+
label
|
|
38
|
+
url
|
|
39
|
+
target
|
|
40
|
+
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
}
|
|
44
|
+
lang
|
|
45
|
+
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
}
|
|
51
|
+
homeConnection {
|
|
52
|
+
__typename
|
|
53
|
+
edges {
|
|
54
|
+
__typename
|
|
55
|
+
node {
|
|
56
|
+
__typename
|
|
57
|
+
title2
|
|
58
|
+
subtitle
|
|
59
|
+
title2_empty
|
|
60
|
+
subtitle_empty
|
|
61
|
+
add_title
|
|
62
|
+
add_name_label
|
|
63
|
+
add_name_placeholder
|
|
64
|
+
add_ok
|
|
65
|
+
add_cancel
|
|
66
|
+
list_edit_icon
|
|
67
|
+
list_edit
|
|
68
|
+
list_rename_icon
|
|
69
|
+
list_rename
|
|
70
|
+
list_duplicate
|
|
71
|
+
list_duplicate_icon
|
|
72
|
+
list_delete
|
|
73
|
+
text_empty1
|
|
74
|
+
text_empty2
|
|
75
|
+
add_button
|
|
76
|
+
message_dismiss
|
|
77
|
+
lang
|
|
78
|
+
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
}
|
|
84
|
+
languagesConnection {
|
|
85
|
+
__typename
|
|
86
|
+
edges {
|
|
87
|
+
__typename
|
|
88
|
+
node {
|
|
89
|
+
__typename
|
|
90
|
+
label
|
|
91
|
+
permalink
|
|
92
|
+
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
}`,
|
|
100
|
+
})
|
|
101
|
+
})).json()).data
|
|
102
|
+
} catch (e) {
|
|
103
|
+
console.error('11ty plugin for Silex: error fetching graphql data', e, 'tina', 'http://localhost:4001/graphql')
|
|
104
|
+
throw e
|
|
105
|
+
}
|
|
106
|
+
return result
|
|
107
|
+
}
|
|
108
|
+
|