diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-04-15 18:38:40 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-04-15 18:38:40 +0900 |
| commit | a9ea405c0c194cfedefabef9ade52c414c1005b4 (patch) | |
| tree | 933837f9a49930f1bf5a9eb6ea960c8422609a42 | |
| parent | nanka iroiro (diff) | |
| download | misskey-a9ea405c0c194cfedefabef9ade52c414c1005b4.tar.gz misskey-a9ea405c0c194cfedefabef9ade52c414c1005b4.tar.bz2 misskey-a9ea405c0c194cfedefabef9ade52c414c1005b4.zip | |
:v:
| -rw-r--r-- | locales/en.yml | 6 | ||||
| -rw-r--r-- | locales/ja.yml | 6 | ||||
| -rw-r--r-- | src/client/app/desktop/views/pages/user/user.header.vue | 33 | ||||
| -rw-r--r-- | src/client/app/mobile/views/pages/user.vue | 13 | ||||
| -rw-r--r-- | src/models/user.ts | 1 | ||||
| -rw-r--r-- | src/remote/activitypub/objects/person.ts | 3 |
6 files changed, 53 insertions, 9 deletions
diff --git a/locales/en.yml b/locales/en.yml index f9c326250a..891fae3082 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -403,6 +403,10 @@ desktop/views/pages/user/user.friends.vue: loading: "Loading" no-users: "No users" +desktop/views/pages/user/user.header.vue: + is-remote: "This user is not a user of Misskey, so the information is not accurate." + view-remote: "See accurate information" + desktop/views/pages/user/user.home.vue: last-used-at: "Last used at" @@ -585,6 +589,8 @@ mobile/views/pages/user.vue: overview: "Overview" timeline: "Timeline" media: "Media" + is-remote: "This user is not a user of Misskey, so the information is not accurate." + view-remote: "See accurate information" mobile/views/pages/user/home.vue: recent-notes: "Recent notes" diff --git a/locales/ja.yml b/locales/ja.yml index 40d2a6d219..1f70f4203d 100644 --- a/locales/ja.yml +++ b/locales/ja.yml @@ -403,6 +403,10 @@ desktop/views/pages/user/user.friends.vue: loading: "読み込み中" no-users: "よく話すユーザーはいません" +desktop/views/pages/user/user.header.vue: + is-remote: "このユーザーはMisskeyのユーザーではないため情報が正確ではありません。" + view-remote: "正確な情報を見る" + desktop/views/pages/user/user.home.vue: last-used-at: "最終アクセス" @@ -585,6 +589,8 @@ mobile/views/pages/user.vue: overview: "概要" timeline: "タイムライン" media: "メディア" + is-remote: "このユーザーはMisskeyのユーザーではないため情報が正確ではありません。" + view-remote: "正確な情報を見る" mobile/views/pages/user/home.vue: recent-notes: "最近の投稿" diff --git a/src/client/app/desktop/views/pages/user/user.header.vue b/src/client/app/desktop/views/pages/user/user.header.vue index e026820b39..3ec0b92fe4 100644 --- a/src/client/app/desktop/views/pages/user/user.header.vue +++ b/src/client/app/desktop/views/pages/user/user.header.vue @@ -1,5 +1,6 @@ <template> <div class="header" :data-is-dark-background="user.bannerUrl != null"> + <div class="is-remote" v-if="user.host != null"><p>%fa:exclamation-triangle% %i18n:@is-remote% <a :href="user.url || user.uri" target="_blank">%i18n:@view-remote%</a></p></div> <div class="banner-container" :style="user.bannerUrl ? `background-image: url(${user.bannerUrl}?thumbnail&size=2048)` : ''"> <div class="banner" ref="banner" :style="user.bannerUrl ? `background-image: url(${user.bannerUrl}?thumbnail&size=2048)` : ''" @click="onBannerClick"></div> </div> @@ -26,14 +27,18 @@ import Vue from 'vue'; export default Vue.extend({ props: ['user'], mounted() { - window.addEventListener('load', this.onScroll); - window.addEventListener('scroll', this.onScroll); - window.addEventListener('resize', this.onScroll); + if (this.user.bannerUrl) { + window.addEventListener('load', this.onScroll); + window.addEventListener('scroll', this.onScroll); + window.addEventListener('resize', this.onScroll); + } }, beforeDestroy() { - window.removeEventListener('load', this.onScroll); - window.removeEventListener('scroll', this.onScroll); - window.removeEventListener('resize', this.onScroll); + if (this.user.bannerUrl) { + window.removeEventListener('load', this.onScroll); + window.removeEventListener('scroll', this.onScroll); + window.removeEventListener('resize', this.onScroll); + } }, methods: { onScroll() { @@ -68,9 +73,21 @@ export default Vue.extend({ $footer-height = 58px overflow hidden - background #f7f7f7 + background #bfccd0 box-shadow 0 1px 1px rgba(0, 0, 0, 0.075) + > .is-remote + padding 16px + color #573c08 + background #fff0db + + > p + margin 0 auto + max-width 1024px + + > a + font-weight bold + &[data-is-dark-background] > .banner-container > .banner @@ -130,7 +147,7 @@ export default Vue.extend({ left 0 width 100% padding 0 0 8px 195px - color #656565 + color #5e6367 font-family '游ゴシック', 'YuGothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'Meiryo', 'メイリオ', sans-serif > .name diff --git a/src/client/app/mobile/views/pages/user.vue b/src/client/app/mobile/views/pages/user.vue index ea384308e9..ee7aabb1fd 100644 --- a/src/client/app/mobile/views/pages/user.vue +++ b/src/client/app/mobile/views/pages/user.vue @@ -2,6 +2,7 @@ <mk-ui> <span slot="header" v-if="!fetching">%fa:user% {{ user | userName }}</span> <main v-if="!fetching"> + <div class="is-remote" v-if="user.host != null"><p>%fa:exclamation-triangle% %i18n:@is-remote% <a :href="user.url || user.uri" target="_blank">%i18n:@view-remote%</a></p></div> <header> <div class="banner" :style="user.bannerUrl ? `background-image: url(${user.bannerUrl}?thumbnail&size=1024)` : ''"></div> <div class="body"> @@ -109,6 +110,18 @@ export default Vue.extend({ @import '~const.styl' main + > .is-remote + padding 16px + color #573c08 + background #fff0db + + > p + margin 0 auto + max-width 1024px + + > a + font-weight bold + > header > .banner diff --git a/src/models/user.ts b/src/models/user.ts index 1d23c21dbd..5b1a2d357b 100644 --- a/src/models/user.ts +++ b/src/models/user.ts @@ -88,6 +88,7 @@ export interface ILocalUser extends IUserBase { export interface IRemoteUser extends IUserBase { inbox: string; uri: string; + url?: string; publicKey: { id: string; publicKeyPem: string; diff --git a/src/remote/activitypub/objects/person.ts b/src/remote/activitypub/objects/person.ts index 6c060f879c..b0539fd73b 100644 --- a/src/remote/activitypub/objects/person.ts +++ b/src/remote/activitypub/objects/person.ts @@ -96,7 +96,8 @@ export async function createPerson(value: any, resolver?: Resolver): Promise<IUs publicKeyPem: person.publicKey.publicKeyPem }, inbox: person.inbox, - uri: person.id + uri: person.id, + url: person.url }) as IRemoteUser; //#region アイコンとヘッダー画像をフェッチ |