add @ + acct
This commit is contained in:
parent
10f47b2ab1
commit
686f1f8458
|
@ -8,7 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
v-anim="i"
|
v-anim="i"
|
||||||
class="_panel"
|
class="_panel"
|
||||||
:class="[$style.message, { [$style.isRead]: (isMe(message) || (message.groupId ? message.reads.includes($i.id) : message.isRead)) }]"
|
:class="[$style.message, { [$style.isRead]: (isMe(message) || (message.groupId ? message.reads.includes($i.id) : message.isRead)) }]"
|
||||||
:to="message.groupId ? `/my/messaging/group/${message.groupId}` : `/my/messaging/${getAcct(isMe(message) ? message.recipient : message.user)}`"
|
:to="message.groupId ? `/my/messaging/group/${ message.groupId }` : `/my/messaging/@${Misskey.acct.toString(isMe(message) ? message.recipient : message.user)}`"
|
||||||
:data-index="i"
|
:data-index="i"
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
|
@ -20,7 +20,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
</header>
|
</header>
|
||||||
<header v-else>
|
<header v-else>
|
||||||
<span :class="$style.name"><MkUserName :user="isMe(message) ? message.recipient : message.user"/></span>
|
<span :class="$style.name"><MkUserName :user="isMe(message) ? message.recipient : message.user"/></span>
|
||||||
<span :class="$style.username">@{{ acct(isMe(message) ? message.recipient : message.user) }}</span>
|
<span :class="$style.username">@{{ Misskey.acct.toString(isMe(message) ? message.recipient : message.user) }}</span>
|
||||||
<MkTime :time="message.createdAt" :class="$style.time"/>
|
<MkTime :time="message.createdAt" :class="$style.time"/>
|
||||||
</header>
|
</header>
|
||||||
<div>
|
<div>
|
||||||
|
@ -31,13 +31,10 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import * as Acct from 'cherrypick-js/built/acct';
|
import * as Misskey from 'cherrypick-js';
|
||||||
import { acct } from '@/filters/user.js';
|
|
||||||
import { $i } from '@/account.js';
|
import { $i } from '@/account.js';
|
||||||
import { i18n } from '@/i18n.js';
|
import { i18n } from '@/i18n.js';
|
||||||
|
|
||||||
const getAcct = Acct.toString;
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
message: Record<string, any>;
|
message: Record<string, any>;
|
||||||
}>();
|
}>();
|
||||||
|
|
|
@ -30,7 +30,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { markRaw, onMounted, onUnmounted } from 'vue';
|
import { markRaw, onMounted, onUnmounted } from 'vue';
|
||||||
import * as Acct from 'cherrypick-js/built/acct';
|
import * as Misskey from 'cherrypick-js';
|
||||||
import * as os from '@/os.js';
|
import * as os from '@/os.js';
|
||||||
import { useStream } from '@/stream.js';
|
import { useStream } from '@/stream.js';
|
||||||
import { useRouter } from '@/router.js';
|
import { useRouter } from '@/router.js';
|
||||||
|
@ -104,7 +104,7 @@ function start(ev) {
|
||||||
|
|
||||||
async function startUser() {
|
async function startUser() {
|
||||||
os.selectUser().then(user => {
|
os.selectUser().then(user => {
|
||||||
router.push(`/my/messaging/${Acct.toString(user)}`);
|
router.push(`/my/messaging/@${Misskey.acct.toString(user)}`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,6 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { computed, onMounted, nextTick, onBeforeUnmount, watch, shallowRef } from 'vue';
|
import { computed, onMounted, nextTick, onBeforeUnmount, watch, shallowRef } from 'vue';
|
||||||
import * as Misskey from 'cherrypick-js';
|
import * as Misskey from 'cherrypick-js';
|
||||||
import * as Acct from 'cherrypick-js/built/acct';
|
|
||||||
import XMessage from './messaging-room.message.vue';
|
import XMessage from './messaging-room.message.vue';
|
||||||
import XForm from './messaging-room.form.vue';
|
import XForm from './messaging-room.form.vue';
|
||||||
import MkDateSeparatedList from '@/components/MkDateSeparatedList.vue';
|
import MkDateSeparatedList from '@/components/MkDateSeparatedList.vue';
|
||||||
|
@ -109,7 +108,7 @@ async function fetch() {
|
||||||
fetching = true;
|
fetching = true;
|
||||||
|
|
||||||
if (props.userAcct) {
|
if (props.userAcct) {
|
||||||
const acct = Acct.parse(props.userAcct);
|
const acct = Misskey.acct.parse(props.userAcct);
|
||||||
user = await os.api('users/show', { username: acct.username, host: acct.host || undefined });
|
user = await os.api('users/show', { username: acct.username, host: acct.host || undefined });
|
||||||
group = null;
|
group = null;
|
||||||
|
|
||||||
|
@ -310,6 +309,8 @@ onBeforeUnmount(() => {
|
||||||
});
|
});
|
||||||
|
|
||||||
definePageMetadata(computed(() => !fetching ? user ? {
|
definePageMetadata(computed(() => !fetching ? user ? {
|
||||||
|
title: '',
|
||||||
|
icon: null,
|
||||||
userName: user,
|
userName: user,
|
||||||
avatar: user,
|
avatar: user,
|
||||||
} : {
|
} : {
|
||||||
|
|
|
@ -480,7 +480,7 @@ export const routes = [{
|
||||||
loginRequired: true,
|
loginRequired: true,
|
||||||
}, {
|
}, {
|
||||||
name: 'messaging-room',
|
name: 'messaging-room',
|
||||||
path: '/my/messaging/:userAcct',
|
path: '/my/messaging/@:userAcct',
|
||||||
component: page(() => import('./pages/messaging/messaging-room.vue')),
|
component: page(() => import('./pages/messaging/messaging-room.vue')),
|
||||||
loginRequired: true,
|
loginRequired: true,
|
||||||
}, {
|
}, {
|
||||||
|
|
|
@ -55,7 +55,7 @@ export function openAntenna(antennaId: string, loginId: string): ReturnType<type
|
||||||
|
|
||||||
export async function openChat(body: any, loginId: string) {
|
export async function openChat(body: any, loginId: string) {
|
||||||
if (body.groupId === null) {
|
if (body.groupId === null) {
|
||||||
return openClient('push', `/my/messaging/${getAcct(body.user)}`, loginId, { body });
|
return openClient('push', `/my/messaging/@${Misskey.acct.toString(body.user)}`, loginId, { body });
|
||||||
} else {
|
} else {
|
||||||
return openClient('push', `/my/messaging/group/${body.groupId}`, loginId, { body });
|
return openClient('push', `/my/messaging/group/${body.groupId}`, loginId, { body });
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue