From e7a15b5604e40313401b06204f708042927f94a5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Acid=20Chicken=20=28=E7=A1=AB=E9=85=B8=E9=B6=8F=29?=
 <root@acid-chicken.com>
Date: Sat, 1 Apr 2023 17:58:44 +0900
Subject: [PATCH] revert: restore `SatisfiesExpression`

This reverts commit f246699f38a28befbfccc11e9eade22cbaace4f3.
---
 packages/frontend/src/components/MkChart.vue                | 4 ++--
 packages/frontend/src/pages/admin/overview.active-users.vue | 4 ++--
 packages/frontend/src/pages/admin/overview.ap-requests.vue  | 4 ++--
 packages/frontend/src/pages/user/activity.following.vue     | 2 +-
 packages/frontend/src/pages/user/activity.notes.vue         | 2 +-
 packages/frontend/src/pages/user/activity.pv.vue            | 2 +-
 packages/frontend/src/scripts/achievements.ts               | 2 ++
 7 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/packages/frontend/src/components/MkChart.vue b/packages/frontend/src/components/MkChart.vue
index 3865b2919..06d5b9949 100644
--- a/packages/frontend/src/components/MkChart.vue
+++ b/packages/frontend/src/components/MkChart.vue
@@ -15,7 +15,7 @@
   As this is part of Chart.js's API it makes sense to disable the check here.
 */
 import { onMounted, ref, shallowRef, watch, PropType } from 'vue';
-import { Chart, type ChartDataset } from 'chart.js';
+import { Chart } from 'chart.js';
 import gradient from 'chartjs-plugin-gradient';
 import * as os from '@/os';
 import { defaultStore } from '@/store';
@@ -165,7 +165,7 @@ const render = () => {
 				fill: x.type === 'area',
 				clip: 8,
 				hidden: !!x.hidden,
-			} satisfies ChartDataset)),
+			})),
 		},
 		options: {
 			aspectRatio: props.aspectRatio || 2.5,
diff --git a/packages/frontend/src/pages/admin/overview.active-users.vue b/packages/frontend/src/pages/admin/overview.active-users.vue
index a76f2e073..fc10ad75f 100644
--- a/packages/frontend/src/pages/admin/overview.active-users.vue
+++ b/packages/frontend/src/pages/admin/overview.active-users.vue
@@ -9,7 +9,7 @@
 
 <script lang="ts" setup>
 import { onMounted } from 'vue';
-import { Chart, type ChartDataset } from 'chart.js';
+import { Chart } from 'chart.js';
 import gradient from 'chartjs-plugin-gradient';
 import * as os from '@/os';
 import { defaultStore } from '@/store';
@@ -83,7 +83,7 @@ async function renderChart() {
 				barPercentage: 0.7,
 				categoryPercentage: 0.5,
 				fill: true,
-			}] satisfies ChartDataset[],
+			}],
 		},
 		options: {
 			aspectRatio: 2.5,
diff --git a/packages/frontend/src/pages/admin/overview.ap-requests.vue b/packages/frontend/src/pages/admin/overview.ap-requests.vue
index 867137f08..ad8e62341 100644
--- a/packages/frontend/src/pages/admin/overview.ap-requests.vue
+++ b/packages/frontend/src/pages/admin/overview.ap-requests.vue
@@ -16,7 +16,7 @@
 
 <script lang="ts" setup>
 import { onMounted } from 'vue';
-import { Chart, type ChartDataset } from 'chart.js';
+import { Chart } from 'chart.js';
 import gradient from 'chartjs-plugin-gradient';
 import * as os from '@/os';
 import { useChartTooltip } from '@/scripts/use-chart-tooltip';
@@ -190,7 +190,7 @@ onMounted(async () => {
 				categoryPercentage: 0.9,
 				fill: true,
 				clip: 8,
-			}] satisfies ChartDataset[],
+			}],
 		},
 		options: {
 			aspectRatio: 5,
diff --git a/packages/frontend/src/pages/user/activity.following.vue b/packages/frontend/src/pages/user/activity.following.vue
index 54360024f..25a1edaca 100644
--- a/packages/frontend/src/pages/user/activity.following.vue
+++ b/packages/frontend/src/pages/user/activity.following.vue
@@ -77,7 +77,7 @@ async function renderChart() {
 			barPercentage: 0.7,
 			categoryPercentage: 0.7,
 			fill: true,
-		} satisfies ChartDataset, extra);
+		}, extra);
 	}
 
 	chartInstance = new Chart(chartEl, {
diff --git a/packages/frontend/src/pages/user/activity.notes.vue b/packages/frontend/src/pages/user/activity.notes.vue
index 7dd02ad6d..63e1c76e0 100644
--- a/packages/frontend/src/pages/user/activity.notes.vue
+++ b/packages/frontend/src/pages/user/activity.notes.vue
@@ -76,7 +76,7 @@ async function renderChart() {
 			borderRadius: 4,
 			barPercentage: 0.9,
 			fill: true,
-		} satisfies ChartDataset, extra);
+		}, extra);
 	}
 
 	chartInstance = new Chart(chartEl, {
diff --git a/packages/frontend/src/pages/user/activity.pv.vue b/packages/frontend/src/pages/user/activity.pv.vue
index 6a7506e38..1be495f41 100644
--- a/packages/frontend/src/pages/user/activity.pv.vue
+++ b/packages/frontend/src/pages/user/activity.pv.vue
@@ -77,7 +77,7 @@ async function renderChart() {
 			barPercentage: 0.7,
 			categoryPercentage: 0.7,
 			fill: true,
-		} satisfies ChartDataset, extra);
+		}, extra);
 	}
 
 	chartInstance = new Chart(chartEl, {
diff --git a/packages/frontend/src/scripts/achievements.ts b/packages/frontend/src/scripts/achievements.ts
index c77f8e12d..c93e96859 100644
--- a/packages/frontend/src/scripts/achievements.ts
+++ b/packages/frontend/src/scripts/achievements.ts
@@ -443,11 +443,13 @@ export const ACHIEVEMENT_BADGES = {
 		bg: 'linear-gradient(0deg, rgb(144, 224, 255), rgb(255, 168, 252))',
 		frame: 'bronze',
 	},
+/*
 } as const satisfies Record<typeof ACHIEVEMENT_TYPES[number], {
 	img: string;
 	bg: string | null;
 	frame: 'bronze' | 'silver' | 'gold' | 'platinum';
 }>;
+ */ } as const;
 
 export const claimedAchievements: typeof ACHIEVEMENT_TYPES[number][] = ($i && $i.achievements) ? $i.achievements.map(x => x.name) : [];