summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2024-01-05 15:25:26 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2024-01-05 15:25:26 +0900
commit7768385be2b2cb4fa39ed4f093e97583057fc198 (patch)
tree3688c725c2d586d08bb8327dc5a8b1dd777d33d2 /packages/frontend/src/components
parentrefactor(frontend): reduce type errors (diff)
downloadsharkey-7768385be2b2cb4fa39ed4f093e97583057fc198.tar.gz
sharkey-7768385be2b2cb4fa39ed4f093e97583057fc198.tar.bz2
sharkey-7768385be2b2cb4fa39ed4f093e97583057fc198.zip
refactor(frontend): reduce type errors
Diffstat (limited to 'packages/frontend/src/components')
-rw-r--r--packages/frontend/src/components/MkPasswordDialog.vue4
-rw-r--r--packages/frontend/src/components/MkPoll.vue3
-rw-r--r--packages/frontend/src/components/MkPostForm.vue8
-rw-r--r--packages/frontend/src/components/MkRippleEffect.vue9
-rw-r--r--packages/frontend/src/components/MkTooltip.vue8
5 files changed, 23 insertions, 9 deletions
diff --git a/packages/frontend/src/components/MkPasswordDialog.vue b/packages/frontend/src/components/MkPasswordDialog.vue
index c77e912199..7180e5e2ca 100644
--- a/packages/frontend/src/components/MkPasswordDialog.vue
+++ b/packages/frontend/src/components/MkPasswordDialog.vue
@@ -41,7 +41,9 @@ import MkInput from '@/components/MkInput.vue';
import MkButton from '@/components/MkButton.vue';
import MkModalWindow from '@/components/MkModalWindow.vue';
import { i18n } from '@/i18n.js';
-import { $i } from '@/account.js';
+import { signinRequired } from '@/account.js';
+
+const $i = signinRequired();
const emit = defineEmits<{
(ev: 'done', v: { password: string; token: string | null; }): void;
diff --git a/packages/frontend/src/components/MkPoll.vue b/packages/frontend/src/components/MkPoll.vue
index a318799ade..4cac1fe9c3 100644
--- a/packages/frontend/src/components/MkPoll.vue
+++ b/packages/frontend/src/components/MkPoll.vue
@@ -35,9 +35,10 @@ import * as os from '@/os.js';
import { misskeyApi } from '@/scripts/misskey-api.js';
import { i18n } from '@/i18n.js';
import { useInterval } from '@/scripts/use-interval.js';
+import { WithNonNullable } from '@/type.js';
const props = defineProps<{
- note: Misskey.entities.Note;
+ note: WithNonNullable<Misskey.entities.Note, 'poll'>;
readOnly?: boolean;
}>();
diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue
index 8c6fba6637..1e073a7de9 100644
--- a/packages/frontend/src/components/MkPostForm.vue
+++ b/packages/frontend/src/components/MkPostForm.vue
@@ -121,7 +121,7 @@ import { defaultStore, notePostInterruptors, postFormActions } from '@/store.js'
import MkInfo from '@/components/MkInfo.vue';
import { i18n } from '@/i18n.js';
import { instance } from '@/instance.js';
-import { $i, notesCount, incNotesCount, getAccounts, openAccountMenu as openAccountMenu_ } from '@/account.js';
+import { signinRequired, notesCount, incNotesCount, getAccounts, openAccountMenu as openAccountMenu_ } from '@/account.js';
import { uploadFile } from '@/scripts/upload.js';
import { deepClone } from '@/scripts/clone.js';
import MkRippleEffect from '@/components/MkRippleEffect.vue';
@@ -130,6 +130,8 @@ import { claimAchievement } from '@/scripts/achievements.js';
import { emojiPicker } from '@/scripts/emoji-picker.js';
import { mfmFunctionPicker } from '@/scripts/mfm-function-picker.js';
+const $i = signinRequired();
+
const modal = inject('modal');
const props = withDefaults(defineProps<{
@@ -308,7 +310,7 @@ if (props.reply && props.reply.text != null) {
}
}
-if ($i?.isSilenced && visibility.value === 'public') {
+if ($i.isSilenced && visibility.value === 'public') {
visibility.value = 'home';
}
@@ -461,7 +463,7 @@ function setVisibility() {
os.popup(defineAsyncComponent(() => import('@/components/MkVisibilityPicker.vue')), {
currentVisibility: visibility.value,
- isSilenced: $i?.isSilenced,
+ isSilenced: $i.isSilenced,
localOnly: localOnly.value,
src: visibilityButton.value,
}, {
diff --git a/packages/frontend/src/components/MkRippleEffect.vue b/packages/frontend/src/components/MkRippleEffect.vue
index 860b083327..11f1aec30f 100644
--- a/packages/frontend/src/components/MkRippleEffect.vue
+++ b/packages/frontend/src/components/MkRippleEffect.vue
@@ -77,7 +77,14 @@ const emit = defineEmits<{
(ev: 'end'): void;
}>();
-const particles = [];
+const particles: {
+ size: number;
+ xA: number;
+ yA: number;
+ xB: number;
+ yB: number;
+ color: string;
+}[] = [];
const origin = 64;
const colors = ['#FF1493', '#00FFFF', '#FFE202'];
const zIndex = os.claimZIndex('high');
diff --git a/packages/frontend/src/components/MkTooltip.vue b/packages/frontend/src/components/MkTooltip.vue
index ea22175e03..d40cd95f3a 100644
--- a/packages/frontend/src/components/MkTooltip.vue
+++ b/packages/frontend/src/components/MkTooltip.vue
@@ -13,8 +13,10 @@ SPDX-License-Identifier: AGPL-3.0-only
>
<div v-show="showing" ref="el" :class="$style.root" class="_acrylic _shadow" :style="{ zIndex, maxWidth: maxWidth + 'px' }">
<slot>
- <Mfm v-if="asMfm" :text="text"/>
- <span v-else>{{ text }}</span>
+ <template v-if="text">
+ <Mfm v-if="asMfm" :text="text"/>
+ <span v-else>{{ text }}</span>
+ </template>
</slot>
</div>
</Transition>
@@ -31,7 +33,7 @@ const props = withDefaults(defineProps<{
targetElement?: HTMLElement;
x?: number;
y?: number;
- text: string;
+ text?: string;
asMfm?: boolean;
maxWidth?: number;
direction?: 'top' | 'bottom' | 'right' | 'left';