{{ i18n.ts.loadReplies }}
@@ -228,11 +269,12 @@ import { useTooltip } from '@/scripts/use-tooltip.js';
import { claimAchievement } from '@/scripts/achievements.js';
import MkRippleEffect from '@/components/MkRippleEffect.vue';
import { showMovedDialog } from '@/scripts/show-moved-dialog.js';
+import { shouldCollapsed } from '@/scripts/collapsed.js';
import MkUserCardMini from '@/components/MkUserCardMini.vue';
import MkPagination, { type Paging } from '@/components/MkPagination.vue';
import MkReactionIcon from '@/components/MkReactionIcon.vue';
import MkButton from '@/components/MkButton.vue';
-import { isEnabledUrlPreview } from '@/instance.js';
+import { isEnabledUrlPreview, instance } from '@/instance.js';
const props = withDefaults(defineProps<{
note: Misskey.entities.Note;
@@ -242,6 +284,7 @@ const props = withDefaults(defineProps<{
});
const inChannel = inject('inChannel', null);
+const inEmbedPage = inject
('EMBED_PAGE', false);
const note = ref(deepClone(props.note));
@@ -288,6 +331,8 @@ const translation = ref(null);
const translating = ref(false);
const parsed = appearNote.value.text ? mfm.parse(appearNote.value.text) : null;
const urls = parsed ? extractUrlFromMfm(parsed).filter((url) => appearNote.value.renote?.url !== url && appearNote.value.renote?.uri !== url) : null;
+const isLong = shouldCollapsed(appearNote.value, urls ?? []);
+const collapsed = ref(appearNote.value.cw == null && isLong);
const showTicker = (defaultStore.state.instanceTicker === 'always') || (defaultStore.state.instanceTicker === 'remote' && appearNote.value.user.instance);
const conversation = ref([]);
const replies = ref([]);
@@ -596,6 +641,10 @@ function loadConversation() {
padding: 32px;
font-size: 1.2em;
+ &.embeddedNote {
+ padding: 16px 32px;
+ }
+
&:hover > .main > .footer > .button {
opacity: 1;
}
@@ -624,6 +673,10 @@ function loadConversation() {
font-size: 0.95em;
}
+.noteHeaderBodyUpper {
+ display: flex;
+}
+
.noteHeaderName {
font-weight: bold;
line-height: 1.3;
@@ -640,7 +693,17 @@ function loadConversation() {
}
.noteHeaderInfo {
- float: right;
+ margin-left: auto;
+ display: flex;
+ gap: 0.5em;
+ align-items: center;
+}
+
+.noteHeaderInstanceIcon {
+ display: inline-block;
+ width: 32px;
+ height: 32px;
+ margin-left: 4px;
}
.noteHeaderUsername {
@@ -720,6 +783,12 @@ function loadConversation() {
}
}
+.footerButtonLink:hover,
+.footerButtonLink:focus,
+.footerButtonLink:active {
+ text-decoration: none;
+}
+
.noteFooterButtonCount {
display: inline;
margin: 0 0 0 8px;
diff --git a/packages/frontend/src/pages/embed/note.vue b/packages/frontend/src/pages/embed/note.vue
index c1ada7a905..3689a0d244 100644
--- a/packages/frontend/src/pages/embed/note.vue
+++ b/packages/frontend/src/pages/embed/note.vue
@@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
@@ -14,7 +14,7 @@ SPDX-License-Identifier: AGPL-3.0-only