nwl-components 0.0.3 → 0.0.4

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.
@@ -35,7 +35,7 @@ var __privateMethod = (obj, member, method) => {
35
35
  return method;
36
36
  };
37
37
  var _transformProjectFiles, transformProjectFiles_fn;
38
- import { openBlock, createElementBlock, mergeProps, reactive, ref, watch, onMounted, onUnmounted, unref, createVNode, withKeys, withDirectives, createElementVNode, Fragment, renderList, normalizeClass, toDisplayString, vShow, renderSlot, isRef, vModelText, withCtx, pushScopeId, popScopeId, createTextVNode, inject, toRefs, createBlock, createCommentVNode, vModelCheckbox } from "vue";
38
+ import { openBlock, createElementBlock, mergeProps, reactive, ref, watch, onMounted, onUnmounted, unref, createVNode, withKeys, withDirectives, createElementVNode, Fragment, renderList, normalizeClass, toDisplayString, vShow, renderSlot, isRef, vModelText, getCurrentInstance, createCommentVNode, createBlock, withCtx, pushScopeId, popScopeId, createTextVNode, inject, toRefs, vModelCheckbox } from "vue";
39
39
  let nanoid = (size = 21) => {
40
40
  let id = "";
41
41
  let bytes = crypto.getRandomValues(new Uint8Array(size));
@@ -61,8 +61,8 @@ var _export_sfc = (sfc, props) => {
61
61
  }
62
62
  return target;
63
63
  };
64
- const _hoisted_1$f = ["value"];
65
- const _sfc_main$m = {
64
+ const _hoisted_1$j = ["value"];
65
+ const _sfc_main$p = {
66
66
  props: {
67
67
  placeholder: String,
68
68
  disabled: Boolean,
@@ -78,20 +78,20 @@ const _sfc_main$m = {
78
78
  return openBlock(), createElementBlock("input", mergeProps({ type: "text" }, props, {
79
79
  value: __props.modelValue,
80
80
  onInput: handleInput
81
- }), null, 16, _hoisted_1$f);
81
+ }), null, 16, _hoisted_1$j);
82
82
  };
83
83
  }
84
84
  };
85
- var TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-2cc3f9d3"]]);
85
+ var TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-2cc3f9d3"]]);
86
86
  var Autocomplete_vue_vue_type_style_index_0_scoped_true_lang = "";
87
- const _hoisted_1$e = ["aria-owns", "aria-expanded"];
88
- const _hoisted_2$b = ["id"];
89
- const _hoisted_3$9 = {
87
+ const _hoisted_1$i = ["aria-owns", "aria-expanded"];
88
+ const _hoisted_2$d = ["id"];
89
+ const _hoisted_3$a = {
90
90
  key: 0,
91
91
  class: "loading"
92
92
  };
93
- const _hoisted_4$8 = ["onClick", "id", "aria-selected"];
94
- const _sfc_main$l = {
93
+ const _hoisted_4$9 = ["onClick", "id", "aria-selected"];
94
+ const _sfc_main$o = {
95
95
  props: {
96
96
  items: {
97
97
  type: Array,
@@ -229,7 +229,7 @@ const _sfc_main$l = {
229
229
  class: "autocomplete-results",
230
230
  role: "listbox"
231
231
  }, [
232
- unref(state2).isLoading ? (openBlock(), createElementBlock("li", _hoisted_3$9, "Loading results...")) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(unref(state2).results, (result, i) => {
232
+ unref(state2).isLoading ? (openBlock(), createElementBlock("li", _hoisted_3$a, "Loading results...")) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(unref(state2).results, (result, i) => {
233
233
  return openBlock(), createElementBlock("li", {
234
234
  key: i,
235
235
  onClick: ($event) => setResult(result),
@@ -237,19 +237,19 @@ const _sfc_main$l = {
237
237
  role: "option",
238
238
  id: getId(i),
239
239
  "aria-selected": isSelected(i)
240
- }, toDisplayString(props.extractResultText(result)), 11, _hoisted_4$8);
240
+ }, toDisplayString(props.extractResultText(result)), 11, _hoisted_4$9);
241
241
  }), 128))
242
- ], 8, _hoisted_2$b), [
242
+ ], 8, _hoisted_2$d), [
243
243
  [vShow, unref(state2).isOpen]
244
244
  ])
245
- ], 8, _hoisted_1$e);
245
+ ], 8, _hoisted_1$i);
246
246
  };
247
247
  }
248
248
  };
249
- var Autocomplete = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-ee76199e"]]);
249
+ var Autocomplete = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-ee76199e"]]);
250
250
  var Button_vue_vue_type_style_index_0_scoped_true_lang = "";
251
- const _hoisted_1$d = ["title", "disabled"];
252
- const _sfc_main$k = {
251
+ const _hoisted_1$h = ["title", "disabled"];
252
+ const _sfc_main$n = {
253
253
  props: {
254
254
  className: String,
255
255
  title: String,
@@ -269,13 +269,13 @@ const _sfc_main$k = {
269
269
  class: normalizeClass(classes)
270
270
  }, [
271
271
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
272
- ], 8, _hoisted_1$d);
272
+ ], 8, _hoisted_1$h);
273
273
  };
274
274
  }
275
275
  };
276
- var Button = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-5e5f2114"]]);
276
+ var Button = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-5e5f2114"]]);
277
277
  var Select_vue_vue_type_style_index_0_scoped_true_lang = "";
278
- const _sfc_main$j = {
278
+ const _sfc_main$m = {
279
279
  props: {
280
280
  disabled: Boolean,
281
281
  modelValue: String
@@ -304,9 +304,9 @@ const _sfc_main$j = {
304
304
  };
305
305
  }
306
306
  };
307
- var Select = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-976df3ea"]]);
307
+ var Select = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-976df3ea"]]);
308
308
  var TextArea_vue_vue_type_style_index_0_scoped_true_lang = "";
309
- const _sfc_main$i = {
309
+ const _sfc_main$l = {
310
310
  props: {
311
311
  placeholder: String,
312
312
  disabled: Boolean,
@@ -328,10 +328,10 @@ const _sfc_main$i = {
328
328
  };
329
329
  }
330
330
  };
331
- var TextArea = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-0c2bd53c"]]);
331
+ var TextArea = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-0c2bd53c"]]);
332
332
  var Table_vue_vue_type_style_index_0_scoped_true_lang = "";
333
- const _hoisted_1$c = ["id"];
334
- const _sfc_main$h = {
333
+ const _hoisted_1$g = ["id"];
334
+ const _sfc_main$k = {
335
335
  props: {
336
336
  id: String
337
337
  },
@@ -342,27 +342,77 @@ const _sfc_main$h = {
342
342
  id: props.id
343
343
  }, [
344
344
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
345
- ], 8, _hoisted_1$c);
345
+ ], 8, _hoisted_1$g);
346
+ };
347
+ }
348
+ };
349
+ var Table = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-6416d86a"]]);
350
+ var Tabs_vue_vue_type_style_index_0_scoped_true_lang = "";
351
+ const _hoisted_1$f = { class: "tabs" };
352
+ const _hoisted_2$c = ["onClick"];
353
+ const _sfc_main$j = {
354
+ setup(__props) {
355
+ const selectedIndex = ref(0);
356
+ const instance = getCurrentInstance();
357
+ const children = instance.vnode.children.default();
358
+ const CurrentTab = {
359
+ render: () => children[selectedIndex.value]
360
+ };
361
+ const selectTab = (i) => {
362
+ selectedIndex.value = i;
363
+ };
364
+ return (_ctx, _cache) => {
365
+ return openBlock(), createElementBlock("div", _hoisted_1$f, [
366
+ createElementVNode("ul", null, [
367
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(children), (tab, index) => {
368
+ return openBlock(), createElementBlock("li", {
369
+ key: tab.props.title,
370
+ onClick: ($event) => selectTab(index),
371
+ class: normalizeClass({ "selected": index == selectedIndex.value })
372
+ }, toDisplayString(tab.props.title), 11, _hoisted_2$c);
373
+ }), 128))
374
+ ]),
375
+ createCommentVNode("", true),
376
+ (openBlock(), createBlock(CurrentTab, { key: selectedIndex.value }))
377
+ ]);
378
+ };
379
+ }
380
+ };
381
+ var Tabs = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-7928afe0"]]);
382
+ var Tab_vue_vue_type_style_index_0_scoped_true_lang = "";
383
+ const _hoisted_1$e = { class: "content" };
384
+ const _sfc_main$i = {
385
+ props: {
386
+ title: {
387
+ type: String,
388
+ required: true
389
+ }
390
+ },
391
+ setup(__props) {
392
+ return (_ctx, _cache) => {
393
+ return openBlock(), createElementBlock("div", _hoisted_1$e, [
394
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
395
+ ]);
346
396
  };
347
397
  }
348
398
  };
349
- var Table = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-6416d86a"]]);
399
+ var Tab = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-33e54edc"]]);
350
400
  var ImportFilesDialog_vue_vue_type_style_index_0_scoped_true_lang = "";
351
- const _withScopeId$6 = (n) => (pushScopeId("data-v-21580a08"), n = n(), popScopeId(), n);
352
- const _hoisted_1$b = { class: "dialog" };
353
- const _hoisted_2$a = { class: "contents" };
354
- const _hoisted_3$8 = { class: "scrollable" };
355
- const _hoisted_4$7 = /* @__PURE__ */ _withScopeId$6(() => /* @__PURE__ */ createElementVNode("thead", null, [
401
+ const _withScopeId$7 = (n) => (pushScopeId("data-v-21580a08"), n = n(), popScopeId(), n);
402
+ const _hoisted_1$d = { class: "dialog" };
403
+ const _hoisted_2$b = { class: "contents" };
404
+ const _hoisted_3$9 = { class: "scrollable" };
405
+ const _hoisted_4$8 = /* @__PURE__ */ _withScopeId$7(() => /* @__PURE__ */ createElementVNode("thead", null, [
356
406
  /* @__PURE__ */ createElementVNode("tr", null, [
357
407
  /* @__PURE__ */ createElementVNode("th", null, "URL"),
358
408
  /* @__PURE__ */ createElementVNode("th", null, "Name")
359
409
  ])
360
410
  ], -1));
361
- const _hoisted_5$6 = ["onBlur"];
362
- const _hoisted_6$5 = { class: "actions" };
363
- const _hoisted_7$5 = /* @__PURE__ */ createTextVNode(" Import ");
364
- const _hoisted_8$5 = /* @__PURE__ */ createTextVNode(" Cancel ");
365
- const _sfc_main$g = {
411
+ const _hoisted_5$7 = ["onBlur"];
412
+ const _hoisted_6$6 = { class: "actions" };
413
+ const _hoisted_7$6 = /* @__PURE__ */ createTextVNode(" Import ");
414
+ const _hoisted_8$6 = /* @__PURE__ */ createTextVNode(" Cancel ");
415
+ const _sfc_main$h = {
366
416
  props: {
367
417
  files: {
368
418
  type: Array,
@@ -373,11 +423,11 @@ const _sfc_main$g = {
373
423
  const props = __props;
374
424
  const filesToImport = ref(props.files);
375
425
  return (_ctx, _cache) => {
376
- return openBlock(), createElementBlock("div", _hoisted_1$b, [
377
- createElementVNode("div", _hoisted_2$a, [
378
- createElementVNode("div", _hoisted_3$8, [
426
+ return openBlock(), createElementBlock("div", _hoisted_1$d, [
427
+ createElementVNode("div", _hoisted_2$b, [
428
+ createElementVNode("div", _hoisted_3$9, [
379
429
  createElementVNode("table", null, [
380
- _hoisted_4$7,
430
+ _hoisted_4$8,
381
431
  createElementVNode("tbody", null, [
382
432
  (openBlock(true), createElementBlock(Fragment, null, renderList(filesToImport.value, (file) => {
383
433
  return openBlock(), createElementBlock("tr", {
@@ -386,20 +436,20 @@ const _sfc_main$g = {
386
436
  createElementVNode("td", {
387
437
  contentEditable: "true",
388
438
  onBlur: ($event) => file.source = $event.currentTarget.textContent
389
- }, toDisplayString(file.source), 41, _hoisted_5$6),
439
+ }, toDisplayString(file.source), 41, _hoisted_5$7),
390
440
  createElementVNode("td", null, toDisplayString(file.name), 1)
391
441
  ]);
392
442
  }), 128))
393
443
  ])
394
444
  ])
395
445
  ]),
396
- createElementVNode("div", _hoisted_6$5, [
446
+ createElementVNode("div", _hoisted_6$6, [
397
447
  createVNode(Button, {
398
448
  className: "push-button",
399
449
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("import", filesToImport.value))
400
450
  }, {
401
451
  default: withCtx(() => [
402
- _hoisted_7$5
452
+ _hoisted_7$6
403
453
  ]),
404
454
  _: 1
405
455
  }),
@@ -408,7 +458,7 @@ const _sfc_main$g = {
408
458
  onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("cancel"))
409
459
  }, {
410
460
  default: withCtx(() => [
411
- _hoisted_8$5
461
+ _hoisted_8$6
412
462
  ]),
413
463
  _: 1
414
464
  })
@@ -418,23 +468,23 @@ const _sfc_main$g = {
418
468
  };
419
469
  }
420
470
  };
421
- var ImportFilesDialog = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-21580a08"]]);
471
+ var ImportFilesDialog = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-21580a08"]]);
422
472
  var TwoCols_vue_vue_type_style_index_0_lang = "";
423
- const _sfc_main$f = {};
424
- const _hoisted_1$a = { class: "container" };
425
- const _hoisted_2$9 = { class: "side" };
426
- const _hoisted_3$7 = { class: "content" };
473
+ const _sfc_main$g = {};
474
+ const _hoisted_1$c = { class: "container" };
475
+ const _hoisted_2$a = { class: "side" };
476
+ const _hoisted_3$8 = { class: "content" };
427
477
  function _sfc_render$2(_ctx, _cache) {
428
- return openBlock(), createElementBlock("div", _hoisted_1$a, [
429
- createElementVNode("div", _hoisted_2$9, [
478
+ return openBlock(), createElementBlock("div", _hoisted_1$c, [
479
+ createElementVNode("div", _hoisted_2$a, [
430
480
  renderSlot(_ctx.$slots, "side")
431
481
  ]),
432
- createElementVNode("div", _hoisted_3$7, [
482
+ createElementVNode("div", _hoisted_3$8, [
433
483
  renderSlot(_ctx.$slots, "content")
434
484
  ])
435
485
  ]);
436
486
  }
437
- var TwoCols = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["render", _sfc_render$2]]);
487
+ var TwoCols = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", _sfc_render$2]]);
438
488
  function parseHex(hash, startPosition, octets) {
439
489
  return parseInt(hash.substr(startPosition, octets), 16);
440
490
  }
@@ -2305,7 +2355,7 @@ var lodash = { exports: {} };
2305
2355
  if (typeof func != "function") {
2306
2356
  throw new TypeError2(FUNC_ERROR_TEXT);
2307
2357
  }
2308
- return setTimeout(function() {
2358
+ return setTimeout2(function() {
2309
2359
  func.apply(undefined$1, args);
2310
2360
  }, wait);
2311
2361
  }
@@ -4114,7 +4164,7 @@ var lodash = { exports: {} };
4114
4164
  return object[key];
4115
4165
  }
4116
4166
  var setData = shortOut(baseSetData);
4117
- var setTimeout = ctxSetTimeout || function(func, wait) {
4167
+ var setTimeout2 = ctxSetTimeout || function(func, wait) {
4118
4168
  return root.setTimeout(func, wait);
4119
4169
  };
4120
4170
  var setToString = shortOut(baseSetToString);
@@ -4906,7 +4956,7 @@ var lodash = { exports: {} };
4906
4956
  }
4907
4957
  function leadingEdge(time) {
4908
4958
  lastInvokeTime = time;
4909
- timerId = setTimeout(timerExpired, wait);
4959
+ timerId = setTimeout2(timerExpired, wait);
4910
4960
  return leading ? invokeFunc(time) : result2;
4911
4961
  }
4912
4962
  function remainingWait(time) {
@@ -4922,7 +4972,7 @@ var lodash = { exports: {} };
4922
4972
  if (shouldInvoke(time)) {
4923
4973
  return trailingEdge(time);
4924
4974
  }
4925
- timerId = setTimeout(timerExpired, remainingWait(time));
4975
+ timerId = setTimeout2(timerExpired, remainingWait(time));
4926
4976
  }
4927
4977
  function trailingEdge(time) {
4928
4978
  timerId = undefined$1;
@@ -4953,12 +5003,12 @@ var lodash = { exports: {} };
4953
5003
  }
4954
5004
  if (maxing) {
4955
5005
  clearTimeout(timerId);
4956
- timerId = setTimeout(timerExpired, wait);
5006
+ timerId = setTimeout2(timerExpired, wait);
4957
5007
  return invokeFunc(lastCallTime);
4958
5008
  }
4959
5009
  }
4960
5010
  if (timerId === undefined$1) {
4961
- timerId = setTimeout(timerExpired, wait);
5011
+ timerId = setTimeout2(timerExpired, wait);
4962
5012
  }
4963
5013
  return result2;
4964
5014
  }
@@ -6547,16 +6597,32 @@ class ProjectService {
6547
6597
  return __privateMethod(this, _transformProjectFiles, transformProjectFiles_fn).call(this, await (await fetch(`${this.baseURL}/project/json/${id}`)).json());
6548
6598
  }
6549
6599
  async save(data) {
6600
+ const res = await fetch(`${this.baseURL}/project/json/${data.shortname}`, {
6601
+ method: "POST",
6602
+ headers: {
6603
+ Accept: "application/json",
6604
+ "Content-Type": "application/json"
6605
+ },
6606
+ body: JSON.stringify({
6607
+ data
6608
+ })
6609
+ });
6610
+ return await res.json();
6550
6611
  }
6551
6612
  async delete(id) {
6613
+ const res = await fetch(`${this.baseURL}/project/json/${id}`, {
6614
+ method: "DELETE",
6615
+ headers: { "Content-Type": "application/json" }
6616
+ });
6617
+ return await res.json();
6552
6618
  }
6553
6619
  }
6554
6620
  _transformProjectFiles = new WeakSet();
6555
- transformProjectFiles_fn = function(project2) {
6556
- if (lodash.exports.get(project2, "files.list") != null) {
6557
- return __spreadProps(__spreadValues({}, project2), {
6558
- files: __spreadProps(__spreadValues({}, project2.files), {
6559
- list: project2.files.list.map((file) => {
6621
+ transformProjectFiles_fn = function(project) {
6622
+ if (lodash.exports.get(project, "files.list") != null) {
6623
+ return __spreadProps(__spreadValues({}, project), {
6624
+ files: __spreadProps(__spreadValues({}, project.files), {
6625
+ list: project.files.list.map((file) => {
6560
6626
  if (typeof file === "string") {
6561
6627
  const splitAt = file.lastIndexOf("/");
6562
6628
  return {
@@ -6569,7 +6635,7 @@ transformProjectFiles_fn = function(project2) {
6569
6635
  })
6570
6636
  });
6571
6637
  }
6572
- return project2;
6638
+ return project;
6573
6639
  };
6574
6640
  const state = reactive({
6575
6641
  project: null,
@@ -6583,8 +6649,11 @@ function useProject() {
6583
6649
  state.project = await service.fetch(id);
6584
6650
  state.loading = false;
6585
6651
  };
6586
- const saveProject = async () => {
6587
- await service.save(project);
6652
+ const saveProject = async (project) => {
6653
+ return await service.save(project);
6654
+ };
6655
+ const deleteProject = async (id) => {
6656
+ return await service.delete(id);
6588
6657
  };
6589
6658
  const updateProject = (data) => {
6590
6659
  if (!state.project)
@@ -6654,6 +6723,7 @@ function useProject() {
6654
6723
  return __spreadProps(__spreadValues({}, toRefs(state)), {
6655
6724
  fetchProject,
6656
6725
  saveProject,
6726
+ deleteProject,
6657
6727
  updateProject,
6658
6728
  addCollaborator,
6659
6729
  updateCollaborator,
@@ -6667,89 +6737,104 @@ function useProject() {
6667
6737
  });
6668
6738
  }
6669
6739
  var ProjectInfo_vue_vue_type_style_index_0_scoped_true_lang = "";
6670
- const _withScopeId$5 = (n) => (pushScopeId("data-v-7003e800"), n = n(), popScopeId(), n);
6671
- const _hoisted_1$9 = { class: "image" };
6672
- const _hoisted_2$8 = ["href"];
6673
- const _hoisted_3$6 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createElementVNode("svg", {
6740
+ const _withScopeId$6 = (n) => (pushScopeId("data-v-51e11f34"), n = n(), popScopeId(), n);
6741
+ const _hoisted_1$b = { class: "image" };
6742
+ const _hoisted_2$9 = ["href"];
6743
+ const _hoisted_3$7 = /* @__PURE__ */ _withScopeId$6(() => /* @__PURE__ */ createElementVNode("svg", {
6674
6744
  id: "jdenticon",
6675
6745
  width: "100%",
6676
6746
  height: "100%"
6677
6747
  }, null, -1));
6678
- const _hoisted_4$6 = [
6679
- _hoisted_3$6
6748
+ const _hoisted_4$7 = [
6749
+ _hoisted_3$7
6680
6750
  ];
6681
- const _hoisted_5$5 = { class: "description" };
6682
- const _hoisted_6$4 = ["href"];
6683
- const _hoisted_7$4 = /* @__PURE__ */ createTextVNode(" by ");
6684
- const _hoisted_8$4 = ["href"];
6685
- const _hoisted_9$3 = { id: "numCollaborators" };
6686
- const _hoisted_10$3 = /* @__PURE__ */ createTextVNode(" Collaborators ");
6687
- const _hoisted_11$1 = { id: "numAnnotations" };
6688
- const _hoisted_12$1 = /* @__PURE__ */ createTextVNode(" Annotations ");
6751
+ const _hoisted_5$6 = { class: "description" };
6752
+ const _hoisted_6$5 = ["href"];
6753
+ const _hoisted_7$5 = /* @__PURE__ */ createTextVNode(" by ");
6754
+ const _hoisted_8$5 = ["href"];
6755
+ const _hoisted_9$4 = { id: "numCollaborators" };
6756
+ const _hoisted_10$4 = /* @__PURE__ */ createTextVNode(" Collaborators ");
6757
+ const _hoisted_11$2 = { id: "numAnnotations" };
6758
+ const _hoisted_12$2 = /* @__PURE__ */ createTextVNode(" Annotations ");
6689
6759
  const _hoisted_13$1 = { id: "numFiles" };
6690
6760
  const _hoisted_14$1 = /* @__PURE__ */ createTextVNode(" Data Files ");
6691
6761
  const _hoisted_15$1 = { class: "actions" };
6692
6762
  const _hoisted_16$1 = /* @__PURE__ */ createTextVNode("Save Changes");
6693
6763
  const _hoisted_17$1 = /* @__PURE__ */ createTextVNode("Delete Project");
6694
6764
  const _hoisted_18$1 = /* @__PURE__ */ createTextVNode("Go to Project");
6695
- const _hoisted_19$1 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createElementVNode("p", { id: "saveFeedback" }, null, -1));
6696
- const _sfc_main$e = {
6765
+ const _hoisted_19$1 = { id: "saveFeedback" };
6766
+ const _sfc_main$f = {
6697
6767
  setup(__props) {
6698
- const { project: project2 } = useProject();
6699
- const handleProjectSave = () => {
6700
- alert(JSON.stringify(project2.value));
6768
+ const { project, saveProject, deleteProject } = useProject();
6769
+ const feedback = ref("");
6770
+ const handleProjectSave = async () => {
6771
+ const res = await saveProject(project.value);
6772
+ if (res.success) {
6773
+ feedback.value = res.message;
6774
+ } else if (res.error) {
6775
+ feedback.value = res.error;
6776
+ }
6701
6777
  };
6702
- const handleProjectDeletion = () => {
6703
- const res = confirm("Are you sure you want to delete project " + project2.shortname + "? This operation cannot be undone.");
6704
- if (res !== true) {
6778
+ const handleProjectDeletion = async () => {
6779
+ const confirmation = confirm("Are you sure you want to delete project " + project.value.shortname + "? This operation cannot be undone.");
6780
+ if (!confirmation) {
6705
6781
  return;
6706
6782
  }
6783
+ const res = await deleteProject(project.value.shortname);
6784
+ if (res.success) {
6785
+ feedback.value = "Successfully deleted";
6786
+ setTimeout(function() {
6787
+ window.location.assign("/");
6788
+ }, 2e3);
6789
+ } else {
6790
+ feedback.value = "Unable to delete project";
6791
+ }
6707
6792
  };
6708
6793
  const goToProject = () => {
6709
- window.location.assign(`/project/${project2.value.shortname}`);
6794
+ window.location.assign(`/project/${project.value.shortname}`);
6710
6795
  };
6711
6796
  onMounted(() => {
6712
- update(document.getElementById("jdenticon"), md5(project2.value.shortname));
6797
+ update(document.getElementById("jdenticon"), md5(project.value.shortname));
6713
6798
  });
6714
6799
  return (_ctx, _cache) => {
6715
6800
  return openBlock(), createElementBlock(Fragment, null, [
6716
- createElementVNode("div", _hoisted_1$9, [
6801
+ createElementVNode("div", _hoisted_1$b, [
6717
6802
  createElementVNode("a", {
6718
- href: `/project/${unref(project2).shortname}`
6719
- }, _hoisted_4$6, 8, _hoisted_2$8)
6803
+ href: `/project/${unref(project).shortname}`
6804
+ }, _hoisted_4$7, 8, _hoisted_2$9)
6720
6805
  ]),
6721
- createElementVNode("div", _hoisted_5$5, [
6806
+ createElementVNode("div", _hoisted_5$6, [
6722
6807
  createElementVNode("a", {
6723
- href: `/project/${unref(project2).shortname}`
6808
+ href: `/project/${unref(project).shortname}`
6724
6809
  }, [
6725
- createElementVNode("h1", null, toDisplayString(unref(project2).shortname), 1)
6726
- ], 8, _hoisted_6$4),
6810
+ createElementVNode("h1", null, toDisplayString(unref(project).shortname), 1)
6811
+ ], 8, _hoisted_6$5),
6727
6812
  createVNode(TextInput, {
6728
- modelValue: unref(project2).url,
6729
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(project2).url = $event),
6813
+ modelValue: unref(project).url,
6814
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(project).url = $event),
6730
6815
  placeholder: "Enter a project website"
6731
6816
  }, null, 8, ["modelValue"]),
6732
6817
  createElementVNode("p", null, [
6733
- _hoisted_7$4,
6818
+ _hoisted_7$5,
6734
6819
  createElementVNode("a", {
6735
- href: `/user/${unref(project2).owner}`
6736
- }, toDisplayString(unref(project2).owner), 9, _hoisted_8$4)
6820
+ href: `/user/${unref(project).owner}`
6821
+ }, toDisplayString(unref(project).owner), 9, _hoisted_8$5)
6737
6822
  ]),
6738
6823
  createVNode(TextArea, {
6739
- modelValue: unref(project2).description,
6740
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(project2).description = $event),
6824
+ modelValue: unref(project).description,
6825
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(project).description = $event),
6741
6826
  placeholder: "Enter a project description"
6742
6827
  }, null, 8, ["modelValue"]),
6743
6828
  createElementVNode("p", null, [
6744
- createElementVNode("span", _hoisted_9$3, toDisplayString(unref(project2).collaborators.list.length), 1),
6745
- _hoisted_10$3
6829
+ createElementVNode("span", _hoisted_9$4, toDisplayString(unref(project).collaborators.list.length), 1),
6830
+ _hoisted_10$4
6746
6831
  ]),
6747
6832
  createElementVNode("p", null, [
6748
- createElementVNode("span", _hoisted_11$1, toDisplayString(unref(project2).annotations.list.length), 1),
6749
- _hoisted_12$1
6833
+ createElementVNode("span", _hoisted_11$2, toDisplayString(unref(project).annotations.list.length), 1),
6834
+ _hoisted_12$2
6750
6835
  ]),
6751
6836
  createElementVNode("p", null, [
6752
- createElementVNode("span", _hoisted_13$1, toDisplayString(unref(project2).files.list.length), 1),
6837
+ createElementVNode("span", _hoisted_13$1, toDisplayString(unref(project).files.list.length), 1),
6753
6838
  _hoisted_14$1
6754
6839
  ]),
6755
6840
  createElementVNode("div", _hoisted_15$1, [
@@ -6780,21 +6865,21 @@ const _sfc_main$e = {
6780
6865
  ]),
6781
6866
  _: 1
6782
6867
  }),
6783
- _hoisted_19$1
6868
+ createElementVNode("p", _hoisted_19$1, toDisplayString(feedback.value), 1)
6784
6869
  ])
6785
6870
  ])
6786
6871
  ], 64);
6787
6872
  };
6788
6873
  }
6789
6874
  };
6790
- var ProjectInfo = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-7003e800"]]);
6875
+ var ProjectInfo = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-51e11f34"]]);
6791
6876
  var Access_vue_vue_type_style_index_0_scoped_true_lang = "";
6792
- const _hoisted_1$8 = ["data-level"];
6793
- const _hoisted_2$7 = ["title"];
6794
- const _hoisted_3$5 = ["title"];
6795
- const _hoisted_4$5 = ["title"];
6796
- const _hoisted_5$4 = ["title"];
6797
- const _sfc_main$d = {
6877
+ const _hoisted_1$a = ["data-level"];
6878
+ const _hoisted_2$8 = ["title"];
6879
+ const _hoisted_3$6 = ["title"];
6880
+ const _hoisted_4$6 = ["title"];
6881
+ const _hoisted_5$5 = ["title"];
6882
+ const _sfc_main$e = {
6798
6883
  props: {
6799
6884
  collaborator: Object,
6800
6885
  type: String
@@ -6811,30 +6896,30 @@ const _sfc_main$d = {
6811
6896
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("updateAccess", __props.collaborator, __props.type, 1)),
6812
6897
  class: "view",
6813
6898
  title: `view ${__props.type}`
6814
- }, null, 8, _hoisted_2$7),
6899
+ }, null, 8, _hoisted_2$8),
6815
6900
  createElementVNode("button", {
6816
6901
  small: true,
6817
6902
  onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("updateAccess", __props.collaborator, __props.type, 2)),
6818
6903
  class: "edit",
6819
6904
  title: `edit ${__props.type}`
6820
- }, null, 8, _hoisted_3$5),
6905
+ }, null, 8, _hoisted_3$6),
6821
6906
  createElementVNode("button", {
6822
6907
  small: true,
6823
6908
  onClick: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("updateAccess", __props.collaborator, __props.type, 3)),
6824
6909
  class: "add",
6825
6910
  title: `add ${__props.type}`
6826
- }, null, 8, _hoisted_4$5),
6911
+ }, null, 8, _hoisted_4$6),
6827
6912
  createElementVNode("button", {
6828
6913
  small: true,
6829
6914
  onClick: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("updateAccess", __props.collaborator, __props.type, 4)),
6830
6915
  class: "remove",
6831
6916
  title: `remove ${__props.type}`
6832
- }, null, 8, _hoisted_5$4)
6833
- ], 8, _hoisted_1$8);
6917
+ }, null, 8, _hoisted_5$5)
6918
+ ], 8, _hoisted_1$a);
6834
6919
  };
6835
6920
  }
6836
6921
  };
6837
- var Access = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-1db05093"]]);
6922
+ var Access = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-1db05093"]]);
6838
6923
  const _AccessLevel = class {
6839
6924
  constructor(level) {
6840
6925
  __publicField(this, "numericalLevel", 0);
@@ -6874,10 +6959,10 @@ __publicField(AccessLevel, "EDIT", new _AccessLevel("edit"));
6874
6959
  __publicField(AccessLevel, "ADD", new _AccessLevel("add"));
6875
6960
  __publicField(AccessLevel, "REMOVE", new _AccessLevel("remove"));
6876
6961
  var PureCollaborators_vue_vue_type_style_index_0_scoped_true_lang = "";
6877
- const _withScopeId$4 = (n) => (pushScopeId("data-v-2d19ee37"), n = n(), popScopeId(), n);
6878
- const _hoisted_1$7 = { class: "wrapper" };
6879
- const _hoisted_2$6 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createElementVNode("h2", null, "Access", -1));
6880
- const _hoisted_3$4 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createElementVNode("thead", null, [
6962
+ const _withScopeId$5 = (n) => (pushScopeId("data-v-2d19ee37"), n = n(), popScopeId(), n);
6963
+ const _hoisted_1$9 = { class: "wrapper" };
6964
+ const _hoisted_2$7 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createElementVNode("h2", null, "Access", -1));
6965
+ const _hoisted_3$5 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ createElementVNode("thead", null, [
6881
6966
  /* @__PURE__ */ createElementVNode("tr", null, [
6882
6967
  /* @__PURE__ */ createElementVNode("th", null, "User Name"),
6883
6968
  /* @__PURE__ */ createElementVNode("th", null, "Name"),
@@ -6886,12 +6971,12 @@ const _hoisted_3$4 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ create
6886
6971
  /* @__PURE__ */ createElementVNode("th", null, "Files")
6887
6972
  ])
6888
6973
  ], -1));
6889
- const _hoisted_4$4 = ["onClick"];
6890
- const _hoisted_5$3 = { style: { "position": "relative" } };
6891
- const _hoisted_6$3 = { class: "actions" };
6892
- const _hoisted_7$3 = /* @__PURE__ */ createTextVNode(" + ");
6893
- const _hoisted_8$3 = /* @__PURE__ */ createTextVNode(" - ");
6894
- const _sfc_main$c = {
6974
+ const _hoisted_4$5 = ["onClick"];
6975
+ const _hoisted_5$4 = { style: { "position": "relative" } };
6976
+ const _hoisted_6$4 = { class: "actions" };
6977
+ const _hoisted_7$4 = /* @__PURE__ */ createTextVNode(" + ");
6978
+ const _hoisted_8$4 = /* @__PURE__ */ createTextVNode(" - ");
6979
+ const _sfc_main$d = {
6895
6980
  props: {
6896
6981
  collaborators: {
6897
6982
  type: Array,
@@ -6945,11 +7030,11 @@ const _sfc_main$c = {
6945
7030
  });
6946
7031
  };
6947
7032
  return (_ctx, _cache) => {
6948
- return openBlock(), createElementBlock("div", _hoisted_1$7, [
6949
- _hoisted_2$6,
7033
+ return openBlock(), createElementBlock("div", _hoisted_1$9, [
7034
+ _hoisted_2$7,
6950
7035
  createVNode(Table, { id: "access" }, {
6951
7036
  default: withCtx(() => [
6952
- _hoisted_3$4,
7037
+ _hoisted_3$5,
6953
7038
  createElementVNode("tbody", null, [
6954
7039
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.collaborators, (collaborator, idx) => {
6955
7040
  return openBlock(), createElementBlock("tr", {
@@ -6957,7 +7042,7 @@ const _sfc_main$c = {
6957
7042
  class: normalizeClass({ selected: selected.value === idx }),
6958
7043
  onClick: ($event) => handleRowClick($event, idx)
6959
7044
  }, [
6960
- createElementVNode("td", _hoisted_5$3, [
7045
+ createElementVNode("td", _hoisted_5$4, [
6961
7046
  createVNode(Autocomplete, {
6962
7047
  onInput: unref(handleUserSearch),
6963
7048
  onSelect: handleUserSelect,
@@ -7001,20 +7086,20 @@ const _sfc_main$c = {
7001
7086
  onUpdateAccess: handleAccessChange
7002
7087
  }, null, 8, ["collaborator"])
7003
7088
  ])
7004
- ], 10, _hoisted_4$4);
7089
+ ], 10, _hoisted_4$5);
7005
7090
  }), 128))
7006
7091
  ])
7007
7092
  ]),
7008
7093
  _: 1
7009
7094
  }),
7010
- createElementVNode("div", _hoisted_6$3, [
7095
+ createElementVNode("div", _hoisted_6$4, [
7011
7096
  createVNode(Button, {
7012
7097
  small: true,
7013
7098
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("addCollaborator")),
7014
7099
  title: "Add collaborator"
7015
7100
  }, {
7016
7101
  default: withCtx(() => [
7017
- _hoisted_7$3
7102
+ _hoisted_7$4
7018
7103
  ]),
7019
7104
  _: 1
7020
7105
  }),
@@ -7028,7 +7113,7 @@ const _sfc_main$c = {
7028
7113
  disabled: selected.value == null || __props.collaborators[selected.value].userID === "anyone"
7029
7114
  }, {
7030
7115
  default: withCtx(() => [
7031
- _hoisted_8$3
7116
+ _hoisted_8$4
7032
7117
  ]),
7033
7118
  _: 1
7034
7119
  }, 8, ["disabled"])
@@ -7037,12 +7122,13 @@ const _sfc_main$c = {
7037
7122
  };
7038
7123
  }
7039
7124
  };
7040
- var PureCollaborators = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-2d19ee37"]]);
7125
+ var PureCollaborators = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-2d19ee37"]]);
7041
7126
  const usersFound = reactive([]);
7042
7127
  function useUserSearch() {
7128
+ const { userSearchURL } = inject("config");
7043
7129
  const fetchUsers = async (q) => {
7044
7130
  usersFound.splice(0, usersFound.length);
7045
- const users = await (await fetch(`https://brainbox.pasteur.fr/api/userNameQuery?q=${q}`)).json();
7131
+ const users = await (await fetch(`${userSearchURL}${q}`)).json();
7046
7132
  usersFound.push(...users);
7047
7133
  };
7048
7134
  return {
@@ -7050,10 +7136,10 @@ function useUserSearch() {
7050
7136
  fetchUsers
7051
7137
  };
7052
7138
  }
7053
- const _sfc_main$b = {
7139
+ const _sfc_main$c = {
7054
7140
  setup(__props) {
7055
7141
  const {
7056
- project: project2,
7142
+ project,
7057
7143
  addCollaborator,
7058
7144
  updateCollaborator,
7059
7145
  removeCollaborators
@@ -7063,9 +7149,9 @@ const _sfc_main$b = {
7063
7149
  fetchUsers
7064
7150
  } = useUserSearch();
7065
7151
  return (_ctx, _cache) => {
7066
- return unref(project2) && unref(project2).collaborators ? (openBlock(), createBlock(PureCollaborators, {
7152
+ return unref(project) && unref(project).collaborators ? (openBlock(), createBlock(PureCollaborators, {
7067
7153
  key: 0,
7068
- collaborators: unref(project2).collaborators.list,
7154
+ collaborators: unref(project).collaborators.list,
7069
7155
  "users-found": unref(usersFound2),
7070
7156
  onAddCollaborator: unref(addCollaborator),
7071
7157
  onRemoveCollaborators: unref(removeCollaborators),
@@ -7076,10 +7162,10 @@ const _sfc_main$b = {
7076
7162
  }
7077
7163
  };
7078
7164
  var PureAnnotations_vue_vue_type_style_index_0_scoped_true_lang = "";
7079
- const _withScopeId$3 = (n) => (pushScopeId("data-v-629d4746"), n = n(), popScopeId(), n);
7080
- const _hoisted_1$6 = { class: "wrapper" };
7081
- const _hoisted_2$5 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createElementVNode("h2", null, "Annotations", -1));
7082
- const _hoisted_3$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createElementVNode("thead", null, [
7165
+ const _withScopeId$4 = (n) => (pushScopeId("data-v-0abfcc3d"), n = n(), popScopeId(), n);
7166
+ const _hoisted_1$8 = { class: "wrapper" };
7167
+ const _hoisted_2$6 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createElementVNode("h2", null, "Annotations", -1));
7168
+ const _hoisted_3$4 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createElementVNode("thead", null, [
7083
7169
  /* @__PURE__ */ createElementVNode("tr", null, [
7084
7170
  /* @__PURE__ */ createElementVNode("th", null, "Name"),
7085
7171
  /* @__PURE__ */ createElementVNode("th", null, "Type"),
@@ -7087,14 +7173,14 @@ const _hoisted_3$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ create
7087
7173
  /* @__PURE__ */ createElementVNode("th", null, "Display")
7088
7174
  ])
7089
7175
  ], -1));
7090
- const _hoisted_4$3 = ["onClick"];
7091
- const _hoisted_5$2 = ["value", "selected"];
7092
- const _hoisted_6$2 = ["value", "selected"];
7093
- const _hoisted_7$2 = ["onUpdate:modelValue", "onChange"];
7094
- const _hoisted_8$2 = { class: "actions" };
7095
- const _hoisted_9$2 = /* @__PURE__ */ createTextVNode(" + ");
7096
- const _hoisted_10$2 = /* @__PURE__ */ createTextVNode(" - ");
7097
- const _sfc_main$a = {
7176
+ const _hoisted_4$4 = ["onClick"];
7177
+ const _hoisted_5$3 = ["value", "selected"];
7178
+ const _hoisted_6$3 = ["value", "selected"];
7179
+ const _hoisted_7$3 = ["onUpdate:modelValue", "onChange"];
7180
+ const _hoisted_8$3 = { class: "actions" };
7181
+ const _hoisted_9$3 = /* @__PURE__ */ createTextVNode(" + ");
7182
+ const _hoisted_10$3 = /* @__PURE__ */ createTextVNode(" - ");
7183
+ const _sfc_main$b = {
7098
7184
  props: {
7099
7185
  annotations: {
7100
7186
  type: Array,
@@ -7108,13 +7194,13 @@ const _sfc_main$a = {
7108
7194
  ],
7109
7195
  setup(__props, { emit }) {
7110
7196
  const props = __props;
7111
- const { baseURL } = inject("config");
7197
+ const { baseURL, fetchLabelSets } = inject("config");
7112
7198
  const annotationType = ["volume", "text"];
7113
7199
  const labelSets = reactive([]);
7114
- const fetchLabelSets = async () => {
7115
- labelSets.push(...await (await fetch(`${baseURL}/api/getLabelsets`)).json());
7200
+ const updateLabelSets = async () => {
7201
+ labelSets.push(...await fetchLabelSets());
7116
7202
  };
7117
- fetchLabelSets();
7203
+ updateLabelSets();
7118
7204
  const selected = ref(null);
7119
7205
  const handleRowClick = (event, idx) => {
7120
7206
  selected.value = idx;
@@ -7151,11 +7237,11 @@ const _sfc_main$a = {
7151
7237
  emitAnnotationUpdate(idx, { display });
7152
7238
  };
7153
7239
  return (_ctx, _cache) => {
7154
- return openBlock(), createElementBlock("div", _hoisted_1$6, [
7155
- _hoisted_2$5,
7240
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [
7241
+ _hoisted_2$6,
7156
7242
  createVNode(Table, { id: "annotations" }, {
7157
7243
  default: withCtx(() => [
7158
- _hoisted_3$3,
7244
+ _hoisted_3$4,
7159
7245
  createElementVNode("tbody", null, [
7160
7246
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.annotations, (annotation, idx) => {
7161
7247
  return openBlock(), createElementBlock("tr", {
@@ -7184,7 +7270,7 @@ const _sfc_main$a = {
7184
7270
  key: `${annotation.name}${opt}`,
7185
7271
  value: opt,
7186
7272
  selected: opt === annotation.type
7187
- }, toDisplayString(opt), 9, _hoisted_5$2);
7273
+ }, toDisplayString(opt), 9, _hoisted_5$3);
7188
7274
  }), 64))
7189
7275
  ]),
7190
7276
  _: 2
@@ -7203,7 +7289,7 @@ const _sfc_main$a = {
7203
7289
  value: opt.source,
7204
7290
  key: `${annotation.name}${opt.source}`,
7205
7291
  selected: opt.source === annotation.values
7206
- }, toDisplayString(opt.name), 9, _hoisted_6$2);
7292
+ }, toDisplayString(opt.name), 9, _hoisted_6$3);
7207
7293
  }), 128))
7208
7294
  ]),
7209
7295
  _: 2
@@ -7214,24 +7300,24 @@ const _sfc_main$a = {
7214
7300
  type: "checkbox",
7215
7301
  "onUpdate:modelValue": ($event) => annotation.display = $event,
7216
7302
  onChange: ($event) => handleDisplayChange(annotation, $event.target.checked)
7217
- }, null, 40, _hoisted_7$2), [
7303
+ }, null, 40, _hoisted_7$3), [
7218
7304
  [vModelCheckbox, annotation.display]
7219
7305
  ])
7220
7306
  ])
7221
- ], 10, _hoisted_4$3);
7307
+ ], 10, _hoisted_4$4);
7222
7308
  }), 128))
7223
7309
  ])
7224
7310
  ]),
7225
7311
  _: 1
7226
7312
  }),
7227
- createElementVNode("div", _hoisted_8$2, [
7313
+ createElementVNode("div", _hoisted_8$3, [
7228
7314
  createVNode(Button, {
7229
7315
  small: true,
7230
7316
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("addAnnotation")),
7231
7317
  title: "Add annotation"
7232
7318
  }, {
7233
7319
  default: withCtx(() => [
7234
- _hoisted_9$2
7320
+ _hoisted_9$3
7235
7321
  ]),
7236
7322
  _: 1
7237
7323
  }),
@@ -7242,7 +7328,7 @@ const _sfc_main$a = {
7242
7328
  disabled: selected.value == null
7243
7329
  }, {
7244
7330
  default: withCtx(() => [
7245
- _hoisted_10$2
7331
+ _hoisted_10$3
7246
7332
  ]),
7247
7333
  _: 1
7248
7334
  }, 8, ["disabled"])
@@ -7251,19 +7337,19 @@ const _sfc_main$a = {
7251
7337
  };
7252
7338
  }
7253
7339
  };
7254
- var PureAnnotations = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-629d4746"]]);
7255
- const _sfc_main$9 = {
7340
+ var PureAnnotations = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-0abfcc3d"]]);
7341
+ const _sfc_main$a = {
7256
7342
  setup(__props) {
7257
7343
  const {
7258
- project: project2,
7344
+ project,
7259
7345
  addAnnotation,
7260
7346
  updateAnnotation,
7261
7347
  removeAnnotations
7262
7348
  } = useProject();
7263
7349
  return (_ctx, _cache) => {
7264
- return unref(project2) && unref(project2).annotations ? (openBlock(), createBlock(PureAnnotations, {
7350
+ return unref(project) && unref(project).annotations ? (openBlock(), createBlock(PureAnnotations, {
7265
7351
  key: 0,
7266
- annotations: unref(project2).annotations.list,
7352
+ annotations: unref(project).annotations.list,
7267
7353
  onAddAnnotation: unref(addAnnotation),
7268
7354
  onRemoveAnnotations: unref(removeAnnotations),
7269
7355
  onUpdateAnnotation: unref(updateAnnotation)
@@ -7274,29 +7360,29 @@ const _sfc_main$9 = {
7274
7360
  var _imports_0$2 = "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0MzguNTMzIDQzOC41MzMiIGhlaWdodD0iNDM4LjUzMyIgdmlld0JveD0iMCAwIDQzOC41MzMgNDM4LjUzMyIgd2lkdGg9IjQzOC41MzMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiIgdHJhbnNmb3JtPSJtYXRyaXgoLjcxMTE2MTExIDAgMCAuNzExMTYxMTEgODEuMDg2NzE2IDI1LjY3MTMwNykiPjxwYXRoIGQ9Im0xMTQuMDA2MzYgMTgzLjM5MzI5aDQ4LjExNTQ2djkxLjIwODljMCAyLjQxOTQzLjc1NjY2IDQuNDA0MTcgMi4yNTg2IDUuOTU5NjUgMS40OTU3OCAxLjU1MDk1IDMuNDE5MDggMi4zMzA1IDUuNzU1OCAyLjMzMDVoNDguMTI0MjFjMi4zMzg0OSAwIDQuMjYwODktLjc3OTU1IDUuNzY0NTktMi4zMzA1IDEuNTA0NTYtMS41NTYzOCAyLjI1NTk2LTMuNTQwMjIgMi4yNTU5Ni01Ljk1OTY1di05MS4yMDUyN2g0OC4xMjA3MWMzLjY3NDUyIDAgNi4xODE1My0xLjcyODgxIDcuNTE5MzItNS4xODEgMS4zMzc3OS0zLjI4NjExLjc0OTY2LTYuMzA0NTEtMS43NTQ3My05LjA3MTUybC04MC4xOTk0My04Mi45MTE0OTNjLTEuODM5ODctMS41NTI3NTktMy43NTk2NS0yLjMyOTU5Ni01Ljc2NDU3LTIuMzI5NTk2LTIuMDAyMyAwLTMuOTI0Ny43NzY4MzctNS43NjYzMyAyLjMyOTU5NmwtNzkuOTQ4MzggODIuNjUwMTMzYy0xLjY2OTU5IDIuMDcxODUtMi41MDI2MyA0LjE1Mjc4LTIuNTAyNjMgNi4yMTgyOSAwIDIuNDE1ODEuNzUwNTMgNC40MDQxNyAyLjI1ODYxIDUuOTYyMzcgMS41MDAxOCAxLjU1MzY3IDMuNDIyNTcgMi4zMjk1OSA1Ljc2MjgxIDIuMzI5NTl6Ii8+PHBhdGggZD0ibTM2LjIzNTI0NCAzMTkuMjQ3Mzl2ODUuMDUxNDRoMzE2LjEzMjgxNnYtODUuMDUxNDRoLTM2LjkwODkydjQ4LjE0MjUyaC0yNDIuMzE0OTcydi00OC4xNDI1MnoiLz48L2c+PC9zdmc+";
7275
7361
  var _imports_1$1 = "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0MzguNTMzIDQzOC41MzMiIGhlaWdodD0iNDM4LjUzMyIgdmlld0JveD0iMCAwIDQzOC41MzMgNDM4LjUzMyIgd2lkdGg9IjQzOC41MzMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTE2Mi4xNjM2MSAxNTYuMDk5OTRoMzQuMjE3ODR2LTY0Ljg2NDIzMWMwLTEuNzIwNi41MzgxMS0zLjEzMjA3IDEuNjA2MjMtNC4yMzgyNyAxLjA2Mzc0LTEuMTAyOTcgMi40MzE1MS0xLjY1NzM2IDQuMDkzMy0xLjY1NzM2aDM0LjIyNDA3YzEuNjYzMDQgMCAzLjAzMDE3LjU1NDM5IDQuMDk5NTUgMS42NTczNiAxLjA2OTk4IDEuMTA2ODQgMS42MDQzNSAyLjUxNzY3IDEuNjA0MzUgNC4yMzgyN3Y2NC44NjE2NTFoMzQuMjIxNThjMi42MTMxNyAwIDQuMzk2MDYgMS4yMjk0NiA1LjM0NzQ0IDMuNjg0NTIuOTUxMzkgMi4zMzY5Ni41MzMxMyA0LjQ4MzUyLTEuMjQ3ODkgNi40NTEzMWwtNTcuMDM0NzIgNTguOTYzNDNjLTEuMzA4NDQgMS4xMDQyNi0yLjY3MzcxIDEuNjU2NzItNC4wOTk1MyAxLjY1NjcyLTEuNDIzOTYgMC0yLjc5MTEtLjU1MjQ2LTQuMTAwNzktMS42NTY3MmwtNTYuODU2MTgtNTguNzc3NTZjLTEuMTg3MzUtMS40NzM0Mi0xLjc3OTc4LTIuOTUzMjktMS43Nzk3OC00LjQyMjIgMC0xLjcxODAzLjUzMzc1LTMuMTMyMDggMS42MDYyNC00LjI0MDIxIDEuMDY2ODctMS4xMDQ5MSAyLjQzNC0xLjY1NjcxIDQuMDk4MjktMS42NTY3MXoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJtMTA2Ljg1NTgxIDI1Mi43MDc2NHY2MC40ODUyN2gyMjQuODIxMzd2LTYwLjQ4NTI3aC0yNi4yNDgxOXYzNC4yMzcwOGgtMTcyLjMyNDk5di0zNC4yMzcwOHoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=";
7276
7362
  var PureFiles_vue_vue_type_style_index_0_scoped_true_lang = "";
7277
- const _withScopeId$2 = (n) => (pushScopeId("data-v-3c8f55ac"), n = n(), popScopeId(), n);
7278
- const _hoisted_1$5 = { class: "wrapper" };
7279
- const _hoisted_2$4 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("h2", null, "Files", -1));
7280
- const _hoisted_3$2 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("thead", null, [
7363
+ const _withScopeId$3 = (n) => (pushScopeId("data-v-3c8f55ac"), n = n(), popScopeId(), n);
7364
+ const _hoisted_1$7 = { class: "wrapper" };
7365
+ const _hoisted_2$5 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createElementVNode("h2", null, "Files", -1));
7366
+ const _hoisted_3$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createElementVNode("thead", null, [
7281
7367
  /* @__PURE__ */ createElementVNode("tr", null, [
7282
7368
  /* @__PURE__ */ createElementVNode("th", null, "URL"),
7283
7369
  /* @__PURE__ */ createElementVNode("th", null, "Name")
7284
7370
  ])
7285
7371
  ], -1));
7286
- const _hoisted_4$2 = ["onClick"];
7287
- const _hoisted_5$1 = ["onBlur", "onKeyup"];
7288
- const _hoisted_6$1 = { class: "actions" };
7289
- const _hoisted_7$1 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("img", {
7372
+ const _hoisted_4$3 = ["onClick"];
7373
+ const _hoisted_5$2 = ["onBlur", "onKeyup"];
7374
+ const _hoisted_6$2 = { class: "actions" };
7375
+ const _hoisted_7$2 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createElementVNode("img", {
7290
7376
  src: _imports_0$2,
7291
7377
  alt: "Import CSV"
7292
7378
  }, null, -1));
7293
- const _hoisted_8$1 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("img", {
7379
+ const _hoisted_8$2 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createElementVNode("img", {
7294
7380
  src: _imports_1$1,
7295
7381
  alt: "Download CSV"
7296
7382
  }, null, -1));
7297
- const _hoisted_9$1 = /* @__PURE__ */ createTextVNode(" + ");
7298
- const _hoisted_10$1 = /* @__PURE__ */ createTextVNode(" - ");
7299
- const _sfc_main$8 = {
7383
+ const _hoisted_9$2 = /* @__PURE__ */ createTextVNode(" + ");
7384
+ const _hoisted_10$2 = /* @__PURE__ */ createTextVNode(" - ");
7385
+ const _sfc_main$9 = {
7300
7386
  props: {
7301
7387
  files: {
7302
7388
  type: Array,
@@ -7332,11 +7418,11 @@ const _sfc_main$8 = {
7332
7418
  emitFileUpdate(idx, { source });
7333
7419
  };
7334
7420
  return (_ctx, _cache) => {
7335
- return openBlock(), createElementBlock("div", _hoisted_1$5, [
7336
- _hoisted_2$4,
7421
+ return openBlock(), createElementBlock("div", _hoisted_1$7, [
7422
+ _hoisted_2$5,
7337
7423
  createVNode(Table, { id: "access" }, {
7338
7424
  default: withCtx(() => [
7339
- _hoisted_3$2,
7425
+ _hoisted_3$3,
7340
7426
  createElementVNode("tbody", null, [
7341
7427
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.files, (file, idx) => {
7342
7428
  return openBlock(), createElementBlock("tr", {
@@ -7350,7 +7436,7 @@ const _sfc_main$8 = {
7350
7436
  placeholder: "File URL",
7351
7437
  onBlur: ($event) => handleSourceChange(file, $event.currentTarget.textContent),
7352
7438
  onKeyup: withKeys(($event) => handleSourceChange(file, $event.currentTarget.textContent), ["enter"])
7353
- }, toDisplayString(file.source), 41, _hoisted_5$1)
7439
+ }, toDisplayString(file.source), 41, _hoisted_5$2)
7354
7440
  ]),
7355
7441
  createElementVNode("td", null, [
7356
7442
  createVNode(TextInput, {
@@ -7361,20 +7447,20 @@ const _sfc_main$8 = {
7361
7447
  onKeyup: withKeys(($event) => handleNameChange(file, $event.target.value), ["enter"])
7362
7448
  }, null, 8, ["modelValue", "onUpdate:modelValue", "onBlur", "onKeyup"])
7363
7449
  ])
7364
- ], 10, _hoisted_4$2);
7450
+ ], 10, _hoisted_4$3);
7365
7451
  }), 128))
7366
7452
  ])
7367
7453
  ]),
7368
7454
  _: 1
7369
7455
  }),
7370
- createElementVNode("div", _hoisted_6$1, [
7456
+ createElementVNode("div", _hoisted_6$2, [
7371
7457
  createVNode(Button, {
7372
7458
  small: true,
7373
7459
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("importCsv")),
7374
7460
  title: "Upload CSV"
7375
7461
  }, {
7376
7462
  default: withCtx(() => [
7377
- _hoisted_7$1
7463
+ _hoisted_7$2
7378
7464
  ]),
7379
7465
  _: 1
7380
7466
  }),
@@ -7384,7 +7470,7 @@ const _sfc_main$8 = {
7384
7470
  title: "Download CSV"
7385
7471
  }, {
7386
7472
  default: withCtx(() => [
7387
- _hoisted_8$1
7473
+ _hoisted_8$2
7388
7474
  ]),
7389
7475
  _: 1
7390
7476
  }),
@@ -7394,7 +7480,7 @@ const _sfc_main$8 = {
7394
7480
  title: "Add file"
7395
7481
  }, {
7396
7482
  default: withCtx(() => [
7397
- _hoisted_9$1
7483
+ _hoisted_9$2
7398
7484
  ]),
7399
7485
  _: 1
7400
7486
  }),
@@ -7405,7 +7491,7 @@ const _sfc_main$8 = {
7405
7491
  disabled: selected.value == null
7406
7492
  }, {
7407
7493
  default: withCtx(() => [
7408
- _hoisted_10$1
7494
+ _hoisted_10$2
7409
7495
  ]),
7410
7496
  _: 1
7411
7497
  }, 8, ["disabled"])
@@ -7414,10 +7500,10 @@ const _sfc_main$8 = {
7414
7500
  };
7415
7501
  }
7416
7502
  };
7417
- var PureFiles = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-3c8f55ac"]]);
7418
- const _sfc_main$7 = {
7503
+ var PureFiles = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-3c8f55ac"]]);
7504
+ const _sfc_main$8 = {
7419
7505
  setup(__props) {
7420
- const { project: project2, addFile, updateFile, removeFiles } = useProject();
7506
+ const { project, addFile, updateFile, removeFiles } = useProject();
7421
7507
  const displayImportDialog = ref(false);
7422
7508
  const importedFiles = ref([]);
7423
7509
  const handleCSVImport = () => {
@@ -7444,11 +7530,11 @@ const _sfc_main$7 = {
7444
7530
  input.click();
7445
7531
  };
7446
7532
  const handleCSVDownload = () => {
7447
- const filename = prompt("File name", `${project2.value.shortname}`);
7533
+ const filename = prompt("File name", `${project.value.shortname}`);
7448
7534
  if (filename == null) {
7449
7535
  return;
7450
7536
  }
7451
- const csv = project2.value.files.list.map((o) => `${o.source},${o.name}`).join("\n");
7537
+ const csv = project.value.files.list.map((o) => `${o.source},${o.name}`).join("\n");
7452
7538
  const csvData = "data:text/ascii;charset=utf-8," + encodeURIComponent(csv);
7453
7539
  const a = document.createElement("a");
7454
7540
  a.href = csvData;
@@ -7463,13 +7549,13 @@ const _sfc_main$7 = {
7463
7549
  console.log("Too short to be an url:", file.source);
7464
7550
  return;
7465
7551
  }
7466
- const found = project2.value.files.list.find((f) => f.source === file.source);
7552
+ const found = project.value.files.list.find((f) => f.source === file.source);
7467
7553
  if (found != null) {
7468
7554
  if (found.name === "") {
7469
7555
  found.name = file.name;
7470
7556
  }
7471
7557
  } else {
7472
- project2.value.files.list.push(file);
7558
+ project.value.files.list.push(file);
7473
7559
  }
7474
7560
  });
7475
7561
  displayImportDialog.value = false;
@@ -7482,9 +7568,9 @@ const _sfc_main$7 = {
7482
7568
  onImport: appendFiles,
7483
7569
  onCancel: _cache[0] || (_cache[0] = ($event) => displayImportDialog.value = false)
7484
7570
  }, null, 8, ["files"])) : createCommentVNode("", true),
7485
- unref(project2) && unref(project2).files ? (openBlock(), createBlock(PureFiles, {
7571
+ unref(project) && unref(project).files ? (openBlock(), createBlock(PureFiles, {
7486
7572
  key: 1,
7487
- files: unref(project2).files.list,
7573
+ files: unref(project).files.list,
7488
7574
  onAddFile: unref(addFile),
7489
7575
  onRemoveFiles: unref(removeFiles),
7490
7576
  onUpdateFile: unref(updateFile),
@@ -7495,7 +7581,9 @@ const _sfc_main$7 = {
7495
7581
  };
7496
7582
  }
7497
7583
  };
7498
- const _sfc_main$6 = {
7584
+ var Settings_vue_vue_type_style_index_0_scoped_true_lang = "";
7585
+ const _hoisted_1$6 = { class: "content" };
7586
+ const _sfc_main$7 = {
7499
7587
  setup(__props) {
7500
7588
  return (_ctx, _cache) => {
7501
7589
  return openBlock(), createBlock(TwoCols, null, {
@@ -7503,24 +7591,27 @@ const _sfc_main$6 = {
7503
7591
  createVNode(ProjectInfo)
7504
7592
  ]),
7505
7593
  content: withCtx(() => [
7506
- createVNode(_sfc_main$b),
7507
- createVNode(_sfc_main$9),
7508
- createVNode(_sfc_main$7)
7594
+ createElementVNode("div", _hoisted_1$6, [
7595
+ createVNode(_sfc_main$c),
7596
+ createVNode(_sfc_main$a),
7597
+ createVNode(_sfc_main$8)
7598
+ ])
7509
7599
  ]),
7510
7600
  _: 1
7511
7601
  });
7512
7602
  };
7513
7603
  }
7514
7604
  };
7605
+ var Settings = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-3f5ec6e5"]]);
7515
7606
  var Wrapper_vue_vue_type_style_index_0_lang = "";
7516
- const _sfc_main$5 = {};
7517
- const _hoisted_1$4 = { class: "app" };
7607
+ const _sfc_main$6 = {};
7608
+ const _hoisted_1$5 = { class: "app" };
7518
7609
  function _sfc_render$1(_ctx, _cache) {
7519
- return openBlock(), createElementBlock("div", _hoisted_1$4, [
7610
+ return openBlock(), createElementBlock("div", _hoisted_1$5, [
7520
7611
  renderSlot(_ctx.$slots, "default")
7521
7612
  ]);
7522
7613
  }
7523
- var Wrapper = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["render", _sfc_render$1]]);
7614
+ var Wrapper = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render$1]]);
7524
7615
  var _imports_0$1 = "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0MDEuOTk0IDQwMS45OTQiIGhlaWdodD0iNDAxLjk5NCIgdmlld0JveD0iMCAwIDQwMS45OTQgNDAxLjk5NCIgd2lkdGg9IjQwMS45OTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iNTAiPjxwYXRoIGQ9Im00MDIuMDMyMjEgMjAxLjg0ODY4aC00MDAuMjkwNjIyOCIvPjxwYXRoIGQ9Im0yMDIuNzAwMzYgMi44NTE2ODA4djQwMC4yOTA2MTkyIi8+PC9nPjwvc3ZnPg==";
7525
7616
  var _imports_1 = "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE1MzYiIHdpZHRoPSIxNTM2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0xMDI0IDc2OGMwLTcwLjY2NjY3LTI1LTEzMS03NS0xODFzLTExMC4zMzMzMy03NS0xODEtNzUtMTMxIDI1LTE4MSA3NS03NSAxMTAuMzMzMzMtNzUgMTgxIDI1IDEzMSA3NSAxODEgMTEwLjMzMzMzIDc1IDE4MSA3NSAxMzEtMjUgMTgxLTc1IDc1LTExMC4zMzMzMyA3NS0xODF6bTUxMi0xMDl2MjIyYzAgOC0yLjY2NjcgMTUuNjY2NjctOCAyM3MtMTIgMTEuNjY2NjctMjAgMTNsLTI5NS4xMzE3LTEwLjc1MDAzYy0xMi42NjY3IDM2LTI3LjcwNjEgNjQuMjkzODYtNDEuMDM5NCA4OC45NjA1MyAyMy4zMzMzIDMzLjMzMzMgMTcxLjE3MTEgMTIwLjEyMjggMjE5LjE3MTEgMTc4Ljc4OTUgNi42NjY3IDggMTAgMTYuMzMzMyAxMCAyNXMtMyAxNi4zMzMzLTkgMjNjLTE4IDI0LjY2NjctNTEgNjAuNjY2Ny05OSAxMDhzLTc5LjMzMzMgNzEtOTQgNzFjLTggMC0xNi42NjY3LTMtMjYtOWwtMTkxLjAyNjM1LTIxOC4xMzE2Yy0yOS4zMzMzIDE1LjMzMzMtNjUuNzg1MSAzMi4wNzg5LTk3LjExODQzIDQyLjA3ODktMTAuNjY2NjcgOTAuNjY2NyAzOC44MTE0NSAyNTguNzE5NCAzMC4xNDQ3OCAyOTIuMDUyNy00LjY2NjY3IDE4LjY2NjctMTYuNjY2NjcgMjgtMzYgMjhoLTIyMmMtOS4zMzMzMyAwLTE3LjUtMi44MzMzLTI0LjUtOC41cy0xMC44MzMzMy0xMi44MzMzLTExLjUtMjEuNWwyMC45NDc0LTI5Mi4wOTIyYy0zMi42NjY2Ny0xMC42NjY2LTg5LjE3OTg0LTQ3LjQ3MzctMTE2LjUxMzE3LTYxLjQ3MzdsLTE2My40MzQyMyAyMzkuNTY1OXMtMTYuMTQ4MzggOS4zMDUzLTI1IDljLTkuMDk4OTItLjMxMzgtMTcuMzM4ODItNC4wMDk5LTI1LTExLTgzLjY4MDkxLTc2LjM1MTItMTM5LTEzMi0xNjUtMTY4LTQuNjY2NjctNi42NjY3LTctMTQuMzMzMy03LTIzIDAtOCAyLjY2NjY3LTE1LjY2NjcgOC0yMyA3MC4xMDAwOC02Ni43MDYyIDE1Mi41NDMyNy0xMjkuODc0MiAyMTkuMjEwNi0xOTYuMTQ0NzgtMTgtMzMuMzMzMzMtMjMuNTA4NzctNTguMTc1NDMtMzIuODQyMS05MC44NDIxbC0zMDUuMzY4NSAyMy45ODY4OGMtOC42NjY2NjctMS4zMzMzMy0xNS42NjY2NjctNS41LTIxLTEyLjUtNS4zMzMzMzMzLTctOC0xNC44MzMzMy04LTIzLjV2LTIyMmMwLTggMi42NjY2NjY3LTE1LjY2NjY3IDgtMjMgNS4zMzMzMzMtNy4zMzMzMyAxMS42NjY2NjctMTEuNjY2NjcgMTktMTNsMzE2LjUyNjQgNDEuMzQyMTVjOS4zMzMzMy0zMC42NjY2NyAyNi40MTIyOC03NS42MDk2MiA0My4wNzg5NS0xMDYuMjc2MzItMjYuNjY2NjctMzguMDAwMDMtMTk2LjkzODY4LTEzOS4wNjU4My0yNDEuNjA1MzUtMTkzLjA2NTgzLTYuNjY2NjctOC0xMC0xNi0xMC0yNCAwLTYuNjY2NyAzLTE0LjMzMzMgOS0yMyAxNy4zMzMzMy0yNCA1MC4xNjY2Ny01OS44MzMzIDk4LjUtMTA3LjVzNzkuODMzMzMtNzEuNSA5NC41LTcxLjVjOC42NjY2NyAwIDE3LjMzMzMzIDMuMzMzMyAyNiAxMGwxODAuODI4OTggMjM5LjU2NTljMjkuMzMzMzMtMTUuMzMzMyA5NC4zMzc3NC00NC4zMTU4IDEyNS42NzEwNy01NC4zMTU4LTcuNjg4Ni04Ni41ODc4LTU3LjE2NjcyLTI2OC45MTY4LTQ4LjUwMDA1LTMwMi4yNTAxIDQuNjY2NjctMTguNjY2NyAxNi42NjY2Ny0yOCAzNi0yOGgyMjJjOS4zMzMzMyAwIDE3LjUgMi44MzMzIDI0LjUgOC41czEwLjgzMzMzIDEyLjgzMzMgMTEuNSAyMS41bC0zNS4yMjM3MyAyOTYuMTcxMWMzMi42NjY2NyAxMC42NjY3IDk5LjM3NzI1IDM5LjMxNTggMTI2LjcxMDUzIDUzLjMxNThsMTY4LjUxMzItMjM1LjQ4NjljNi02IDE0LTkgMjQtOSA4LjY2NjcgMCAxNyAzLjMzMzMgMjUgMTAgODYgNzkuMzMzMyAxNDEgMTM2IDE2NSAxNzAgNC42NjY3IDUuMzMzMyA3IDEyLjY2NjcgNyAyMiAwIDgtMi42NjY3IDE1LjY2NjctOCAyMy01Ni44MTEzIDQ5LjEyNjUtMTQzLjEzNDQgMTI0LjE0OC0yMTcuMTcxMSAxOTAuMDI2MzUgMTcuMzMzMyAzMy4zMzMzIDMxIDc0LjE1NzkgNDEgMTA2LjE1NzlsMjk1LjE3MTEtMzMuMTg0MjVjOC42NjY3IDEuMzMzMzMgMTUuNjY2NyA1LjUgMjEgMTIuNXM4IDE0LjgzMzMzIDggMjMuNXoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=";
7526
7617
  var _imports_2 = "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0NzUuMDg0IDQ3NS4wODQiIGhlaWdodD0iNDc1LjA4NCIgdmlld0JveD0iMCAwIDQ3NS4wODQgNDc1LjA4NCIgd2lkdGg9IjQ3NS4wODQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTQ2NC41MjQgNDEyLjg0Ni05Ny45MjktOTcuOTI1YzIzLjYtMzQuMDY4IDM1LjQwNi03Mi4wNDcgMzUuNDA2LTExMy45MTcgMC0yNy4yMTgtNS4yODQtNTMuMjQ5LTE1Ljg1Mi03OC4wODctMTAuNTYxLTI0Ljg0Mi0yNC44MzgtNDYuMjU0LTQyLjgyNS02NC4yNDFzLTM5LjM5Ni0zMi4yNjQtNjQuMjMzLTQyLjgyNmMtMjQuODQ1LTEwLjU2NS01MC44NzQtMTUuODQ3LTc4LjA5Mi0xNS44NDctMjcuMjE2IDAtNTMuMjQ3IDUuMjgyLTc4LjA4NSAxNS44NDctMjQuODQyIDEwLjU2Mi00Ni4yNTQgMjQuODM5LTY0LjI0MSA0Mi44MjYtMTcuOTg5IDE3Ljk4Ny0zMi4yNjQgMzkuNDAzLTQyLjgyNyA2NC4yNDEtMTAuNTY0IDI0Ljg0MS0xNS44NDYgNTAuODY5LTE1Ljg0NiA3OC4wODcgMCAyNy4yMTYgNS4yODIgNTMuMjM4IDE1Ljg0NiA3OC4wODMgMTAuNTYyIDI0LjgzOCAyNC44MzggNDYuMjQ3IDQyLjgyNyA2NC4yMzQgMTcuOTg3IDE3Ljk5MyAzOS40MDMgMzIuMjY0IDY0LjI0MSA0Mi44MzIgMjQuODQxIDEwLjU2MyA1MC44NjkgMTUuODQ0IDc4LjA4NSAxNS44NDQgNDEuODc5IDAgNzkuODUyLTExLjgwNyAxMTMuOTIyLTM1LjQwNWw5Ny45MjkgOTcuNjQxYzYuODUyIDcuMjMxIDE1LjQwNiAxMC44NDkgMjUuNjkzIDEwLjg0OSA5Ljg5NyAwIDE4LjQ2Ny0zLjYxNyAyNS42OTQtMTAuODQ5IDcuMjMtNy4yMyAxMC44NDgtMTUuNzk2IDEwLjg0OC0yNS42OTMuMDAzLTEwLjA4Mi0zLjUxOC0xOC42NTEtMTAuNTYxLTI1LjY5NHptLTE0OS45OTc2Ni0xMDguMzc2OTNjLTI1LjAyOSAyNS4wMzEtNzIuMjY4MzUgNDcuMjcyMjgtMTA3LjQ3NTA4IDQ2LjYwNzgxLTUzLjMzMDYxLTEuMDA2NTMtNzIuMjgzMzUtMTAuNDIyNzItMTA5LjQ4NDE0LTM4LjU1NTU0LTI2LjA4NjY2Mi0xOS43Mjc4NS00NC41OTE3MzEtNjcuMjI1NDEtNDcuNjExMzMyLTEwNi40NjQ1NC0yLjcwMTc4OC0zNS4xMDkyIDExLjE3OTQ4NC03NS43MzM3NyAzOS41NTkwNjUtMTA1LjQ1OCAzNi43MzI3NDctMzguNDczMTc0IDY4LjI3NzU1Ny00Ni42OTgzMzEgMTEwLjQ5MDY3Ny00OC42MTc4NzYgNDQuMjY5OC0yLjAxMzA2OCA4NC40NTUxNCAxOC41NTg2OTggMTA5LjQ4ODE0IDQzLjU4NTE5NiAyNS4wMzMgMjUuMDI2NSA0My4wMTA2NiA2OC4yNjEyNSA0MS41NzQxNCAxMDMuNDQ0OTQtMi4wMTMwNyA0OS4zMDQ0OC0xMS41MTI0NyA4MC40MjcwMS0zNi41NDE0NyAxMDUuNDU4MDF6IiBmaWxsPSIjZmZmIi8+PC9zdmc+";
@@ -7528,9 +7619,9 @@ var _imports_3 = "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3
7528
7619
  var _imports_4 = "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0MDEuOTk0IDQwMS45OTQiIGhlaWdodD0iNDAxLjk5NCIgdmlld0JveD0iMCAwIDQwMS45OTQgNDAxLjk5NCIgd2lkdGg9IjQwMS45OTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLS42ODQxMDcgLTIuNjg1NTQ5KSI+PHBhdGggZD0ibTM5Ny43MTUxOSAyMTYuOTk4MzNjLTMuMTYyMTctMy4xNzE4LTcuMjU5NTYtNy4wNDEwOC0xMS41OTkwOS03LjA5MjY2bC01Ni4wODEyNi0uNjY2Nzd2LTUzLjU1NzExbDQwLjM0OTExLTQxLjU0MjgyYzUuMDU1MDQtNy40MTMyNiA4LjE5ODI4LTEwLjg0NTUxIDkuMTQxMjEtMTkuNDMxMjE3LjQ3MzYtNC4zMTIxNjMtLjE3NTQ0LTEyLjgwNzcyNi0zLjM0NTQ4LTE1Ljk4MDQwMS0zLjE2OTE2LTMuMTcwOTIxLTkuNzU0NjktNS42OTkzMjMtMTQuMDk0NTQtNS42OTkzMjMtNC4zMzk4NCAwLTE1LjczMDc3IDIuODg2MzQyLTIyLjkwMDQ5IDEwLjM5MDMyN2wtNDAuNjgyNDkgMzYuMzQ2ODE0LTE4OS42MzY3MyAxLjAwMDE0LTQ2LjMxNDY5Mi00Mi45ODA5MDVjLTMuMTcxODAzLTMuMTcwOTIxLTEzLjU5MzQ0Ni02LjA4OTg4NS0xNy45MzMzMDUtNi4wODk4ODUtNC4zNDI0NzIgMC0xMS4wOTY5NTggMi45MTk4NDctMTQuMjY4NzUgNi4wODk4ODUtMy4xNzE4MDMgMy4xNzE4MDQtNi4xOTU1ODIgNy45MzM3MzctNi40MjMyOCAxMi4yNjU4NS0uMzMzMzcyIDYuMzQyNzU5LS40MTU2OTIgMTEuMDk4NzI1IDMuNzU2MjQ5IDE3LjkzNTkyNWw0NS45ODEzMDcgNDYuOTgxNDZ2NDcuOTM3MDZsLTU1Ljc0Nzg4MyAxLjAwMDE0Yy04LjA1Mjk3OC4xNDQ0Ni0xMi43NjIxMDkzIDYuNTg3OS0xNC45MzI4ODExIDExLjQyNjU5LTIuODM4NDIwMyA1LjE2OTQ1LTEuNDI0MzQzNyAxNS4yNjM4Ni0xLjQyNDM0MzcgMTkuNjAwMTkgMCA0LjMzOTg2IDEuNTg2MzM3MiA2LjQzMzE2IDQuNzU4MTI5MiA5LjU5OTcgMy4xNzA5MjA2IDMuMTcxNzkgNi45MjU4NjQ2IDQuNzYyNTEgMTEuMjY1NzEyNiA0Ljc2MjUxaDU2LjA4MTI2NmMwIDI2LjY5OTQuNTA4Mzk0IDQxLjIzNzQ0IDEwLjE4Nzc2OSA2MC4yNjEybC00NS41NzA5MzIgNDkuODMwOTdjLTkuODM5NTM1IDkuNjc1MjMtNy43OTkxODggMTcuNTU1MjYtNy41NDc1MTcgMjEuOTc1NzcuMjQ5MDQ2IDQuNDE3MDMgNC45NjAzMiAxMy4xMzIzMiA4LjEzMjExMiAxNi4xNDAxMyAzLjE3MTc5MiAyLjY3MDIgNi43NTgzNyA0LjAwODM3IDEwLjc2NDExMyA0LjAwODM3IDQuNjczOTUzIDAgMTUuMzQ2NDA3LTEuNzQ1OTUgMjQuMDIwNjM2LTEyLjI1ODA2bDQwLjE0Nzc5LTQwLjQ5MjQ1LTIuNTc2NjMtLjgyMjc4YzIuMzM2MSAyLjE3Mzg2IDUuOTYzODkgNC44NzkxNiAxMC44OTAzOSA4LjEzMjUxIDQuOTI1NjMgMy4yNTMzNCAyLjg4OTE0IDQuNjIzNDYgOC45NzkzMSA3Ljg4NTU3IDYuMDk0NTQgMy4yNTMzNSAxMC40NjcyNiA2LjM3MjkgMTAuNDY3MjYgNi4zNzI5cy00My4wMjI4Ny0xNjkuNTIxMTMtOS4wNzcwNy0yMDUuMTIyOWwxMzguMTI2OC42NjY3NmMzNy4xOTcxOSAzNi4xNDkyNy01LjgxODkyIDIwMy42Mzg1OC01LjgxODkyIDIwMy42Mzg1OCA3Ljc0MTM0LTQuMDA0MTkgMTQuMTQzOTgtMTAuNDk0OTUgMjAuMzU3MzEtMTUuNDg0MzYgMS42NzQwNS0xLjMzODE2IDEuOTIyNjUtMS4wODg1NCAyLjc1NjU3LTEuOTE5ODRsNDguOTA4NjkgNDYuOTg2NjFjMy4xNTM1IDMuMDI5NiAxMi43NTkyMSAyLjQyMjcyIDE3LjI2NjU0IDIuNDIyNzIgNC41MDgyMSAwIDguMjIyNjEtMS42MjI2NyAxMS4yNzE4NS00Ljc1NjM4IDMuMTIzODctMy4yMTAzOCA1LjcyNzM5LTcuNjExMSA2LjA4NzI4LTExLjkzNTk4LjMzMzM4LTQuMDA2NDcuNzQyMDktMTIuNzk2MDEtMi40MjAxLTE1LjkzMzAxbC01Mi43NDQ5NS01Mi4zMjQ1N2MxMS4xODUwNC0xOS44NjI5NyAxMy40NDE1OC0zNS43MzEzMiAxMy40NDE1OC02NC4yNzA0N2w1Ni40MTQ2Ni0uMzMzMzdjNC4zMzk3Ny0uMDI1NyA4LjA5OTE4LTQuMjU0MjUgMTEuMjY1NzItNy40MjYwNSAzLjE2OTE2LTMuMTY5MTcgNC43NjMzNy02LjkyNTg3IDQuNzYzMzctMTEuMjY1NzEgMC00LjMzODk3LTEuMjU5OTYtMTMuMDk4OTktNC40NDE0LTE2LjI3MTY2eiIvPjxwYXRoIGQ9Im0yNTguNTY0NjIgMjkuMjFjLTE1LjYwNDY5LTE1LjYwNDY4OC0zNC41MDgzMi0yMy40MTAwOTc0LTU2LjcwNzM5LTIzLjQxMDA5NzQtMjIuMjAyNTggMC00MS4xMDA5NSA3LjgwNTQwOTQtNTYuNzA4MjYgMjMuNDEwMDk3NC0xNS42MDQ2OCAxNS42MDY0MzEtMjMuNDA1NyAzNC41MDkxODctMjMuNDA1NyA1Ni43MDczNzdoMTYwLjIyNjE3YzAtMjIuMTk0NjgzLTcuODAwMTUtNDEuMTAwOTQ2LTIzLjQwNDgyLTU2LjcwNzM3N3oiLz48L2c+PHJlY3QgaGVpZ2h0PSIyMjMuNDc2NTMiIHJ5PSIuNTQ5ODMzIiB3aWR0aD0iNDEuNDg5MzE1IiB4PSIxODAuMTI3MjMiIHk9IjE2My41NzM1NSIvPjwvZz48L3N2Zz4=";
7529
7620
  var _imports_5 = "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0MDEuOTk0IDQwMS45OTQiIGhlaWdodD0iNDAxLjk5NCIgdmlld0JveD0iMCAwIDQwMS45OTQgNDAxLjk5NCIgd2lkdGg9IjQwMS45OTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTEyNi4xMDQzOSAzODguNDI2NzNjLTI3LjE4NTM0NS0xMS4xMDQ5Ny00OC45NzEwMDktMjUuOTg2OTMtNzAuMDQ2MDg2LTQ3Ljg0ODk3LTY2LjI1NDI3Ni02OC43MjgzMi03NS4wNTg0NTMtMTcyLjMzOTIyLTIxLjQ1Mzk1MS0yNTIuNDc4MjIyIDEwLjE1MDYzMS0xNS4xNzUyNDQgMzcuOTA3NjY3LTQyLjkzMjI3IDUzLjA4Mjg5My01My4wODI5MDMgMjIuOTEyNDU0LTE1LjMyNTk5NiA0OS4wMjQzOTQtMjYuMjQ3NzYxIDc1LjE2MDA1NC0zMS40MzY5NzY4IDE4Ljg5NDg5LTMuNzUxNTcwMDYgNTcuNTYzODItMy43NTE1NzAwNiA3Ni40NTg3MSAwIDYwLjk5NDgxIDEyLjExMDQ3NDggMTE0LjUwNDk5IDUzLjExMjIyODggMTQyLjczMTggMTA5LjM2NzEwMTggMTYuOTQ5NjYgMzMuNzgwMDMgMjQuMDA5MTEgNzguNTY1NzcgMTguMzg0NTEgMTE2LjYzMjktNi42NDQ4NCA0NC45NzIwOS0yNC45NDQxOSA4MS4yMjk5Ny01Ny40NTk0IDExMy44NDg2Mi0yMS43Nzg1NiAyMS44NDc4NS00NS42NTcxMyAzNy40NDEwMi03MS44NjMzOCA0Ni45MjgyLTEwLjkyNDAxIDMuOTU0NjctMTcuMzk3MjggMi43OTA5MS0xOC43NjExNS0zLjM3MjkzLS40MzgtMS45Nzk1LTEuMDAwMzEtMTkuNTQ0NS0xLjI0OTYtMzkuMDMzMy0uNDI1MzItMzMuMjUzMjgtLjY4MDQyLTM1Ljk0MDAxLTQuMTQ0NzgtNDMuNjUyNTctMi4wMzAzNC00LjUyMDEzLTQuNjc2ODgtOS4wMzYxNy01Ljg4MTIxLTEwLjAzNTY3LTMuNDQxNjMtMi44NTYzLTIuNTgyMDEtNC41ODEzMiAyLjI4Mjk3LTQuNTgxMzIgNy43MDA1MyAwIDI4Ljg5NTQ5LTYuMTE2NzUgNDAuODk2NDYtMTEuODAyNTMgMTMuMzk2MS02LjM0Njc3IDI3LjA5MDYxLTE5LjIyMDYyIDMzLjgwODItMzEuNzgyMjYgNy4xOTcwMi0xMy40NTgxNSAxMC43NjkxNy0zMC4yOTAyNSAxMC45NzA1OC01MS42OTM3OC4yMDg0NS0yMi4xNTIzOS0yLjgzMjEyLTMzLjMwOTExLTEzLjI0MDY4LTQ4LjU4MzgyLTYuMjY0NTEtOS4xOTMyOC02LjI3MzY1LTkuMjI5MDgtNC4zNzM0My0xNy4xNTAwMSAyLjI1MzY2LTkuMzk0MzUgMS4xNjE2OS0yOS4wODE3MTQtMi4xMTkxNC0zOC4yMDY0NzFsLTIuMjY0OTgtNi4yOTk0MTktOC40ODM0OC4xMzY5MTJjLTEwLjAwNzk2LjE2MTQ5Mi0yMS45OTgyNiA0LjUzMjk0OC0zNi42MTY5MyAxMy4zNDk4NzVsLTEwLjU4NDYyIDYuMzgzOTAzLTEyLjEzODAxLTIuODQ3MTNjLTE2LjY3Mjg1LTMuOTEwNzc3LTU4Ljg2NTIyLTMuOTU1MzIxLTc2LjQyMDUxLS4wODA4bC0xMi4zMTIzNSAyLjcxNzQ4LTEwLjQxMDI4LTYuMjc4NzQ3Yy0xNC41MzA3MS04Ljc2Mzc4NS0yNi40NjczMS0xMy4wODQwODQtMzYuNTk0MDUtMTMuMjQ0NjQxbC04LjYzNDk0Ny0uMTM2ODk4LTIuMTI5NTc1IDYuMjk5NDE5Yy0zLjEzMzQ4OSA5LjI2OTA4MS00LjE2MzA1MSAyOC45ODgxMjctMS45ODcxMTkgMzguMDU4NTA3IDEuODUyODQxIDcuNzIzNDMgMS44MTU3NTYgNy44Njg4OC00LjM3MjU0NCAxNy4xNDk5OC0xMC41MzEwMDkgMTUuNzk0MjUtMTMuNDk4ODk3IDI2LjY5NzY2LTEzLjI2NDY2NiA0OC43MzE4MS4yMjY5MzEgMjEuMzQ4NyAzLjgwNzgyOSAzOC4xNjQzMyAxMS4wMDgyMzUgNTEuNjkzNzggNi4yODkxNzEgMTEuODE3MjcgMjEuMzI5OTU2IDI2LjA2NzY3IDMzLjk4NDE5NiAzMi4xOTgzMiAxMC43MTQyNyA1LjE5MDc4IDMyLjg2ODUgMTEuMzU1MDMgNDAuODgzMjIgMTEuMzc1NDQgNS4yODU1My4wMTQyIDUuMzIyNzEuNDg1NjguNTM2MiA2LjgwOTI0LTIuMDg3MDYgMi43NTcyNS00LjgwNTQzIDguNTU2NjEtNi4wNDA4NCAxMi44ODc0NS0yLjEwNDc3IDcuMzc4NDgtMi43MzM0OSA4LjA0OTUtOS45ODUzMyAxMC42NTc0My0xNy4zNTQ1OCA2LjI0MTEtMzYuODI3ODIuMzE2MTMtNDYuODUxNzQ4LTE0LjI1NTI3LTEyLjI4MjQzNC0xNy44NTQ0My0yMy4wMjk4NjUtMjUuNTM2ODktMzUuNzI1MTM1LTI1LjUzNjg5LTguODk0OTkyIDAtMTAuMDY2OTk2IDMuODAzNDQtMi45ODY2NDIgOS42OTIzNiAxMi4zMTM1NTUgMTAuMjQxNSAxNy42MTM4MjUgMTYuNjI3MjEgMjIuODY4MDEgMjcuNTUxMDggNi42NTc2NDYgMTMuODQxODQgMTIuNjYzODI4IDIwLjE5MDY4IDI0LjIzNzE5NSAyNS42MTk5NiA3LjgyNTU3IDMuNjcxMTEgMTAuNDc2MDEgNC4wNjAzMSAyNy4xNzU4IDMuOTkwNTFsMTguNTA0NTEtLjA3NzJ2MTkuODU1N2MwIDEzLjQ2MDI0LS42MzQwOCAyMC42ODU4LTEuOTY4NTYgMjIuNDMyODEtMy42NTk5NSA0Ljc5MTI5LTkuMjc4OTMgNC41NzUxLTIyLjYwODQyLS44Njk5MXoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=";
7530
7621
  var Nav_vue_vue_type_style_index_0_scoped_true_lang = "";
7531
- const _withScopeId$1 = (n) => (pushScopeId("data-v-0393dbf8"), n = n(), popScopeId(), n);
7532
- const _hoisted_1$3 = { id: "menu" };
7533
- const _hoisted_2$3 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("a", { href: "/project/new" }, [
7622
+ const _withScopeId$2 = (n) => (pushScopeId("data-v-10fcf70c"), n = n(), popScopeId(), n);
7623
+ const _hoisted_1$4 = { id: "menu" };
7624
+ const _hoisted_2$4 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("a", { href: "/project/new" }, [
7534
7625
  /* @__PURE__ */ createElementVNode("img", {
7535
7626
  class: "button",
7536
7627
  title: "add project",
@@ -7538,38 +7629,38 @@ const _hoisted_2$3 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ create
7538
7629
  src: _imports_0$1
7539
7630
  })
7540
7631
  ], -1));
7541
- const _hoisted_3$1 = ["href"];
7542
- const _hoisted_4$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("img", {
7632
+ const _hoisted_3$2 = ["href"];
7633
+ const _hoisted_4$2 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("img", {
7543
7634
  class: "button",
7544
7635
  title: "settings",
7545
7636
  alt: "settings",
7546
7637
  src: _imports_1
7547
7638
  }, null, -1));
7548
- const _hoisted_5 = [
7549
- _hoisted_4$1
7639
+ const _hoisted_5$1 = [
7640
+ _hoisted_4$2
7550
7641
  ];
7551
- const _hoisted_6 = ["href"];
7552
- const _hoisted_7 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("img", {
7642
+ const _hoisted_6$1 = ["href"];
7643
+ const _hoisted_7$1 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("img", {
7553
7644
  class: "button",
7554
7645
  title: "search",
7555
7646
  alt: "search",
7556
7647
  src: _imports_2
7557
7648
  }, null, -1));
7558
- const _hoisted_8 = [
7559
- _hoisted_7
7649
+ const _hoisted_8$1 = [
7650
+ _hoisted_7$1
7560
7651
  ];
7561
- const _hoisted_9 = ["href"];
7562
- const _hoisted_10 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("img", {
7652
+ const _hoisted_9$1 = ["href"];
7653
+ const _hoisted_10$1 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("img", {
7563
7654
  class: "button",
7564
7655
  title: "documentation",
7565
7656
  alt: "documentation",
7566
7657
  src: _imports_3
7567
7658
  }, null, -1));
7568
- const _hoisted_11 = [
7569
- _hoisted_10
7659
+ const _hoisted_11$1 = [
7660
+ _hoisted_10$1
7570
7661
  ];
7571
- const _hoisted_12 = ["href"];
7572
- const _hoisted_13 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("img", {
7662
+ const _hoisted_12$1 = ["href"];
7663
+ const _hoisted_13 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("img", {
7573
7664
  class: "button",
7574
7665
  title: "report a bug",
7575
7666
  alt: "report a bug",
@@ -7579,7 +7670,7 @@ const _hoisted_14 = [
7579
7670
  _hoisted_13
7580
7671
  ];
7581
7672
  const _hoisted_15 = ["href"];
7582
- const _hoisted_16 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("img", {
7673
+ const _hoisted_16 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("img", {
7583
7674
  class: "button",
7584
7675
  title: "join our github project",
7585
7676
  alt: "join our github project",
@@ -7595,30 +7686,30 @@ const _hoisted_18 = {
7595
7686
  };
7596
7687
  const _hoisted_19 = ["href"];
7597
7688
  const _hoisted_20 = /* @__PURE__ */ createTextVNode(" (");
7598
- const _hoisted_21 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("a", { href: "/logout" }, "Log Out", -1));
7689
+ const _hoisted_21 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("a", { href: "/logout" }, "Log Out", -1));
7599
7690
  const _hoisted_22 = /* @__PURE__ */ createTextVNode(") ");
7600
- const _sfc_main$4 = {
7691
+ const _sfc_main$5 = {
7601
7692
  setup(__props) {
7602
7693
  const { githubURL, issuesURL, searchURL, docURL } = inject("config");
7603
7694
  const user = inject("user");
7604
7695
  const displaySettings = inject("displaySettings");
7605
- const { project: project2 } = useProject();
7696
+ const { project } = useProject();
7606
7697
  return (_ctx, _cache) => {
7607
- return openBlock(), createElementBlock("nav", _hoisted_1$3, [
7608
- _hoisted_2$3,
7609
- unref(displaySettings) && unref(project2) != null ? (openBlock(), createElementBlock("a", {
7698
+ return openBlock(), createElementBlock("nav", _hoisted_1$4, [
7699
+ _hoisted_2$4,
7700
+ unref(displaySettings) && unref(project) != null ? (openBlock(), createElementBlock("a", {
7610
7701
  key: 0,
7611
- href: `/project/${unref(project2).shortname}/settings`
7612
- }, _hoisted_5, 8, _hoisted_3$1)) : createCommentVNode("", true),
7702
+ href: `/project/${unref(project).shortname}/settings`
7703
+ }, _hoisted_5$1, 8, _hoisted_3$2)) : createCommentVNode("", true),
7613
7704
  createElementVNode("a", {
7614
7705
  href: unref(searchURL),
7615
7706
  target: "_blank"
7616
- }, _hoisted_8, 8, _hoisted_6),
7617
- createElementVNode("a", { href: unref(docURL) }, _hoisted_11, 8, _hoisted_9),
7707
+ }, _hoisted_8$1, 8, _hoisted_6$1),
7708
+ createElementVNode("a", { href: unref(docURL) }, _hoisted_11$1, 8, _hoisted_9$1),
7618
7709
  createElementVNode("a", {
7619
7710
  href: unref(issuesURL),
7620
7711
  target: "_blank"
7621
- }, _hoisted_14, 8, _hoisted_12),
7712
+ }, _hoisted_14, 8, _hoisted_12$1),
7622
7713
  createElementVNode("a", {
7623
7714
  href: unref(githubURL),
7624
7715
  target: "_blank"
@@ -7626,8 +7717,8 @@ const _sfc_main$4 = {
7626
7717
  unref(user) != null ? (openBlock(), createElementBlock("div", _hoisted_18, [
7627
7718
  createElementVNode("span", null, [
7628
7719
  createElementVNode("a", {
7629
- href: unref(user).brainboxURL
7630
- }, toDisplayString(unref(user).nickname), 9, _hoisted_19),
7720
+ href: `/user/${unref(user).username}`
7721
+ }, toDisplayString(unref(user).username), 9, _hoisted_19),
7631
7722
  _hoisted_20,
7632
7723
  _hoisted_21,
7633
7724
  _hoisted_22
@@ -7637,23 +7728,23 @@ const _sfc_main$4 = {
7637
7728
  };
7638
7729
  }
7639
7730
  };
7640
- var Nav = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-0393dbf8"]]);
7731
+ var Nav = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-10fcf70c"]]);
7641
7732
  var Header_vue_vue_type_style_index_0_scoped_true_lang = "";
7642
- const _hoisted_1$2 = {
7733
+ const _hoisted_1$3 = {
7643
7734
  class: "logo",
7644
7735
  href: "/"
7645
7736
  };
7646
- const _hoisted_2$2 = ["src", "alt"];
7647
- const _sfc_main$3 = {
7737
+ const _hoisted_2$3 = ["src", "alt"];
7738
+ const _sfc_main$4 = {
7648
7739
  setup(__props) {
7649
7740
  const { logoURL, siteName } = inject("config");
7650
7741
  return (_ctx, _cache) => {
7651
7742
  return openBlock(), createElementBlock("header", null, [
7652
- createElementVNode("a", _hoisted_1$2, [
7743
+ createElementVNode("a", _hoisted_1$3, [
7653
7744
  createElementVNode("img", {
7654
7745
  src: unref(logoURL),
7655
7746
  alt: unref(siteName)
7656
- }, null, 8, _hoisted_2$2)
7747
+ }, null, 8, _hoisted_2$3)
7657
7748
  ]),
7658
7749
  renderSlot(_ctx.$slots, "default", {}, void 0, true),
7659
7750
  createVNode(Nav)
@@ -7661,12 +7752,12 @@ const _sfc_main$3 = {
7661
7752
  };
7662
7753
  }
7663
7754
  };
7664
- var Header = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-7353ade4"]]);
7755
+ var Header = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-12a1788c"]]);
7665
7756
  var _imports_0 = "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI3MiIgd2lkdGg9IjI3Ni4yNzM0NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMTQwLjI4MTI1IDBjLTYzLjI3ODEyMyAwLTExNi4zMTM1MDkgNDMuMjg0OTg2LTEzMS41IDEwMS44MTI1aDcuMjE4NzUgNXYzLjMxMjVjLjYwNDAxLS40MDU3NyAxLjExNzU2LS45NTcxOSAxLjc1LTEuMzEyNWguMDMxMjVjMS4wOTMxOC0uNjA3MzEgMi4yMzY1NTctMS4xNDAwNCAzLjQwNjI1LTEuNTkzNzVzMi4zODkwMTgtLjgyMzcxIDMuNjI1LTEuMTI1YzIuNDcxOTY1LS42MDI1OSA1LjA0Mjk3LS45MDYyMiA3LjcxODc1LS45MDYyNSAyLjE2ODEwMy4wMDAwMiA0LjI3NDQ0My4xOTA2NSA2LjI4MTI1LjU2MjVzMy45MjExNzEuOTQzMTUgNS43MTg3NSAxLjY4NzUgMy40OTA4MyAxLjY2Mzc0IDUuMDMxMjUgMi43ODEyNSAyLjkyMDkyIDIuNDE0OSA0LjE1NjI1IDMuOTA2MjVoLjAzMTI1Yy4wMDU1NS4wMDY2OC0uMDA1NTUuMDI0NTcgMCAuMDMxMjUgMS4yMzM4MDIgMS40ODYyOSAyLjI5Njk4OSAzLjExMzg1IDMuMTg3NSA0Ljg3NXMxLjYxNzA0OSAzLjY2OTk3IDIuMTg3NSA1LjY4NzUuOTc2MzggNC4xNTA4MiAxLjI1IDYuNDA2MjUuNDA2MjMgNC42MTg5MS40MDYyNSA3LjA5Mzc1djQwLjE4NzUgNWgtNS0xMC45Mzc1LTV2LTUtMzkuODQzNzVjLS4wMDAwMi0yLjgyNzQtLjI3NTMzNy01LjExMDEtLjc1LTYuOTM3NXMtMS4xNDg2Ny0zLjE5OTQ4LTEuODc1LTQuMTI1Yy0uNzI5NTA1LS45Mjk0OS0xLjUzOTI1Ni0xLjU5OTU3LTIuNjU2MjUtMi4wNjI1cy0yLjU0MTIzLS43MTg3My00LjQ2ODc1LS43MTg3NWMtMS4yMTE0MDguMDAwMDEtMi4yODEzMjguMDg2MDgtMy4yODEyNS4yNXMtMS45MjA1NjMuNDE4ODctMi43NS43NS0xLjU4MTI5Ny43NDgzNi0yLjI4MTI1IDEuMjUtMS4zNTcyOCAxLjA3NDU0LTEuOTY4NzUgMS43NWMtLjYxMjM2LjY3NjQ1LTEuMTUyNzU4IDEuNDMyMDctMS42MjUgMi4yNXMtLjg2NDAyNiAxLjcwMDYxLTEuMTg3NSAyLjY4NzUtLjU4Mzk0MiAyLjA2NjY3LS43NSAzLjI1LS4yNTAwMDcgMi40Njc3Ny0uMjUgMy44NzV2MzcuNjI1IDVoLTUtNC45MDYyNWMxNy44MzAzNjIgNTQuMzI0NzggNjguODk4ODI1IDkzLjU5Mzc1IDEyOS4xODc1IDkzLjU5Mzc1IDYwLjI5NjcxIDAgMTExLjQxODMyLTM5LjI0NDA0IDEyOS4yNDIxOS05My41ODAwOGgtNC4wMTE3Mi0xMS4yNWMtOS4wNjQxMiAwLTE2LjE4ODY0LTEuNDMxNjUtMjAuOTY4NzUtNi4wOTM3NXYtLjAzMTI1aC0uMDMxMjVjLTQuNzY4MS00LjcwOTIyLTYuMjgxMjYtMTEuODQyNjUtNi4yODEyNS0yMC44MTI1di0zMS4xNTYyNWgtMy4wMzEyNS01di01LTguNS01aDUgMy4wMzEyNXYtMTMuOTM3NDk4LTVoNSAxMSA1djUgMTMuOTM3NDk4aDE3LjUzMTI1IDV2NSA4LjUgNWgtNS0xNy41MzEyNXYzMS4xNTYyNWMtLjAwMDAyIDQuMTkzNjcuOTMxMjQgNi42MzE3Mi45MDQzIDYuOTYyODkuMzkxMjUuMTE4MDQgMi4xMTI1My44MTgzNyA1LjM3Njk1LjgxODM2aDExLjI1IDV2NSA5LjE1NjI1IDEuODU5MzhjMy43NDYxNy0xMi40MzcxNiA1Ljc2OTUzLTI1LjYyMTAzIDUuNzY5NTMtMzkuMjc5MyAwLTc1LjExMDcyOS02MC44ODkyNy0xMzYtMTM2LTEzNnptMTMwLjIzMDQ3IDE3NS4yNzkzYy0uMzE3IDEuMDUyNDItLjY0NjY0IDIuMDk5MTItLjk4ODI4IDMuMTQwNjJoLjk4ODI4em0tMTY0LjQwNjI1LTc1LjA3ODEzYzEwLjQ5OTY1LjAwMDA3IDE5LjI5ODAzIDIuODQ1OSAyNS4yMTg3NSA5LjA2MjUgNS45MjQ0NiA2LjIyMDgyIDguNTMxMTcgMTUuMjI0MDggOC41MzEyNSAyNi4xNTYyNXYzOCA1aC01LTEwLjk2ODc1LTV2LTIuOTM3NWMtLjY2NjA0LjQyNzY0LTEuMzI4MS44ODM0Ni0yLjAzMTI1IDEuMjVsLS4wMzEyNS4wMzEyNWMtNC41OTcxNSAyLjM0NzQ1LTkuOTU2NTggMy40MDYyNS0xNS45Mzc1IDMuNDA2MjUtNy43NTA0NTEgMC0xNC42NTI4MjEtMi4zMjU4LTE5LjcxODc1MS03LjA5Mzc1aC0uMDMxMjVsLS4wMzEyNS0uMDMxMjVjLTUuMDA3ODctNC44MDk1Mi03LjUzMTI2LTExLjUzNzIxLTcuNTMxMjUtMTktLjAwMDAxLTguNjA1MzggMy4yMTQzOC0xNi4xNzIyMiA5LjQ2ODc1LTIwLjkzNzUgNi4yOTk4Ni00Ljc2MjA3IDE0LjkwOTgxLTYuNzE4NzEgMjUuNTAwMDAxLTYuNzE4NzVoOS43MTg3NWMtLjUwMzY1LTEuNTUwODktMS4yNjY1LTIuODM2MDYtMi41MzEyNS0zLjg3NWwtLjAzMTI1LS4wMzEyNWgtLjAzMTI1Yy0yLjE0ODg5LTEuODEyMjUtNS40NzI2Ni0yLjk5OTk1LTEwLjY4NzUtMy0zLjQwNzQuMDAwMDUtNi43MDI4NjEuNDA5MTQtOS45MDYyNTEgMS4yMTg3NS0zLjE5NTAyLjgwNzU4LTYuMjQ3MTkgMi4wMjkwMS05LjIxODc1IDMuNjU2MjVsLTcuNDA2MjUgNC4wMzEyNXYtOC40Mzc1LTEwLjA5Mzc1LTMuNDM3NWwzLjE4NzUtMS4yNWM0LjIxOTAzLTEuNjI5MDcgOC4zODA1NC0yLjg0MDUgMTIuNDM3NS0zLjY1NjI1LjAyMTgxLS4wMDQzOS4wNDA2OS0uMDI2ODkuMDYyNS0uMDMxMjV2LjAzMTI1YzQuMDU3MjQtLjg1MDAxIDguMDQ5NDkxLTEuMzEyNDMgMTEuOTY4NzUxLTEuMzEyNXptNzQuNzE4NzUgMGMxMC40OTk2NS4wMDAwNyAxOS4yOTgwMiAyLjg0NTg5IDI1LjIxODc1IDkuMDYyNSA1LjkyNDQ1IDYuMjIwODIgOC40OTk5NCAxNS4yMjQwNyA4LjUgMjYuMTU2MjV2MzggNWgtNS0xMC45Mzc1LTV2LTIuOTM3NWMtLjY3MDM3LjQzMS0xLjMyMzI1Ljg4MDkzLTIuMDMxMjUgMS4yNWgtLjAzMTI1di4wMzEyNWMtNC41OTcxNSAyLjM0NzQ1LTkuOTg3ODQgMy40MDYyNS0xNS45Njg3NSAzLjQwNjI1LTcuNzUwNDUgMC0xNC42NTI4Mi0yLjMyNTgtMTkuNzE4NzUtNy4wOTM3NWwtLjAzMTI1LS4wMzEyNWMtNS4wMDc4Ny00LjgwOTUyLTcuNTMxMjYtMTEuNTM3MjEtNy41MzEyNS0xOS0uMDAwMDEtOC42MDUzOCAzLjE4MzEzLTE2LjE3MjIyIDkuNDM3NS0yMC45Mzc1aC4wMzEyNWM2LjI5OTg2LTQuNzYyMDcgMTQuOTA5OC02LjcxODcxIDI1LjUtNi43MTg3NWg5LjY4NzVjLS41MDM2OC0xLjU1MDUzLTEuMjY2Ny0yLjgzNjIzLTIuNTMxMjUtMy44NzV2LS4wMzEyNWgtLjAzMTI1Yy0yLjE0ODkxLTEuODEyMjYtNS40NzI2NS0yLjk5OTk1LTEwLjY4NzUtMy0zLjQwNzQuMDAwMDUtNi43MDI4Ni40MDkxNC05LjkwNjI1IDEuMjE4NzUtMy4xOTUwMi44MDc1OC02LjI3ODQ0IDIuMDI5MDEtOS4yNSAzLjY1NjI1bC03LjM3NSA0LjAzMTI1di04LjQzNzUtMTAuMDkzNzUtMy40Mzc1bDMuMTg3NS0xLjI1YzQuMjQxNzItMS42Mzc4MiA4LjM5MDgzLTIuODcxODUgMTIuNDY4NzUtMy42ODc1di4wMzEyNWM0LjA2Nzc5LS44NTQyNiA4LjA3MDg0LTEuMzEyNDMgMTItMS4zMTI1em0tNjcuODEyNSA0NC43NWMtOC40NjEzNC4wMDAwMy0xNC4wMzMzMDEgMS4yNTc0LTE1LjgxMjUwMSAyLjMxMjUtMS44OTMyOCAxLjEyMjc2LTIuNjg3NTIgMi4zNTA2Mi0yLjY4NzUgNi4wNjI1LS4wMDAwMSAyLjc3NTUxLjY1MDM1IDQuMTgyMDkgMi4xMjUgNS41MzEyNS4wMTE2OC4wMTA2OS4wMTk0Ni4wMjA1Ny4wMzEyNS4wMzEyNSAxLjUxNDM2IDEuMzE0NDQgMy42MDI4MzEgMi4wOTM3NiA3LjEyNTAwMSAyLjA5Mzc1IDQuODkwMjcuMDAwMDEgOC4wMjA0NC0xLjQxNTM0IDEwLjc4MTI1LTQuNjU2MjUgMi4zOTE4OC0yLjgwMzQzIDMuNzc2MzctNi40ODYwNSA0LjE1NjI1LTExLjM3NXptNzQuNzE4NzUgMGMtOC40NjEzNC4wMDAwMy0xNC4wNjQ1NSAxLjI1NzQtMTUuODQzNzUgMi4zMTI1LTEuODkzMjggMS4xMjI3Ni0yLjY1NjI3IDIuMzUwNjItMi42NTYyNSA2LjA2MjUtLjAwMDAxIDIuNzk3NDkuNjU2ODEgNC4yMDM2NSAyLjE1NjI1IDUuNTYyNSAxLjUxMjk1IDEuMzA0NTIgMy42MTc4OSAyLjA5Mzc2IDcuMTI1IDIuMDkzNzUgNC44OTAyNy4wMDAwMSA3Ljk4OTE5LTEuNDE1MzQgMTAuNzUtNC42NTYyNSAyLjM5MTg4LTIuODAzNDMgMy44MDc2Mi02LjQ4NjA1IDQuMTg3NS0xMS4zNzV6IiBmaWxsPSIjZmZmIi8+PC9zdmc+";
7666
7757
  var Footer_vue_vue_type_style_index_0_scoped_true_lang = "";
7667
- const _sfc_main$2 = {};
7668
- const _withScopeId = (n) => (pushScopeId("data-v-79b1b506"), n = n(), popScopeId(), n);
7669
- const _hoisted_1$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("p", null, [
7758
+ const _sfc_main$3 = {};
7759
+ const _withScopeId$1 = (n) => (pushScopeId("data-v-79b1b506"), n = n(), popScopeId(), n);
7760
+ const _hoisted_1$2 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("p", null, [
7670
7761
  /* @__PURE__ */ createElementVNode("a", {
7671
7762
  target: "_blank",
7672
7763
  href: "http://neuroanatomy.github.io"
@@ -7681,15 +7772,14 @@ const _hoisted_1$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createEl
7681
7772
  href: "http://neuroanatomy.github.io"
7682
7773
  }, " groupe de neuroanatomie appliqu\xE9e et th\xE9orique ")
7683
7774
  ], -1));
7684
- const _hoisted_2$1 = [
7685
- _hoisted_1$1
7775
+ const _hoisted_2$2 = [
7776
+ _hoisted_1$2
7686
7777
  ];
7687
7778
  function _sfc_render(_ctx, _cache) {
7688
- return openBlock(), createElementBlock("footer", null, _hoisted_2$1);
7779
+ return openBlock(), createElementBlock("footer", null, _hoisted_2$2);
7689
7780
  }
7690
- var Footer = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render], ["__scopeId", "data-v-79b1b506"]]);
7691
- var SettingsPage_vue_vue_type_style_index_0_scoped_true_lang = "";
7692
- const _sfc_main$1 = {
7781
+ var Footer = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render], ["__scopeId", "data-v-79b1b506"]]);
7782
+ const _sfc_main$2 = {
7693
7783
  props: {
7694
7784
  projectID: {
7695
7785
  type: String,
@@ -7698,8 +7788,8 @@ const _sfc_main$1 = {
7698
7788
  },
7699
7789
  setup(__props) {
7700
7790
  const props = __props;
7701
- const { project: project2, fetchProject, updateProject } = useProject();
7702
- const content = ref(project2.name);
7791
+ const { project, fetchProject, updateProject } = useProject();
7792
+ const content = ref(project.name);
7703
7793
  const onTitleInput = (event) => {
7704
7794
  content.value = event.currentTarget.textContent;
7705
7795
  updateProject({ name: content.value });
@@ -7720,7 +7810,7 @@ const _sfc_main$1 = {
7720
7810
  _: 1
7721
7811
  }),
7722
7812
  createElementVNode("main", null, [
7723
- unref(project2) != null ? (openBlock(), createBlock(_sfc_main$6, { key: 0 })) : createCommentVNode("", true)
7813
+ unref(project) != null ? (openBlock(), createBlock(Settings, { key: 0 })) : createCommentVNode("", true)
7724
7814
  ]),
7725
7815
  createVNode(Footer)
7726
7816
  ]),
@@ -7729,13 +7819,11 @@ const _sfc_main$1 = {
7729
7819
  };
7730
7820
  }
7731
7821
  };
7732
- var SettingsPage = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-2fdda2ac"]]);
7733
- var UserPage_vue_vue_type_style_index_0_scoped_true_lang = "";
7734
- const _hoisted_1 = { class: "title" };
7735
- const _hoisted_2 = { id: "userImage" };
7736
- const _hoisted_3 = ["src"];
7737
- const _hoisted_4 = { id: "userDescription" };
7738
- const _sfc_main = {
7822
+ const _hoisted_1$1 = { class: "title" };
7823
+ const _hoisted_2$1 = { id: "userImage" };
7824
+ const _hoisted_3$1 = ["src"];
7825
+ const _hoisted_4$1 = { id: "userDescription" };
7826
+ const _sfc_main$1 = {
7739
7827
  props: {
7740
7828
  user: {
7741
7829
  type: Object,
@@ -7748,29 +7836,29 @@ const _sfc_main = {
7748
7836
  default: withCtx(() => [
7749
7837
  createVNode(Header, null, {
7750
7838
  default: withCtx(() => [
7751
- createElementVNode("span", _hoisted_1, toDisplayString(__props.user.nickname), 1)
7839
+ createElementVNode("span", _hoisted_1$1, toDisplayString(__props.user.nickname), 1)
7752
7840
  ]),
7753
7841
  _: 1
7754
7842
  }),
7755
7843
  createElementVNode("main", null, [
7756
7844
  createVNode(TwoCols, null, {
7757
7845
  side: withCtx(() => [
7758
- createElementVNode("div", _hoisted_2, [
7846
+ createElementVNode("div", _hoisted_2$1, [
7759
7847
  createElementVNode("img", {
7760
7848
  alt: "user avatar",
7761
7849
  src: __props.user.avatarURL,
7762
7850
  style: { "width": "100%" }
7763
- }, null, 8, _hoisted_3)
7851
+ }, null, 8, _hoisted_3$1)
7764
7852
  ]),
7765
- createElementVNode("div", _hoisted_4, [
7853
+ createElementVNode("div", _hoisted_4$1, [
7766
7854
  createElementVNode("h1", null, toDisplayString(__props.user.name), 1),
7767
7855
  createElementVNode("h2", null, toDisplayString(__props.user.nickname), 1),
7768
7856
  createElementVNode("p", null, "Joined " + toDisplayString(new Date(__props.user.joined).toDateString()), 1),
7769
- renderSlot(_ctx.$slots, "side", {}, void 0, true)
7857
+ renderSlot(_ctx.$slots, "side")
7770
7858
  ])
7771
7859
  ]),
7772
7860
  content: withCtx(() => [
7773
- renderSlot(_ctx.$slots, "content", {}, void 0, true)
7861
+ renderSlot(_ctx.$slots, "content")
7774
7862
  ]),
7775
7863
  _: 3
7776
7864
  })
@@ -7782,5 +7870,101 @@ const _sfc_main = {
7782
7870
  };
7783
7871
  }
7784
7872
  };
7785
- var UserPage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6b96434d"]]);
7786
- export { Access, _sfc_main$9 as Annotations, Autocomplete, Button, _sfc_main$b as Collaborators, _sfc_main$7 as Files, Footer, Header, ImportFilesDialog, Nav, ProjectInfo, PureAnnotations, PureCollaborators, PureFiles, Select, _sfc_main$6 as Settings, SettingsPage, Table, TextArea, TextInput, UserPage, Wrapper };
7873
+ var NewProjectPage_vue_vue_type_style_index_0_scoped_true_lang = "";
7874
+ const _withScopeId = (n) => (pushScopeId("data-v-34344f58"), n = n(), popScopeId(), n);
7875
+ const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", { class: "title" }, "BrainBox", -1));
7876
+ const _hoisted_2 = { class: "container" };
7877
+ const _hoisted_3 = { class: "inner" };
7878
+ const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("h1", null, "Create a new project", -1));
7879
+ const _hoisted_5 = { class: "warning" };
7880
+ const _hoisted_6 = /* @__PURE__ */ createTextVNode(" The project ");
7881
+ const _hoisted_7 = ["href"];
7882
+ const _hoisted_8 = /* @__PURE__ */ createTextVNode(" already exists ");
7883
+ const _hoisted_9 = { class: "warning" };
7884
+ const _hoisted_10 = { class: "actions" };
7885
+ const _hoisted_11 = /* @__PURE__ */ createTextVNode(" Create Project ");
7886
+ const _hoisted_12 = /* @__PURE__ */ createTextVNode("Cancel");
7887
+ const _sfc_main = {
7888
+ props: {
7889
+ onKeyDown: Function,
7890
+ validInput: Boolean,
7891
+ existingProject: Boolean
7892
+ },
7893
+ setup(__props) {
7894
+ const createProject = (value) => {
7895
+ location.pathname = `/project/${value}/settings`;
7896
+ };
7897
+ const cancel = () => location.assign("/");
7898
+ return (_ctx, _cache) => {
7899
+ return openBlock(), createBlock(Wrapper, null, {
7900
+ default: withCtx(() => [
7901
+ createVNode(Header, null, {
7902
+ default: withCtx(() => [
7903
+ _hoisted_1
7904
+ ]),
7905
+ _: 1
7906
+ }),
7907
+ createElementVNode("main", null, [
7908
+ createElementVNode("div", _hoisted_2, [
7909
+ createElementVNode("div", _hoisted_3, [
7910
+ _hoisted_4,
7911
+ createElementVNode("p", null, [
7912
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
7913
+ ]),
7914
+ createElementVNode("input", {
7915
+ class: "input",
7916
+ type: "text",
7917
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleNameChange && _ctx.handleNameChange(...args)),
7918
+ onKeyup: _cache[1] || (_cache[1] = ($event) => {
7919
+ __props.onKeyDown($event);
7920
+ _ctx.value = $event.target.value;
7921
+ }),
7922
+ placeholder: "Enter the project short name"
7923
+ }, null, 32),
7924
+ withDirectives(createElementVNode("div", _hoisted_5, [
7925
+ _hoisted_6,
7926
+ createElementVNode("a", {
7927
+ href: `/project/${_ctx.value}`
7928
+ }, [
7929
+ createElementVNode("strong", null, toDisplayString(_ctx.value), 1)
7930
+ ], 8, _hoisted_7),
7931
+ _hoisted_8
7932
+ ], 512), [
7933
+ [vShow, __props.existingProject]
7934
+ ]),
7935
+ withDirectives(createElementVNode("div", _hoisted_9, " This name is not allowed. Project short names can only contain letters and numbers ", 512), [
7936
+ [vShow, !__props.validInput]
7937
+ ])
7938
+ ]),
7939
+ createElementVNode("div", _hoisted_10, [
7940
+ createVNode(Button, {
7941
+ disabled: !__props.validInput || __props.existingProject,
7942
+ onClick: _cache[2] || (_cache[2] = ($event) => createProject(_ctx.value)),
7943
+ class: "push-button"
7944
+ }, {
7945
+ default: withCtx(() => [
7946
+ _hoisted_11
7947
+ ]),
7948
+ _: 1
7949
+ }, 8, ["disabled"]),
7950
+ createVNode(Button, {
7951
+ class: "push-button",
7952
+ onClick: cancel
7953
+ }, {
7954
+ default: withCtx(() => [
7955
+ _hoisted_12
7956
+ ]),
7957
+ _: 1
7958
+ })
7959
+ ])
7960
+ ])
7961
+ ]),
7962
+ createVNode(Footer)
7963
+ ]),
7964
+ _: 3
7965
+ });
7966
+ };
7967
+ }
7968
+ };
7969
+ var NewProjectPage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-34344f58"]]);
7970
+ export { Access, _sfc_main$a as Annotations, Autocomplete, Button, _sfc_main$c as Collaborators, _sfc_main$8 as Files, Footer, Header, ImportFilesDialog, Nav, NewProjectPage, ProjectInfo, PureAnnotations, PureCollaborators, PureFiles, Select, Settings, _sfc_main$2 as SettingsPage, Tab, Table, Tabs, TextArea, TextInput, _sfc_main$1 as UserPage, Wrapper };