nwl-components 0.0.4 → 0.0.9

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.
@@ -21,21 +21,7 @@ var __publicField = (obj, key, value) => {
21
21
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
22
22
  return value;
23
23
  };
24
- var __accessCheck = (obj, member, msg) => {
25
- if (!member.has(obj))
26
- throw TypeError("Cannot " + msg);
27
- };
28
- var __privateAdd = (obj, member, value) => {
29
- if (member.has(obj))
30
- throw TypeError("Cannot add the same private member more than once");
31
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
32
- };
33
- var __privateMethod = (obj, member, method) => {
34
- __accessCheck(obj, member, "access private method");
35
- return method;
36
- };
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, getCurrentInstance, createCommentVNode, createBlock, withCtx, pushScopeId, popScopeId, createTextVNode, inject, toRefs, vModelCheckbox } from "vue";
24
+ 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 } from "vue";
39
25
  let nanoid = (size = 21) => {
40
26
  let id = "";
41
27
  let bytes = crypto.getRandomValues(new Uint8Array(size));
@@ -61,8 +47,8 @@ var _export_sfc = (sfc, props) => {
61
47
  }
62
48
  return target;
63
49
  };
64
- const _hoisted_1$j = ["value"];
65
- const _sfc_main$p = {
50
+ const _hoisted_1$k = ["value"];
51
+ const _sfc_main$q = {
66
52
  props: {
67
53
  placeholder: String,
68
54
  disabled: Boolean,
@@ -78,20 +64,20 @@ const _sfc_main$p = {
78
64
  return openBlock(), createElementBlock("input", mergeProps({ type: "text" }, props, {
79
65
  value: __props.modelValue,
80
66
  onInput: handleInput
81
- }), null, 16, _hoisted_1$j);
67
+ }), null, 16, _hoisted_1$k);
82
68
  };
83
69
  }
84
70
  };
85
- var TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-2cc3f9d3"]]);
71
+ var TextInput = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-2cc3f9d3"]]);
86
72
  var Autocomplete_vue_vue_type_style_index_0_scoped_true_lang = "";
87
- const _hoisted_1$i = ["aria-owns", "aria-expanded"];
73
+ const _hoisted_1$j = ["aria-owns", "aria-expanded"];
88
74
  const _hoisted_2$d = ["id"];
89
75
  const _hoisted_3$a = {
90
76
  key: 0,
91
77
  class: "loading"
92
78
  };
93
79
  const _hoisted_4$9 = ["onClick", "id", "aria-selected"];
94
- const _sfc_main$o = {
80
+ const _sfc_main$p = {
95
81
  props: {
96
82
  items: {
97
83
  type: Array,
@@ -242,14 +228,14 @@ const _sfc_main$o = {
242
228
  ], 8, _hoisted_2$d), [
243
229
  [vShow, unref(state2).isOpen]
244
230
  ])
245
- ], 8, _hoisted_1$i);
231
+ ], 8, _hoisted_1$j);
246
232
  };
247
233
  }
248
234
  };
249
- var Autocomplete = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-ee76199e"]]);
235
+ var Autocomplete = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-ee76199e"]]);
250
236
  var Button_vue_vue_type_style_index_0_scoped_true_lang = "";
251
- const _hoisted_1$h = ["title", "disabled"];
252
- const _sfc_main$n = {
237
+ const _hoisted_1$i = ["title", "disabled"];
238
+ const _sfc_main$o = {
253
239
  props: {
254
240
  className: String,
255
241
  title: String,
@@ -269,13 +255,13 @@ const _sfc_main$n = {
269
255
  class: normalizeClass(classes)
270
256
  }, [
271
257
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
272
- ], 8, _hoisted_1$h);
258
+ ], 8, _hoisted_1$i);
273
259
  };
274
260
  }
275
261
  };
276
- var Button = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-5e5f2114"]]);
262
+ var Button = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-5e5f2114"]]);
277
263
  var Select_vue_vue_type_style_index_0_scoped_true_lang = "";
278
- const _sfc_main$m = {
264
+ const _sfc_main$n = {
279
265
  props: {
280
266
  disabled: Boolean,
281
267
  modelValue: String
@@ -304,9 +290,9 @@ const _sfc_main$m = {
304
290
  };
305
291
  }
306
292
  };
307
- var Select = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-976df3ea"]]);
293
+ var Select = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-976df3ea"]]);
308
294
  var TextArea_vue_vue_type_style_index_0_scoped_true_lang = "";
309
- const _sfc_main$l = {
295
+ const _sfc_main$m = {
310
296
  props: {
311
297
  placeholder: String,
312
298
  disabled: Boolean,
@@ -328,10 +314,10 @@ const _sfc_main$l = {
328
314
  };
329
315
  }
330
316
  };
331
- var TextArea = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-0c2bd53c"]]);
317
+ var TextArea = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-0c2bd53c"]]);
332
318
  var Table_vue_vue_type_style_index_0_scoped_true_lang = "";
333
- const _hoisted_1$g = ["id"];
334
- const _sfc_main$k = {
319
+ const _hoisted_1$h = ["id"];
320
+ const _sfc_main$l = {
335
321
  props: {
336
322
  id: String
337
323
  },
@@ -342,11 +328,45 @@ const _sfc_main$k = {
342
328
  id: props.id
343
329
  }, [
344
330
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
345
- ], 8, _hoisted_1$g);
331
+ ], 8, _hoisted_1$h);
332
+ };
333
+ }
334
+ };
335
+ var Table = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-2b42a47b"]]);
336
+ var Checkbox_vue_vue_type_style_index_0_scoped_true_lang = "";
337
+ const _hoisted_1$g = ["aria-checked"];
338
+ const _sfc_main$k = {
339
+ props: {
340
+ modelValue: Boolean
341
+ },
342
+ emits: ["update:modelValue", "change"],
343
+ setup(__props, { emit }) {
344
+ const props = __props;
345
+ const isChecked = ref(props.modelValue);
346
+ if (typeof props.modelValue === "string") {
347
+ isChecked.value === props.modelValue === "true";
348
+ }
349
+ const toggleCheckbox = (key) => {
350
+ if (key != null && key !== " ") {
351
+ return;
352
+ }
353
+ isChecked.value = !isChecked.value;
354
+ emit("change", isChecked.value);
355
+ emit("update:modelValue", isChecked.value);
356
+ };
357
+ return (_ctx, _cache) => {
358
+ return openBlock(), createElementBlock("span", {
359
+ role: "checkbox",
360
+ "aria-checked": isChecked.value,
361
+ onClick: _cache[0] || (_cache[0] = ($event) => toggleCheckbox()),
362
+ onKeydown: _cache[1] || (_cache[1] = ($event) => toggleCheckbox($event.key)),
363
+ tabindex: "0",
364
+ "aria-label": "label"
365
+ }, null, 40, _hoisted_1$g);
346
366
  };
347
367
  }
348
368
  };
349
- var Table = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-6416d86a"]]);
369
+ var Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-f63b8f34"]]);
350
370
  var Tabs_vue_vue_type_style_index_0_scoped_true_lang = "";
351
371
  const _hoisted_1$f = { class: "tabs" };
352
372
  const _hoisted_2$c = ["onClick"];
@@ -6589,12 +6609,30 @@ var lodash = { exports: {} };
6589
6609
  })(lodash, lodash.exports);
6590
6610
  class ProjectService {
6591
6611
  constructor(baseURL) {
6592
- __privateAdd(this, _transformProjectFiles);
6593
6612
  __publicField(this, "baseURL", "");
6594
6613
  this.baseURL = baseURL;
6595
6614
  }
6615
+ transformProjectFiles(project) {
6616
+ if (lodash.exports.get(project, "files.list") != null) {
6617
+ return __spreadProps(__spreadValues({}, project), {
6618
+ files: __spreadProps(__spreadValues({}, project.files), {
6619
+ list: project.files.list.map((file) => {
6620
+ if (typeof file === "string") {
6621
+ const splitAt = file.lastIndexOf("/");
6622
+ return {
6623
+ source: file,
6624
+ name: splitAt > 0 ? file.substring(splitAt + 1) : ""
6625
+ };
6626
+ }
6627
+ return file;
6628
+ })
6629
+ })
6630
+ });
6631
+ }
6632
+ return project;
6633
+ }
6596
6634
  async fetch(id) {
6597
- return __privateMethod(this, _transformProjectFiles, transformProjectFiles_fn).call(this, await (await fetch(`${this.baseURL}/project/json/${id}`)).json());
6635
+ return this.transformProjectFiles(await (await fetch(`${this.baseURL}/project/json/${id}`)).json());
6598
6636
  }
6599
6637
  async save(data) {
6600
6638
  const res = await fetch(`${this.baseURL}/project/json/${data.shortname}`, {
@@ -6617,26 +6655,6 @@ class ProjectService {
6617
6655
  return await res.json();
6618
6656
  }
6619
6657
  }
6620
- _transformProjectFiles = new WeakSet();
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) => {
6626
- if (typeof file === "string") {
6627
- const splitAt = file.lastIndexOf("/");
6628
- return {
6629
- source: file,
6630
- name: splitAt > 0 ? file.substring(splitAt + 1) : ""
6631
- };
6632
- }
6633
- return file;
6634
- })
6635
- })
6636
- });
6637
- }
6638
- return project;
6639
- };
6640
6658
  const state = reactive({
6641
6659
  project: null,
6642
6660
  loading: true
@@ -6644,6 +6662,9 @@ const state = reactive({
6644
6662
  function useProject() {
6645
6663
  const { baseURL } = inject("config");
6646
6664
  const service = new ProjectService(baseURL);
6665
+ const setProject = (project) => {
6666
+ state.project = service.transformProjectFiles(project);
6667
+ };
6647
6668
  const fetchProject = async (id) => {
6648
6669
  state.loading = true;
6649
6670
  state.project = await service.fetch(id);
@@ -6721,6 +6742,7 @@ function useProject() {
6721
6742
  state.project.files.list = state.project.files.list.filter((file) => !filesIdx.includes(state.project.files.list.indexOf(file)));
6722
6743
  };
6723
6744
  return __spreadProps(__spreadValues({}, toRefs(state)), {
6745
+ setProject,
6724
6746
  fetchProject,
6725
6747
  saveProject,
6726
6748
  deleteProject,
@@ -6753,7 +6775,7 @@ const _hoisted_6$5 = ["href"];
6753
6775
  const _hoisted_7$5 = /* @__PURE__ */ createTextVNode(" by ");
6754
6776
  const _hoisted_8$5 = ["href"];
6755
6777
  const _hoisted_9$4 = { id: "numCollaborators" };
6756
- const _hoisted_10$4 = /* @__PURE__ */ createTextVNode(" Collaborators ");
6778
+ const _hoisted_10$3 = /* @__PURE__ */ createTextVNode(" Collaborators ");
6757
6779
  const _hoisted_11$2 = { id: "numAnnotations" };
6758
6780
  const _hoisted_12$2 = /* @__PURE__ */ createTextVNode(" Annotations ");
6759
6781
  const _hoisted_13$1 = { id: "numFiles" };
@@ -6827,7 +6849,7 @@ const _sfc_main$f = {
6827
6849
  }, null, 8, ["modelValue"]),
6828
6850
  createElementVNode("p", null, [
6829
6851
  createElementVNode("span", _hoisted_9$4, toDisplayString(unref(project).collaborators.list.length), 1),
6830
- _hoisted_10$4
6852
+ _hoisted_10$3
6831
6853
  ]),
6832
6854
  createElementVNode("p", null, [
6833
6855
  createElementVNode("span", _hoisted_11$2, toDisplayString(unref(project).annotations.list.length), 1),
@@ -7162,7 +7184,7 @@ const _sfc_main$c = {
7162
7184
  }
7163
7185
  };
7164
7186
  var PureAnnotations_vue_vue_type_style_index_0_scoped_true_lang = "";
7165
- const _withScopeId$4 = (n) => (pushScopeId("data-v-0abfcc3d"), n = n(), popScopeId(), n);
7187
+ const _withScopeId$4 = (n) => (pushScopeId("data-v-1ebbe320"), n = n(), popScopeId(), n);
7166
7188
  const _hoisted_1$8 = { class: "wrapper" };
7167
7189
  const _hoisted_2$6 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createElementVNode("h2", null, "Annotations", -1));
7168
7190
  const _hoisted_3$4 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ createElementVNode("thead", null, [
@@ -7176,10 +7198,9 @@ const _hoisted_3$4 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ create
7176
7198
  const _hoisted_4$4 = ["onClick"];
7177
7199
  const _hoisted_5$3 = ["value", "selected"];
7178
7200
  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(" - ");
7201
+ const _hoisted_7$3 = { class: "actions" };
7202
+ const _hoisted_8$3 = /* @__PURE__ */ createTextVNode(" + ");
7203
+ const _hoisted_9$3 = /* @__PURE__ */ createTextVNode(" - ");
7183
7204
  const _sfc_main$b = {
7184
7205
  props: {
7185
7206
  annotations: {
@@ -7194,8 +7215,7 @@ const _sfc_main$b = {
7194
7215
  ],
7195
7216
  setup(__props, { emit }) {
7196
7217
  const props = __props;
7197
- const { baseURL, fetchLabelSets } = inject("config");
7198
- const annotationType = ["volume", "text"];
7218
+ const { baseURL, fetchLabelSets, annotationTypes } = inject("config");
7199
7219
  const labelSets = reactive([]);
7200
7220
  const updateLabelSets = async () => {
7201
7221
  labelSets.push(...await fetchLabelSets());
@@ -7231,6 +7251,7 @@ const _sfc_main$b = {
7231
7251
  emitAnnotationUpdate(idx, { values });
7232
7252
  };
7233
7253
  const handleDisplayChange = (annotation, display) => {
7254
+ console.log("dsfsdfsdf", display);
7234
7255
  const idx = props.annotations.indexOf(annotation);
7235
7256
  if (idx < 0)
7236
7257
  return;
@@ -7265,19 +7286,19 @@ const _sfc_main$b = {
7265
7286
  onChange: ($event) => handleTypeChange(annotation, $event.target.value)
7266
7287
  }, {
7267
7288
  default: withCtx(() => [
7268
- (openBlock(), createElementBlock(Fragment, null, renderList(annotationType, (opt) => {
7269
- return createElementVNode("option", {
7289
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(annotationTypes), (opt) => {
7290
+ return openBlock(), createElementBlock("option", {
7270
7291
  key: `${annotation.name}${opt}`,
7271
7292
  value: opt,
7272
7293
  selected: opt === annotation.type
7273
7294
  }, toDisplayString(opt), 9, _hoisted_5$3);
7274
- }), 64))
7295
+ }), 128))
7275
7296
  ]),
7276
7297
  _: 2
7277
7298
  }, 1032, ["modelValue", "onUpdate:modelValue", "onChange"])
7278
7299
  ]),
7279
7300
  createElementVNode("td", null, [
7280
- annotation.type === "volume" ? (openBlock(), createBlock(Select, {
7301
+ annotation.type !== "text" ? (openBlock(), createBlock(Select, {
7281
7302
  key: 0,
7282
7303
  modelValue: annotation.values,
7283
7304
  "onUpdate:modelValue": ($event) => annotation.values = $event,
@@ -7296,13 +7317,11 @@ const _sfc_main$b = {
7296
7317
  }, 1032, ["modelValue", "onUpdate:modelValue", "onChange"])) : createCommentVNode("", true)
7297
7318
  ]),
7298
7319
  createElementVNode("td", null, [
7299
- withDirectives(createElementVNode("input", {
7300
- type: "checkbox",
7320
+ createVNode(Checkbox, {
7321
+ modelValue: annotation.display,
7301
7322
  "onUpdate:modelValue": ($event) => annotation.display = $event,
7302
- onChange: ($event) => handleDisplayChange(annotation, $event.target.checked)
7303
- }, null, 40, _hoisted_7$3), [
7304
- [vModelCheckbox, annotation.display]
7305
- ])
7323
+ onChange: ($event) => handleDisplayChange(annotation, $event)
7324
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onChange"])
7306
7325
  ])
7307
7326
  ], 10, _hoisted_4$4);
7308
7327
  }), 128))
@@ -7310,14 +7329,14 @@ const _sfc_main$b = {
7310
7329
  ]),
7311
7330
  _: 1
7312
7331
  }),
7313
- createElementVNode("div", _hoisted_8$3, [
7332
+ createElementVNode("div", _hoisted_7$3, [
7314
7333
  createVNode(Button, {
7315
7334
  small: true,
7316
7335
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("addAnnotation")),
7317
7336
  title: "Add annotation"
7318
7337
  }, {
7319
7338
  default: withCtx(() => [
7320
- _hoisted_9$3
7339
+ _hoisted_8$3
7321
7340
  ]),
7322
7341
  _: 1
7323
7342
  }),
@@ -7328,7 +7347,7 @@ const _sfc_main$b = {
7328
7347
  disabled: selected.value == null
7329
7348
  }, {
7330
7349
  default: withCtx(() => [
7331
- _hoisted_10$3
7350
+ _hoisted_9$3
7332
7351
  ]),
7333
7352
  _: 1
7334
7353
  }, 8, ["disabled"])
@@ -7337,7 +7356,7 @@ const _sfc_main$b = {
7337
7356
  };
7338
7357
  }
7339
7358
  };
7340
- var PureAnnotations = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-0abfcc3d"]]);
7359
+ var PureAnnotations = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-1ebbe320"]]);
7341
7360
  const _sfc_main$a = {
7342
7361
  setup(__props) {
7343
7362
  const {
@@ -7346,6 +7365,12 @@ const _sfc_main$a = {
7346
7365
  updateAnnotation,
7347
7366
  removeAnnotations
7348
7367
  } = useProject();
7368
+ if (project.value && project.value.annotations && project.value.annotations.list) {
7369
+ if (project.value.annotations.list.length === 0) {
7370
+ console.log("foo");
7371
+ addAnnotation();
7372
+ }
7373
+ }
7349
7374
  return (_ctx, _cache) => {
7350
7375
  return unref(project) && unref(project).annotations ? (openBlock(), createBlock(PureAnnotations, {
7351
7376
  key: 0,
@@ -7360,7 +7385,7 @@ const _sfc_main$a = {
7360
7385
  var _imports_0$2 = "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0MzguNTMzIDQzOC41MzMiIGhlaWdodD0iNDM4LjUzMyIgdmlld0JveD0iMCAwIDQzOC41MzMgNDM4LjUzMyIgd2lkdGg9IjQzOC41MzMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiIgdHJhbnNmb3JtPSJtYXRyaXgoLjcxMTE2MTExIDAgMCAuNzExMTYxMTEgODEuMDg2NzE2IDI1LjY3MTMwNykiPjxwYXRoIGQ9Im0xMTQuMDA2MzYgMTgzLjM5MzI5aDQ4LjExNTQ2djkxLjIwODljMCAyLjQxOTQzLjc1NjY2IDQuNDA0MTcgMi4yNTg2IDUuOTU5NjUgMS40OTU3OCAxLjU1MDk1IDMuNDE5MDggMi4zMzA1IDUuNzU1OCAyLjMzMDVoNDguMTI0MjFjMi4zMzg0OSAwIDQuMjYwODktLjc3OTU1IDUuNzY0NTktMi4zMzA1IDEuNTA0NTYtMS41NTYzOCAyLjI1NTk2LTMuNTQwMjIgMi4yNTU5Ni01Ljk1OTY1di05MS4yMDUyN2g0OC4xMjA3MWMzLjY3NDUyIDAgNi4xODE1My0xLjcyODgxIDcuNTE5MzItNS4xODEgMS4zMzc3OS0zLjI4NjExLjc0OTY2LTYuMzA0NTEtMS43NTQ3My05LjA3MTUybC04MC4xOTk0My04Mi45MTE0OTNjLTEuODM5ODctMS41NTI3NTktMy43NTk2NS0yLjMyOTU5Ni01Ljc2NDU3LTIuMzI5NTk2LTIuMDAyMyAwLTMuOTI0Ny43NzY4MzctNS43NjYzMyAyLjMyOTU5NmwtNzkuOTQ4MzggODIuNjUwMTMzYy0xLjY2OTU5IDIuMDcxODUtMi41MDI2MyA0LjE1Mjc4LTIuNTAyNjMgNi4yMTgyOSAwIDIuNDE1ODEuNzUwNTMgNC40MDQxNyAyLjI1ODYxIDUuOTYyMzcgMS41MDAxOCAxLjU1MzY3IDMuNDIyNTcgMi4zMjk1OSA1Ljc2MjgxIDIuMzI5NTl6Ii8+PHBhdGggZD0ibTM2LjIzNTI0NCAzMTkuMjQ3Mzl2ODUuMDUxNDRoMzE2LjEzMjgxNnYtODUuMDUxNDRoLTM2LjkwODkydjQ4LjE0MjUyaC0yNDIuMzE0OTcydi00OC4xNDI1MnoiLz48L2c+PC9zdmc+";
7361
7386
  var _imports_1$1 = "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0MzguNTMzIDQzOC41MzMiIGhlaWdodD0iNDM4LjUzMyIgdmlld0JveD0iMCAwIDQzOC41MzMgNDM4LjUzMyIgd2lkdGg9IjQzOC41MzMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTE2Mi4xNjM2MSAxNTYuMDk5OTRoMzQuMjE3ODR2LTY0Ljg2NDIzMWMwLTEuNzIwNi41MzgxMS0zLjEzMjA3IDEuNjA2MjMtNC4yMzgyNyAxLjA2Mzc0LTEuMTAyOTcgMi40MzE1MS0xLjY1NzM2IDQuMDkzMy0xLjY1NzM2aDM0LjIyNDA3YzEuNjYzMDQgMCAzLjAzMDE3LjU1NDM5IDQuMDk5NTUgMS42NTczNiAxLjA2OTk4IDEuMTA2ODQgMS42MDQzNSAyLjUxNzY3IDEuNjA0MzUgNC4yMzgyN3Y2NC44NjE2NTFoMzQuMjIxNThjMi42MTMxNyAwIDQuMzk2MDYgMS4yMjk0NiA1LjM0NzQ0IDMuNjg0NTIuOTUxMzkgMi4zMzY5Ni41MzMxMyA0LjQ4MzUyLTEuMjQ3ODkgNi40NTEzMWwtNTcuMDM0NzIgNTguOTYzNDNjLTEuMzA4NDQgMS4xMDQyNi0yLjY3MzcxIDEuNjU2NzItNC4wOTk1MyAxLjY1NjcyLTEuNDIzOTYgMC0yLjc5MTEtLjU1MjQ2LTQuMTAwNzktMS42NTY3MmwtNTYuODU2MTgtNTguNzc3NTZjLTEuMTg3MzUtMS40NzM0Mi0xLjc3OTc4LTIuOTUzMjktMS43Nzk3OC00LjQyMjIgMC0xLjcxODAzLjUzMzc1LTMuMTMyMDggMS42MDYyNC00LjI0MDIxIDEuMDY2ODctMS4xMDQ5MSAyLjQzNC0xLjY1NjcxIDQuMDk4MjktMS42NTY3MXoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJtMTA2Ljg1NTgxIDI1Mi43MDc2NHY2MC40ODUyN2gyMjQuODIxMzd2LTYwLjQ4NTI3aC0yNi4yNDgxOXYzNC4yMzcwOGgtMTcyLjMyNDk5di0zNC4yMzcwOHoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=";
7362
7387
  var PureFiles_vue_vue_type_style_index_0_scoped_true_lang = "";
7363
- const _withScopeId$3 = (n) => (pushScopeId("data-v-3c8f55ac"), n = n(), popScopeId(), n);
7388
+ const _withScopeId$3 = (n) => (pushScopeId("data-v-6b78ca55"), n = n(), popScopeId(), n);
7364
7389
  const _hoisted_1$7 = { class: "wrapper" };
7365
7390
  const _hoisted_2$5 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createElementVNode("h2", null, "Files", -1));
7366
7391
  const _hoisted_3$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ createElementVNode("thead", null, [
@@ -7420,7 +7445,7 @@ const _sfc_main$9 = {
7420
7445
  return (_ctx, _cache) => {
7421
7446
  return openBlock(), createElementBlock("div", _hoisted_1$7, [
7422
7447
  _hoisted_2$5,
7423
- createVNode(Table, { id: "access" }, {
7448
+ createVNode(Table, { id: "files" }, {
7424
7449
  default: withCtx(() => [
7425
7450
  _hoisted_3$3,
7426
7451
  createElementVNode("tbody", null, [
@@ -7500,7 +7525,7 @@ const _sfc_main$9 = {
7500
7525
  };
7501
7526
  }
7502
7527
  };
7503
- var PureFiles = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-3c8f55ac"]]);
7528
+ var PureFiles = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-6b78ca55"]]);
7504
7529
  const _sfc_main$8 = {
7505
7530
  setup(__props) {
7506
7531
  const { project, addFile, updateFile, removeFiles } = useProject();
@@ -7619,7 +7644,7 @@ var _imports_3 = "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3
7619
7644
  var _imports_4 = "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0MDEuOTk0IDQwMS45OTQiIGhlaWdodD0iNDAxLjk5NCIgdmlld0JveD0iMCAwIDQwMS45OTQgNDAxLjk5NCIgd2lkdGg9IjQwMS45OTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLS42ODQxMDcgLTIuNjg1NTQ5KSI+PHBhdGggZD0ibTM5Ny43MTUxOSAyMTYuOTk4MzNjLTMuMTYyMTctMy4xNzE4LTcuMjU5NTYtNy4wNDEwOC0xMS41OTkwOS03LjA5MjY2bC01Ni4wODEyNi0uNjY2Nzd2LTUzLjU1NzExbDQwLjM0OTExLTQxLjU0MjgyYzUuMDU1MDQtNy40MTMyNiA4LjE5ODI4LTEwLjg0NTUxIDkuMTQxMjEtMTkuNDMxMjE3LjQ3MzYtNC4zMTIxNjMtLjE3NTQ0LTEyLjgwNzcyNi0zLjM0NTQ4LTE1Ljk4MDQwMS0zLjE2OTE2LTMuMTcwOTIxLTkuNzU0NjktNS42OTkzMjMtMTQuMDk0NTQtNS42OTkzMjMtNC4zMzk4NCAwLTE1LjczMDc3IDIuODg2MzQyLTIyLjkwMDQ5IDEwLjM5MDMyN2wtNDAuNjgyNDkgMzYuMzQ2ODE0LTE4OS42MzY3MyAxLjAwMDE0LTQ2LjMxNDY5Mi00Mi45ODA5MDVjLTMuMTcxODAzLTMuMTcwOTIxLTEzLjU5MzQ0Ni02LjA4OTg4NS0xNy45MzMzMDUtNi4wODk4ODUtNC4zNDI0NzIgMC0xMS4wOTY5NTggMi45MTk4NDctMTQuMjY4NzUgNi4wODk4ODUtMy4xNzE4MDMgMy4xNzE4MDQtNi4xOTU1ODIgNy45MzM3MzctNi40MjMyOCAxMi4yNjU4NS0uMzMzMzcyIDYuMzQyNzU5LS40MTU2OTIgMTEuMDk4NzI1IDMuNzU2MjQ5IDE3LjkzNTkyNWw0NS45ODEzMDcgNDYuOTgxNDZ2NDcuOTM3MDZsLTU1Ljc0Nzg4MyAxLjAwMDE0Yy04LjA1Mjk3OC4xNDQ0Ni0xMi43NjIxMDkzIDYuNTg3OS0xNC45MzI4ODExIDExLjQyNjU5LTIuODM4NDIwMyA1LjE2OTQ1LTEuNDI0MzQzNyAxNS4yNjM4Ni0xLjQyNDM0MzcgMTkuNjAwMTkgMCA0LjMzOTg2IDEuNTg2MzM3MiA2LjQzMzE2IDQuNzU4MTI5MiA5LjU5OTcgMy4xNzA5MjA2IDMuMTcxNzkgNi45MjU4NjQ2IDQuNzYyNTEgMTEuMjY1NzEyNiA0Ljc2MjUxaDU2LjA4MTI2NmMwIDI2LjY5OTQuNTA4Mzk0IDQxLjIzNzQ0IDEwLjE4Nzc2OSA2MC4yNjEybC00NS41NzA5MzIgNDkuODMwOTdjLTkuODM5NTM1IDkuNjc1MjMtNy43OTkxODggMTcuNTU1MjYtNy41NDc1MTcgMjEuOTc1NzcuMjQ5MDQ2IDQuNDE3MDMgNC45NjAzMiAxMy4xMzIzMiA4LjEzMjExMiAxNi4xNDAxMyAzLjE3MTc5MiAyLjY3MDIgNi43NTgzNyA0LjAwODM3IDEwLjc2NDExMyA0LjAwODM3IDQuNjczOTUzIDAgMTUuMzQ2NDA3LTEuNzQ1OTUgMjQuMDIwNjM2LTEyLjI1ODA2bDQwLjE0Nzc5LTQwLjQ5MjQ1LTIuNTc2NjMtLjgyMjc4YzIuMzM2MSAyLjE3Mzg2IDUuOTYzODkgNC44NzkxNiAxMC44OTAzOSA4LjEzMjUxIDQuOTI1NjMgMy4yNTMzNCAyLjg4OTE0IDQuNjIzNDYgOC45NzkzMSA3Ljg4NTU3IDYuMDk0NTQgMy4yNTMzNSAxMC40NjcyNiA2LjM3MjkgMTAuNDY3MjYgNi4zNzI5cy00My4wMjI4Ny0xNjkuNTIxMTMtOS4wNzcwNy0yMDUuMTIyOWwxMzguMTI2OC42NjY3NmMzNy4xOTcxOSAzNi4xNDkyNy01LjgxODkyIDIwMy42Mzg1OC01LjgxODkyIDIwMy42Mzg1OCA3Ljc0MTM0LTQuMDA0MTkgMTQuMTQzOTgtMTAuNDk0OTUgMjAuMzU3MzEtMTUuNDg0MzYgMS42NzQwNS0xLjMzODE2IDEuOTIyNjUtMS4wODg1NCAyLjc1NjU3LTEuOTE5ODRsNDguOTA4NjkgNDYuOTg2NjFjMy4xNTM1IDMuMDI5NiAxMi43NTkyMSAyLjQyMjcyIDE3LjI2NjU0IDIuNDIyNzIgNC41MDgyMSAwIDguMjIyNjEtMS42MjI2NyAxMS4yNzE4NS00Ljc1NjM4IDMuMTIzODctMy4yMTAzOCA1LjcyNzM5LTcuNjExMSA2LjA4NzI4LTExLjkzNTk4LjMzMzM4LTQuMDA2NDcuNzQyMDktMTIuNzk2MDEtMi40MjAxLTE1LjkzMzAxbC01Mi43NDQ5NS01Mi4zMjQ1N2MxMS4xODUwNC0xOS44NjI5NyAxMy40NDE1OC0zNS43MzEzMiAxMy40NDE1OC02NC4yNzA0N2w1Ni40MTQ2Ni0uMzMzMzdjNC4zMzk3Ny0uMDI1NyA4LjA5OTE4LTQuMjU0MjUgMTEuMjY1NzItNy40MjYwNSAzLjE2OTE2LTMuMTY5MTcgNC43NjMzNy02LjkyNTg3IDQuNzYzMzctMTEuMjY1NzEgMC00LjMzODk3LTEuMjU5OTYtMTMuMDk4OTktNC40NDE0LTE2LjI3MTY2eiIvPjxwYXRoIGQ9Im0yNTguNTY0NjIgMjkuMjFjLTE1LjYwNDY5LTE1LjYwNDY4OC0zNC41MDgzMi0yMy40MTAwOTc0LTU2LjcwNzM5LTIzLjQxMDA5NzQtMjIuMjAyNTggMC00MS4xMDA5NSA3LjgwNTQwOTQtNTYuNzA4MjYgMjMuNDEwMDk3NC0xNS42MDQ2OCAxNS42MDY0MzEtMjMuNDA1NyAzNC41MDkxODctMjMuNDA1NyA1Ni43MDczNzdoMTYwLjIyNjE3YzAtMjIuMTk0NjgzLTcuODAwMTUtNDEuMTAwOTQ2LTIzLjQwNDgyLTU2LjcwNzM3N3oiLz48L2c+PHJlY3QgaGVpZ2h0PSIyMjMuNDc2NTMiIHJ5PSIuNTQ5ODMzIiB3aWR0aD0iNDEuNDg5MzE1IiB4PSIxODAuMTI3MjMiIHk9IjE2My41NzM1NSIvPjwvZz48L3N2Zz4=";
7620
7645
  var _imports_5 = "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA0MDEuOTk0IDQwMS45OTQiIGhlaWdodD0iNDAxLjk5NCIgdmlld0JveD0iMCAwIDQwMS45OTQgNDAxLjk5NCIgd2lkdGg9IjQwMS45OTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTEyNi4xMDQzOSAzODguNDI2NzNjLTI3LjE4NTM0NS0xMS4xMDQ5Ny00OC45NzEwMDktMjUuOTg2OTMtNzAuMDQ2MDg2LTQ3Ljg0ODk3LTY2LjI1NDI3Ni02OC43MjgzMi03NS4wNTg0NTMtMTcyLjMzOTIyLTIxLjQ1Mzk1MS0yNTIuNDc4MjIyIDEwLjE1MDYzMS0xNS4xNzUyNDQgMzcuOTA3NjY3LTQyLjkzMjI3IDUzLjA4Mjg5My01My4wODI5MDMgMjIuOTEyNDU0LTE1LjMyNTk5NiA0OS4wMjQzOTQtMjYuMjQ3NzYxIDc1LjE2MDA1NC0zMS40MzY5NzY4IDE4Ljg5NDg5LTMuNzUxNTcwMDYgNTcuNTYzODItMy43NTE1NzAwNiA3Ni40NTg3MSAwIDYwLjk5NDgxIDEyLjExMDQ3NDggMTE0LjUwNDk5IDUzLjExMjIyODggMTQyLjczMTggMTA5LjM2NzEwMTggMTYuOTQ5NjYgMzMuNzgwMDMgMjQuMDA5MTEgNzguNTY1NzcgMTguMzg0NTEgMTE2LjYzMjktNi42NDQ4NCA0NC45NzIwOS0yNC45NDQxOSA4MS4yMjk5Ny01Ny40NTk0IDExMy44NDg2Mi0yMS43Nzg1NiAyMS44NDc4NS00NS42NTcxMyAzNy40NDEwMi03MS44NjMzOCA0Ni45MjgyLTEwLjkyNDAxIDMuOTU0NjctMTcuMzk3MjggMi43OTA5MS0xOC43NjExNS0zLjM3MjkzLS40MzgtMS45Nzk1LTEuMDAwMzEtMTkuNTQ0NS0xLjI0OTYtMzkuMDMzMy0uNDI1MzItMzMuMjUzMjgtLjY4MDQyLTM1Ljk0MDAxLTQuMTQ0NzgtNDMuNjUyNTctMi4wMzAzNC00LjUyMDEzLTQuNjc2ODgtOS4wMzYxNy01Ljg4MTIxLTEwLjAzNTY3LTMuNDQxNjMtMi44NTYzLTIuNTgyMDEtNC41ODEzMiAyLjI4Mjk3LTQuNTgxMzIgNy43MDA1MyAwIDI4Ljg5NTQ5LTYuMTE2NzUgNDAuODk2NDYtMTEuODAyNTMgMTMuMzk2MS02LjM0Njc3IDI3LjA5MDYxLTE5LjIyMDYyIDMzLjgwODItMzEuNzgyMjYgNy4xOTcwMi0xMy40NTgxNSAxMC43NjkxNy0zMC4yOTAyNSAxMC45NzA1OC01MS42OTM3OC4yMDg0NS0yMi4xNTIzOS0yLjgzMjEyLTMzLjMwOTExLTEzLjI0MDY4LTQ4LjU4MzgyLTYuMjY0NTEtOS4xOTMyOC02LjI3MzY1LTkuMjI5MDgtNC4zNzM0My0xNy4xNTAwMSAyLjI1MzY2LTkuMzk0MzUgMS4xNjE2OS0yOS4wODE3MTQtMi4xMTkxNC0zOC4yMDY0NzFsLTIuMjY0OTgtNi4yOTk0MTktOC40ODM0OC4xMzY5MTJjLTEwLjAwNzk2LjE2MTQ5Mi0yMS45OTgyNiA0LjUzMjk0OC0zNi42MTY5MyAxMy4zNDk4NzVsLTEwLjU4NDYyIDYuMzgzOTAzLTEyLjEzODAxLTIuODQ3MTNjLTE2LjY3Mjg1LTMuOTEwNzc3LTU4Ljg2NTIyLTMuOTU1MzIxLTc2LjQyMDUxLS4wODA4bC0xMi4zMTIzNSAyLjcxNzQ4LTEwLjQxMDI4LTYuMjc4NzQ3Yy0xNC41MzA3MS04Ljc2Mzc4NS0yNi40NjczMS0xMy4wODQwODQtMzYuNTk0MDUtMTMuMjQ0NjQxbC04LjYzNDk0Ny0uMTM2ODk4LTIuMTI5NTc1IDYuMjk5NDE5Yy0zLjEzMzQ4OSA5LjI2OTA4MS00LjE2MzA1MSAyOC45ODgxMjctMS45ODcxMTkgMzguMDU4NTA3IDEuODUyODQxIDcuNzIzNDMgMS44MTU3NTYgNy44Njg4OC00LjM3MjU0NCAxNy4xNDk5OC0xMC41MzEwMDkgMTUuNzk0MjUtMTMuNDk4ODk3IDI2LjY5NzY2LTEzLjI2NDY2NiA0OC43MzE4MS4yMjY5MzEgMjEuMzQ4NyAzLjgwNzgyOSAzOC4xNjQzMyAxMS4wMDgyMzUgNTEuNjkzNzggNi4yODkxNzEgMTEuODE3MjcgMjEuMzI5OTU2IDI2LjA2NzY3IDMzLjk4NDE5NiAzMi4xOTgzMiAxMC43MTQyNyA1LjE5MDc4IDMyLjg2ODUgMTEuMzU1MDMgNDAuODgzMjIgMTEuMzc1NDQgNS4yODU1My4wMTQyIDUuMzIyNzEuNDg1NjguNTM2MiA2LjgwOTI0LTIuMDg3MDYgMi43NTcyNS00LjgwNTQzIDguNTU2NjEtNi4wNDA4NCAxMi44ODc0NS0yLjEwNDc3IDcuMzc4NDgtMi43MzM0OSA4LjA0OTUtOS45ODUzMyAxMC42NTc0My0xNy4zNTQ1OCA2LjI0MTEtMzYuODI3ODIuMzE2MTMtNDYuODUxNzQ4LTE0LjI1NTI3LTEyLjI4MjQzNC0xNy44NTQ0My0yMy4wMjk4NjUtMjUuNTM2ODktMzUuNzI1MTM1LTI1LjUzNjg5LTguODk0OTkyIDAtMTAuMDY2OTk2IDMuODAzNDQtMi45ODY2NDIgOS42OTIzNiAxMi4zMTM1NTUgMTAuMjQxNSAxNy42MTM4MjUgMTYuNjI3MjEgMjIuODY4MDEgMjcuNTUxMDggNi42NTc2NDYgMTMuODQxODQgMTIuNjYzODI4IDIwLjE5MDY4IDI0LjIzNzE5NSAyNS42MTk5NiA3LjgyNTU3IDMuNjcxMTEgMTAuNDc2MDEgNC4wNjAzMSAyNy4xNzU4IDMuOTkwNTFsMTguNTA0NTEtLjA3NzJ2MTkuODU1N2MwIDEzLjQ2MDI0LS42MzQwOCAyMC42ODU4LTEuOTY4NTYgMjIuNDMyODEtMy42NTk5NSA0Ljc5MTI5LTkuMjc4OTMgNC41NzUxLTIyLjYwODQyLS44Njk5MXoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=";
7621
7646
  var Nav_vue_vue_type_style_index_0_scoped_true_lang = "";
7622
- const _withScopeId$2 = (n) => (pushScopeId("data-v-10fcf70c"), n = n(), popScopeId(), n);
7647
+ const _withScopeId$2 = (n) => (pushScopeId("data-v-4004adc6"), n = n(), popScopeId(), n);
7623
7648
  const _hoisted_1$4 = { id: "menu" };
7624
7649
  const _hoisted_2$4 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("a", { href: "/project/new" }, [
7625
7650
  /* @__PURE__ */ createElementVNode("img", {
@@ -7680,14 +7705,16 @@ const _hoisted_16 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createE
7680
7705
  const _hoisted_17 = [
7681
7706
  _hoisted_16
7682
7707
  ];
7683
- const _hoisted_18 = {
7708
+ const _hoisted_18 = { class: "login" };
7709
+ const _hoisted_19 = { key: 0 };
7710
+ const _hoisted_20 = ["href"];
7711
+ const _hoisted_21 = /* @__PURE__ */ createTextVNode(" (");
7712
+ const _hoisted_22 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("a", { href: "/logout" }, "Log Out", -1));
7713
+ const _hoisted_23 = /* @__PURE__ */ createTextVNode(") ");
7714
+ const _hoisted_24 = {
7684
7715
  key: 1,
7685
- class: "login"
7716
+ href: "/auth/github"
7686
7717
  };
7687
- const _hoisted_19 = ["href"];
7688
- const _hoisted_20 = /* @__PURE__ */ createTextVNode(" (");
7689
- const _hoisted_21 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode("a", { href: "/logout" }, "Log Out", -1));
7690
- const _hoisted_22 = /* @__PURE__ */ createTextVNode(") ");
7691
7718
  const _sfc_main$5 = {
7692
7719
  setup(__props) {
7693
7720
  const { githubURL, issuesURL, searchURL, docURL } = inject("config");
@@ -7714,21 +7741,21 @@ const _sfc_main$5 = {
7714
7741
  href: unref(githubURL),
7715
7742
  target: "_blank"
7716
7743
  }, _hoisted_17, 8, _hoisted_15),
7717
- unref(user) != null ? (openBlock(), createElementBlock("div", _hoisted_18, [
7718
- createElementVNode("span", null, [
7744
+ createElementVNode("div", _hoisted_18, [
7745
+ unref(user) != null ? (openBlock(), createElementBlock("span", _hoisted_19, [
7719
7746
  createElementVNode("a", {
7720
7747
  href: `/user/${unref(user).username}`
7721
- }, toDisplayString(unref(user).username), 9, _hoisted_19),
7722
- _hoisted_20,
7748
+ }, toDisplayString(unref(user).username), 9, _hoisted_20),
7723
7749
  _hoisted_21,
7724
- _hoisted_22
7725
- ])
7726
- ])) : createCommentVNode("", true)
7750
+ _hoisted_22,
7751
+ _hoisted_23
7752
+ ])) : (openBlock(), createElementBlock("a", _hoisted_24, "Log in with GitHub"))
7753
+ ])
7727
7754
  ]);
7728
7755
  };
7729
7756
  }
7730
7757
  };
7731
- var Nav = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-10fcf70c"]]);
7758
+ var Nav = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-4004adc6"]]);
7732
7759
  var Header_vue_vue_type_style_index_0_scoped_true_lang = "";
7733
7760
  const _hoisted_1$3 = {
7734
7761
  class: "logo",
@@ -7781,20 +7808,22 @@ function _sfc_render(_ctx, _cache) {
7781
7808
  var Footer = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render], ["__scopeId", "data-v-79b1b506"]]);
7782
7809
  const _sfc_main$2 = {
7783
7810
  props: {
7784
- projectID: {
7785
- type: String,
7811
+ project: {
7812
+ type: Object,
7786
7813
  required: true
7787
- }
7814
+ },
7815
+ files: Object
7788
7816
  },
7789
7817
  setup(__props) {
7790
7818
  const props = __props;
7791
- const { project, fetchProject, updateProject } = useProject();
7819
+ const { project, setProject, updateProject } = useProject();
7820
+ setProject(props.project);
7821
+ watch(props.files, (files) => updateProject({ files: { list: files } }));
7792
7822
  const content = ref(project.name);
7793
7823
  const onTitleInput = (event) => {
7794
7824
  content.value = event.currentTarget.textContent;
7795
7825
  updateProject({ name: content.value });
7796
7826
  };
7797
- fetchProject(props.projectID);
7798
7827
  return (_ctx, _cache) => {
7799
7828
  return openBlock(), createBlock(Wrapper, null, {
7800
7829
  default: withCtx(() => [
@@ -7967,4 +7996,4 @@ const _sfc_main = {
7967
7996
  }
7968
7997
  };
7969
7998
  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 };
7999
+ export { Access, _sfc_main$a as Annotations, Autocomplete, Button, Checkbox, _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 };