From 6ac6a4cfa93c5758c1fed5aace0eb1a036f0e0c0 Mon Sep 17 00:00:00 2001 From: Lhcfl Date: Wed, 10 Apr 2024 20:10:43 +0800 Subject: [PATCH] refactor: fix type errors of MkAnnouncements --- packages/client/src/components/MkActiveUsersHeatmap.vue | 8 ++++---- packages/client/src/components/MkAnnouncement.vue | 5 +++-- packages/client/src/components/MkModal.vue | 2 +- packages/firefish-js/src/entities.ts | 2 ++ 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/client/src/components/MkActiveUsersHeatmap.vue b/packages/client/src/components/MkActiveUsersHeatmap.vue index 58eb42f5a6..8099e812f4 100644 --- a/packages/client/src/components/MkActiveUsersHeatmap.vue +++ b/packages/client/src/components/MkActiveUsersHeatmap.vue @@ -18,8 +18,8 @@ import { initChart } from "@/scripts/init-chart"; initChart(); -const rootEl = shallowRef(); -const chartEl = shallowRef(); +const rootEl = shallowRef(null); +const chartEl = shallowRef(null); const now = new Date(); let chartInstance: Chart | null = null; const fetching = ref(true); @@ -33,8 +33,8 @@ async function renderActiveUsersChart() { chartInstance.destroy(); } - const wide = rootEl.value.offsetWidth > 700; - const narrow = rootEl.value.offsetWidth < 400; + const wide = rootEl.value!.offsetWidth > 700; + const narrow = rootEl.value!.offsetWidth < 400; const weeks = wide ? 50 : narrow ? 10 : 25; const chartLimit = 7 * weeks; diff --git a/packages/client/src/components/MkAnnouncement.vue b/packages/client/src/components/MkAnnouncement.vue index 4f26cd8bac..0aaa519cb0 100644 --- a/packages/client/src/components/MkAnnouncement.vue +++ b/packages/client/src/components/MkAnnouncement.vue @@ -35,9 +35,10 @@ import MkSparkle from "@/components/MkSparkle.vue"; import MkButton from "@/components/MkButton.vue"; import { i18n } from "@/i18n"; import * as os from "@/os"; +import type { entities } from "firefish-js"; const props = defineProps<{ - announcement: Announcement; + announcement: entities.Announcement; }>(); const { id, text, title, imageUrl, isGoodNews } = props.announcement; @@ -45,7 +46,7 @@ const { id, text, title, imageUrl, isGoodNews } = props.announcement; const modal = shallowRef>(); const gotIt = () => { - modal.value.close(); + modal.value!.close(); os.api("i/read-announcement", { announcementId: id }); }; diff --git a/packages/client/src/components/MkModal.vue b/packages/client/src/components/MkModal.vue index a55525c632..6a2897cebf 100644 --- a/packages/client/src/components/MkModal.vue +++ b/packages/client/src/components/MkModal.vue @@ -190,7 +190,7 @@ const transitionDuration = computed(() => let contentClicking = false; const focusedElement = document.activeElement; -function close(_ev, opts: { useSendAnimation?: boolean } = {}) { +function close(_ev?, opts: { useSendAnimation?: boolean } = {}) { // removeEventListener("popstate", close); // if (props.preferType == "dialog") { // history.forward(); diff --git a/packages/firefish-js/src/entities.ts b/packages/firefish-js/src/entities.ts index 8501d6c51f..086bf26193 100644 --- a/packages/firefish-js/src/entities.ts +++ b/packages/firefish-js/src/entities.ts @@ -422,6 +422,8 @@ export type Announcement = { title: string; imageUrl: string | null; isRead?: boolean; + isGoodNews?: boolean; + showPopUp?: boolean; }; export type Antenna = {