diff --git a/assets/styles/components.scss b/assets/styles/components.scss index 975d0f947..d4305c32a 100644 --- a/assets/styles/components.scss +++ b/assets/styles/components.scss @@ -513,8 +513,10 @@ tr.button-transparent { box-shadow: var(--shadow-inset-sm), 0 0 0 0 transparent; svg { - width: 1.25rem; - height: 1.25rem; + min-width: 1.25rem; + max-width: 1.25rem; + min-height: 1.25rem; + max-height: 1.25rem; margin: auto; } diff --git a/components/ui/DropArea.vue b/components/ui/DropArea.vue index 4d2245744..45ae34778 100644 --- a/components/ui/DropArea.vue +++ b/components/ui/DropArea.vue @@ -6,7 +6,7 @@ (event) => { $refs.drop_area.style.visibility = 'hidden' - if (event.dataTransfer && event.dataTransfer.files) { + if (event.dataTransfer && event.dataTransfer.files && fileAllowed) { $emit('change', event.dataTransfer.files) } } @@ -26,30 +26,40 @@ export default { default: '', }, }, - mounted() { - // eslint-disable-next-line nuxt/no-env-in-hooks - if (process.client) { - document.addEventListener('dragenter', () => { - this.$refs.drop_area.style.visibility = 'visible' - }) + data() { + return { + fileAllowed: false, } }, + mounted() { + document.addEventListener('dragenter', this.allowDrag) + }, methods: { allowDrag(event) { const file = event.dataTransfer?.items[0] + console.log(file) if ( file && this.accept .split(',') .reduce( - (acc, t) => acc || file.type.startsWith(t) || file.type === t, + (acc, t) => + acc || file.type.startsWith(t) || file.type === t || t === '*', false ) ) { - // Adds file dropping indicator + this.fileAllowed = true event.dataTransfer.dropEffect = 'copy' event.preventDefault() + + if (this.$refs.drop_area) + this.$refs.drop_area.style.visibility = 'visible' + } else { + this.fileAllowed = false + + if (this.$refs.drop_area) + this.$refs.drop_area.style.visibility = 'hidden' } }, }, diff --git a/components/ui/ModalCreation.vue b/components/ui/ModalCreation.vue index eee6843d3..ac86d054b 100644 --- a/components/ui/ModalCreation.vue +++ b/components/ui/ModalCreation.vue @@ -206,7 +206,14 @@ Questions? [Join the Modrinth Discord for support!](https://discord.gg/EUHuJHt)` }) this.$refs.modal.hide() - await this.$router.replace(`/${projectType.actual}/${this.slug}`) + await this.$router.push({ + name: 'type-id', + params: { + type: projectType.id, + id: this.slug, + overrideProjectType: projectType.id, + }, + }) } catch (err) { this.$notify({ group: 'main', diff --git a/components/ui/ProjectCard.vue b/components/ui/ProjectCard.vue index 2985576a2..8a470d136 100644 --- a/components/ui/ProjectCard.vue +++ b/components/ui/ProjectCard.vue @@ -15,12 +15,9 @@ class="gallery" tabindex="-1" :to="`/${$getProjectTypeForUrl(type, categories)}/${id}`" + :style="color ? `background-color: ${toColor};` : ''" > - Gallery image TODO: improve this lol + gallery image
@@ -99,6 +96,14 @@