summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkMediaList.vue
diff options
context:
space:
mode:
authormisskey-release-bot[bot] <157398866+misskey-release-bot[bot]@users.noreply.github.com>2026-03-05 10:56:50 +0000
committerGitHub <noreply@github.com>2026-03-05 10:56:50 +0000
commitfe3dd8edb5f30104cd0a7ed755eb254feda2922d (patch)
treeaf6cf5fa4ca75302ac2de5db742cead00bc13d21 /packages/frontend/src/components/MkMediaList.vue
parentMerge pull request #16998 from misskey-dev/develop (diff)
parentRelease: 2026.3.0 (diff)
downloadmisskey-fe3dd8edb5f30104cd0a7ed755eb254feda2922d.tar.gz
misskey-fe3dd8edb5f30104cd0a7ed755eb254feda2922d.tar.bz2
misskey-fe3dd8edb5f30104cd0a7ed755eb254feda2922d.zip
Merge pull request #17217 from misskey-dev/develop
Release: 2026.3.0
Diffstat (limited to 'packages/frontend/src/components/MkMediaList.vue')
-rw-r--r--packages/frontend/src/components/MkMediaList.vue33
1 files changed, 28 insertions, 5 deletions
diff --git a/packages/frontend/src/components/MkMediaList.vue b/packages/frontend/src/components/MkMediaList.vue
index bfc8179e13..9090e74bb6 100644
--- a/packages/frontend/src/components/MkMediaList.vue
+++ b/packages/frontend/src/components/MkMediaList.vue
@@ -4,13 +4,14 @@ SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
-<div>
+<div :class="$style.root">
<XBanner v-for="media in mediaList.filter(media => !previewable(media))" :key="media.id" :media="media"/>
<div v-if="mediaList.filter(media => previewable(media)).length > 0" :class="$style.container">
<div
ref="gallery"
:class="[
$style.medias,
+ ...(prefer.s.showMediaListByGridInWideArea ? [$style.gridInWideArea] : []),
count === 1 ? [$style.n1, {
[$style.n116_9]: prefer.s.mediaListWithOneImageAppearance === '16_9',
[$style.n11_1]: prefer.s.mediaListWithOneImageAppearance === '1_1',
@@ -107,8 +108,10 @@ onMounted(() => {
src: media.url,
w: media.properties.width,
h: media.properties.height,
- alt: media.comment ?? media.name,
- comment: media.comment ?? media.name,
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
+ alt: media.comment || media.name,
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
+ comment: media.comment || media.name,
};
if (media.properties.orientation != null && media.properties.orientation >= 5) {
[item.w, item.h] = [item.h, item.w];
@@ -155,8 +158,10 @@ onMounted(() => {
[itemData.w, itemData.h] = [itemData.h, itemData.w];
}
itemData.msrc = file.thumbnailUrl ?? undefined;
- itemData.alt = file.comment ?? file.name;
- itemData.comment = file.comment ?? file.name;
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
+ itemData.alt = file.comment || file.name;
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
+ itemData.comment = file.comment || file.name;
itemData.thumbCropped = true;
return itemData;
@@ -226,6 +231,10 @@ defineExpose({
</script>
<style lang="scss" module>
+.root {
+ container-type: inline-size;
+}
+
.container {
position: relative;
width: 100%;
@@ -309,6 +318,20 @@ defineExpose({
border-radius: 8px;
}
+@container (min-width: 500px) {
+ .medias.gridInWideArea {
+ display: grid;
+ aspect-ratio: auto;
+ grid-template-columns: repeat(4, 1fr);
+ grid-template-rows: auto;
+ grid-gap: 8px;
+
+ > .media {
+ aspect-ratio: 1 / 1;
+ }
+ }
+}
+
:global(.pswp) {
--pswp-root-z-index: var(--mk-pswp-root-z-index, 2000700) !important;
--pswp-bg: var(--MI_THEME-modalBg) !important;