Skip to content

Commit

Permalink
more consistent fullscreen-preview, fix prop types
Browse files Browse the repository at this point in the history
  • Loading branch information
3vorp committed Jul 1, 2024
1 parent 031e09d commit a78a0b5
Show file tree
Hide file tree
Showing 8 changed files with 38 additions and 33 deletions.
4 changes: 2 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@
</v-img>
</v-card>

<template v-for="(tab, tabIndex) in availableTabs" :key="tab.label">
<div v-for="(tab, tabIndex) in availableTabs" :key="tab.label">
<v-list
dense
nav
Expand Down Expand Up @@ -203,7 +203,7 @@
>
<!-- auto-closing tags break here for some reason -->
</v-divider>
</template>
</div>

<v-list dense nav>
<v-list-item>
Expand Down
13 changes: 6 additions & 7 deletions pages/addon/addon-form.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<template>
<v-container>
<fullscreen-preview ref="headerPreview" :src="header" />
<fullscreen-preview v-model="previewOpen" :src="header" />

<div class="text-center" v-if="loading">
<h2 class="mb-3">{{ $root.lang().addons.general.loading_addon }}</h2>
Expand Down Expand Up @@ -46,7 +46,7 @@
<div class="col">
<div style="position: relative" v-if="hasHeader" class="mt-3">
<v-img
@click.stop="(e) => $refs.headerPreview.open()"
@click.stop="() => (previewOpen = true)"
style="border-radius: 10px"
:aspect-ratio="16 / 9"
:src="header"
Expand All @@ -56,7 +56,7 @@
rounded
style="display: inline-block; position: absolute; right: 0; top: 0"
>
<v-icon small class="ma-1" @click.stop="(e) => $refs.headerPreview.open()">
<v-icon small class="ma-1" @click.stop="() => (previewOpen = true)">
mdi-fullscreen
</v-icon>
<v-icon
Expand Down Expand Up @@ -328,7 +328,7 @@ export default {
},
headerSource: {
required: false,
default: undefined,
default: "",
},
screenSources: {
required: false,
Expand Down Expand Up @@ -508,6 +508,7 @@ export default {
editions: ["Java", "Bedrock"],
res: ["32x", "64x"],
users: [],
previewOpen: false,
};
},
computed: {
Expand All @@ -519,9 +520,7 @@ export default {
? this.headerValidating == false && this.headerValid && this.submittedForm.headerFile
? URL.createObjectURL(this.submittedForm.headerFile)
: undefined
: this.headerSource
? this.headerSource
: undefined;
: this.headerSource;
},
carouselSources() {
return this.screenSources ? this.screenSources : [];
Expand Down
4 changes: 2 additions & 2 deletions pages/addon/edit-addon-form.vue
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ export default {
reason: "",
validForm: false,
addonData: undefined,
headerSource: undefined,
headerSource: "",
screenSources: [],
screenIds: [],
};
Expand Down Expand Up @@ -182,7 +182,7 @@ export default {
this.headerSource = `${res.data}?t=${new Date().getTime()}`;
})
.catch(() => {
this.headerSource = undefined;
this.headerSource = "";
});
},
async handleScreenshot(screenshots, index, remove = false, id) {
Expand Down
7 changes: 4 additions & 3 deletions pages/addon/image-previewer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
</div>
</div>

<fullscreen-preview ref="preview" :src="fullscreenItem" />
<fullscreen-preview v-model="previewOpen" :src="fullscreenItem" />
</v-container>
</template>

Expand Down Expand Up @@ -69,11 +69,12 @@ export default {
data() {
return {
fullscreenIndex: undefined,
previewOpen: false,
};
},
computed: {
fullscreenItem() {
if (this.fullscreenIndex === undefined) return undefined;
if (this.fullscreenIndex === undefined) return "";
return this.sources[this.fullscreenIndex];
},
empty() {
Expand All @@ -90,7 +91,7 @@ export default {
onFullscreen(index, e) {
if (e) e.target.blur();
this.fullscreenIndex = index;
this.$refs.preview.open();
this.previewOpen = true;
},
},
};
Expand Down
22 changes: 13 additions & 9 deletions pages/components/fullscreen-preview.vue
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
alt="fullscreen preview"
:aspect-ratio="aspectRatio"
contain
@click="close"
@click="() => (modalOpened = false)"
/>
</v-card>
</v-dialog>
Expand All @@ -18,6 +18,10 @@
export default {
name: "fullscreen-preview",
props: {
value: {
type: Boolean,
required: true,
},
aspectRatio: {
required: false,
type: Number,
Expand All @@ -38,14 +42,6 @@ export default {
modalOpened: false,
};
},
methods: {
close() {
this.modalOpened = false;
},
open() {
this.modalOpened = true;
},
},
computed: {
styles() {
if (!this.texture) return {};
Expand All @@ -54,5 +50,13 @@ export default {
};
},
},
watch: {
value(newValue) {
this.modalOpened = newValue;
},
modalOpened(newValue) {
this.$emit("input", newValue);
},
},
};
</script>
5 changes: 3 additions & 2 deletions pages/gallery/gallery-modal.vue
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
@click.stop="() => closeModal()"
>
<v-card>
<fullscreen-preview ref="preview" :src="clickedImage" :aspect-ratio="1 / 1" texture />
<fullscreen-preview v-model="previewOpen" :src="clickedImage" :aspect-ratio="1 / 1" texture />

<v-toolbar>
<v-btn icon @click.stop="() => closeModal()">
Expand Down Expand Up @@ -194,6 +194,7 @@ export default {
],
opened: false,
clickedImage: "",
previewOpen: false,
};
},
watch: {
Expand Down Expand Up @@ -250,7 +251,7 @@ export default {
},
openFullscreenPreview(url) {
this.clickedImage = url;
this.$refs.preview.open();
this.previewOpen = true;
},
getHeaders(item) {
if (this.packs.includes(item))
Expand Down
8 changes: 4 additions & 4 deletions pages/review/expansion-panel.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<template>
<v-container id="review-expanders">
<fullscreen-preview ref="preview" :src="imagePreview" />
<fullscreen-preview v-model="previewOpen" :src="imagePreview" />

<v-expansion-panel
v-for="addon in addons"
Expand Down Expand Up @@ -35,7 +35,7 @@
<v-img
@click.stop="
(e) => {
$refs.preview.open();
previewOpen = true;
imagePreview = addonInPanelHeaderURL;
}
"
Expand Down Expand Up @@ -70,7 +70,7 @@
class="ma-1"
@click.stop="
(e) => {
$refs.preview.open();
previewOpen = true;
imagePreview = addonInPanelHeaderURL;
}
"
Expand Down Expand Up @@ -249,7 +249,7 @@ export default {
imagePreview: "",
dialogAddon: {},
dialogOpen: false,
previewOpen: false,
addonInPanelLoading: true,
addonInPanel: {},
addonURL: undefined,
Expand Down
8 changes: 4 additions & 4 deletions pages/review/review-preview.vue
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<template>
<div id="review-preview" class="d-flex flex-column">
<v-card flat style="height: 100%" class="rounded-lg pa-2 overflow-x-hidden">
<fullscreen-preview ref="preview" :src="imagePreview" />
<fullscreen-preview v-model="previewOpen" :src="imagePreview" />
<template v-if="addonInPanelLoading === true">
<p>{{ $root.lang().global.loading }}</p>
</template>
Expand All @@ -25,7 +25,7 @@
<v-img
@click.stop="
(e) => {
$refs.preview.open();
previewOpen = true;
imagePreview = addonInPanelHeaderURL;
}
"
Expand Down Expand Up @@ -62,7 +62,7 @@
class="ma-1"
@click.stop="
(e) => {
$refs.preview.open();
previewOpen = true;
imagePreview = addonInPanelHeaderURL;
}
"
Expand Down Expand Up @@ -208,7 +208,7 @@ export default {
imagePreview: "",
dialogAddon: {},
dialogOpen: false,
previewOpen: false,
addonInPanelLoading: true,
addonInPanel: {},
addonURL: undefined,
Expand Down

0 comments on commit a78a0b5

Please sign in to comment.