@silexlabs/silex-dashboard 1.0.3 → 1.0.5

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.
@@ -71,6 +71,7 @@ window.addEventListener('load', function() {
71
71
  storage: null,
72
72
  user: null,
73
73
  showMenu: false,
74
+ empty: false,
74
75
  }
75
76
  },
76
77
  mounted() {
@@ -87,6 +88,7 @@ window.addEventListener('load', function() {
87
88
  this.user = user
88
89
  this.loggedIn = true
89
90
  this.websites = await websiteList({connectorId: this.user.storage.connectorId})
91
+ this.empty = this.websites.length === 0
90
92
  this.loading = false
91
93
  } else {
92
94
  this.openLogin()
@@ -94,11 +96,12 @@ window.addEventListener('load', function() {
94
96
  } catch (error) {
95
97
  console.error(error)
96
98
  this.loading = false
97
- if(error.code === 401) {
99
+ if(error.code === 401 || error.httpStatusCode === 401) {
98
100
  this.loggedIn = false
99
101
  this.openLogin()
100
102
  } else {
101
- this.error = error
103
+ this.error = `Failed to start dashboard - ${error.message}`
104
+ this.message = ''
102
105
  }
103
106
  }
104
107
  },
@@ -120,12 +123,13 @@ window.addEventListener('load', function() {
120
123
  type: ConnectorType.STORAGE,
121
124
  connectorId: this.user.storage.connectorId,
122
125
  })
126
+ window.location.reload()
123
127
  },
124
128
 
125
129
  async createWebsite() {
126
- if (!this.newWebsiteName) throw new Error('You need to provide a website name')
127
- this.loading = true
128
130
  try {
131
+ if (!this.newWebsiteName) throw new Error('You need to provide a website name')
132
+ this.loading = true
129
133
  const websiteId = this.newWebsiteName.replace(/[/\\?%*:|"<>]/g, '_')
130
134
  const result = await websiteCreate({
131
135
  websiteId,
@@ -136,15 +140,18 @@ window.addEventListener('load', function() {
136
140
  connectorId: this.user.storage.connectorId
137
141
  })
138
142
  this.message = 'Website created successfully'
143
+ this.error = ''
139
144
  this.newWebsiteName = ''
140
145
  this.showCreationForm = false;
141
146
  this.websites = await websiteList({connectorId: this.user.storage.connectorId})
147
+ this.empty = this.websites.length === 0
142
148
  this.loading = false
143
149
  return result
144
150
  } catch (error) {
145
151
  this.loading = false
146
152
  console.error(error)
147
- this.error = 'Failed to create website'
153
+ this.error = `Failed to create website - ${error.message}`
154
+ this.message = ''
148
155
  }
149
156
  },
150
157
 
@@ -155,12 +162,15 @@ window.addEventListener('load', function() {
155
162
  try {
156
163
  const result = await websiteDelete({websiteId, connectorId: this.user.storage.connectorId})
157
164
  this.message = 'Website deleted successfully'
165
+ this.error = ''
158
166
  this.websites = await websiteList({connectorId: this.user.storage.connectorId})
167
+ this.empty = this.websites.length === 0
159
168
  this.loading = false
160
169
  return result
161
170
  } catch (error) {
162
171
  this.loading = false
163
- this.error = 'Failed to delete website'
172
+ this.error = `Failed to delete website - ${error.message}`
173
+ this.message = ''
164
174
  }
165
175
  },
166
176
 
@@ -172,12 +182,15 @@ window.addEventListener('load', function() {
172
182
  try {
173
183
  const result = await websiteMetaWrite({websiteId, connectorId: this.user.storage.connectorId, data: { name }})
174
184
  this.message = 'Website renamed successfully'
185
+ this.error = ''
175
186
  this.websites = await websiteList({connectorId: this.user.storage.connectorId})
187
+ this.empty = this.websites.length === 0
176
188
  this.loading = false
177
189
  return result
178
190
  } catch (error) {
179
191
  this.loading = false
180
- this.error = 'Failed to delete website'
192
+ this.error = `Failed to rename website - ${error.message}`
193
+ this.message = ''
181
194
  }
182
195
  },
183
196
  },
@@ -259,7 +272,7 @@ window.addEventListener('load', function() {
259
272
  >fr</A></div><div
260
273
  id="i24ew"
261
274
  class="user__wrapper "
262
- v-if="user" @NOmouseover="showMenu = true" @NOmouseout="showMenu = false" @click="showMenu = !showMenu"
275
+ v-if="user && !user.storage.disableLogout" @NOmouseover="showMenu = true" @NOmouseout="showMenu = false" @click="showMenu = !showMenu"
263
276
 
264
277
  ><div
265
278
  id="i5xsbd"
@@ -287,16 +300,31 @@ window.addEventListener('load', function() {
287
300
 
288
301
 
289
302
  ><H1
290
- id="itp1f"
291
-
292
303
 
304
+ class="title "
305
+ v-if="!empty"
293
306
 
294
307
  >Welcome back!</H1><div
295
308
  id="iyex8"
296
- class="subtitle color--light "
309
+ class="subtitle "
310
+ v-if="!empty"
311
+
312
+ >Dive into your projects or kickstart a new one</div><SECTION
313
+ id="iqmx38"
314
+
315
+ v-if="empty"
316
+
317
+ ><H1
318
+
319
+ class="title "
320
+
297
321
 
322
+ >Welcome, let's get started</H1><DIV
298
323
 
299
- >Dive into your projects or kickstart a new one</div><div
324
+ class="subtitle "
325
+
326
+
327
+ >Create your first project, click on "Create a website"</DIV></SECTION><div
300
328
  id="ickx4"
301
329
  class="button-bar margin-20 "
302
330
 
@@ -369,7 +397,7 @@ window.addEventListener('load', function() {
369
397
  >Cancel</button></div></form></div><div
370
398
  id="if80m"
371
399
 
372
-
400
+ v-if="!empty"
373
401
 
374
402
  ><SECTION
375
403
  id="idgvg"
@@ -486,31 +514,6 @@ window.addEventListener('load', function() {
486
514
  class="button-bar_item skeleton skeleton-button "
487
515
 
488
516
 
489
- >Edit</div></SECTION><SECTION
490
- id="iqmx38"
491
- class="button-bar button-bar--full-width bg-white rounded loading__item skeleton-anim skeleton-wrapper "
492
- v-if="loading"
493
-
494
- ><H3
495
-
496
- class="button-bar_item button-bar__item--main skeleton-text skeleton "
497
-
498
-
499
- >My first websiteMy first websiteMy first websiteMy first</H3><P
500
-
501
- class="button-bar_item button-bar__item--secondary skeleton-text skeleton "
502
-
503
-
504
- >Updated 1h ago by lexoyo</P><P
505
-
506
- class="button-bar_item button-bar__item--secondary skeleton-text skeleton "
507
-
508
-
509
- >Created 2023-02-16 by lexoyo</P><div
510
- id="ie83jl"
511
- class="button-bar_item skeleton skeleton-button "
512
-
513
-
514
517
  >Edit</div></SECTION></div><div
515
518
  id="i7ej6j"
516
519
  class="box horizontal "
@@ -50,6 +50,7 @@ window.addEventListener('load', function() {
50
50
  } = types
51
51
  const {
52
52
  connectorList,
53
+ logout,
53
54
  } = api
54
55
 
55
56
  const App = {
@@ -59,10 +60,16 @@ window.addEventListener('load', function() {
59
60
  error: null,
60
61
  message: null,
61
62
  loading: true,
63
+ lastConnector: null,
62
64
  }
63
65
  },
64
66
  mounted() {
65
67
  this.init()
68
+ window.addEventListener('message', (event) => {
69
+ if(event.data && event.data.type === 'login') {
70
+ this.loginResult(event.data)
71
+ }
72
+ })
66
73
  },
67
74
 
68
75
  methods: {
@@ -70,7 +77,7 @@ window.addEventListener('load', function() {
70
77
  try {
71
78
  this.loading = true
72
79
  console.log('init')
73
- this.connectors = await connectorList()
80
+ this.connectors = await connectorList({type: ConnectorType.STORAGE})
74
81
  console.log('connectors', this.connectors)
75
82
  this.loading = false
76
83
  } catch (error) {
@@ -79,6 +86,38 @@ window.addEventListener('load', function() {
79
86
  this.loading = false
80
87
  }
81
88
  },
89
+ openLogin(connector) {
90
+ this.lastConnector = connector
91
+ const nonOAuthUrl = `${constants.API_PATH}${constants.API_CONNECTOR_PATH}${constants.API_CONNECTOR_LOGIN}?connectorId=${connector.connectorId}&type=${connector.type}`
92
+ console.log('openLogin', connector.oauthUrl, nonOAuthUrl)
93
+ window.open(connector.oauthUrl || nonOAuthUrl, '_blank')
94
+ },
95
+ loginResult(data) {
96
+ console.log('loginResult', data)
97
+ if(data.error) {
98
+ this.error = data.error
99
+ this.message = `Erreur, impossible de se connecter. ${data.message}`
100
+ } else {
101
+ window.location.href = '/'
102
+ }
103
+ },
104
+ async logout() {
105
+ try {
106
+ this.message = 'Déconnexion en cours'
107
+ await logout({type: ConnectorType.STORAGE, connectorId: this.lastConnector.connectorId})
108
+ this.loggedIn = false
109
+ this.user = null
110
+ this.websites = []
111
+ this.loading = false
112
+ this.message = ''
113
+ this.error = false
114
+ } catch (error) {
115
+ console.error(error)
116
+ this.error = error
117
+ this.message = error.message
118
+ this.loading = false
119
+ }
120
+ },
82
121
  },
83
122
  };
84
123
 
@@ -96,29 +135,109 @@ window.addEventListener('load', function() {
96
135
  </head>
97
136
  <body
98
137
  id="i2hcfw"
99
- class=" app"
138
+ class="body app"
100
139
 
101
140
 
102
- ><div
141
+ ><HEADER
142
+
143
+ class="header padding-normal "
144
+
145
+
146
+ ><A
147
+ href="/"
148
+
149
+
150
+
151
+ ><img
152
+ src="/assets/silex-icon-2018@200px.png" href=""
153
+ class="nav__logo "
154
+
155
+
156
+ ></img></A><NAV
157
+ id="in5jeq"
158
+ class="nav "
159
+
160
+
161
+ ><A
162
+ href="/" id="i0g3ac"
163
+ class="nav__item active"
164
+ target=""
165
+
166
+ >Sites</A><A
167
+ href="http://docs.silex.me/" id="i0g3ac"
168
+ class="nav__item "
169
+ target="_blank"
170
+
171
+ >Docs</A><A
172
+ href="https://www.silex.me/" id="i0g3ac"
173
+ class="nav__item "
174
+ target="_blank"
175
+
176
+ >A propos</A><A
177
+ href="https://mail-list.silexlabs.org/subscription/cemnfkaVrK?locale=fr-FR&source=silex-dashboard" id="i0g3ac"
178
+ class="nav__item "
179
+ target="_blank"
180
+
181
+ >Info</A></NAV><div
182
+
183
+ class="lang h-space "
184
+
185
+
186
+ ><A
187
+ href="/en"
188
+ class="lang__item nav__item "
189
+ hreflang="en"
190
+
191
+ >en</A><A
192
+ href="/fr"
193
+ class="lang__item nav__item active"
194
+ hreflang="fr"
195
+
196
+ >fr</A></div></HEADER><A
197
+ id="ixzhcr" href="/"
198
+ class="button button-bar__item--secondary "
199
+
200
+
201
+ >< Retour</A><div
103
202
  id="imgx81"
104
203
 
105
204
 
106
205
 
107
- ><div
108
- id="in62y2"
206
+ ><H1
207
+ id="ighycb"
208
+ class="title "
109
209
 
110
210
 
211
+ >Bienvenue sur Silex</H1><div
212
+ id="it2175"
213
+ class="subtitle "
111
214
 
112
- ><div
113
- id="isqe61"
114
215
 
115
- v-if="!loading" v-for="(connector, index) in connectors" :key="index"
216
+ >Merci de vous connecter pour continuer</div><div
217
+ id="in62y2"
218
+ class="button-bar "
219
+
220
+
221
+ ><A
222
+ id="isqe61" href="https://"
223
+ class="h-space button-bar__item--main button-bar_item button big-button "
224
+ v-if="!loading" v-for="(connector, index) in connectors" :key="index" :style="{ backgroundColor: connector.background, color: connector.color }" @click="openLogin(connector)"
116
225
 
117
226
  ><div
118
227
  id="i87asw"
119
228
 
229
+ v-text="connector.displayName"
230
+
231
+ >Insert your text here</div></A></div><div
232
+ id="i9msnk"
233
+
234
+ v-if="error" v-html="message"
120
235
 
236
+ >Insert your text here</div><div
237
+ id="i6akll"
238
+ class="button button--tertiary "
239
+ v-if="error" @click="logout()"
121
240
 
122
- >Insert your text here</div></div></div></div></body>
241
+ >Déconnexion</div></div></body>
123
242
  </html>
124
243
 
@@ -71,6 +71,7 @@ window.addEventListener('load', function() {
71
71
  storage: null,
72
72
  user: null,
73
73
  showMenu: false,
74
+ empty: false,
74
75
  }
75
76
  },
76
77
  mounted() {
@@ -87,6 +88,7 @@ window.addEventListener('load', function() {
87
88
  this.user = user
88
89
  this.loggedIn = true
89
90
  this.websites = await websiteList({connectorId: this.user.storage.connectorId})
91
+ this.empty = this.websites.length === 0
90
92
  this.loading = false
91
93
  } else {
92
94
  this.openLogin()
@@ -94,11 +96,12 @@ window.addEventListener('load', function() {
94
96
  } catch (error) {
95
97
  console.error(error)
96
98
  this.loading = false
97
- if(error.code === 401) {
99
+ if(error.code === 401 || error.httpStatusCode === 401) {
98
100
  this.loggedIn = false
99
101
  this.openLogin()
100
102
  } else {
101
- this.error = error
103
+ this.error = `Erreur, impossible de démarrer le tableau de bord - ${error.message}`
104
+ this.message = ''
102
105
  }
103
106
  }
104
107
  },
@@ -120,12 +123,13 @@ window.addEventListener('load', function() {
120
123
  type: ConnectorType.STORAGE,
121
124
  connectorId: this.user.storage.connectorId,
122
125
  })
126
+ window.location.reload()
123
127
  },
124
128
 
125
129
  async createWebsite() {
126
- if (!this.newWebsiteName) throw new Error('Vous n\'avez pas donné de nom à votre site')
127
- this.loading = true
128
130
  try {
131
+ if (!this.newWebsiteName) throw new Error('Vous n\'avez pas donné de nom à votre site')
132
+ this.loading = true
129
133
  const websiteId = this.newWebsiteName.replace(/[/\\?%*:|"<>]/g, '_')
130
134
  const result = await websiteCreate({
131
135
  websiteId,
@@ -136,15 +140,18 @@ window.addEventListener('load', function() {
136
140
  connectorId: this.user.storage.connectorId
137
141
  })
138
142
  this.message = 'Le site a bien été créé'
143
+ this.error = ''
139
144
  this.newWebsiteName = ''
140
145
  this.showCreationForm = false;
141
146
  this.websites = await websiteList({connectorId: this.user.storage.connectorId})
147
+ this.empty = this.websites.length === 0
142
148
  this.loading = false
143
149
  return result
144
150
  } catch (error) {
145
151
  this.loading = false
146
152
  console.error(error)
147
- this.error = 'Erreur, le site n\'a pas été créé'
153
+ this.error = `Erreur, le site n\'a pas été créé - ${error.message}`
154
+ this.message = ''
148
155
  }
149
156
  },
150
157
 
@@ -155,12 +162,15 @@ window.addEventListener('load', function() {
155
162
  try {
156
163
  const result = await websiteDelete({websiteId, connectorId: this.user.storage.connectorId})
157
164
  this.message = 'Le site a bien été effacé'
165
+ this.error = ''
158
166
  this.websites = await websiteList({connectorId: this.user.storage.connectorId})
167
+ this.empty = this.websites.length === 0
159
168
  this.loading = false
160
169
  return result
161
170
  } catch (error) {
162
171
  this.loading = false
163
- this.error = 'Erreur, le site n\'a pas été effacé'
172
+ this.error = `Erreur, le site n\'a pas été effacé - ${error.message}`
173
+ this.message = ''
164
174
  }
165
175
  },
166
176
 
@@ -172,12 +182,15 @@ window.addEventListener('load', function() {
172
182
  try {
173
183
  const result = await websiteMetaWrite({websiteId, connectorId: this.user.storage.connectorId, data: { name }})
174
184
  this.message = 'Changement de nom effectué'
185
+ this.error = ''
175
186
  this.websites = await websiteList({connectorId: this.user.storage.connectorId})
187
+ this.empty = this.websites.length === 0
176
188
  this.loading = false
177
189
  return result
178
190
  } catch (error) {
179
191
  this.loading = false
180
- this.error = 'Erreur, le site n\'a pas été effacé'
192
+ this.error = `Erreur, le nom n\'a pas été changé - ${error.message}`
193
+ this.message = ''
181
194
  }
182
195
  },
183
196
  },
@@ -259,7 +272,7 @@ window.addEventListener('load', function() {
259
272
  >fr</A></div><div
260
273
  id="i24ew"
261
274
  class="user__wrapper "
262
- v-if="user" @NOmouseover="showMenu = true" @NOmouseout="showMenu = false" @click="showMenu = !showMenu"
275
+ v-if="user && !user.storage.disableLogout" @NOmouseover="showMenu = true" @NOmouseout="showMenu = false" @click="showMenu = !showMenu"
263
276
 
264
277
  ><div
265
278
  id="i5xsbd"
@@ -287,16 +300,31 @@ window.addEventListener('load', function() {
287
300
 
288
301
 
289
302
  ><H1
290
- id="itp1f"
291
-
292
303
 
304
+ class="title "
305
+ v-if="!empty"
293
306
 
294
307
  >Bienvenue !</H1><div
295
308
  id="iyex8"
296
- class="subtitle color--light "
309
+ class="subtitle "
310
+ v-if="!empty"
311
+
312
+ >Plongez-vous dans un projet ou créez-en un nouveau</div><SECTION
313
+ id="iqmx38"
314
+
315
+ v-if="empty"
316
+
317
+ ><H1
318
+
319
+ class="title "
320
+
297
321
 
322
+ >Bienvenue !</H1><DIV
298
323
 
299
- >Plongez-vous dans un projet ou créez-en un nouveau</div><div
324
+ class="subtitle "
325
+
326
+
327
+ >Créez votre premier projet, clickez sur le boutont "Créer un site"</DIV></SECTION><div
300
328
  id="ickx4"
301
329
  class="button-bar margin-20 "
302
330
 
@@ -369,7 +397,7 @@ window.addEventListener('load', function() {
369
397
  >Annuler</button></div></form></div><div
370
398
  id="if80m"
371
399
 
372
-
400
+ v-if="!empty"
373
401
 
374
402
  ><SECTION
375
403
  id="idgvg"
@@ -486,31 +514,6 @@ window.addEventListener('load', function() {
486
514
  class="button-bar_item skeleton skeleton-button "
487
515
 
488
516
 
489
- >Edit</div></SECTION><SECTION
490
- id="iqmx38"
491
- class="button-bar button-bar--full-width bg-white rounded loading__item skeleton-anim skeleton-wrapper "
492
- v-if="loading"
493
-
494
- ><H3
495
-
496
- class="button-bar_item button-bar__item--main skeleton-text skeleton "
497
-
498
-
499
- >My first websiteMy first websiteMy first websiteMy first</H3><P
500
-
501
- class="button-bar_item button-bar__item--secondary skeleton-text skeleton "
502
-
503
-
504
- >Updated 1h ago by lexoyo</P><P
505
-
506
- class="button-bar_item button-bar__item--secondary skeleton-text skeleton "
507
-
508
-
509
- >Created 2023-02-16 by lexoyo</P><div
510
- id="ie83jl"
511
- class="button-bar_item skeleton skeleton-button "
512
-
513
-
514
517
  >Edit</div></SECTION></div><div
515
518
  id="i7ej6j"
516
519
  class="box horizontal "
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexlabs/silex-dashboard",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Dashboard for Silex v3",
5
5
  "main": ".silex.js",
6
6
  "scripts": {
@@ -24,7 +24,7 @@
24
24
  "homepage": "https://github.com/silexlabs/silex-dashboard#readme",
25
25
  "devDependencies": {
26
26
  "@11ty/eleventy": "^2.0.1",
27
- "@silexlabs/silex": "^3.0.0-alpha.42"
27
+ "@silexlabs/silex": "^3.0.0-alpha.48"
28
28
  },
29
29
  "dependencies": {
30
30
  "locale": "^0.1.0",
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  permalink: /css/connectors.css
3
3
  ---
4
- * { box-sizing: border-box; } body {margin: 0;}#imgx81{min-height:100vh;display:flex;justify-content:center;align-items:center;}#in62y2{max-width:400px;width:100%;display:flex;}#i87asw{padding:10px;}
4
+ * { box-sizing: border-box; } body {margin: 0;}.nav__item{margin:0px 10px 0px 10px;font-size:1rem;padding:24px 0px 24px 0px;color:#4a4a4a;}.body{font-family:Verdana, Geneva, sans-serif;background-color:#f0f0f0;}.header{display:flex;align-items:center;justify-content:space-between;background-color:#ffffff;}.padding-normal{padding:0px 24px 0px 24px;}.nav{width:100%;margin:0px 20px 0px 20px;}.subtitle{font-size:1rem;margin:0px 0px 20px 0px;color:#4a4a4a;}.subtitle.color--light{color:#636363;font-weight:700;}.button{font-weight:700;font-size:0.8rem;padding:8px 15px 8px 15px;display:inline-block;border:1px solid transparent;transition:all 0.18s ease-out;font-family:"Roboto", sans-serif;}.button.button--primary{background-color:#5e85a8;color:white;}.button-bar{margin:10px 0px 10px 0px;display:flex;}.button-bar.button-bar--full-width{justify-content:space-between;align-items:center;}.button-bar_item{margin:20px 20px 20px 20px;}.button-bar_item.button-bar__item--secondary{font-size:0.8rem;color:#444444;}.button.button--secondary{font-weight:400;background-color:rgba(221,221,221,0.5);}.nav__item.active{color:black;}.h-space{margin:0px 10px 0px 10px;}.button--tertiary{background-color:transparent;font-weight:400;}.lang__item{margin:0px 5px 0px 5px;}.nav__logo{height:50px;}.button:hover{color:#ff6600;background-color:transparent;border:1px solid #dddddd;}.button.button--secondary:hover{background-color:white;}#imgx81{min-height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;}#in62y2{width:100%;display:flex;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:400;}#i9msnk{padding:10px;display:inline;}#i6akll{padding:10px;display:inline;}#ixzhcr{padding:10px;position:absolute;display:none;}.title{margin:0 0 10px 0;font-size:2rem;font-weight:400;font-family:Times New Roman, Times, serif;}#ighycb{padding:10px;}#it2175{padding:10px;}#in5jeq{display:flex;}
@@ -0,0 +1,23 @@
1
+ {
2
+ "nav": [
3
+ {
4
+ "label": "Sites",
5
+ "url": "/"
6
+ },
7
+ {
8
+ "label": "Docs",
9
+ "url": "http://docs.silex.me/",
10
+ "target": "_blank"
11
+ },
12
+ {
13
+ "label": "About",
14
+ "url": "https://www.silex.me/",
15
+ "target": "_blank"
16
+ },
17
+ {
18
+ "label": "News",
19
+ "url": "https://mail-list.silexlabs.org/subscription/cemnfkaVrK?locale=en-US&source=silex-dashboard",
20
+ "target": "_blank"
21
+ }
22
+ ]
23
+ }
package/pages/en/index.md CHANGED
@@ -3,6 +3,8 @@ layout: websites
3
3
  lang: en
4
4
  title: Silex Dashboard
5
5
  title2: Welcome back!
6
+ title2-empty: Welcome, let's get started
7
+ subtitle-empty: Create your first project, click on "Create a website"
6
8
  subtitle: Dive into your projects or kickstart a new one
7
9
  add-button: Create website
8
10
  add-title: Create a new website
@@ -16,18 +18,5 @@ list-edit: Edit
16
18
  list-rename: Rename
17
19
  list-delete: Delete
18
20
  message-dismiss: Dismiss
19
- nav:
20
- - label: Sites
21
- url: /
22
- - label: Docs
23
- url: http://docs.silex.me/
24
- target: _blank
25
- - label: About
26
- url: https://www.silex.me/
27
- target: _blank
28
- - label: News
29
- url: https://mail-list.silexlabs.org/subscription/cemnfkaVrK?locale=en-US&source=silex-dashboard
30
- target: _blank
31
-
32
21
 
33
22
  ---
@@ -0,0 +1,23 @@
1
+ {
2
+ "nav": [
3
+ {
4
+ "label": "Sites",
5
+ "url": "/"
6
+ },
7
+ {
8
+ "label": "Docs",
9
+ "url": "http://docs.silex.me/",
10
+ "target": "_blank"
11
+ },
12
+ {
13
+ "label": "A propos",
14
+ "url": "https://www.silex.me/",
15
+ "target": "_blank"
16
+ },
17
+ {
18
+ "label": "Info",
19
+ "url": "https://mail-list.silexlabs.org/subscription/cemnfkaVrK?locale=fr-FR&source=silex-dashboard",
20
+ "target": "_blank"
21
+ }
22
+ ]
23
+ }
package/pages/fr/index.md CHANGED
@@ -4,6 +4,8 @@ lang: fr
4
4
  title: Dashboard Silex
5
5
  title2: Bienvenue !
6
6
  subtitle: Plongez-vous dans un projet ou créez-en un nouveau
7
+ title2-empty: Bienvenue !
8
+ subtitle-empty: Créez votre premier projet, clickez sur le boutont "Créer un site"
7
9
  add-button: Créer un site
8
10
  add-title: Créer un nouveau site internet
9
11
  add-name-label: Nom du site
@@ -16,18 +18,6 @@ list-edit: Editer
16
18
  list-rename: Renommer
17
19
  list-delete: Supprimer
18
20
  message-dismiss: Fermer
19
- nav:
20
- - label: Sites
21
- url: /
22
- - label: Docs
23
- url: http://docs.silex.me/
24
- target: _blank
25
- - label: A propos
26
- url: https://www.silex.me/
27
- target: _blank
28
- - label: Info
29
- url: https://mail-list.silexlabs.org/subscription/cemnfkaVrK?locale=fr-FR&source=silex-dashboard
30
- target: _blank
31
21
 
32
22
  ---
33
23
  [Silex website builder](https://www.silex.me/) est un projet libre et open source, supporté par l'[association Silex Labs](https://www.silexlabs.org/)