summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoribrokemypie <ibrokemypie@bastardi.net>2019-01-04 05:02:40 +1100
committersyuilo <Syuilotan@yahoo.co.jp>2019-01-04 03:02:40 +0900
commitebf9cd18c85a8d601941fae5af5a53b6d834346c (patch)
treeaf7b00a1e6ecb1b3422b4daf442ec90b3ef411e3 /src
parentImprove readability (diff)
downloadsharkey-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.vue4
-rw-r--r--src/client/app/desktop/views/pages/welcome.vue2
-rw-r--r--src/misc/fetch-meta.ts1
-rw-r--r--src/models/meta.ts1
-rw-r--r--src/server/api/endpoints/admin/update-meta.ts11
-rw-r--r--src/server/api/endpoints/meta.ts1
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,