summaryrefslogtreecommitdiff
path: root/packages/frontend/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src')
-rw-r--r--packages/frontend/src/components/global/MkAvatar.vue6
-rw-r--r--packages/frontend/src/components/index.ts42
-rw-r--r--packages/frontend/src/pages/user/home.vue7
3 files changed, 33 insertions, 22 deletions
diff --git a/packages/frontend/src/components/global/MkAvatar.vue b/packages/frontend/src/components/global/MkAvatar.vue
index d392ec6d6f..7fb830d537 100644
--- a/packages/frontend/src/components/global/MkAvatar.vue
+++ b/packages/frontend/src/components/global/MkAvatar.vue
@@ -1,5 +1,5 @@
<template>
-<span v-if="!link" v-user-preview="preview ? user.id : undefined" class="_noSelect" :class="[$style.root, { [$style.cat]: user.isCat, [$style.square]: $store.state.squareAvatars }]" :style="{ color }" :title="acct(user)" @click="onClick">
+<span v-if="!link" v-user-preview="preview ? user.id : undefined" class="_noSelect" :class="[$style.root, { [$style.cat]: user.isCat, [$style.square]: squareAvatars }]" :style="{ color }" :title="acct(user)" @click="onClick">
<img :class="$style.inner" :src="url" decoding="async"/>
<MkUserOnlineIndicator v-if="indicator" :class="$style.indicator" :user="user"/>
<template v-if="user.isCat">
@@ -7,7 +7,7 @@
<div :class="$style.earRight"/>
</template>
</span>
-<MkA v-else v-user-preview="preview ? user.id : undefined" class="_noSelect" :class="[$style.root, { [$style.cat]: user.isCat, [$style.square]: $store.state.squareAvatars }]" :style="{ color }" :title="acct(user)" :to="userPage(user)" :target="target">
+<MkA v-else v-user-preview="preview ? user.id : undefined" class="_noSelect" :class="[$style.root, { [$style.cat]: user.isCat, [$style.square]: squareAvatars }]" :style="{ color }" :title="acct(user)" :to="userPage(user)" :target="target">
<img :class="$style.inner" :src="url" decoding="async"/>
<MkUserOnlineIndicator v-if="indicator" :class="$style.indicator" :user="user"/>
<template v-if="user.isCat">
@@ -26,6 +26,8 @@ import { acct, userPage } from '@/filters/user';
import MkUserOnlineIndicator from '@/components/MkUserOnlineIndicator.vue';
import { defaultStore } from '@/store';
+const squareAvatars = $ref(defaultStore.state.squareAvatars);
+
const props = withDefaults(defineProps<{
user: misskey.entities.User;
target?: string | null;
diff --git a/packages/frontend/src/components/index.ts b/packages/frontend/src/components/index.ts
index 560870f84c..63e8fc225c 100644
--- a/packages/frontend/src/components/index.ts
+++ b/packages/frontend/src/components/index.ts
@@ -20,26 +20,32 @@ import MkSpacer from './global/MkSpacer.vue';
import MkStickyContainer from './global/MkStickyContainer.vue';
export default function(app: App) {
- app.component('I18n', I18n);
- app.component('RouterView', RouterView);
- app.component('Mfm', Mfm);
- app.component('MkA', MkA);
- app.component('MkAcct', MkAcct);
- app.component('MkAvatar', MkAvatar);
- app.component('MkEmoji', MkEmoji);
- app.component('MkCustomEmoji', MkCustomEmoji);
- app.component('MkUserName', MkUserName);
- app.component('MkEllipsis', MkEllipsis);
- app.component('MkTime', MkTime);
- app.component('MkUrl', MkUrl);
- app.component('MkLoading', MkLoading);
- app.component('MkError', MkError);
- app.component('MkAd', MkAd);
- app.component('MkPageHeader', MkPageHeader);
- app.component('MkSpacer', MkSpacer);
- app.component('MkStickyContainer', MkStickyContainer);
+ for (const [key, value] of Object.entries(components)) {
+ app.component(key, value);
+ }
}
+export const components = {
+ I18n: I18n,
+ RouterView: RouterView,
+ Mfm: Mfm,
+ MkA: MkA,
+ MkAcct: MkAcct,
+ MkAvatar: MkAvatar,
+ MkEmoji: MkEmoji,
+ MkCustomEmoji: MkCustomEmoji,
+ MkUserName: MkUserName,
+ MkEllipsis: MkEllipsis,
+ MkTime: MkTime,
+ MkUrl: MkUrl,
+ MkLoading: MkLoading,
+ MkError: MkError,
+ MkAd: MkAd,
+ MkPageHeader: MkPageHeader,
+ MkSpacer: MkSpacer,
+ MkStickyContainer: MkStickyContainer,
+};
+
declare module '@vue/runtime-core' {
export interface GlobalComponents {
I18n: typeof I18n;
diff --git a/packages/frontend/src/pages/user/home.vue b/packages/frontend/src/pages/user/home.vue
index 02794175ae..7efaaebf5d 100644
--- a/packages/frontend/src/pages/user/home.vue
+++ b/packages/frontend/src/pages/user/home.vue
@@ -7,7 +7,7 @@
<!-- <div class="punished" v-if="user.isSilenced"><i class="ti ti-alert-triangle" style="margin-right: 8px;"></i> {{ i18n.ts.userSilenced }}</div> -->
<div class="profile _gaps">
- <MkRemoteCaution v-if="user.host != null" :href="user.url" class="warn"/>
+ <MkRemoteCaution v-if="user.host != null" :href="user.url ?? user.uri!" class="warn"/>
<div :key="user.id" class="main _panel">
<div class="banner-container" :style="style">
@@ -100,7 +100,7 @@
<XPhotos :key="user.id" :user="user"/>
<XActivity :key="user.id" :user="user"/>
</template>
- <MkNotes :class="$style.tl" :no-gap="true" :pagination="pagination"/>
+ <MkNotes v-if="!disableNotes" :class="$style.tl" :no-gap="true" :pagination="pagination"/>
</div>
</div>
<div v-if="!narrow" class="sub _gaps" style="container-type: inline-size;">
@@ -137,7 +137,10 @@ const XActivity = defineAsyncComponent(() => import('./index.activity.vue'));
const props = withDefaults(defineProps<{
user: misskey.entities.UserDetailed;
+ /** Test only; MkNotes currently causes problems in vitest */
+ disableNotes: boolean;
}>(), {
+ disableNotes: false,
});
const router = useRouter();