mirror of
https://iceshrimp.dev/limepotato/jormungandr-bite.git
synced 2024-11-23 02:17:40 -07:00
Merge pull request #2349 from syuilo/configress-build
設定ファイルなしでビルドできるように
This commit is contained in:
commit
e224a3f75c
27 changed files with 69 additions and 123 deletions
|
@ -12,13 +12,13 @@
|
|||
</ui-input>
|
||||
<ui-input v-if="user && user.twoFactorEnabled" v-model="token" type="number" required/>
|
||||
<ui-button type="submit" :disabled="signing">{{ signing ? '%i18n:@signing-in%' : '%i18n:@signin%' }}</ui-button>
|
||||
<p style="margin: 8px 0;" v-if="twitterIntegration">%i18n:@or% <a :href="`${apiUrl}/signin/twitter`">%i18n:@signin-with-twitter%</a></p>
|
||||
<p style="margin: 8px 0;">%i18n:@or% <a :href="`${apiUrl}/signin/twitter`">%i18n:@signin-with-twitter%</a></p>
|
||||
</form>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import { apiUrl, host, twitterIntegration } from '../../../config';
|
||||
import { apiUrl, host } from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
props: {
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
<p slot="text" v-if="passwordRetypeState == 'not-match'" style="color:#FF1161">%fa:exclamation-triangle .fw% %i18n:@password-not-matched%</p>
|
||||
</div>
|
||||
</ui-input>
|
||||
<div v-if="recaptchaSitekey != null" class="g-recaptcha" :data-sitekey="recaptchaSitekey" style="margin: 16px 0;"></div>
|
||||
<div v-if="meta && meta.recaptchaSitekey != null" class="g-recaptcha" :data-sitekey="meta.recaptchaSitekey" style="margin: 16px 0;"></div>
|
||||
<ui-button type="submit">%i18n:@create%</ui-button>
|
||||
</form>
|
||||
</template>
|
||||
|
@ -42,7 +42,7 @@
|
|||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
const getPasswordStrength = require('syuilo-password-strength');
|
||||
import { host, url, recaptchaSitekey } from '../../../config';
|
||||
import { host, url } from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
data() {
|
||||
|
@ -53,7 +53,6 @@ export default Vue.extend({
|
|||
retypedPassword: '',
|
||||
invitationCode: '',
|
||||
url,
|
||||
recaptchaSitekey,
|
||||
usernameState: null,
|
||||
passwordStrength: '',
|
||||
passwordRetypeState: null,
|
||||
|
@ -73,6 +72,12 @@ export default Vue.extend({
|
|||
this.meta = meta;
|
||||
});
|
||||
},
|
||||
mounted() {
|
||||
const head = document.getElementsByTagName('head')[0];
|
||||
const script = document.createElement('script');
|
||||
script.setAttribute('src', 'https://www.google.com/recaptcha/api.js');
|
||||
head.appendChild(script);
|
||||
},
|
||||
methods: {
|
||||
onChangeUsername() {
|
||||
if (this.username == '') {
|
||||
|
@ -123,7 +128,7 @@ export default Vue.extend({
|
|||
username: this.username,
|
||||
password: this.password,
|
||||
invitationCode: this.invitationCode,
|
||||
'g-recaptcha-response': recaptchaSitekey != null ? (window as any).grecaptcha.getResponse() : null
|
||||
'g-recaptcha-response': this.meta.recaptchaSitekey != null ? (window as any).grecaptcha.getResponse() : null
|
||||
}).then(() => {
|
||||
(this as any).api('signin', {
|
||||
username: this.username,
|
||||
|
@ -134,19 +139,11 @@ export default Vue.extend({
|
|||
}).catch(() => {
|
||||
alert('%i18n:@some-error%');
|
||||
|
||||
if (recaptchaSitekey != null) {
|
||||
if (this.meta.recaptchaSitekey != null) {
|
||||
(window as any).grecaptcha.reset();
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
if (recaptchaSitekey != null) {
|
||||
const head = document.getElementsByTagName('head')[0];
|
||||
const script = document.createElement('script');
|
||||
script.setAttribute('src', 'https://www.google.com/recaptcha/api.js');
|
||||
head.appendChild(script);
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -1,51 +1,22 @@
|
|||
declare const _HOST_: string;
|
||||
declare const _HOSTNAME_: string;
|
||||
declare const _URL_: string;
|
||||
declare const _NAME_: string;
|
||||
declare const _DESCRIPTION_: string;
|
||||
declare const _API_URL_: string;
|
||||
declare const _WS_URL_: string;
|
||||
declare const _DOCS_URL_: string;
|
||||
declare const _STATS_URL_: string;
|
||||
declare const _STATUS_URL_: string;
|
||||
declare const _DEV_URL_: string;
|
||||
declare const _REPOSITORY_URL_: string;
|
||||
declare const _FEEDBACK_URL_: string;
|
||||
declare const _LANG_: string;
|
||||
declare const _LANGS_: string;
|
||||
declare const _RECAPTCHA_SITEKEY_: string;
|
||||
declare const _SW_PUBLICKEY_: string;
|
||||
declare const _THEME_COLOR_: string;
|
||||
declare const _COPYRIGHT_: string;
|
||||
declare const _VERSION_: string;
|
||||
declare const _CODENAME_: string;
|
||||
declare const _LICENSE_: string;
|
||||
declare const _GOOGLE_MAPS_API_KEY_: string;
|
||||
declare const _WELCOME_BG_URL_: string;
|
||||
declare const _TWITTER_INTEGRATION_: boolean;
|
||||
|
||||
export const host = _HOST_;
|
||||
export const hostname = _HOSTNAME_;
|
||||
export const url = _URL_;
|
||||
export const name = _NAME_;
|
||||
export const description = _DESCRIPTION_;
|
||||
export const apiUrl = _API_URL_;
|
||||
export const wsUrl = _WS_URL_;
|
||||
export const docsUrl = _DOCS_URL_;
|
||||
export const statsUrl = _STATS_URL_;
|
||||
export const statusUrl = _STATUS_URL_;
|
||||
export const devUrl = _DEV_URL_;
|
||||
export const repositoryUrl = _REPOSITORY_URL_;
|
||||
export const feedbackUrl = _FEEDBACK_URL_;
|
||||
const address = new URL(location.href);
|
||||
|
||||
export const host = address.host;
|
||||
export const hostname = address.hostname;
|
||||
export const url = address.origin;
|
||||
export const apiUrl = url + '/api';
|
||||
export const wsUrl = url.replace('http://', 'ws://').replace('https://', 'wss://');
|
||||
export const lang = _LANG_;
|
||||
export const langs = _LANGS_;
|
||||
export const recaptchaSitekey = _RECAPTCHA_SITEKEY_;
|
||||
export const swPublickey = _SW_PUBLICKEY_;
|
||||
export const themeColor = _THEME_COLOR_;
|
||||
export const copyright = _COPYRIGHT_;
|
||||
export const version = _VERSION_;
|
||||
export const codename = _CODENAME_;
|
||||
export const license = _LICENSE_;
|
||||
export const googleMapsApiKey = _GOOGLE_MAPS_API_KEY_;
|
||||
export const welcomeBgUrl = _WELCOME_BG_URL_;
|
||||
export const twitterIntegration = _TWITTER_INTEGRATION_;
|
||||
|
|
|
@ -193,7 +193,7 @@ export default Vue.extend({
|
|||
|
||||
clearNotification() {
|
||||
this.unreadCount = 0;
|
||||
document.title = config.name;
|
||||
document.title = (this as any).os.instanceName;
|
||||
},
|
||||
|
||||
onVisibilitychange() {
|
||||
|
|
|
@ -4,11 +4,10 @@
|
|||
|
||||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import * as config from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
mounted() {
|
||||
document.title = `${config.name} - %i18n:@title%`;
|
||||
document.title = `${(this as any).os.instanceName} - %i18n:@title%`;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import Progress from '../../../common/scripts/loading';
|
||||
import * as config from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
props: {
|
||||
|
@ -17,7 +16,7 @@ export default Vue.extend({
|
|||
}
|
||||
},
|
||||
mounted() {
|
||||
document.title = config.name;
|
||||
document.title = (this as any).os.instanceName;
|
||||
|
||||
Progress.start();
|
||||
},
|
||||
|
|
|
@ -12,12 +12,11 @@
|
|||
|
||||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import * as config from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
data() {
|
||||
return {
|
||||
name: config.name,
|
||||
name: (this as any).os.instanceName,
|
||||
posted: false,
|
||||
text: new URLSearchParams(location.search).get('text')
|
||||
};
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<template v-if="$store.state.device.darkmode">%fa:moon%</template>
|
||||
<template v-else>%fa:R moon%</template>
|
||||
</button>
|
||||
<div class="body" :style="{ backgroundImage: `url('${ welcomeBgUrl }')` }">
|
||||
<div class="body">
|
||||
<div class="container">
|
||||
<div class="info">
|
||||
<span><b>{{ host }}</b></span>
|
||||
|
@ -46,22 +46,26 @@
|
|||
|
||||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import { host, name, description, copyright, welcomeBgUrl } from '../../../config';
|
||||
import { host, copyright } from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
data() {
|
||||
return {
|
||||
stats: null,
|
||||
copyright,
|
||||
welcomeBgUrl,
|
||||
host,
|
||||
name,
|
||||
description,
|
||||
name: 'Misskey',
|
||||
description: '',
|
||||
pointerInterval: null,
|
||||
tags: []
|
||||
};
|
||||
},
|
||||
created() {
|
||||
(this as any).os.getMeta().then(meta => {
|
||||
this.name = meta.name;
|
||||
this.description = meta.description;
|
||||
});
|
||||
|
||||
(this as any).api('stats').then(stats => {
|
||||
this.stats = stats;
|
||||
});
|
||||
|
|
|
@ -70,6 +70,10 @@ export default class MiOS extends EventEmitter {
|
|||
chachedAt: Date;
|
||||
};
|
||||
|
||||
public get instanceName() {
|
||||
return this.meta ? this.meta.data.name : 'Misskey';
|
||||
}
|
||||
|
||||
private isMetaFetching = false;
|
||||
|
||||
public app: Vue;
|
||||
|
|
|
@ -38,7 +38,6 @@
|
|||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import getNoteSummary from '../../../../../misc/get-note-summary';
|
||||
import * as config from '../../../config';
|
||||
|
||||
const displayLimit = 30;
|
||||
|
||||
|
@ -190,7 +189,7 @@ export default Vue.extend({
|
|||
|
||||
clearNotification() {
|
||||
this.unreadCount = 0;
|
||||
document.title = config.name;
|
||||
document.title = (this as any).os.instanceName;
|
||||
},
|
||||
|
||||
onVisibilitychange() {
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<button class="nav" @click="$parent.isDrawerOpening = true">%fa:bars%</button>
|
||||
<template v-if="hasUnreadNotification || hasUnreadMessagingMessage || hasGameInvitation">%fa:circle%</template>
|
||||
<h1>
|
||||
<slot>config.name</slot>
|
||||
<slot>{{ os.instanceName }}</slot>
|
||||
</h1>
|
||||
<slot name="func"></slot>
|
||||
</div>
|
||||
|
@ -20,13 +20,11 @@
|
|||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import * as anime from 'animejs';
|
||||
import * as config from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
props: ['func'],
|
||||
data() {
|
||||
return {
|
||||
config,
|
||||
hasGameInvitation: false,
|
||||
connection: null,
|
||||
connectionId: null
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import Progress from '../../../common/scripts/loading';
|
||||
import * as config from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
data() {
|
||||
|
@ -44,7 +43,7 @@ export default Vue.extend({
|
|||
window.addEventListener('popstate', this.onPopState);
|
||||
},
|
||||
mounted() {
|
||||
document.title = `${config.name} Drive`;
|
||||
document.title = `${(this as any).os.instanceName} Drive`;
|
||||
document.documentElement.style.background = '#fff';
|
||||
},
|
||||
beforeDestroy() {
|
||||
|
@ -64,7 +63,7 @@ export default Vue.extend({
|
|||
(this.$refs as any).browser.openContextMenu();
|
||||
},
|
||||
onMoveRoot(silent) {
|
||||
const title = `${config.name} Drive`;
|
||||
const title = `${(this as any).os.instanceName} Drive`;
|
||||
|
||||
if (!silent) {
|
||||
// Rewrite URL
|
||||
|
@ -77,7 +76,7 @@ export default Vue.extend({
|
|||
this.folder = null;
|
||||
},
|
||||
onOpenFolder(folder, silent) {
|
||||
const title = `${folder.name} | ${config.name} Drive`;
|
||||
const title = `${folder.name} | ${(this as any).os.instanceName} Drive`;
|
||||
|
||||
if (!silent) {
|
||||
// Rewrite URL
|
||||
|
@ -90,7 +89,7 @@ export default Vue.extend({
|
|||
this.folder = folder;
|
||||
},
|
||||
onOpenFile(file, silent) {
|
||||
const title = `${file.name} | ${config.name} Drive`;
|
||||
const title = `${file.name} | ${(this as any).os.instanceName} Drive`;
|
||||
|
||||
if (!silent) {
|
||||
// Rewrite URL
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import Progress from '../../../common/scripts/loading';
|
||||
import * as config from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
data() {
|
||||
|
@ -29,7 +28,7 @@ export default Vue.extend({
|
|||
this.fetch();
|
||||
},
|
||||
mounted() {
|
||||
document.title = `${config.name} | %i18n:@notifications%`;
|
||||
document.title = `${(this as any).os.instanceName} | %i18n:@notifications%`;
|
||||
},
|
||||
methods: {
|
||||
fetch() {
|
||||
|
|
|
@ -21,7 +21,6 @@ import Vue from 'vue';
|
|||
import Progress from '../../../common/scripts/loading';
|
||||
import parseAcct from '../../../../../misc/acct/parse';
|
||||
import getUserName from '../../../../../misc/get-user-name';
|
||||
import * as config from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
data() {
|
||||
|
@ -50,7 +49,7 @@ export default Vue.extend({
|
|||
this.user = user;
|
||||
this.fetching = false;
|
||||
|
||||
document.title = '%i18n:@followers-of%'.replace('{}', this.name) + ' | ' + config.name;
|
||||
document.title = '%i18n:@followers-of%'.replace('{}', this.name) + ' | ' + (this as any).os.instanceName;
|
||||
});
|
||||
},
|
||||
onLoaded() {
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
import Vue from 'vue';
|
||||
import Progress from '../../../common/scripts/loading';
|
||||
import parseAcct from '../../../../../misc/acct/parse';
|
||||
import * as config from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
data() {
|
||||
|
@ -49,7 +48,7 @@ export default Vue.extend({
|
|||
this.user = user;
|
||||
this.fetching = false;
|
||||
|
||||
document.title = '%i18n:@followers-of%'.replace('{}', this.name) + ' | ' + config.name;
|
||||
document.title = '%i18n:@followers-of%'.replace('{}', this.name) + ' | ' + (this as any).os.instanceName;
|
||||
});
|
||||
},
|
||||
onLoaded() {
|
||||
|
|
|
@ -7,11 +7,10 @@
|
|||
|
||||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import * as config from '../../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
mounted() {
|
||||
document.title = `${config.name} %i18n:@reversi%`;
|
||||
document.title = `${(this as any).os.instanceName} %i18n:@reversi%`;
|
||||
document.documentElement.style.background = '#fff';
|
||||
},
|
||||
methods: {
|
||||
|
|
|
@ -49,7 +49,6 @@
|
|||
import Vue from 'vue';
|
||||
import Progress from '../../../common/scripts/loading';
|
||||
import XTl from './home.timeline.vue';
|
||||
import * as config from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
components: {
|
||||
|
@ -97,7 +96,7 @@ export default Vue.extend({
|
|||
},
|
||||
|
||||
mounted() {
|
||||
document.title = config.name;
|
||||
document.title = (this as any).os.instanceName;
|
||||
|
||||
Progress.start();
|
||||
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import parseAcct from '../../../../../misc/acct/parse';
|
||||
import * as config from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
data() {
|
||||
|
@ -48,7 +47,7 @@ export default Vue.extend({
|
|||
this.user = user;
|
||||
this.fetching = false;
|
||||
|
||||
document.title = `%i18n:@messaging%: ${Vue.filter('userName')(this.user)} | ${config.name}`;
|
||||
document.title = `%i18n:@messaging%: ${Vue.filter('userName')(this.user)} | ${(this as any).os.instanceName}`;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,11 +8,10 @@
|
|||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import getAcct from '../../../../../misc/acct/render';
|
||||
import * as config from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
mounted() {
|
||||
document.title = `${config.name} %i18n:@messaging%`;
|
||||
document.title = `${(this as any).os.instanceName} %i18n:@messaging%`;
|
||||
},
|
||||
methods: {
|
||||
navigate(user) {
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import Progress from '../../../common/scripts/loading';
|
||||
import * as config from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
data() {
|
||||
|
@ -32,7 +31,7 @@ export default Vue.extend({
|
|||
this.fetch();
|
||||
},
|
||||
mounted() {
|
||||
document.title = config.name;
|
||||
document.title = (this as any).os.instanceName;
|
||||
},
|
||||
methods: {
|
||||
fetch() {
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import Progress from '../../../common/scripts/loading';
|
||||
import * as config from '../../../config';
|
||||
|
||||
const limit = 20;
|
||||
|
||||
|
@ -35,7 +34,7 @@ export default Vue.extend({
|
|||
}
|
||||
},
|
||||
mounted() {
|
||||
document.title = `%i18n:@search%: ${this.q} | ${config.name}`;
|
||||
document.title = `%i18n:@search%: ${this.q} | ${(this as any).os.instanceName}`;
|
||||
|
||||
this.fetch();
|
||||
},
|
||||
|
|
|
@ -12,12 +12,11 @@
|
|||
|
||||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import * as config from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
data() {
|
||||
return {
|
||||
name: config.name,
|
||||
name: (this as any).os.instanceName,
|
||||
posted: false,
|
||||
text: new URLSearchParams(location.search).get('text')
|
||||
};
|
||||
|
|
|
@ -67,7 +67,6 @@ import * as age from 's-age';
|
|||
import parseAcct from '../../../../../misc/acct/parse';
|
||||
import Progress from '../../../common/scripts/loading';
|
||||
import XHome from './user/home.vue';
|
||||
import * as config from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
components: {
|
||||
|
@ -107,7 +106,7 @@ export default Vue.extend({
|
|||
this.fetching = false;
|
||||
|
||||
Progress.done();
|
||||
document.title = Vue.filter('userName')(this.user) + ' | ' + config.name;
|
||||
document.title = Vue.filter('userName')(this.user) + ' | ' + (this as any).os.instanceName;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import { apiUrl, copyright, host, name, description } from '../../../config';
|
||||
import { apiUrl, copyright, host } from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
data() {
|
||||
|
@ -39,12 +39,17 @@ export default Vue.extend({
|
|||
copyright,
|
||||
stats: null,
|
||||
host,
|
||||
name,
|
||||
description,
|
||||
name: 'Misskey',
|
||||
description: '',
|
||||
tags: []
|
||||
};
|
||||
},
|
||||
created() {
|
||||
(this as any).os.getMeta().then(meta => {
|
||||
this.name = meta.name;
|
||||
this.description = meta.description;
|
||||
});
|
||||
|
||||
(this as any).api('stats').then(stats => {
|
||||
this.stats = stats;
|
||||
});
|
||||
|
|
|
@ -53,7 +53,6 @@
|
|||
import Vue from 'vue';
|
||||
import * as XDraggable from 'vuedraggable';
|
||||
import * as uuid from 'uuid';
|
||||
import * as config from '../../../config';
|
||||
|
||||
export default Vue.extend({
|
||||
components: {
|
||||
|
@ -103,7 +102,7 @@ export default Vue.extend({
|
|||
},
|
||||
|
||||
mounted() {
|
||||
document.title = config.name;
|
||||
document.title = (this as any).os.instanceName;
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
|
|
@ -20,6 +20,9 @@ export default () => new Promise(async (res, rej) => {
|
|||
version: pkg.version,
|
||||
clientVersion: client.version,
|
||||
|
||||
name: config.name || 'Misskey',
|
||||
description: config.description,
|
||||
|
||||
secure: config.https != null,
|
||||
machine: os.hostname(),
|
||||
os: os.platform(),
|
||||
|
@ -29,6 +32,8 @@ export default () => new Promise(async (res, rej) => {
|
|||
cores: os.cpus().length
|
||||
},
|
||||
broadcasts: meta.broadcasts,
|
||||
disableRegistration: meta.disableRegistration
|
||||
disableRegistration: meta.disableRegistration,
|
||||
recaptchaSitekey: config.recaptcha ? config.recaptcha.site_key : null,
|
||||
swPublickey: config.sw ? config.sw.public_key : null
|
||||
});
|
||||
});
|
||||
|
|
|
@ -16,7 +16,6 @@ import I18nReplacer from './src/misc/i18n';
|
|||
import { pattern as i18nPattern, replacement as i18nReplacement } from './webpack/i18n';
|
||||
import { pattern as faPattern, replacement as faReplacement } from './src/misc/fa';
|
||||
const constants = require('./src/const.json');
|
||||
import config from './src/config';
|
||||
import { licenseHtml } from './src/misc/license';
|
||||
|
||||
const locales = require('./locales');
|
||||
|
@ -58,8 +57,6 @@ const isProduction = process.env.NODE_ENV == 'production';
|
|||
const entry = {
|
||||
desktop: './src/client/app/desktop/script.ts',
|
||||
mobile: './src/client/app/mobile/script.ts',
|
||||
//stats: './src/client/app/stats/script.ts',
|
||||
//status: './src/client/app/status/script.ts',
|
||||
dev: './src/client/app/dev/script.ts',
|
||||
auth: './src/client/app/auth/script.ts',
|
||||
sw: './src/client/app/sw.js'
|
||||
|
@ -72,31 +69,13 @@ const output = {
|
|||
|
||||
//#region Define consts
|
||||
const consts = {
|
||||
_RECAPTCHA_SITEKEY_: config.recaptcha ? config.recaptcha.site_key : null,
|
||||
_SW_PUBLICKEY_: config.sw ? config.sw.public_key : null,
|
||||
_THEME_COLOR_: constants.themeColor,
|
||||
_COPYRIGHT_: constants.copyright,
|
||||
_VERSION_: version,
|
||||
_CODENAME_: codename,
|
||||
_STATUS_URL_: config.status_url,
|
||||
_STATS_URL_: config.stats_url,
|
||||
_DOCS_URL_: config.docs_url,
|
||||
_API_URL_: config.api_url,
|
||||
_WS_URL_: config.ws_url,
|
||||
_DEV_URL_: config.dev_url,
|
||||
_REPOSITORY_URL_: config.maintainer.repository_url,
|
||||
_FEEDBACK_URL_: config.maintainer.feedback_url,
|
||||
_LANG_: '%lang%',
|
||||
_LANGS_: Object.keys(locales).map(l => [l, locales[l].meta.lang]),
|
||||
_NAME_: config.name,
|
||||
_DESCRIPTION_: config.description,
|
||||
_HOST_: config.host,
|
||||
_HOSTNAME_: config.hostname,
|
||||
_URL_: config.url,
|
||||
_LICENSE_: licenseHtml,
|
||||
_GOOGLE_MAPS_API_KEY_: config.google_maps_api_key,
|
||||
_WELCOME_BG_URL_: config.welcome_bg_url,
|
||||
_TWITTER_INTEGRATION_: config.twitter != null
|
||||
_LICENSE_: licenseHtml
|
||||
};
|
||||
|
||||
const _consts: { [ key: string ]: any } = {};
|
||||
|
|
Loading…
Reference in a new issue