select note component in <setup>

this makes our templates much more similar to upstream's, making
merges simpler

changing note design is already marked as needing a reload, so having
non-reactive code that selects the note component is not a problem
This commit is contained in:
dakkar 2024-05-12 13:14:44 +01:00
parent 717696c472
commit 513a8e5de4
5 changed files with 29 additions and 44 deletions

View file

@ -120,12 +120,9 @@ SPDX-License-Identifier: AGPL-3.0-only
</div>
<div class="contents _gaps">
<div v-if="user.pinnedNotes.length > 0 && defaultStore.state.noteDesign === 'misskey'" class="_gaps">
<div v-if="user.pinnedNotes.length > 0" class="_gaps">
<MkNote v-for="note in user.pinnedNotes" :key="note.id" class="note _panel" :note="note" :pinned="true"/>
</div>
<div v-else-if="user.pinnedNotes.length > 0 && defaultStore.state.noteDesign === 'sharkey'" class="_gaps">
<SkNote v-for="note in user.pinnedNotes" :key="note.id" class="note _panel" :note="note" :pinned="true"/>
</div>
<MkInfo v-else-if="$i && $i.id === user.id">{{ i18n.ts.userPagePinTip }}</MkInfo>
<template v-if="narrow">
<MkLazy>
@ -171,9 +168,7 @@ SPDX-License-Identifier: AGPL-3.0-only
import { defineAsyncComponent, computed, onMounted, onUnmounted, nextTick, watch, ref } from 'vue';
import * as Misskey from 'misskey-js';
import MkTab from '@/components/MkTab.vue';
import MkNote from '@/components/MkNote.vue';
import MkNotes from '@/components/MkNotes.vue';
import SkNote from '@/components/SkNote.vue';
import MkFollowButton from '@/components/MkFollowButton.vue';
import MkAccountMoved from '@/components/MkAccountMoved.vue';
import MkRemoteCaution from '@/components/MkRemoteCaution.vue';
@ -194,6 +189,11 @@ import { misskeyApi } from '@/scripts/misskey-api.js';
import { isFollowingVisibleForMe, isFollowersVisibleForMe } from '@/scripts/isFfVisibleForMe.js';
import { useRouter } from '@/router/supplier.js';
const MkNote = (
(defaultStore.state.noteDesign === 'misskey') ? (await import('@/components/MkNote.vue')).default :
(defaultStore.state.noteDesign === 'sharkey') ? (await import('@/components/SkNote.vue')).default :
null);
function calcAge(birthdate: string): number {
const date = new Date(birthdate);
const now = new Date();