Merge branch 'develop' into enh-13161

This commit is contained in:
かっこかり 2024-03-12 14:21:24 +09:00 committed by GitHub
commit 07a006c68c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 32 additions and 14 deletions

View File

@ -11,9 +11,10 @@
- Enhance: 「デバイスのダークモードと同期する」を有効にしている際のカラーモード切替設定の挙動を視覚的にわかりやすく - Enhance: 「デバイスのダークモードと同期する」を有効にしている際のカラーモード切替設定の挙動を視覚的にわかりやすく
- Fix: 一部のページ内リンクが正しく動作しない問題を修正 - Fix: 一部のページ内リンクが正しく動作しない問題を修正
- Fix: 周年の実績が閏年を考慮しない問題を修正 - Fix: 周年の実績が閏年を考慮しない問題を修正
- Fix: ローカルURLのプレビューポップアップが左上に表示される
### Server ### Server
- - Enhance: エンドポイント`antennas/update`の必須項目を`antennaId`のみに
## 2024.3.1 ## 2024.3.1
@ -27,7 +28,7 @@
- Fix: カスタム絵文字の画像読み込みに失敗した際はテキストではなくダミー画像を表示 #13487 - Fix: カスタム絵文字の画像読み込みに失敗した際はテキストではなくダミー画像を表示 #13487
### Server ### Server
- Enhance: エンドポイント`antennas/update`の必須項目を`antennaId`のみに -
## 2024.3.0 ## 2024.3.0

View File

@ -29,13 +29,13 @@ const self = props.url.startsWith(local);
const attr = self ? 'to' : 'href'; const attr = self ? 'to' : 'href';
const target = self ? null : '_blank'; const target = self ? null : '_blank';
const el = ref<HTMLElement>(); const el = ref<HTMLElement | { $el: HTMLElement }>();
useTooltip(el, (showing) => { useTooltip(el, (showing) => {
os.popup(defineAsyncComponent(() => import('@/components/MkUrlPreviewPopup.vue')), { os.popup(defineAsyncComponent(() => import('@/components/MkUrlPreviewPopup.vue')), {
showing, showing,
url: props.url, url: props.url,
source: el.value, source: el.value instanceof HTMLElement ? el.value : el.value?.$el,
}, {}, 'closed'); }, {}, 'closed');
}); });
</script> </script>

View File

@ -4,13 +4,13 @@ SPDX-License-Identifier: AGPL-3.0-only
--> -->
<template> <template>
<a :href="to" :class="active ? activeClass : null" @click.prevent="nav" @contextmenu.prevent.stop="onContextmenu"> <a ref="el" :href="to" :class="active ? activeClass : null" @click.prevent="nav" @contextmenu.prevent.stop="onContextmenu">
<slot></slot> <slot></slot>
</a> </a>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { computed } from 'vue'; import { computed, shallowRef } from 'vue';
import * as os from '@/os.js'; import * as os from '@/os.js';
import copyToClipboard from '@/scripts/copy-to-clipboard.js'; import copyToClipboard from '@/scripts/copy-to-clipboard.js';
import { url } from '@/config.js'; import { url } from '@/config.js';
@ -26,6 +26,10 @@ const props = withDefaults(defineProps<{
behavior: null, behavior: null,
}); });
const el = shallowRef<HTMLElement>();
defineExpose({ $el: el });
const router = useRouter(); const router = useRouter();
const active = computed(() => { const active = computed(() => {

View File

@ -49,7 +49,7 @@ if (props.showUrlPreview) {
os.popup(defineAsyncComponent(() => import('@/components/MkUrlPreviewPopup.vue')), { os.popup(defineAsyncComponent(() => import('@/components/MkUrlPreviewPopup.vue')), {
showing, showing,
url: props.url, url: props.url,
source: el.value, source: el.value instanceof HTMLElement ? el.value : el.value?.$el,
}, {}, 'closed'); }, {}, 'closed');
}); });
} }

View File

@ -9,7 +9,10 @@ SPDX-License-Identifier: AGPL-3.0-only
<XTimeline class="tl"/> <XTimeline class="tl"/>
<div class="shape1"></div> <div class="shape1"></div>
<div class="shape2"></div> <div class="shape2"></div>
<img :src="misskeysvg" class="misskey"/> <div class="logo-wrapper">
<div class="powered-by">Powered by</div>
<img :src="misskeysvg" class="misskey"/>
</div>
<div class="emojis"> <div class="emojis">
<MkEmoji :normal="true" :noStyle="true" emoji="👍"/> <MkEmoji :normal="true" :noStyle="true" emoji="👍"/>
<MkEmoji :normal="true" :noStyle="true" emoji="❤"/> <MkEmoji :normal="true" :noStyle="true" emoji="❤"/>
@ -113,14 +116,24 @@ misskeyApiGet('federation/instances', {
opacity: 0.5; opacity: 0.5;
} }
> .misskey { > .logo-wrapper {
position: fixed; position: fixed;
top: 42px; top: 36px;
left: 42px; left: 36px;
width: 140px; flex: auto;
color: #fff;
user-select: none;
pointer-events: none;
@media (max-width: 450px) { > .powered-by {
width: 130px; margin-bottom: 2px;
}
> .misskey {
width: 140px;
@media (max-width: 450px) {
width: 130px;
}
} }
} }