summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2022-09-24 16:43:36 +0200
committerSanto Cariotti <santo@dcariotti.me>2022-09-24 16:43:36 +0200
commitbcb253107cb97bb8051eb109b4f557e9f7093a5c (patch)
tree6cbd7a86505be00692bb51e451c4928663eb802a
parentb33f5e1ed722fa83617a5ff4c85973cfca50d030 (diff)
Icons for uploaded status
-rw-r--r--components/ModelForm.vue25
1 files changed, 22 insertions, 3 deletions
diff --git a/components/ModelForm.vue b/components/ModelForm.vue
index 086778c..90f33b9 100644
--- a/components/ModelForm.vue
+++ b/components/ModelForm.vue
@@ -182,7 +182,25 @@
.flex.w-0.flex-1.items-center
svg.h-5.w-5.flex-shrink-0.text-gray-400(xmlns="http://www.w3.org/2000/svg", viewbox="0 0 20 20", fill="currentColor", aria-hidden="true")
path(fill-rule="evenodd", d="M15.621 4.379a3 3 0 00-4.242 0l-7 7a3 3 0 004.241 4.243h.001l.497-.5a.75.75 0 011.064 1.057l-.498.501-.002.002a4.5 4.5 0 01-6.364-6.364l7-7a4.5 4.5 0 016.368 6.36l-3.455 3.553A2.625 2.625 0 119.52 9.52l3.45-3.451a.75.75 0 111.061 1.06l-3.45 3.451a1.125 1.125 0 001.587 1.595l3.454-3.553a3 3 0 000-4.242z", clip-rule="evenodd")
- span.ml-2.w-0.flex-1.truncate(v-if="checkExt(file.name)") {{ file.name }} {{ file.uploaded }}
+ span.ml-2.w-0.flex-1.flex.truncate(v-if="checkExt(file.name)") {{ file.name }}
+ svg(
+ class="ml-2 w-6 h-6 animate-spin" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
+ v-if="file.uploaded == 0"
+ )
+ circle(class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4")
+ path(class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z")
+ svg(
+ xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="#10b981" class="ml-2 w-6 h-6"
+ v-else-if="file.uploaded == 1"
+ )
+ path(stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z")
+ svg(
+ xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="#dc2626" class="ml-2 w-6 h-6"
+ v-else
+ )
+ path(stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z")
+
+
span.ml-2.w-0.flex-1.truncate.text-gray-500(v-else)
s.text-red-500.mr-2 {{ file.name }}
| (this file type is not supported, so it'll not be uploaded)
@@ -260,6 +278,7 @@ export default {
manageUploads(event) {
for (const file of event.target.files) {
if (this.checkExt(file.name)) {
+ file.uploaded = 0;
this.$store
.dispatch("models/upload", { id: this.form.id, file })
.then((response) => {
@@ -270,10 +289,10 @@ export default {
.then((response) => {
this.form.uploads = response.data.uploads;
});
- file.uploaded = true;
+ file.uploaded = 1;
} else {
this.$toast.error(`Error uploading '${file.name}'`);
- file.uploaded = false;
+ file.uploaded = -1;
}
});
}