spec(frontend): aboutページにリポジトリ・フィードバックのURLを表示させる (MisskeyIO#438)
This commit is contained in:
parent
0d5ddc2406
commit
94f5d47e46
|
@ -1176,6 +1176,11 @@ hideRepliesToOthersInTimelineAll: "Hide replies to others from everyone you foll
|
|||
confirmShowRepliesAll: "This operation is irreversible. Would you really like to show replies to others from everyone you follow in your timeline?"
|
||||
confirmHideRepliesAll: "This operation is irreversible. Would you really like to hide replies to others from everyone you follow in your timeline?"
|
||||
externalServices: "External Services"
|
||||
sourcecode: "Source code"
|
||||
repositoryUrl: "Repository URL"
|
||||
feedback: "Feedback"
|
||||
feedbackUrl: "Feedback URL"
|
||||
supportThisInstance: "Support {name}"
|
||||
impressum: "Impressum"
|
||||
impressumUrl: "Impressum URL"
|
||||
impressumDescription: "In some countries, like germany, the inclusion of operator contact information (an Impressum) is legally required for commercial websites."
|
||||
|
|
|
@ -4720,6 +4720,26 @@ export interface Locale extends ILocale {
|
|||
* 外部サービス
|
||||
*/
|
||||
"externalServices": string;
|
||||
/**
|
||||
* ソースコード
|
||||
*/
|
||||
"sourcecode": string;
|
||||
/**
|
||||
* リポジトリURL
|
||||
*/
|
||||
"repositoryUrl": string;
|
||||
/**
|
||||
* フィードバック
|
||||
*/
|
||||
"feedback": string;
|
||||
/**
|
||||
* フィードバックURL
|
||||
*/
|
||||
"feedbackUrl": string;
|
||||
/**
|
||||
* {name}を支援
|
||||
*/
|
||||
"supportThisInstance": ParameterizedString<"name">;
|
||||
/**
|
||||
* 運営者情報
|
||||
*/
|
||||
|
|
|
@ -1176,6 +1176,11 @@ hideRepliesToOthersInTimelineAll: "TLに現在フォロー中の人全員の返
|
|||
confirmShowRepliesAll: "この操作は元に戻せません。本当にTLに現在フォロー中の人全員の返信を含めるようにしますか?"
|
||||
confirmHideRepliesAll: "この操作は元に戻せません。本当にTLに現在フォロー中の人全員の返信を含めないようにしますか?"
|
||||
externalServices: "外部サービス"
|
||||
sourcecode: "ソースコード"
|
||||
repositoryUrl: "リポジトリURL"
|
||||
feedback: "フィードバック"
|
||||
feedbackUrl: "フィードバックURL"
|
||||
supportThisInstance: "{name}を支援"
|
||||
impressum: "運営者情報"
|
||||
impressumUrl: "運営者情報URL"
|
||||
impressumDescription: "ドイツなどの一部の国と地域では表示が義務付けられています(Impressum)。"
|
||||
|
|
|
@ -1174,6 +1174,11 @@ hideRepliesToOthersInTimelineAll: "타임라인에 현재 팔로우 중인 사
|
|||
confirmShowRepliesAll: "이 조작은 되돌릴 수 없습니다. 정말로 타임라인에 현재 팔로우 중인 사람 전원의 답글이 나오게 하시겠습니까?"
|
||||
confirmHideRepliesAll: "이 조작은 되돌릴 수 없습니다. 정말로 타임라인에 현재 팔로우 중인 사람 전원의 답글이 나오지 않게 하시겠습니까?"
|
||||
externalServices: "외부 서비스"
|
||||
sourcecode: "소스코드"
|
||||
repositoryUrl: "저장소 URL"
|
||||
feedback: "피드백"
|
||||
feedbackUrl: "피드백 URL"
|
||||
supportThisInstance: "{name} 지원하기"
|
||||
impressum: "운영자 정보"
|
||||
impressumUrl: "운영자 정보 URL"
|
||||
impressumDescription: "독일 등의 일부 나라와 지역에서는 꼭 표시해야 합니다(Impressum)."
|
||||
|
|
|
@ -104,8 +104,8 @@ export const paramDef = {
|
|||
swPublicKey: { type: 'string', nullable: true },
|
||||
swPrivateKey: { type: 'string', nullable: true },
|
||||
tosUrl: { type: 'string', nullable: true },
|
||||
repositoryUrl: { type: 'string' },
|
||||
feedbackUrl: { type: 'string' },
|
||||
repositoryUrl: { type: 'string', nullable: true },
|
||||
feedbackUrl: { type: 'string', nullable: true },
|
||||
impressumUrl: { type: 'string', nullable: true },
|
||||
privacyPolicyUrl: { type: 'string', nullable: true },
|
||||
useObjectStorage: { type: 'boolean' },
|
||||
|
@ -437,7 +437,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
|||
}
|
||||
|
||||
if (ps.repositoryUrl !== undefined) {
|
||||
set.repositoryUrl = ps.repositoryUrl;
|
||||
set.repositoryUrl = ps.repositoryUrl ?? 'https://github.com/misskey-dev/misskey';
|
||||
}
|
||||
|
||||
if (ps.feedbackUrl !== undefined) {
|
||||
|
|
|
@ -32,6 +32,21 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
<div v-html="i18n.tsx.poweredByMisskeyDescription({ name: instance.name ?? host })">
|
||||
</div>
|
||||
<FormLink to="/about-misskey">{{ i18n.ts.aboutMisskey }}</FormLink>
|
||||
<FormLink :to="instance.repositoryUrl" external>
|
||||
<template #icon><i class="ti ti-code"></i></template>
|
||||
{{ i18n.ts.sourcecode }}
|
||||
<template #suffix>GitHub</template>
|
||||
</FormLink>
|
||||
<FormLink :to="instance.feedbackUrl" external>
|
||||
<template #icon><i class="ti ti-message"></i></template>
|
||||
{{ i18n.ts.feedback }}
|
||||
<template #suffix>Helpdesk</template>
|
||||
</FormLink>
|
||||
<FormLink to="https://misskeyhq.fanbox.cc" external>
|
||||
<template #icon><i class="ti ti-pig-money"></i></template>
|
||||
{{ i18n.tsx.supportThisInstance({ name: instance.name ?? host }) }}
|
||||
<template #suffix>pixivFANBOX</template>
|
||||
</FormLink>
|
||||
</div>
|
||||
</FormSection>
|
||||
|
||||
|
|
|
@ -76,6 +76,16 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
<template #caption>{{ i18n.ts.instanceDefaultThemeDescription }}</template>
|
||||
</MkTextarea>
|
||||
|
||||
<MkInput v-model="repositoryUrl" type="url">
|
||||
<template #prefix><i class="ti ti-link"></i></template>
|
||||
<template #label>{{ i18n.ts.repositoryUrl }}</template>
|
||||
</MkInput>
|
||||
|
||||
<MkInput v-model="feedbackUrl" type="url">
|
||||
<template #prefix><i class="ti ti-link"></i></template>
|
||||
<template #label>{{ i18n.ts.feedbackUrl }}</template>
|
||||
</MkInput>
|
||||
|
||||
<MkTextarea v-model="manifestJsonOverride">
|
||||
<template #label>{{ i18n.ts._serverSettings.manifestJsonOverride }}</template>
|
||||
</MkTextarea>
|
||||
|
@ -120,6 +130,8 @@ const defaultDarkTheme = ref<string | null>(null);
|
|||
const serverErrorImageUrl = ref<string | null>(null);
|
||||
const infoImageUrl = ref<string | null>(null);
|
||||
const notFoundImageUrl = ref<string | null>(null);
|
||||
const repositoryUrl = ref<string | null>(null);
|
||||
const feedbackUrl = ref<string | null>(null);
|
||||
const manifestJsonOverride = ref<string>('{}');
|
||||
|
||||
async function init() {
|
||||
|
@ -135,6 +147,8 @@ async function init() {
|
|||
serverErrorImageUrl.value = meta.serverErrorImageUrl;
|
||||
infoImageUrl.value = meta.infoImageUrl;
|
||||
notFoundImageUrl.value = meta.notFoundImageUrl;
|
||||
repositoryUrl.value = meta.repositoryUrl;
|
||||
feedbackUrl.value = meta.feedbackUrl;
|
||||
manifestJsonOverride.value = meta.manifestJsonOverride === '' ? '{}' : JSON.stringify(JSON.parse(meta.manifestJsonOverride), null, '\t');
|
||||
}
|
||||
|
||||
|
@ -151,6 +165,8 @@ function save() {
|
|||
infoImageUrl: infoImageUrl.value === '' ? null : infoImageUrl.value,
|
||||
notFoundImageUrl: notFoundImageUrl.value === '' ? null : notFoundImageUrl.value,
|
||||
serverErrorImageUrl: serverErrorImageUrl.value === '' ? null : serverErrorImageUrl.value,
|
||||
repositoryUrl: repositoryUrl.value === '' ? null : repositoryUrl.value,
|
||||
feedbackUrl: feedbackUrl.value === '' ? null : feedbackUrl.value,
|
||||
manifestJsonOverride: manifestJsonOverride.value === '' ? '{}' : JSON.stringify(JSON5.parse(manifestJsonOverride.value)),
|
||||
}).then(() => {
|
||||
fetchInstance();
|
||||
|
|
|
@ -8909,8 +8909,8 @@ export type operations = {
|
|||
swPublicKey?: string | null;
|
||||
swPrivateKey?: string | null;
|
||||
tosUrl?: string | null;
|
||||
repositoryUrl?: string;
|
||||
feedbackUrl?: string;
|
||||
repositoryUrl?: string | null;
|
||||
feedbackUrl?: string | null;
|
||||
impressumUrl?: string | null;
|
||||
privacyPolicyUrl?: string | null;
|
||||
useObjectStorage?: boolean;
|
||||
|
|
Loading…
Reference in New Issue