インスタンス情報ページとMisskey情報ページを分離するなど
This commit is contained in:
parent
f0d187f71e
commit
2479f75d8a
@ -387,6 +387,7 @@ tapSecurityKey: "セキュリティーキーにタッチ"
|
|||||||
or: "もしくは"
|
or: "もしくは"
|
||||||
uiLanguage: "UIの表示言語"
|
uiLanguage: "UIの表示言語"
|
||||||
groupInvited: "グループに招待されました"
|
groupInvited: "グループに招待されました"
|
||||||
|
aboutX: "{x}について"
|
||||||
|
|
||||||
_ago:
|
_ago:
|
||||||
unknown: "謎"
|
unknown: "謎"
|
||||||
|
@ -157,7 +157,7 @@ import { faBell, faEnvelope, faLaugh, faComments } from '@fortawesome/free-regul
|
|||||||
import { ResizeObserver } from '@juggle/resize-observer';
|
import { ResizeObserver } from '@juggle/resize-observer';
|
||||||
import { v4 as uuid } from 'uuid';
|
import { v4 as uuid } from 'uuid';
|
||||||
import i18n from './i18n';
|
import i18n from './i18n';
|
||||||
import { host } from './config';
|
import { host, instanceName } from './config';
|
||||||
import { search } from './scripts/search';
|
import { search } from './scripts/search';
|
||||||
import contains from './scripts/contains';
|
import contains from './scripts/contains';
|
||||||
import MkToast from './components/toast.vue';
|
import MkToast from './components/toast.vue';
|
||||||
@ -481,9 +481,14 @@ export default Vue.extend({
|
|||||||
icon: faQuestionCircle,
|
icon: faQuestionCircle,
|
||||||
}, {
|
}, {
|
||||||
type: 'link',
|
type: 'link',
|
||||||
text: this.$t('about'),
|
text: this.$t('aboutX', { x: instanceName || host }),
|
||||||
to: '/about',
|
to: '/about',
|
||||||
icon: faInfoCircle,
|
icon: faInfoCircle,
|
||||||
|
}, {
|
||||||
|
type: 'link',
|
||||||
|
text: this.$t('aboutMisskey'),
|
||||||
|
to: '/about-misskey',
|
||||||
|
icon: faInfoCircle,
|
||||||
}],
|
}],
|
||||||
align: 'left',
|
align: 'left',
|
||||||
fixed: true,
|
fixed: true,
|
||||||
|
@ -3,7 +3,7 @@ declare const _VERSION_: string;
|
|||||||
declare const _ENV_: string;
|
declare const _ENV_: string;
|
||||||
|
|
||||||
const address = new URL(location.href);
|
const address = new URL(location.href);
|
||||||
const siteName = document.querySelector('meta[property="og:site_name"]') as HTMLMetaElement;
|
const siteName = (document.querySelector('meta[property="og:site_name"]') as HTMLMetaElement)?.content;
|
||||||
|
|
||||||
export const host = address.host;
|
export const host = address.host;
|
||||||
export const hostname = address.hostname;
|
export const hostname = address.hostname;
|
||||||
@ -15,4 +15,4 @@ export const langs = _LANGS_;
|
|||||||
export const locale = JSON.parse(localStorage.getItem('locale'));
|
export const locale = JSON.parse(localStorage.getItem('locale'));
|
||||||
export const version = _VERSION_;
|
export const version = _VERSION_;
|
||||||
export const env = _ENV_;
|
export const env = _ENV_;
|
||||||
export const instanceName = siteName && siteName.content ? siteName.content : 'Misskey';
|
export const instanceName = siteName === 'Misskey' ? null : siteName;
|
||||||
|
@ -149,7 +149,7 @@ os.init(async () => {
|
|||||||
store: os.store,
|
store: os.store,
|
||||||
metaInfo: {
|
metaInfo: {
|
||||||
title: null,
|
title: null,
|
||||||
titleTemplate: title => title ? `${title} | ${instanceName}` : instanceName
|
titleTemplate: title => title ? `${title} | ${(instanceName || 'Misskey')}` : (instanceName || 'Misskey')
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
89
src/client/pages/about-misskey.vue
Normal file
89
src/client/pages/about-misskey.vue
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
<template>
|
||||||
|
<div class="znqjceqz">
|
||||||
|
<portal to="icon"><fa :icon="faInfoCircle"/></portal>
|
||||||
|
<portal to="title">{{ $t('aboutMisskey') }}</portal>
|
||||||
|
|
||||||
|
<section class="_card">
|
||||||
|
<div class="_title"><fa :icon="faInfoCircle"/> {{ $t('aboutMisskey') }}</div>
|
||||||
|
<div class="_content">
|
||||||
|
<div style="margin-bottom: 1em;">{{ $t('aboutMisskeyText') }}</div>
|
||||||
|
<div>{{ $t('misskeyMembers') }}</div>
|
||||||
|
<span class="members">
|
||||||
|
<a href="https://github.com/syuilo" target="_blank" class="_link">@syuilo</a>
|
||||||
|
<a href="https://github.com/AyaMorisawa" target="_blank" class="_link">@AyaMorisawa</a>
|
||||||
|
<a href="https://github.com/mei23" target="_blank" class="_link">@mei23</a>
|
||||||
|
<a href="https://github.com/acid-chicken" target="_blank" class="_link">@acid-chicken</a>
|
||||||
|
<a href="https://github.com/tamaina" target="_blank" class="_link">@tamaina</a>
|
||||||
|
<a href="https://github.com/rinsuki" target="_blank" class="_link">@rinsuki</a>
|
||||||
|
</span>
|
||||||
|
<div style="margin-top: 1em;">{{ $t('misskeySource') }}</div>
|
||||||
|
<mk-url url="https://github.com/syuilo/misskey"/>
|
||||||
|
<div style="margin-top: 1em;">{{ $t('misskeyTranslation') }}</div>
|
||||||
|
<mk-url url="https://crowdin.com/project/misskey"/>
|
||||||
|
<div style="margin-top: 1em;">{{ $t('misskeyDonate') }}</div>
|
||||||
|
<mk-url url="https://www.patreon.com/syuilo"/>
|
||||||
|
</div>
|
||||||
|
<div class="_content">
|
||||||
|
<span><mfm text="<motion>❤</motion>"/> {{ $t('patrons') }}</span>
|
||||||
|
<ul>
|
||||||
|
<li>Gargron</li>
|
||||||
|
<li>Satsuki Yanagi</li>
|
||||||
|
<li>noellabo</li>
|
||||||
|
<li>naga_rus</li>
|
||||||
|
<li>Melilot</li>
|
||||||
|
<li>AureoleArk</li>
|
||||||
|
<li>Peter G.</li>
|
||||||
|
<li>motcha</li>
|
||||||
|
<li>Atsuko Tominaga</li>
|
||||||
|
<li>dansup</li>
|
||||||
|
<li>Nokotaro Takeda</li>
|
||||||
|
<li>YUKIMOCHI</li>
|
||||||
|
<li>nanami kan</li>
|
||||||
|
<li>Hekovic</li>
|
||||||
|
<li>wara</li>
|
||||||
|
<li>Takashi Shibuya</li>
|
||||||
|
<li>Noizeman</li>
|
||||||
|
</ul>
|
||||||
|
<span>{{ $t('morePatrons') }}</span>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import Vue from 'vue';
|
||||||
|
import { faInfoCircle } from '@fortawesome/free-solid-svg-icons';
|
||||||
|
import { version } from '../config';
|
||||||
|
import i18n from '../i18n';
|
||||||
|
|
||||||
|
export default Vue.extend({
|
||||||
|
i18n,
|
||||||
|
|
||||||
|
metaInfo() {
|
||||||
|
return {
|
||||||
|
title: this.$t('aboutMisskey') as string
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
version,
|
||||||
|
faInfoCircle
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.znqjceqz {
|
||||||
|
> ._card {
|
||||||
|
> ._content {
|
||||||
|
> .members {
|
||||||
|
> a {
|
||||||
|
margin-right: 0.5em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -20,51 +20,6 @@
|
|||||||
<div><b>Misskey</b><span>v{{ version }}</span></div>
|
<div><b>Misskey</b><span>v{{ version }}</span></div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="_card aboutMisskey">
|
|
||||||
<div class="_title"><fa :icon="faInfoCircle"/> {{ $t('aboutMisskey') }}</div>
|
|
||||||
<div class="_content">
|
|
||||||
<div style="margin-bottom: 1em;">{{ $t('aboutMisskeyText') }}</div>
|
|
||||||
<div>{{ $t('misskeyMembers') }}</div>
|
|
||||||
<span class="members">
|
|
||||||
<a href="https://github.com/syuilo" target="_blank" class="_link">@syuilo</a>
|
|
||||||
<a href="https://github.com/AyaMorisawa" target="_blank" class="_link">@AyaMorisawa</a>
|
|
||||||
<a href="https://github.com/mei23" target="_blank" class="_link">@mei23</a>
|
|
||||||
<a href="https://github.com/acid-chicken" target="_blank" class="_link">@acid-chicken</a>
|
|
||||||
<a href="https://github.com/tamaina" target="_blank" class="_link">@tamaina</a>
|
|
||||||
<a href="https://github.com/rinsuki" target="_blank" class="_link">@rinsuki</a>
|
|
||||||
</span>
|
|
||||||
<div style="margin-top: 1em;">{{ $t('misskeySource') }}</div>
|
|
||||||
<mk-url url="https://github.com/syuilo/misskey"/>
|
|
||||||
<div style="margin-top: 1em;">{{ $t('misskeyTranslation') }}</div>
|
|
||||||
<mk-url url="https://crowdin.com/project/misskey"/>
|
|
||||||
<div style="margin-top: 1em;">{{ $t('misskeyDonate') }}</div>
|
|
||||||
<mk-url url="https://www.patreon.com/syuilo"/>
|
|
||||||
</div>
|
|
||||||
<div class="_content">
|
|
||||||
<span><mfm text="<motion>❤</motion>"/> {{ $t('patrons') }}</span>
|
|
||||||
<ul>
|
|
||||||
<li>Gargron</li>
|
|
||||||
<li>Satsuki Yanagi</li>
|
|
||||||
<li>noellabo</li>
|
|
||||||
<li>naga_rus</li>
|
|
||||||
<li>Melilot</li>
|
|
||||||
<li>AureoleArk</li>
|
|
||||||
<li>Peter G.</li>
|
|
||||||
<li>motcha</li>
|
|
||||||
<li>Atsuko Tominaga</li>
|
|
||||||
<li>dansup</li>
|
|
||||||
<li>Nokotaro Takeda</li>
|
|
||||||
<li>YUKIMOCHI</li>
|
|
||||||
<li>nanami kan</li>
|
|
||||||
<li>Hekovic</li>
|
|
||||||
<li>wara</li>
|
|
||||||
<li>Takashi Shibuya</li>
|
|
||||||
<li>Noizeman</li>
|
|
||||||
</ul>
|
|
||||||
<span>{{ $t('morePatrons') }}</span>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -119,15 +74,5 @@ export default Vue.extend({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
> .aboutMisskey {
|
|
||||||
> ._content {
|
|
||||||
> .members {
|
|
||||||
> a {
|
|
||||||
margin-right: 0.5em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import XSetup from './index.welcome.setup.vue';
|
import XSetup from './index.welcome.setup.vue';
|
||||||
import XEntrance from './index.welcome.entrance.vue';
|
import XEntrance from './index.welcome.entrance.vue';
|
||||||
import { getInstanceName } from '../scripts/get-instance-name';
|
import { instanceName } from '../config';
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
components: {
|
components: {
|
||||||
@ -20,7 +20,7 @@ export default Vue.extend({
|
|||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
instanceName: getInstanceName(),
|
instanceName: instanceName || 'Misskey',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ export const router = new VueRouter({
|
|||||||
{ path: '/@:user/pages/:pageName/view-source', component: page('page-editor/page-editor'), props: route => ({ initUser: route.params.user, initPageName: route.params.pageName }) },
|
{ path: '/@:user/pages/:pageName/view-source', component: page('page-editor/page-editor'), props: route => ({ initUser: route.params.user, initPageName: route.params.pageName }) },
|
||||||
{ path: '/announcements', component: page('announcements') },
|
{ path: '/announcements', component: page('announcements') },
|
||||||
{ path: '/about', component: page('about') },
|
{ path: '/about', component: page('about') },
|
||||||
|
{ path: '/about-misskey', component: page('about-misskey') },
|
||||||
{ path: '/featured', component: page('featured') },
|
{ path: '/featured', component: page('featured') },
|
||||||
{ path: '/docs', component: page('docs') },
|
{ path: '/docs', component: page('docs') },
|
||||||
{ path: '/docs/:doc', component: page('doc'), props: true },
|
{ path: '/docs/:doc', component: page('doc'), props: true },
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
export function getInstanceName() {
|
|
||||||
const siteName = document.querySelector('meta[property="og:site_name"]') as HTMLMetaElement;
|
|
||||||
if (siteName && siteName.content) {
|
|
||||||
return siteName.content;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 'Misskey';
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user