diff --git a/packages/frontend/src/components/MkContainer.vue b/packages/frontend/src/components/MkContainer.vue
index f513795c56..6a278250fa 100644
--- a/packages/frontend/src/components/MkContainer.vue
+++ b/packages/frontend/src/components/MkContainer.vue
@@ -30,7 +30,7 @@ SPDX-License-Identifier: AGPL-3.0-only
>
-
@@ -48,6 +48,7 @@ const props = withDefaults(defineProps<{
thin?: boolean;
naked?: boolean;
foldable?: boolean;
+ onUnfold?: () => boolean; // return false to prevent unfolding
scrollable?: boolean;
expanded?: boolean;
maxHeight?: number | null;
@@ -101,6 +102,13 @@ const omitObserver = new ResizeObserver((entries, observer) => {
calcOmit();
});
+function showMore() {
+ if (props.onUnfold && !props.onUnfold()) return;
+
+ ignoreOmit.value = true;
+ omitted.value = false;
+}
+
onMounted(() => {
watch(showBody, v => {
if (!rootEl.value) return;
diff --git a/packages/frontend/src/components/MkMedias.vue b/packages/frontend/src/components/MkMedias.vue
index db6cf1f01e..dfea44892e 100644
--- a/packages/frontend/src/components/MkMedias.vue
+++ b/packages/frontend/src/components/MkMedias.vue
@@ -5,13 +5,13 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
{{ i18n.ts.sensitive }}
{{ i18n.ts.clickToShow }}
-
+
@@ -28,8 +28,9 @@ import * as Misskey from 'misskey-js';
import { defaultStore } from '@/store.js';
import { getProxiedImageUrl, getStaticImageUrl } from '@/scripts/media-proxy.js';
-const props = defineProps<{
+defineProps<{
note: Misskey.entities.Note;
+ square?: boolean;
}>();
const showingFiles = ref([]);
@@ -42,10 +43,20 @@ function thumbnail(image: Misskey.entities.DriveFile): string {
diff --git a/packages/frontend/src/pages/user/home.vue b/packages/frontend/src/pages/user/home.vue
index 2794db2821..a6a49f0ab9 100644
--- a/packages/frontend/src/pages/user/home.vue
+++ b/packages/frontend/src/pages/user/home.vue
@@ -136,7 +136,7 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts.userPagePinTip }}
-
+
@@ -150,7 +150,7 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
@@ -212,6 +212,10 @@ const props = withDefaults(defineProps<{
disableNotes: false,
});
+const emit = defineEmits<{
+ (ev: 'unfoldFiles'): void;
+}>();
+
const router = useRouter();
const user = ref(props.user);
diff --git a/packages/frontend/src/pages/user/index.files.vue b/packages/frontend/src/pages/user/index.files.vue
index ce4d113cad..91c781ea55 100644
--- a/packages/frontend/src/pages/user/index.files.vue
+++ b/packages/frontend/src/pages/user/index.files.vue
@@ -4,7 +4,7 @@ SPDX-License-Identifier: AGPL-3.0-only
-->
-
+
{{ i18n.ts.files }}
@@ -35,7 +35,7 @@ SPDX-License-Identifier: AGPL-3.0-only