@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.
- package/DASHBOARD-ARCHITECTURE.md +1410 -0
- package/_site/css/connectors-e4ae24975f4df2e2bea5121337282d8f2201bb86dc8c041c9ef43c0c2d7a32a7.css +1 -0
- package/_site/css/fork-00fcb49f686e5d4a6d23a3c77ebc1563a99581e1fb3f270c6204538ab3d02f94.css +1 -0
- package/_site/css/fork-506e7c805e636be6225c35a11f5804b72cf41d7a6355aa64a5d7ddb7d66ea314.css +1 -0
- package/_site/css/fork-923d814802e46c2d0db0f71c5c488c616ca0016f340d8dae66b263ba7f1143bc.css +1 -0
- package/_site/css/index-2a63e02ab10ac924e626195148618b0b283ee7d663656afe25a806b4769f64ad.css +1 -0
- package/_site/css/index-38d10542f641eb789c11b589b95d0e6363e71978479fa5cddbec3da65774560c.css +1 -0
- package/_site/en/connectors/index.html +51 -26
- package/_site/en/fork/index.html +371 -0
- package/_site/en/index.html +30 -28
- package/_site/fr/connectors/index.html +52 -27
- package/_site/fr/fork/index.html +372 -0
- package/_site/fr/index.html +31 -29
- package/collections/fork/en.md +17 -0
- package/collections/fork/fr.md +17 -0
- package/package.json +2 -2
- package/silex/websites/default/meta.json +4 -0
- package/silex/websites/default/website.json +6 -0
- package/templates/connectors-en.html +66 -41
- package/templates/connectors-fr.html +66 -41
- package/templates/css/connectors-e4ae24975f4df2e2bea5121337282d8f2201bb86dc8c041c9ef43c0c2d7a32a7.css +1 -0
- package/templates/css/fork-00fcb49f686e5d4a6d23a3c77ebc1563a99581e1fb3f270c6204538ab3d02f94.css +1 -0
- package/templates/css/fork-506e7c805e636be6225c35a11f5804b72cf41d7a6355aa64a5d7ddb7d66ea314.css +1 -0
- package/templates/css/fork-923d814802e46c2d0db0f71c5c488c616ca0016f340d8dae66b263ba7f1143bc.css +1 -0
- package/templates/css/index-2a63e02ab10ac924e626195148618b0b283ee7d663656afe25a806b4769f64ad.css +1 -0
- package/templates/css/index-38d10542f641eb789c11b589b95d0e6363e71978479fa5cddbec3da65774560c.css +1 -0
- package/templates/fork-en.11tydata.mjs +117 -0
- package/templates/fork-en.html +412 -0
- package/templates/fork-fr.11tydata.mjs +117 -0
- package/templates/fork-fr.html +412 -0
- package/templates/{websites-en.11tydata.mjs → index-en.11tydata.mjs} +32 -32
- package/templates/{websites-en.html → index-en.html} +94 -92
- package/templates/{websites-fr.11tydata.mjs → index-fr.11tydata.mjs} +32 -32
- package/templates/{websites-fr.html → index-fr.html} +94 -92
- package/tina/config.ts +76 -0
- package/tina/tina-lock.json +1 -1
- package/_site/connectors/index.html +0 -278
- package/_site/css/connectors-1350f25629f7addac6970f5297f8aef050ba1c207b28c8a0e4a7b113246d69dc.css +0 -1
- package/_site/css/connectors-152b01dfacf0586ce2f3fb0ddbbf5a5bbcd181a48b4b20b275f837786b2889cd.css +0 -1
- package/_site/css/connectors-306649a254eff69e10db2fa5368e173e88e24449db25d65b7117ebfd5dbbcd31.css +0 -1
- package/_site/css/connectors-66fe82f10a7a257f59212e18bb384b019ffb12192fa3f748951da7d4428733b4.css +0 -1
- package/_site/css/connectors-748797d88cc32c0787052966e54e4f794629b8460d24f2aadac83c13899574fb.css +0 -1
- package/_site/css/connectors-87cf0f4b873d104a845dcafd5d80d4f8d482f8cea15f2412cd9655071dcb9ea8.css +0 -1
- package/_site/css/connectors-885e03b1611113e2363f7a86fba9aee867130a14836b3cc9c4714265708c1704.css +0 -1
- package/_site/css/connectors-9d0c9569a2ce8afaa4a30a0534b3d0597c761c7e0e5280dcbc966dc2b709e98e.css +0 -1
- package/_site/css/connectors-a8ae93c40b7c738a4514e47046a029afdcf74bb28a7724287e1350afac4fa60f.css +0 -1
- package/_site/css/connectors-c1d5f4c520a9a86d99b7201d30a8fe25a5779b7b2373b73262868f446fe3f855.css +0 -1
- package/_site/css/connectors-febcafaf261c0f23ca11fc13809f259c74dbdd50b6a47506ba295fdb99d1b4a4.css +0 -1
- package/_site/css/websites-19b822a8683767833f7656ff2df318ba13bed49f33d9bfc946ff619cf986b449.css +0 -1
- package/_site/css/websites-4b9b2b0a0a907b33eca109d50c2a3eee97f1955c742cef487110d21a0bbf8f50.css +0 -1
- package/_site/css/websites-7843a323acc9c4921d373250c5f647854910ea0913530659823fbe29844ee6b5.css +0 -1
- package/_site/css/websites-931c1ae713658c5aca51e25f5c43a79611c9a762dc38b989cc99ad4dbd4eda8e.css +0 -1
- package/_site/css/websites-c678e6ed7f508aa4b0e9218070d7235ed56f0eaea49350b30b849f4ef176cfb0.css +0 -1
- package/_site/css/websites-e6d63d0512032a2909a7f648cecfad311842ecba7bd03f94afc8639998e606f0.css +0 -1
- package/_site/websites/index.html +0 -360
- package/templates/connectors.html +0 -278
- package/templates/css/connectors-1350f25629f7addac6970f5297f8aef050ba1c207b28c8a0e4a7b113246d69dc.css +0 -1
- package/templates/css/connectors-152b01dfacf0586ce2f3fb0ddbbf5a5bbcd181a48b4b20b275f837786b2889cd.css +0 -1
- package/templates/css/connectors-306649a254eff69e10db2fa5368e173e88e24449db25d65b7117ebfd5dbbcd31.css +0 -1
- package/templates/css/connectors-66fe82f10a7a257f59212e18bb384b019ffb12192fa3f748951da7d4428733b4.css +0 -1
- package/templates/css/connectors-748797d88cc32c0787052966e54e4f794629b8460d24f2aadac83c13899574fb.css +0 -1
- package/templates/css/connectors-87cf0f4b873d104a845dcafd5d80d4f8d482f8cea15f2412cd9655071dcb9ea8.css +0 -1
- package/templates/css/connectors-885e03b1611113e2363f7a86fba9aee867130a14836b3cc9c4714265708c1704.css +0 -1
- package/templates/css/connectors-9d0c9569a2ce8afaa4a30a0534b3d0597c761c7e0e5280dcbc966dc2b709e98e.css +0 -1
- package/templates/css/connectors-a8ae93c40b7c738a4514e47046a029afdcf74bb28a7724287e1350afac4fa60f.css +0 -1
- package/templates/css/connectors-c1d5f4c520a9a86d99b7201d30a8fe25a5779b7b2373b73262868f446fe3f855.css +0 -1
- package/templates/css/connectors-febcafaf261c0f23ca11fc13809f259c74dbdd50b6a47506ba295fdb99d1b4a4.css +0 -1
- package/templates/css/websites-19b822a8683767833f7656ff2df318ba13bed49f33d9bfc946ff619cf986b449.css +0 -1
- package/templates/css/websites-4b9b2b0a0a907b33eca109d50c2a3eee97f1955c742cef487110d21a0bbf8f50.css +0 -1
- package/templates/css/websites-7843a323acc9c4921d373250c5f647854910ea0913530659823fbe29844ee6b5.css +0 -1
- package/templates/css/websites-931c1ae713658c5aca51e25f5c43a79611c9a762dc38b989cc99ad4dbd4eda8e.css +0 -1
- package/templates/css/websites-c678e6ed7f508aa4b0e9218070d7235ed56f0eaea49350b30b849f4ef176cfb0.css +0 -1
- package/templates/css/websites-e6d63d0512032a2909a7f648cecfad311842ecba7bd03f94afc8639998e606f0.css +0 -1
- package/templates/websites.html +0 -360
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
---
|
|
2
|
+
permalink: "/{{lang}}/fork/"
|
|
3
|
+
lang: "en"
|
|
4
|
+
collection: "Fork"
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
<!DOCTYPE html>
|
|
8
|
+
<html lang="">
|
|
9
|
+
<head>
|
|
10
|
+
<meta charset="UTF-8">
|
|
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/fork-00fcb49f686e5d4a6d23a3c77ebc1563a99581e1fb3f270c6204538ab3d02f94.css" />
|
|
14
|
+
<!-- font google -->
|
|
15
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" />
|
|
16
|
+
<link href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;700&display=swap" rel="stylesheet">
|
|
17
|
+
{% render "alternate.liquid" languages: languages lang: lang page: page %}
|
|
18
|
+
<style>
|
|
19
|
+
.before-js > * {
|
|
20
|
+
visibility: hidden;
|
|
21
|
+
opacity: 0;
|
|
22
|
+
transition: opacity .5s ease;
|
|
23
|
+
}
|
|
24
|
+
.before-js[data-gjs-type] > *, /* This is only inside the editor, .before-js needs to be on the body */
|
|
25
|
+
.after-js > * {
|
|
26
|
+
visibility: visible;
|
|
27
|
+
opacity: 1;
|
|
28
|
+
}
|
|
29
|
+
.before-js:before {
|
|
30
|
+
content: 'Loading';
|
|
31
|
+
position: absolute;
|
|
32
|
+
top: 49%;
|
|
33
|
+
left: 49%;
|
|
34
|
+
}
|
|
35
|
+
.before-js[data-gjs-type]:before, /* This is only inside the editor, .before-js needs to be on the body */
|
|
36
|
+
.after-js:before {
|
|
37
|
+
content: none;
|
|
38
|
+
}
|
|
39
|
+
/*BTNS*/
|
|
40
|
+
.button, .pointer {
|
|
41
|
+
cursor: pointer!important}
|
|
42
|
+
.button{
|
|
43
|
+
min-width:110px;
|
|
44
|
+
}
|
|
45
|
+
details {
|
|
46
|
+
max-height: 2em;
|
|
47
|
+
display: block;
|
|
48
|
+
overflow: hidden;
|
|
49
|
+
transition: max-height .75s ease;
|
|
50
|
+
}
|
|
51
|
+
details[open] {
|
|
52
|
+
max-height: 40em;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/*BTNS*/
|
|
56
|
+
a {
|
|
57
|
+
text-decoration: none;
|
|
58
|
+
color:#8873FE;
|
|
59
|
+
}
|
|
60
|
+
a:hover {
|
|
61
|
+
text-decoration: underline;
|
|
62
|
+
}
|
|
63
|
+
.uppercase {
|
|
64
|
+
text-transform: uppercase;
|
|
65
|
+
}
|
|
66
|
+
.underline:hover{
|
|
67
|
+
text-decoration: underline;
|
|
68
|
+
text-decoration-thickness: from-font;
|
|
69
|
+
text-underline-position: under;
|
|
70
|
+
}
|
|
71
|
+
/*footer position*/
|
|
72
|
+
.main-min-height {
|
|
73
|
+
min-height: calc(100vh - 560px);
|
|
74
|
+
}
|
|
75
|
+
/*footer position*/
|
|
76
|
+
/*label*/
|
|
77
|
+
::placeholder {
|
|
78
|
+
color: #8873FE;
|
|
79
|
+
}
|
|
80
|
+
input:focus {
|
|
81
|
+
border: 2px solid #9977FE;
|
|
82
|
+
background-color:#ffffff;
|
|
83
|
+
}
|
|
84
|
+
:focus {
|
|
85
|
+
outline: none;
|
|
86
|
+
}
|
|
87
|
+
/*label*/
|
|
88
|
+
.skeleton-anim:after {
|
|
89
|
+
width: 100%;
|
|
90
|
+
height: 100%;
|
|
91
|
+
position: absolute;
|
|
92
|
+
top: 0;
|
|
93
|
+
left: 0;
|
|
94
|
+
content: "";
|
|
95
|
+
background:
|
|
96
|
+
linear-gradient(0.25turn, transparent, rgba(255,255,255,.75), transparent),
|
|
97
|
+
linear-gradient(transparent, transparent),
|
|
98
|
+
radial-gradient(38px circle at 19px 19px, transparent 50%, transparent 51%),
|
|
99
|
+
linear-gradient(transparent, transparent);
|
|
100
|
+
background-repeat: no-repeat;
|
|
101
|
+
background-size: 315px 250px, 315px 180px, 100px 100px, 225px 30px;
|
|
102
|
+
background-position: -315px 0, 0 0, 0px 190px, 50px 195px;
|
|
103
|
+
animation: loading 1.5s infinite;
|
|
104
|
+
}
|
|
105
|
+
@keyframes loading {
|
|
106
|
+
to {
|
|
107
|
+
background-position: 200% 0, 0 0, 0 190px, 50px 195px;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/*FX ANIMATIONS*/
|
|
111
|
+
/*scale-round-inside_pour-BTN*/
|
|
112
|
+
.fx-scale-round {
|
|
113
|
+
position:relative;
|
|
114
|
+
z-index: 10;
|
|
115
|
+
overflow: hidden;
|
|
116
|
+
}
|
|
117
|
+
.fx-scale-round::after {
|
|
118
|
+
content: "";
|
|
119
|
+
background: #ffffff;
|
|
120
|
+
position: absolute;
|
|
121
|
+
z-index: -1;
|
|
122
|
+
border-radius: 50%;
|
|
123
|
+
left: -50%;
|
|
124
|
+
right: -50%;
|
|
125
|
+
top: -100%;
|
|
126
|
+
bottom: -100%;
|
|
127
|
+
transform: scale(0, 0);
|
|
128
|
+
transform-origin: center bottom;
|
|
129
|
+
transition: all 0.3s ease-out;
|
|
130
|
+
}
|
|
131
|
+
.fx-scale-round:hover {
|
|
132
|
+
transform-origin: center bottom;
|
|
133
|
+
transform: scale(1.1);
|
|
134
|
+
transition: transform 0.2s cubic-bezier(0, -0.530, 0.405, 2.8);
|
|
135
|
+
}
|
|
136
|
+
.fx-scale-round:hover::after {
|
|
137
|
+
transform: scale(1, 1);
|
|
138
|
+
transition: transform 0.2s cubic-bezier(0, -0.530, 0.405, 2.8);
|
|
139
|
+
}
|
|
140
|
+
/*scale-round-inside_pour-BTN*/
|
|
141
|
+
/*scale*/
|
|
142
|
+
.fx-scale:hover {
|
|
143
|
+
transform-origin: center bottom;
|
|
144
|
+
transform: scale(1.1);
|
|
145
|
+
transition: transform 0.2s cubic-bezier(0, -0.530, 0.405, 2.8);
|
|
146
|
+
}
|
|
147
|
+
/*flash*/
|
|
148
|
+
.fx-flash:hover {
|
|
149
|
+
animation: flash-in .25s ;
|
|
150
|
+
}
|
|
151
|
+
/*flash-in animation*/
|
|
152
|
+
@keyframes flash-in{
|
|
153
|
+
0% {
|
|
154
|
+
opacity:.25;
|
|
155
|
+
}
|
|
156
|
+
100% {
|
|
157
|
+
opacity:1;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/*flash-in animation*/
|
|
161
|
+
/*FX ANIMATIONS*/
|
|
162
|
+
</style>
|
|
163
|
+
<script src="/js/vue.global.prod.js"></script>
|
|
164
|
+
<script src="/js/main.js"></script>
|
|
165
|
+
<script type="module">
|
|
166
|
+
const params = new URLSearchParams(window.location.search)
|
|
167
|
+
const CONNECTORS_PATH = '/connectors/'
|
|
168
|
+
const GITLAB_REPO = params.get('gitlabUrl')
|
|
169
|
+
const REDIRECT_PATH = `/fork/?gitlabUrl=${ GITLAB_REPO }`
|
|
170
|
+
|
|
171
|
+
window.addEventListener('load', () => {
|
|
172
|
+
const { createApp } = Vue
|
|
173
|
+
const { api, types } = silex
|
|
174
|
+
const { ConnectorType } = types
|
|
175
|
+
const { setServerUrl, getUser, logout } = api
|
|
176
|
+
|
|
177
|
+
const App = {
|
|
178
|
+
data() {
|
|
179
|
+
return {
|
|
180
|
+
loading: true,
|
|
181
|
+
loggedIn: false,
|
|
182
|
+
user: null,
|
|
183
|
+
|
|
184
|
+
message: '',
|
|
185
|
+
error: '',
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
|
|
189
|
+
async mounted() {
|
|
190
|
+
await this.init()
|
|
191
|
+
await this.initForkFromUrl()
|
|
192
|
+
},
|
|
193
|
+
|
|
194
|
+
methods: {
|
|
195
|
+
async init() {
|
|
196
|
+
try {
|
|
197
|
+
setServerUrl(window.location.origin)
|
|
198
|
+
|
|
199
|
+
const user = await getUser({ type: ConnectorType.STORAGE })
|
|
200
|
+
if (!user) {
|
|
201
|
+
this.openLogin()
|
|
202
|
+
return
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
user.picture = decodeURIComponent(user.picture).replace(/'/g, "\\'")
|
|
206
|
+
this.user = user
|
|
207
|
+
this.loggedIn = true
|
|
208
|
+
this.loading = false
|
|
209
|
+
} catch (error) {
|
|
210
|
+
this.loading = false
|
|
211
|
+
if (error.code === 401 || error.httpStatusCode === 401) {
|
|
212
|
+
this.openLogin()
|
|
213
|
+
} else {
|
|
214
|
+
this.updateStatus(error.message)
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
|
|
219
|
+
async initForkFromUrl() {
|
|
220
|
+
if (!GITLAB_REPO || !this.loggedIn) return
|
|
221
|
+
|
|
222
|
+
await this.forkWebsite(GITLAB_REPO)
|
|
223
|
+
},
|
|
224
|
+
|
|
225
|
+
async forkWebsite(gitlabUrl) {
|
|
226
|
+
try {
|
|
227
|
+
this.showLoading()
|
|
228
|
+
this.updateStatus('Cloning repository...')
|
|
229
|
+
|
|
230
|
+
const response = await fetch('/api/website/fork', {
|
|
231
|
+
method: 'POST',
|
|
232
|
+
headers: { 'Content-Type': 'application/json' },
|
|
233
|
+
body: JSON.stringify({ gitlabUrl }),
|
|
234
|
+
})
|
|
235
|
+
|
|
236
|
+
if (response.status === 401) {
|
|
237
|
+
this.openLogin()
|
|
238
|
+
return
|
|
239
|
+
}
|
|
240
|
+
if (!response.ok) {
|
|
241
|
+
let message = ''
|
|
242
|
+
try {
|
|
243
|
+
const body = await response.text()
|
|
244
|
+
message = JSON.parse(body).message
|
|
245
|
+
} catch (e) {}
|
|
246
|
+
|
|
247
|
+
console.error('ERROR:', {response, message})
|
|
248
|
+
throw new Error(
|
|
249
|
+
message
|
|
250
|
+
? `${message}\n\n(Error ${response.status})`
|
|
251
|
+
: `API ${response.status} ${response.statusText}`
|
|
252
|
+
)
|
|
253
|
+
}
|
|
254
|
+
const data = await response.json()
|
|
255
|
+
const websiteId = data.websiteId || data.id
|
|
256
|
+
|
|
257
|
+
this.updateStatus('Project ready')
|
|
258
|
+
this.showSuccess()
|
|
259
|
+
|
|
260
|
+
setTimeout(() => {
|
|
261
|
+
this.openEditor(websiteId)
|
|
262
|
+
}, 1500)
|
|
263
|
+
} catch (error) {
|
|
264
|
+
this.updateStatus(error.message || 'Fork failed')
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
|
|
268
|
+
updateStatus(message) {
|
|
269
|
+
this.message = message.replace(/\n/g, '<br>')
|
|
270
|
+
//const el = document.querySelector('.fork-status-title')
|
|
271
|
+
//if (el) el.textContent = message
|
|
272
|
+
//console.log('updateStatus', {message, el})
|
|
273
|
+
},
|
|
274
|
+
|
|
275
|
+
showLoading() {
|
|
276
|
+
document.querySelector('.fork-loading')?.style.setProperty('display', 'block')
|
|
277
|
+
document.querySelector('.fork-success')?.style.setProperty('display', 'none')
|
|
278
|
+
document.querySelector('.fork-error')?.style.setProperty('display', 'none')
|
|
279
|
+
},
|
|
280
|
+
|
|
281
|
+
showSuccess() {
|
|
282
|
+
document.querySelector('.fork-loading')?.style.setProperty('display', 'none')
|
|
283
|
+
document.querySelector('.fork-success')?.style.setProperty('display', 'block')
|
|
284
|
+
},
|
|
285
|
+
|
|
286
|
+
showError(message) {
|
|
287
|
+
throw new Error('Useless method, pls remove')
|
|
288
|
+
this.error = message
|
|
289
|
+
document.querySelector('.fork-loading')?.style.setProperty('display', 'none')
|
|
290
|
+
document.querySelector('.fork-error')?.style.setProperty('display', 'block')
|
|
291
|
+
|
|
292
|
+
const msg = document.querySelector('.error-message')
|
|
293
|
+
if (msg) msg.textContent = message
|
|
294
|
+
|
|
295
|
+
const backBtn = document.querySelector('.error-back-btn')
|
|
296
|
+
if (backBtn) {
|
|
297
|
+
backBtn.onclick = () => this.openLogin()
|
|
298
|
+
}
|
|
299
|
+
console.log({message, msg, backBtn})
|
|
300
|
+
},
|
|
301
|
+
|
|
302
|
+
openEditor(id) {
|
|
303
|
+
const params = new URLSearchParams(window.location.search)
|
|
304
|
+
const lang = params.get('lang') || 'en'
|
|
305
|
+
window.location.href =
|
|
306
|
+
`/?id=${id}&lang=${lang}&connectorId=${this.user.storage.connectorId}&forked=${GITLAB_REPO}`
|
|
307
|
+
},
|
|
308
|
+
|
|
309
|
+
openLogin() {
|
|
310
|
+
const path = `/{{lang}}${CONNECTORS_PATH}?redirect=/{{lang}}${REDIRECT_PATH}`
|
|
311
|
+
if (window.location.pathname !== path) {
|
|
312
|
+
window.location.href = path
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
|
|
316
|
+
async logout() {
|
|
317
|
+
await logout({
|
|
318
|
+
type: ConnectorType.STORAGE,
|
|
319
|
+
connectorId: this.user.storage.connectorId,
|
|
320
|
+
})
|
|
321
|
+
window.location.reload()
|
|
322
|
+
},
|
|
323
|
+
},
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
document
|
|
327
|
+
.querySelectorAll('[v-text], [v-html]')
|
|
328
|
+
.forEach(el => (el.innerText = ''))
|
|
329
|
+
|
|
330
|
+
const app = createApp(App)
|
|
331
|
+
app.mount('.app')
|
|
332
|
+
|
|
333
|
+
setTimeout(() => {
|
|
334
|
+
document.querySelector('.before-js')?.classList.add('after-js')
|
|
335
|
+
}, 100)
|
|
336
|
+
})
|
|
337
|
+
</script>
|
|
338
|
+
|
|
339
|
+
<title>{% liquid
|
|
340
|
+
assign var_ik0i-2_393 = tina.homeConnection.edges | where: "", | first
|
|
341
|
+
assign var_ik0i-2_394 = var_ik0i-2_393.node.title
|
|
342
|
+
echo var_ik0i-2_394
|
|
343
|
+
%}</title>
|
|
344
|
+
<link rel="icon" href="/assets/favicon-32x32.png" />
|
|
345
|
+
<meta name="og:title" property="og:title" content="Silex Dashboard"/>
|
|
346
|
+
<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>
|
|
347
|
+
{% liquid
|
|
348
|
+
assign var_ik0i-2_390 = tina.settingsConnection.edges | where: "node.lang", page.lang | first
|
|
349
|
+
assign state_ik0i-958_ik0i-e8l061o7k5 = var_ik0i-2_390
|
|
350
|
+
%}
|
|
351
|
+
{% liquid
|
|
352
|
+
assign var_ik0i-2_391 = tina.forkConnection.edges | where: "node.lang", page.lang | first
|
|
353
|
+
assign var_ik0i-2_392 = var_ik0i-2_391.node
|
|
354
|
+
assign state_ik0i-958_ik0i-24xejc2n0xy = var_ik0i-2_392
|
|
355
|
+
%}<body id="ik0i-2" class="body loading app before-js"><HEADER id="igrg-2" class="menu-bar"><A href="/" id="igvu43-2"><img id="iel80b-2-2-2" src="/assets/picto-silex@3x.png" class="nav__logo"/></A><NAV id="i9jq-2" class="nav">{% liquid
|
|
356
|
+
assign var_iels-2_373 = tina.settingsConnection.edges | where: "node.lang", page.lang | first
|
|
357
|
+
assign var_iels-2_374 = var_iels-2_373.node.nav
|
|
358
|
+
%}
|
|
359
|
+
{% for state_iels-228___data in var_iels-2_374 %}
|
|
360
|
+
<a href="{% liquid
|
|
361
|
+
assign var_iels-2_375 = state_iels-228___data.url
|
|
362
|
+
echo var_iels-2_375
|
|
363
|
+
%}" id="iels-2" class="nav__item uppercase fx-flash nav_item--active" target="{% liquid
|
|
364
|
+
assign var_iels-2_376 = state_iels-228___data.target
|
|
365
|
+
echo var_iels-2_376
|
|
366
|
+
%}">{% liquid
|
|
367
|
+
assign var_iels-2_372 = state_iels-228___data.label
|
|
368
|
+
echo var_iels-2_372
|
|
369
|
+
%}</a>{% endfor %}</NAV>{% liquid
|
|
370
|
+
assign var_i2red7-2_379 = tina.languagesConnection.edges
|
|
371
|
+
%}
|
|
372
|
+
{% for state_i2red7-8291___data in var_i2red7-2_379 %}
|
|
373
|
+
<div id="i2red7-2" class="lang"><a href="{% liquid
|
|
374
|
+
assign var_iciz-2_378 = state_i2red7-8291___data.node.permalink
|
|
375
|
+
echo var_iciz-2_378
|
|
376
|
+
%}" id="iciz-2" class="lang__item nav__item uppercase">{% liquid
|
|
377
|
+
assign var_iciz-2_377 = state_i2red7-8291___data.node.label
|
|
378
|
+
echo var_iciz-2_377
|
|
379
|
+
%}</a></div>{% endfor %}<div id="i24ew-2" class="user__wrapper pointer" v-if="user" v-on:click="showMenu = !showMenu"><div id="i5xsbd-2" class="user-icon__wrapper" v-if="user" v-show="!showMenu || user.storage.disableLogout"><div id="i5wlbq-2" class="user-icon__image" v-if="user" v-show="!showMenu || user.storage.disableLogout" :style="{ backgroundImage: `url('${user?.picture}')`, backgroundRepeat: 'no-repeat', backgroundSize: 'contain', }"></div></div><div id="ic9eoa-2" class="" v-show="showMenu && !user.storage.disableLogout" v-on:click="logout"><div id="igv1rf-2" class="nav__item">Logout</div></div></div></HEADER><HEADER id="iy8ax3-2" class="bg-silex-purpel"><div id="iisz8f-2" class="section-top text-centered text-white"><h1 id="ic31o-2" class="title-40" v-if="!empty">{% liquid
|
|
380
|
+
assign var_ic31o-2_380 = state_ik0i-958_ik0i-24xejc2n0xy.hero_title
|
|
381
|
+
echo var_ic31o-2_380
|
|
382
|
+
%}</h1><p id="iyex8-2" class="subtitle-16" v-if="!empty">{% liquid
|
|
383
|
+
assign var_iyex8-2_381 = state_ik0i-958_ik0i-24xejc2n0xy.hero_subtitle
|
|
384
|
+
echo var_iyex8-2_381
|
|
385
|
+
%}</p></div></HEADER><MAIN id="iz63r-2" class="padding-normal main-min-height website-max-width margin-80-centered"><div id="i7ej6j-2" class="flex-between box-message text-white" v-if="error"><h3 id="iv0eyi-2" class="box-message-text" v-html="error">Insert your text here</h3><div id="i4656n-2" class="pointer button-bar__item--link text-white" v-on:click="error = null">{% liquid
|
|
386
|
+
assign var_i4656n-2_382 = state_ik0i-958_ik0i-24xejc2n0xy.message_dismiss
|
|
387
|
+
echo var_i4656n-2_382
|
|
388
|
+
%}</div></div><div id="ilteie-2" class="flex-between box-message text-white" v-if="message"><h3 id="i2d31v-2" class="box-message-text" v-html="message">Insert your text here</h3><div id="i2urco-2" class="rounded pointer button-bar__item--link text-white" v-on:click="message = null">{% liquid
|
|
389
|
+
assign var_i2urco-2_383 = state_ik0i-958_ik0i-24xejc2n0xy.message_dismiss
|
|
390
|
+
echo var_i2urco-2_383
|
|
391
|
+
%}</div></div></MAIN><FOOTER id="ilzpl-2" class="footer">{% liquid
|
|
392
|
+
assign var_isucae-2_389 = state_ik0i-958_ik0i-e8l061o7k5.node.footer_links
|
|
393
|
+
%}
|
|
394
|
+
{% for state_isucae-3308___data in var_isucae-2_389 %}
|
|
395
|
+
<div id="isucae-2" style="min-height:100px;" class="footer__column"><h3 href="" id="ipa5zg-2" class="footer__item">{% liquid
|
|
396
|
+
assign var_ipa5zg-2_384 = state_isucae-3308___data.title
|
|
397
|
+
echo var_ipa5zg-2_384
|
|
398
|
+
%}</h3>{% liquid
|
|
399
|
+
assign var_i0cyhf_386 = state_isucae-3308___data.columns
|
|
400
|
+
%}
|
|
401
|
+
{% for state_i2u9h4-2642___data in var_i0cyhf_386 %}
|
|
402
|
+
<a href="{% liquid
|
|
403
|
+
assign var_i0cyhf_387 = state_i2u9h4-2642___data.url
|
|
404
|
+
echo var_i0cyhf_387
|
|
405
|
+
%}" id="i0cyhf" class="footer__item" target="{% liquid
|
|
406
|
+
assign var_i0cyhf_388 = state_i2u9h4-2642___data.target
|
|
407
|
+
echo var_i0cyhf_388
|
|
408
|
+
%}">{% liquid
|
|
409
|
+
assign var_i0cyhf_385 = state_i2u9h4-2642___data.label
|
|
410
|
+
echo var_i0cyhf_385
|
|
411
|
+
%}</a>{% endfor %}</div>{% endfor %}</FOOTER></body>
|
|
412
|
+
</html>
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
export default async function (configData) {
|
|
4
|
+
const data = {
|
|
5
|
+
...configData,
|
|
6
|
+
lang: 'fr',
|
|
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
|
+
|