From 406b4bdbe79b5b0b68fcdcb3c4b6e419460a0258 Mon Sep 17 00:00:00 2001
From: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
Date: Thu, 7 Dec 2023 14:42:09 +0900
Subject: refactor(frontend): 非推奨となったReactivity
 Transformを使わないように (#12539)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* refactor(frontend): 非推奨となったReactivity Transformを使わないように

* refactor: 不要な括弧を除去

* fix: 不要なアノテーションを除去

* fix: Refの配列をrefしている部分の対応

* refactor: 不要な括弧を除去

* fix: lint

* refactor: Ref、ShallowRef、ComputedRefの変数の宣言をletからconstに置換

* fix: type error

* chore: drop reactivity transform from eslint configuration

* refactor: remove unnecessary import

* fix: 対応漏れ
---
 packages/frontend/src/pages/share.vue | 44 +++++++++++++++++------------------
 1 file changed, 22 insertions(+), 22 deletions(-)

(limited to 'packages/frontend/src/pages/share.vue')

diff --git a/packages/frontend/src/pages/share.vue b/packages/frontend/src/pages/share.vue
index 1d77e5931d..3e9cac9858 100644
--- a/packages/frontend/src/pages/share.vue
+++ b/packages/frontend/src/pages/share.vue
@@ -32,7 +32,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 <script lang="ts" setup>
 // SPECIFICATION: https://misskey-hub.net/docs/features/share-form.html
 
-import { ref } from 'vue';
+import { ref, computed } from 'vue';
 import * as Misskey from 'misskey-js';
 import MkButton from '@/components/MkButton.vue';
 import MkPostForm from '@/components/MkPostForm.vue';
@@ -46,27 +46,27 @@ const localOnlyQuery = urlParams.get('localOnly');
 const visibilityQuery = urlParams.get('visibility') as typeof Misskey.noteVisibilities[number];
 
 const state = ref<'fetching' | 'writing' | 'posted'>('fetching');
-let title = $ref(urlParams.get('title'));
+const title = ref(urlParams.get('title'));
 const text = urlParams.get('text');
 const url = urlParams.get('url');
-let initialText = $ref<string | undefined>();
-let reply = $ref<Misskey.entities.Note | undefined>();
-let renote = $ref<Misskey.entities.Note | undefined>();
-let visibility = $ref(Misskey.noteVisibilities.includes(visibilityQuery) ? visibilityQuery : undefined);
-let localOnly = $ref(localOnlyQuery === '0' ? false : localOnlyQuery === '1' ? true : undefined);
-let files = $ref([] as Misskey.entities.DriveFile[]);
-let visibleUsers = $ref([] as Misskey.entities.User[]);
+const initialText = ref<string | undefined>();
+const reply = ref<Misskey.entities.Note | undefined>();
+const renote = ref<Misskey.entities.Note | undefined>();
+const visibility = ref(Misskey.noteVisibilities.includes(visibilityQuery) ? visibilityQuery : undefined);
+const localOnly = ref(localOnlyQuery === '0' ? false : localOnlyQuery === '1' ? true : undefined);
+const files = ref([] as Misskey.entities.DriveFile[]);
+const visibleUsers = ref([] as Misskey.entities.User[]);
 
 async function init() {
 	let noteText = '';
-	if (title) noteText += `[ ${title} ]\n`;
+	if (title.value) noteText += `[ ${title.value} ]\n`;
 	// Googleニュース対策
-	if (text?.startsWith(`${title}.\n`)) noteText += text.replace(`${title}.\n`, '');
-	else if (text && title !== text) noteText += `${text}\n`;
+	if (text?.startsWith(`${title.value}.\n`)) noteText += text.replace(`${title.value}.\n`, '');
+	else if (text && title.value !== text) noteText += `${text}\n`;
 	if (url) noteText += `${url}`;
-	initialText = noteText.trim();
+	initialText.value = noteText.trim();
 
-	if (visibility === 'specified') {
+	if (visibility.value === 'specified') {
 		const visibleUserIds = urlParams.get('visibleUserIds');
 		const visibleAccts = urlParams.get('visibleAccts');
 		await Promise.all(
@@ -78,7 +78,7 @@ async function init() {
 				.map(q => 'username' in q ? { username: q.username, host: q.host === null ? undefined : q.host } : q)
 				.map(q => os.api('users/show', q)
 					.then(user => {
-						visibleUsers.push(user);
+						visibleUsers.value.push(user);
 					}, () => {
 						console.error(`Invalid user query: ${JSON.stringify(q)}`);
 					}),
@@ -91,7 +91,7 @@ async function init() {
 		const replyId = urlParams.get('replyId');
 		const replyUri = urlParams.get('replyUri');
 		if (replyId) {
-			reply = await os.api('notes/show', {
+			reply.value = await os.api('notes/show', {
 				noteId: replyId,
 			});
 		} else if (replyUri) {
@@ -99,7 +99,7 @@ async function init() {
 				uri: replyUri,
 			});
 			if (obj.type === 'Note') {
-				reply = obj.object;
+				reply.value = obj.object;
 			}
 		}
 		//#endregion
@@ -108,7 +108,7 @@ async function init() {
 		const renoteId = urlParams.get('renoteId');
 		const renoteUri = urlParams.get('renoteUri');
 		if (renoteId) {
-			renote = await os.api('notes/show', {
+			renote.value = await os.api('notes/show', {
 				noteId: renoteId,
 			});
 		} else if (renoteUri) {
@@ -116,7 +116,7 @@ async function init() {
 				uri: renoteUri,
 			});
 			if (obj.type === 'Note') {
-				renote = obj.object;
+				renote.value = obj.object;
 			}
 		}
 		//#endregion
@@ -128,7 +128,7 @@ async function init() {
 				fileIds.split(',')
 					.map(fileId => os.api('drive/files/show', { fileId })
 						.then(file => {
-							files.push(file);
+							files.value.push(file);
 						}, () => {
 							console.error(`Failed to fetch a file ${fileId}`);
 						}),
@@ -167,9 +167,9 @@ function onPosted(): void {
 	postMessageToParentWindow('misskey:shareForm:shareCompleted');
 }
 
-const headerActions = $computed(() => []);
+const headerActions = computed(() => []);
 
-const headerTabs = $computed(() => []);
+const headerTabs = computed(() => []);
 
 definePageMetadata({
 	title: i18n.ts.share,
-- 
cgit v1.2.3-freya

