summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-02-04 09:12:26 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-02-04 09:12:26 +0900
commit24705a7e3978e867a5fad75ef10f54936fb93737 (patch)
treee7aed83876b70cf138237e18ca621ad9326b558a /packages/frontend/src/components
parentMerge branch 'develop' (diff)
parent13.3.1 (diff)
downloadmisskey-24705a7e3978e867a5fad75ef10f54936fb93737.tar.gz
misskey-24705a7e3978e867a5fad75ef10f54936fb93737.tar.bz2
misskey-24705a7e3978e867a5fad75ef10f54936fb93737.zip
Merge branch 'develop'
Diffstat (limited to 'packages/frontend/src/components')
-rw-r--r--packages/frontend/src/components/MkAutocomplete.vue3
-rw-r--r--packages/frontend/src/components/MkMediaVideo.vue2
-rw-r--r--packages/frontend/src/components/MkRetentionHeatmap.vue2
-rw-r--r--packages/frontend/src/components/MkSignin.vue1
-rw-r--r--packages/frontend/src/components/MkUrlPreview.vue1
-rw-r--r--packages/frontend/src/components/MkYoutubePlayer.vue1
-rw-r--r--packages/frontend/src/components/global/MkCustomEmoji.vue22
-rw-r--r--packages/frontend/src/components/global/MkUrl.vue1
8 files changed, 18 insertions, 15 deletions
diff --git a/packages/frontend/src/components/MkAutocomplete.vue b/packages/frontend/src/components/MkAutocomplete.vue
index 27997eb330..e523b988b0 100644
--- a/packages/frontend/src/components/MkAutocomplete.vue
+++ b/packages/frontend/src/components/MkAutocomplete.vue
@@ -17,7 +17,8 @@
</ol>
<ol v-else-if="emojis.length > 0" ref="suggests" :class="$style.list">
<li v-for="emoji in emojis" :key="emoji.emoji" :class="$style.item" tabindex="-1" @click="complete(type, emoji.emoji)" @keydown="onKeydown">
- <MkCustomEmoji :name="emoji.emoji" :class="$style.emoji"/>
+ <MkCustomEmoji v-if="'isCustomEmoji' in emoji && emoji.isCustomEmoji" :name="emoji.emoji" :class="$style.emoji"/>
+ <MkEmoji v-else :emoji="emoji.emoji" :class="$style.emoji"/>
<!-- eslint-disable-next-line vue/no-v-html -->
<span v-if="q" :class="$style.emojiName" v-html="sanitizeHtml(emoji.name.replace(q, `<b>${q}</b>`))"></span>
<span v-else v-text="emoji.name"></span>
diff --git a/packages/frontend/src/components/MkMediaVideo.vue b/packages/frontend/src/components/MkMediaVideo.vue
index 5a2da050bb..2c24c16f57 100644
--- a/packages/frontend/src/components/MkMediaVideo.vue
+++ b/packages/frontend/src/components/MkMediaVideo.vue
@@ -9,8 +9,6 @@
<vue-plyr>
<video
controls
- crossorigin
- playsinline
:data-poster="video.thumbnailUrl"
>
<source
diff --git a/packages/frontend/src/components/MkRetentionHeatmap.vue b/packages/frontend/src/components/MkRetentionHeatmap.vue
index b7886d1dc2..52c8b6d026 100644
--- a/packages/frontend/src/components/MkRetentionHeatmap.vue
+++ b/packages/frontend/src/components/MkRetentionHeatmap.vue
@@ -56,8 +56,6 @@ async function renderChart() {
}
}
- console.log(data);
-
fetching = false;
await nextTick();
diff --git a/packages/frontend/src/components/MkSignin.vue b/packages/frontend/src/components/MkSignin.vue
index cc1a7c4af5..8cce1d43f6 100644
--- a/packages/frontend/src/components/MkSignin.vue
+++ b/packages/frontend/src/components/MkSignin.vue
@@ -154,7 +154,6 @@ function queryKey() {
function onSubmit() {
signing = true;
- console.log('submit');
if (!totpLogin && user && user.twoFactorEnabled) {
if (window.PublicKeyCredential && user.securityKeys) {
os.api('signin', {
diff --git a/packages/frontend/src/components/MkUrlPreview.vue b/packages/frontend/src/components/MkUrlPreview.vue
index 4689f5e772..f7677faf74 100644
--- a/packages/frontend/src/components/MkUrlPreview.vue
+++ b/packages/frontend/src/components/MkUrlPreview.vue
@@ -86,6 +86,7 @@ let tweetHeight = $ref(150);
let unknownUrl = $ref(false);
const requestUrl = new URL(props.url);
+if (!['http:', 'https:'].includes(requestUrl.protocol)) throw new Error('invalid url');
if (requestUrl.hostname === 'twitter.com' || requestUrl.hostname === 'mobile.twitter.com') {
const m = requestUrl.pathname.match(/^\/.+\/status(?:es)?\/(\d+)/);
diff --git a/packages/frontend/src/components/MkYoutubePlayer.vue b/packages/frontend/src/components/MkYoutubePlayer.vue
index d1f1f9e9c5..50d38a71bd 100644
--- a/packages/frontend/src/components/MkYoutubePlayer.vue
+++ b/packages/frontend/src/components/MkYoutubePlayer.vue
@@ -26,6 +26,7 @@ const props = defineProps<{
}>();
const requestUrl = new URL(props.url);
+if (!['http:', 'https:'].includes(requestUrl.protocol)) throw new Error('invalid url');
let fetching = $ref(true);
let title = $ref<string | null>(null);
diff --git a/packages/frontend/src/components/global/MkCustomEmoji.vue b/packages/frontend/src/components/global/MkCustomEmoji.vue
index 93c47f0c27..e6dedd0354 100644
--- a/packages/frontend/src/components/global/MkCustomEmoji.vue
+++ b/packages/frontend/src/components/global/MkCustomEmoji.vue
@@ -18,19 +18,23 @@ const props = defineProps<{
}>();
const customEmojiName = computed(() => (props.name[0] === ':' ? props.name.substr(1, props.name.length - 2) : props.name).replace('@.', ''));
-const url = computed(() => {
+
+const rawUrl = computed(() => {
if (props.url) {
return props.url;
- } else if (props.host == null && !customEmojiName.value.includes('@')) {
- const found = customEmojis.value.find(x => x.name === customEmojiName.value);
- return found ? defaultStore.state.disableShowingAnimatedImages ? getStaticImageUrl(found.url) : found.url : null;
- } else {
- const rawUrl = props.host ? `/emoji/${customEmojiName.value}@${props.host}.webp` : `/emoji/${customEmojiName.value}.webp`;
- return defaultStore.state.disableShowingAnimatedImages
- ? getStaticImageUrl(rawUrl)
- : rawUrl;
}
+ if (props.host == null && !customEmojiName.value.includes('@')) {
+ return customEmojis.value.find(x => x.name === customEmojiName.value)?.url || null;
+ }
+ return props.host ? `/emoji/${customEmojiName.value}@${props.host}.webp` : `/emoji/${customEmojiName.value}.webp`;
});
+
+const url = computed(() =>
+ defaultStore.reactiveState.disableShowingAnimatedImages.value && rawUrl.value
+ ? getStaticImageUrl(rawUrl.value)
+ : rawUrl.value
+);
+
const alt = computed(() => `:${customEmojiName.value}:`);
let errored = $ref(url.value == null);
</script>
diff --git a/packages/frontend/src/components/global/MkUrl.vue b/packages/frontend/src/components/global/MkUrl.vue
index 27c8329dcc..2a92780306 100644
--- a/packages/frontend/src/components/global/MkUrl.vue
+++ b/packages/frontend/src/components/global/MkUrl.vue
@@ -33,6 +33,7 @@ const props = defineProps<{
const self = props.url.startsWith(local);
const url = new URL(props.url);
+if (!['http:', 'https:'].includes(url.protocol)) throw new Error('invalid url');
const el = ref();
useTooltip(el, (showing) => {