diff --git a/packages/client/src/components/MkCwButton.vue b/packages/client/src/components/MkCwButton.vue index e7a2d3d77a..ccdea3ec90 100644 --- a/packages/client/src/components/MkCwButton.vue +++ b/packages/client/src/components/MkCwButton.vue @@ -48,7 +48,7 @@ const toggle = () => { }; function focus() { - el.value.focus(); + el.value?.focus(); } defineExpose({ diff --git a/packages/client/src/components/MkDigitalClock.vue b/packages/client/src/components/MkDigitalClock.vue index b42ecf19eb..42eabdf749 100644 --- a/packages/client/src/components/MkDigitalClock.vue +++ b/packages/client/src/components/MkDigitalClock.vue @@ -26,7 +26,7 @@ const props = withDefaults( }, ); -let intervalId; +let intervalId: number; const hh = ref(""); const mm = ref(""); const ss = ref(""); diff --git a/packages/client/src/components/MkDonation.vue b/packages/client/src/components/MkDonation.vue index 1c13754c13..ad9df629f4 100644 --- a/packages/client/src/components/MkDonation.vue +++ b/packages/client/src/components/MkDonation.vue @@ -29,7 +29,7 @@ {{ i18n.t("_aboutFirefish.donateHost", { host: hostname, @@ -73,7 +73,8 @@ const emit = defineEmits<{ (ev: "closed"): void; }>(); -const hostname = instance.name?.length < 38 ? instance.name : host; +const hostname = + instance.name?.length && instance.name?.length < 38 ? instance.name : host; const zIndex = os.claimZIndex("low"); @@ -97,7 +98,7 @@ function neverShow() { close(); } -function openExternal(link) { +function openExternal(link: string) { window.open(link, "_blank"); } diff --git a/packages/client/src/components/MkDrive.file.vue b/packages/client/src/components/MkDrive.file.vue index 5e8a50eec2..9d09da663e 100644 --- a/packages/client/src/components/MkDrive.file.vue +++ b/packages/client/src/components/MkDrive.file.vue @@ -47,6 +47,7 @@ import * as os from "@/os"; import { i18n } from "@/i18n"; import { me } from "@/me"; import icon from "@/scripts/icon"; +import type { MenuItem } from "@/types/menu"; const props = withDefaults( defineProps<{ @@ -72,7 +73,7 @@ const title = computed( () => `${props.file.name}\n${props.file.type} ${bytes(props.file.size)}`, ); -function getMenu() { +function getMenu(): MenuItem[] { return [ { text: i18n.ts.rename, diff --git a/packages/client/src/components/MkEmojiPicker.section.vue b/packages/client/src/components/MkEmojiPicker.section.vue index b91195fe65..9fcd5d363d 100644 --- a/packages/client/src/components/MkEmojiPicker.section.vue +++ b/packages/client/src/components/MkEmojiPicker.section.vue @@ -14,7 +14,7 @@ class="_button" @click.stop=" applyUnicodeSkinTone( - props.skinTones.indexOf(skinTone) + 1, + props.skinTones!.indexOf(skinTone) + 1, ) " > diff --git a/packages/firefish-js/src/entities.ts b/packages/firefish-js/src/entities.ts index 16cef32827..387f4eb608 100644 --- a/packages/firefish-js/src/entities.ts +++ b/packages/firefish-js/src/entities.ts @@ -329,6 +329,7 @@ export type LiteInstanceMetadata = { name: string | null; uri: string; description: string | null; + donationLink?: string; tosUrl: string | null; disableRegistration: boolean; disableLocalTimeline: boolean;