diff options
| author | ibrokemypie <ibrokemypie@bastardi.net> | 2019-01-04 05:02:40 +1100 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2019-01-04 03:02:40 +0900 |
| commit | ebf9cd18c85a8d601941fae5af5a53b6d834346c (patch) | |
| tree | af7b00a1e6ecb1b3422b4daf442ec90b3ef411e3 /src | |
| parent | Improve readability (diff) | |
| download | sharkey-ebf9cd18c85a8d601941fae5af5a53b6d834346c.tar.gz sharkey-ebf9cd18c85a8d601941fae5af5a53b6d834346c.tar.bz2 sharkey-ebf9cd18c85a8d601941fae5af5a53b6d834346c.zip | |
Make instance logo customisable (#3829)
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/app/admin/views/instance.vue | 4 | ||||
| -rw-r--r-- | src/client/app/desktop/views/pages/welcome.vue | 2 | ||||
| -rw-r--r-- | src/misc/fetch-meta.ts | 1 | ||||
| -rw-r--r-- | src/models/meta.ts | 1 | ||||
| -rw-r--r-- | src/server/api/endpoints/admin/update-meta.ts | 11 | ||||
| -rw-r--r-- | src/server/api/endpoints/meta.ts | 1 |
6 files changed, 19 insertions, 1 deletions
diff --git a/src/client/app/admin/views/instance.vue b/src/client/app/admin/views/instance.vue index 5a29da0345..4e7d59b8eb 100644 --- a/src/client/app/admin/views/instance.vue +++ b/src/client/app/admin/views/instance.vue @@ -6,6 +6,7 @@ <ui-input :value="host" readonly>{{ $t('host') }}</ui-input> <ui-input v-model="name">{{ $t('instance-name') }}</ui-input> <ui-textarea v-model="description">{{ $t('instance-description') }}</ui-textarea> + <ui-input v-model="logoUrl"><i slot="icon"><fa icon="link"/></i>{{ $t('logo-url') }}</ui-input> <ui-input v-model="bannerUrl"><i slot="icon"><fa icon="link"/></i>{{ $t('banner-url') }}</ui-input> <ui-input v-model="errorImageUrl"><i slot="icon"><fa icon="link"/></i>{{ $t('error-image-url') }}</ui-input> <ui-input v-model="languages"><i slot="icon"><fa icon="language"/></i>{{ $t('languages') }}<span slot="desc">{{ $t('languages-desc') }}</span></ui-input> @@ -149,6 +150,7 @@ export default Vue.extend({ maintainerEmail: null, disableRegistration: false, disableLocalTimeline: false, + logoUrl: null, bannerUrl: null, errorImageUrl: null, name: null, @@ -196,6 +198,7 @@ export default Vue.extend({ this.maintainerEmail = meta.maintainer.email; this.disableRegistration = meta.disableRegistration; this.disableLocalTimeline = meta.disableLocalTimeline; + this.logoUrl = meta.logoUrl; this.bannerUrl = meta.bannerUrl; this.errorImageUrl = meta.errorImageUrl; this.name = meta.name; @@ -253,6 +256,7 @@ export default Vue.extend({ maintainerEmail: this.maintainerEmail, disableRegistration: this.disableRegistration, disableLocalTimeline: this.disableLocalTimeline, + logoUrl: this.logoUrl, bannerUrl: this.bannerUrl, errorImageUrl: this.errorImageUrl, name: this.name, diff --git a/src/client/app/desktop/views/pages/welcome.vue b/src/client/app/desktop/views/pages/welcome.vue index 8abadf2c69..0aa864546f 100644 --- a/src/client/app/desktop/views/pages/welcome.vue +++ b/src/client/app/desktop/views/pages/welcome.vue @@ -35,7 +35,7 @@ <span class="signin" @click="signin">{{ $t('signin') }}</span> </p> - <img src="/assets/ai.png" alt="" title="藍" class="char"> + <img :src="meta.logoUrl || '/assets/ai.png'" alt="" title="藍" class="char"> </div> </div> diff --git a/src/misc/fetch-meta.ts b/src/misc/fetch-meta.ts index a49e4dbe78..138646e881 100644 --- a/src/misc/fetch-meta.ts +++ b/src/misc/fetch-meta.ts @@ -19,6 +19,7 @@ const defaultMeta: any = { enableExternalUserRecommendation: false, externalUserRecommendationEngine: 'https://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}', externalUserRecommendationTimeout: 300000, + logoUrl: '/assets/ai.png', errorImageUrl: 'https://ai.misskey.xyz/aiart/yubitun.png', enableServiceWorker: false }; diff --git a/src/models/meta.ts b/src/models/meta.ts index fd07438a81..b68ec43f15 100644 --- a/src/models/meta.ts +++ b/src/models/meta.ts @@ -185,6 +185,7 @@ export type IMeta = { disableRegistration?: boolean; disableLocalTimeline?: boolean; hidedTags?: string[]; + logoUrl?: string; bannerUrl?: string; errorImageUrl?: string; diff --git a/src/server/api/endpoints/admin/update-meta.ts b/src/server/api/endpoints/admin/update-meta.ts index 6ceb2a98dc..f841927922 100644 --- a/src/server/api/endpoints/admin/update-meta.ts +++ b/src/server/api/endpoints/admin/update-meta.ts @@ -39,6 +39,13 @@ export const meta = { } }, + logoUrl: { + validator: $.str.optional.nullable, + desc: { + 'ja-JP': 'インスタンスロゴ画像のURL' + } + }, + bannerUrl: { validator: $.str.optional.nullable, desc: { @@ -328,6 +335,10 @@ export default define(meta, (ps) => new Promise(async (res, rej) => { set.hidedTags = ps.hidedTags; } + if (ps.logoUrl !== undefined) { + set.logoUrl = ps.logoUrl; + } + if (ps.bannerUrl !== undefined) { set.bannerUrl = ps.bannerUrl; } diff --git a/src/server/api/endpoints/meta.ts b/src/server/api/endpoints/meta.ts index d406f59dc9..641c7728ff 100644 --- a/src/server/api/endpoints/meta.ts +++ b/src/server/api/endpoints/meta.ts @@ -65,6 +65,7 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => { enableRecaptcha: instance.enableRecaptcha, recaptchaSiteKey: instance.recaptchaSiteKey, swPublickey: instance.swPublicKey, + logoUrl: instance.logoUrl, bannerUrl: instance.bannerUrl, errorImageUrl: instance.errorImageUrl, maxNoteTextLength: instance.maxNoteTextLength, |