summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2024-10-26 11:31:11 -0400
committerHazelnoot <acomputerdog@gmail.com>2024-10-26 11:31:11 -0400
commitb034e1db671a023268b3293d787e34db9615af79 (patch)
treed6c0bf23b9536dee47062f552ec5e48e7ab895e4
parentmerge: teach eslint to check translations (!695) (diff)
downloadsharkey-b034e1db671a023268b3293d787e34db9615af79.tar.gz
sharkey-b034e1db671a023268b3293d787e34db9615af79.tar.bz2
sharkey-b034e1db671a023268b3293d787e34db9615af79.zip
fix inconsistent relation badges between user profile and user info block
-rw-r--r--locales/index.d.ts36
-rw-r--r--packages/frontend/src/components/MkUserInfo.vue36
-rw-r--r--packages/frontend/src/pages/user/home.vue54
3 files changed, 98 insertions, 28 deletions
diff --git a/locales/index.d.ts b/locales/index.d.ts
index 535e88f7c7..d1cb1f97ea 100644
--- a/locales/index.d.ts
+++ b/locales/index.d.ts
@@ -5353,6 +5353,10 @@ export interface Locale extends ILocale {
* オンにすると、このお知らせは通知されず、既読にする必要もなくなります。
*/
"silenceDescription": string;
+ /**
+ * New
+ */
+ "new": string;
};
"_initialAccountSetting": {
/**
@@ -8442,6 +8446,10 @@ export interface Locale extends ILocale {
* アプリケーションにアクセス許可を与えるには、ログインが必要です。
*/
"pleaseLogin": string;
+ /**
+ * Allowed
+ */
+ "allowed": string;
};
"_antennaSources": {
/**
@@ -10604,6 +10612,30 @@ export interface Locale extends ILocale {
*/
"mutuals": string;
/**
+ * Private account
+ */
+ "isLocked": string;
+ /**
+ * Administrator
+ */
+ "isAdmin": string;
+ /**
+ * Bot user
+ */
+ "isBot": string;
+ /**
+ * Open
+ */
+ "open": string;
+ /**
+ * Destination address
+ */
+ "emailDestination": string;
+ /**
+ * Date
+ */
+ "date": string;
+ /**
* Quoted.
*/
"quoted": string;
@@ -10964,6 +10996,10 @@ export interface Locale extends ILocale {
* Blocking you
*/
"blockingYou": string;
+ /**
+ * Show warning when opening external URLs
+ */
+ "warnExternalUrl": string;
"_mfm": {
/**
* This is not a widespread feature, it may not display properly on most other fedi software, including other Misskey forks
diff --git a/packages/frontend/src/components/MkUserInfo.vue b/packages/frontend/src/components/MkUserInfo.vue
index e528f04dfc..73cdd9ce00 100644
--- a/packages/frontend/src/components/MkUserInfo.vue
+++ b/packages/frontend/src/components/MkUserInfo.vue
@@ -11,7 +11,15 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkA :class="$style.name" :to="userPage(user)"><MkUserName :user="user" :nowrap="false"/></MkA>
<p :class="$style.username"><MkAcct :user="user"/></p>
</div>
- <span v-if="$i && $i.id !== user.id && user.isFollowed" :class="$style.followed">{{ i18n.ts.followsYou }}</span>
+ <ul v-if="$i && $i.id != user.id" :class="$style.infoBadges">
+ <li v-if="user.isFollowed && user.isFollowing">{{ i18n.ts.mutuals }}</li>
+ <li v-else-if="user.isFollowing">{{ i18n.ts.following }}</li>
+ <li v-else-if="user.isFollowed">{{ i18n.ts.followsYou }}</li>
+ <li v-if="user.isMuted">{{ i18n.ts.muted }}</li>
+ <li v-if="user.isRenoteMuted">{{ i18n.ts.renoteMuted }}</li>
+ <li v-if="user.isBlocking">{{ i18n.ts.blocked }}</li>
+ <li v-if="user.isBlocked && $i.isModerator">{{ i18n.ts.blockingYou }}</li>
+ </ul>
<div :class="$style.description">
<div v-if="user.description" :class="$style.mfm">
<Mfm :text="user.description" :isBlock="true" :author="user"/>
@@ -144,4 +152,30 @@ defineProps<{
top: 8px;
right: 8px;
}
+
+.infoBadges {
+ position: absolute;
+ top: 12px;
+ left: 12px;
+
+ display: flex;
+ flex-direction: row;
+
+ padding: 0;
+ margin: 0;
+
+ > * {
+ padding: 4px 8px;
+ color: #fff;
+ background: rgba(0, 0, 0, 0.7);
+ font-size: 0.7em;
+ border-radius: var(--radius-sm);
+ list-style-type: none;
+ margin-left: 0;
+ }
+
+ > :not(:first-child) {
+ margin-left: 8px;
+ }
+}
</style>
diff --git a/packages/frontend/src/pages/user/home.vue b/packages/frontend/src/pages/user/home.vue
index c3150dac95..60b2cd480e 100644
--- a/packages/frontend/src/pages/user/home.vue
+++ b/packages/frontend/src/pages/user/home.vue
@@ -30,7 +30,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</button>
</div>
</div>
- <ul v-if="$i && $i.id != user.id" class="info-badges">
+ <ul v-if="$i && $i.id != user.id" :class="$style.infoBadges">
<li v-if="user.isFollowed && user.isFollowing">{{ i18n.ts.mutuals }}</li>
<li v-else-if="user.isFollowing">{{ i18n.ts.following }}</li>
<li v-else-if="user.isFollowed">{{ i18n.ts.followsYou }}</li>
@@ -469,32 +469,6 @@ onUnmounted(() => {
background: linear-gradient(transparent, rgba(#000, 0.7));
}
- > .info-badges {
- position: absolute;
- top: 12px;
- left: 12px;
-
- display: flex;
- flex-direction: row;
-
- padding: 0;
- margin: 0;
-
- > * {
- padding: 4px 8px;
- color: #fff;
- background: rgba(0, 0, 0, 0.7);
- font-size: 0.7em;
- border-radius: var(--radius-sm);
- list-style-type: none;
- margin-left: 0;
- }
-
- > :not(:first-child) {
- margin-left: 8px;
- }
- }
-
> .actions {
position: absolute;
top: 12px;
@@ -849,4 +823,30 @@ onUnmounted(() => {
.pinnedNote:not(:last-child) {
border-bottom: solid 0.5px var(--divider);
}
+
+.infoBadges {
+ position: absolute;
+ top: 12px;
+ left: 12px;
+
+ display: flex;
+ flex-direction: row;
+
+ padding: 0;
+ margin: 0;
+
+ > * {
+ padding: 4px 8px;
+ color: #fff;
+ background: rgba(0, 0, 0, 0.7);
+ font-size: 0.7em;
+ border-radius: var(--radius-sm);
+ list-style-type: none;
+ margin-left: 0;
+ }
+
+ > :not(:first-child) {
+ margin-left: 8px;
+ }
+}
</style>