diff --git a/locales/en.yml b/locales/en.yml index 9ac9a36cd5..b49af68bdf 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -365,6 +365,8 @@ desktop: security: "Security" password: "Password" 2fa: "Two-factor authentication" + other: "Other" + license: "License" mk-timeline-post: reposted-by: "Reposted by {}" diff --git a/locales/ja.yml b/locales/ja.yml index 2f95998a86..afafa5a63a 100644 --- a/locales/ja.yml +++ b/locales/ja.yml @@ -365,6 +365,8 @@ desktop: security: "セキュリティ" password: "パスワード" 2fa: "二段階認証" + other: "その他" + license: "ライセンス" mk-timeline-post: reposted-by: "{}がRepost" diff --git a/src/web/app/desktop/tags/settings.tag b/src/web/app/desktop/tags/settings.tag index 0a9a16250a..2f36d9b3ec 100644 --- a/src/web/app/desktop/tags/settings.tag +++ b/src/web/app/desktop/tags/settings.tag @@ -8,6 +8,7 @@ <p class={ active: page == 'twitter' } onmousedown={ setPage.bind(null, 'twitter') }>%fa:B twitter .fw%Twitter</p> <p class={ active: page == 'security' } onmousedown={ setPage.bind(null, 'security') }>%fa:unlock-alt .fw%%i18n:desktop.tags.mk-settings.security%</p> <p class={ active: page == 'api' } onmousedown={ setPage.bind(null, 'api') }>%fa:key .fw%API</p> + <p class={ active: page == 'other' } onmousedown={ setPage.bind(null, 'other') }>%fa:cogs .fw%%i18n:desktop.tags.mk-settings.other%</p> </div> <div class="pages"> <section class="profile" show={ page == 'profile' }> @@ -54,6 +55,11 @@ <h1>API</h1> <mk-api-info/> </section> + + <section class="other" show={ page == 'other' }> + <h1>%i18n:desktop.tags.mk-settings.license%</h1> + %license% + </section> </div> <style> :scope @@ -96,8 +102,9 @@ > section margin 32px + color #4a535a - h1 + > h1 display block margin 0 0 1em 0 padding 0 0 8px 0 @@ -105,24 +112,6 @@ color #555 border-bottom solid 1px #eee - label.checkbox - > input - position absolute - top 0 - left 0 - - &:checked + p - color $theme-color - - > p - width calc(100% - 32px) - margin 0 0 0 32px - font-weight bold - - &:last-child - font-weight normal - color #999 - </style> <script> this.page = 'profile'; diff --git a/webpack/module/rules/index.ts b/webpack/module/rules/index.ts index 79740ce48e..b6a0a5e2ec 100644 --- a/webpack/module/rules/index.ts +++ b/webpack/module/rules/index.ts @@ -1,4 +1,5 @@ import i18n from './i18n'; +import license from './license'; import fa from './fa'; import base64 from './base64'; import themeColor from './theme-color'; @@ -8,6 +9,7 @@ import typescript from './typescript'; export default (lang, locale) => [ i18n(lang, locale), + license(), fa(), base64(), themeColor(), diff --git a/webpack/module/rules/license.ts b/webpack/module/rules/license.ts new file mode 100644 index 0000000000..1795af960d --- /dev/null +++ b/webpack/module/rules/license.ts @@ -0,0 +1,22 @@ +/** + * Inject license + */ + +import * as fs from 'fs'; +const StringReplacePlugin = require('string-replace-webpack-plugin'); + +const license = fs.readFileSync(__dirname + '/../../../LICENSE', 'utf-8') + .replace(/\r\n/g, '\n') + .replace(/(.)\n(.)/g, '$1 $2') + .replace(/(^|\n)(.*?)($|\n)/g, '<p>$2</p>'); + +export default () => ({ + enforce: 'pre', + test: /\.(tag|js)$/, + exclude: /node_modules/, + loader: StringReplacePlugin.replace({ + replacements: [{ + pattern: '%license%', replacement: () => license + }] + }) +});