diff options
| author | Hazelnoot <acomputerdog@gmail.com> | 2024-10-26 11:31:11 -0400 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2024-10-26 11:31:11 -0400 |
| commit | b034e1db671a023268b3293d787e34db9615af79 (patch) | |
| tree | d6c0bf23b9536dee47062f552ec5e48e7ab895e4 | |
| parent | merge: teach eslint to check translations (!695) (diff) | |
| download | sharkey-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.ts | 36 | ||||
| -rw-r--r-- | packages/frontend/src/components/MkUserInfo.vue | 36 | ||||
| -rw-r--r-- | packages/frontend/src/pages/user/home.vue | 54 |
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> |