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

* 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: 対応漏れ
This commit is contained in:
zyoshoka
2023-12-07 14:42:09 +09:00
committed by GitHub
parent e42c91dee7
commit 406b4bdbe7
277 changed files with 3353 additions and 3441 deletions

View File

@@ -62,7 +62,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</template>
<script lang="ts" setup>
import { computed, watch } from 'vue';
import { computed, watch, ref } from 'vue';
import MkButton from '@/components/MkButton.vue';
import * as os from '@/os.js';
import MkContainer from '@/components/MkContainer.vue';
@@ -84,43 +84,43 @@ const props = defineProps<{
postId: string;
}>();
let post = $ref(null);
let error = $ref(null);
const post = ref(null);
const error = ref(null);
const otherPostsPagination = {
endpoint: 'users/gallery/posts' as const,
limit: 6,
params: computed(() => ({
userId: post.user.id,
userId: post.value.user.id,
})),
};
function fetchPost() {
post = null;
post.value = null;
os.api('gallery/posts/show', {
postId: props.postId,
}).then(_post => {
post = _post;
post.value = _post;
}).catch(_error => {
error = _error;
error.value = _error;
});
}
function copyLink() {
copyToClipboard(`${url}/gallery/${post.id}`);
copyToClipboard(`${url}/gallery/${post.value.id}`);
os.success();
}
function share() {
navigator.share({
title: post.title,
text: post.description,
url: `${url}/gallery/${post.id}`,
title: post.value.title,
text: post.value.description,
url: `${url}/gallery/${post.value.id}`,
});
}
function shareWithNote() {
os.post({
initialText: `${post.title} ${url}/gallery/${post.id}`,
initialText: `${post.value.title} ${url}/gallery/${post.value.id}`,
});
}
@@ -128,8 +128,8 @@ function like() {
os.apiWithDialog('gallery/posts/like', {
postId: props.postId,
}).then(() => {
post.isLiked = true;
post.likedCount++;
post.value.isLiked = true;
post.value.likedCount++;
});
}
@@ -142,28 +142,28 @@ async function unlike() {
os.apiWithDialog('gallery/posts/unlike', {
postId: props.postId,
}).then(() => {
post.isLiked = false;
post.likedCount--;
post.value.isLiked = false;
post.value.likedCount--;
});
}
function edit() {
router.push(`/gallery/${post.id}/edit`);
router.push(`/gallery/${post.value.id}/edit`);
}
watch(() => props.postId, fetchPost, { immediate: true });
const headerActions = $computed(() => [{
const headerActions = computed(() => [{
icon: 'ti ti-pencil',
text: i18n.ts.edit,
handler: edit,
}]);
const headerTabs = $computed(() => []);
const headerTabs = computed(() => []);
definePageMetadata(computed(() => post ? {
title: post.title,
avatar: post.user,
definePageMetadata(computed(() => post.value ? {
title: post.value.title,
avatar: post.value.user,
} : null));
</script>