requested fixes!

This commit is contained in:
piuvas 2024-09-22 17:32:20 -03:00
parent 0f2e30f5ba
commit 4ee2973303
No known key found for this signature in database
GPG key ID: 82743F52454C621D
9 changed files with 21 additions and 15 deletions

View file

@ -1451,9 +1451,10 @@ _serverRules:
description: "A set of rules to be displayed before registration. Setting a summary of the Terms of Service is recommended." description: "A set of rules to be displayed before registration. Setting a summary of the Terms of Service is recommended."
_serverSettings: _serverSettings:
iconUrl: "Icon URL" iconUrl: "Icon URL"
appIconDescription: "Specifies the icon to use when {host} is displayed as an app."
sidebarLogoDescription: "Specifies the logo to use instead of the regular icon in high definition, dynamic-width scenarios." sidebarLogoDescription: "Specifies the logo to use instead of the regular icon in high definition, dynamic-width scenarios."
sidebarLogoUsageExample: "E.g. In the sidebar, to visitors and in the \"About\" page." sidebarLogoUsageExample: "E.g. In the sidebar, to visitors and in the \"About\" page."
sidebarLogoHint: "Sidebar/Logo"
appIconDescription: "Specifies the icon to use when {host} is displayed as an app."
appIconUsageExample: "E.g. As PWA, or when displayed as a home screen bookmark on a phone" appIconUsageExample: "E.g. As PWA, or when displayed as a home screen bookmark on a phone"
appIconStyleRecommendation: "As the icon may be cropped to a square or circle, an icon with colored margin around the content is recommended." appIconStyleRecommendation: "As the icon may be cropped to a square or circle, an icon with colored margin around the content is recommended."
appIconResolutionMustBe: "The minimum resolution is {resolution}." appIconResolutionMustBe: "The minimum resolution is {resolution}."

12
locales/index.d.ts vendored
View file

@ -5776,6 +5776,18 @@ export interface Locale extends ILocale {
* URL * URL
*/ */
"iconUrl": string; "iconUrl": string;
/**
* 使
*/
"sidebarLogoDescription": string;
/**
* About
*/
"sidebarLogoUsageExample": string;
/**
* /
*/
"sidebarLogoHint": string;
/** /**
* {host} * {host}
*/ */

View file

@ -1459,6 +1459,9 @@ _serverRules:
_serverSettings: _serverSettings:
iconUrl: "アイコン画像のURL" iconUrl: "アイコン画像のURL"
sidebarLogoDescription: "高精細、ダイナミック幅のシナリオで通常のアイコンの代わりに使用するロゴを指定します。"
sidebarLogoUsageExample: "例サイドバー、訪問者用、「About 」ページ"
sidebarLogoHint: "サイドバー/ロゴ"
appIconDescription: "{host}がアプリとして表示される際のアイコンを指定します。" appIconDescription: "{host}がアプリとして表示される際のアイコンを指定します。"
appIconUsageExample: "例: PWAや、スマートフォンのホーム画面にブックマークとして追加された時など" appIconUsageExample: "例: PWAや、スマートフォンのホーム画面にブックマークとして追加された時など"
appIconStyleRecommendation: "円形もしくは角丸にクロップされる場合があるため、塗り潰された余白のある背景を持つことが推奨されます。" appIconStyleRecommendation: "円形もしくは角丸にクロップされる場合があるため、塗り潰された余白のある背景を持つことが推奨されます。"

View file

@ -8,11 +8,9 @@ export class SidebarLogo1727027985575 {
async up(queryRunner) { async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" ADD "sidebarLogoUrl" character varying(1024)`); await queryRunner.query(`ALTER TABLE "meta" ADD "sidebarLogoUrl" character varying(1024)`);
await queryRunner.query(`ALTER TABLE "instance" ADD "sidebarLogoUrl" character varying(1024)`);
} }
async down(queryRunner) { async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "sidebarLogoUrl"`); await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "sidebarLogoUrl"`);
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "sidebarLogoUrl"`);
} }
} }

View file

@ -139,11 +139,6 @@ export class MiInstance {
}) })
public iconUrl: string | null; public iconUrl: string | null;
@Column('varchar', {
length: 256, nullable: true,
})
public sidebarLogoUrl: string | null;
@Column('varchar', { @Column('varchar', {
length: 256, nullable: true, length: 256, nullable: true,
}) })

View file

@ -6,8 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template> <template>
<div v-if="instance" :class="$style.root"> <div v-if="instance" :class="$style.root">
<div :class="[$style.main, $style.panel]"> <div :class="[$style.main, $style.panel]">
<img v-if="instance.sidebarLogoUrl" :src="instance.sidebarLogoUrl" alt="" :class="$style.wideIcon"/> <img :src="instance.sidebarLogoUrl || instance.iconUrl || '/apple-touch-icon.png'" alt="" :class="instance.sidebarLogoUrl ? $style.wideIcon : $style.mainIcon"/>
<img v-if="!instance.sidebarLogoUrl" :src="instance.sidebarLogoUrl || instance.iconUrl || '/apple-touch-icon.png'" alt="" :class="$style.mainIcon"/>
<button class="_button _acrylic" :class="$style.mainMenu" @click="showMenu"><i class="ti ti-dots"></i></button> <button class="_button _acrylic" :class="$style.mainMenu" @click="showMenu"><i class="ti ti-dots"></i></button>
<div :class="$style.mainFg"> <div :class="$style.mainFg">
<h1 :class="$style.mainTitle"> <h1 :class="$style.mainTitle">

View file

@ -17,7 +17,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkInput v-model="sidebarLogoUrl" type="url"> <MkInput v-model="sidebarLogoUrl" type="url">
<template #prefix><i class="ti ti-link"></i></template> <template #prefix><i class="ti ti-link"></i></template>
<template #label>{{ i18n.ts._serverSettings.iconUrl }} (Sidebar/Logo)</template> <template #label>{{ i18n.ts._serverSettings.iconUrl }} ({{ i18n.ts._serverSettings.sidebarLogoHint }})</template>
<template #caption> <template #caption>
<div>{{ i18n.ts._serverSettings.sidebarLogoDescription }}</div> <div>{{ i18n.ts._serverSettings.sidebarLogoDescription }}</div>
<div>({{ i18n.ts._serverSettings.sidebarLogoUsageExample }})</div> <div>({{ i18n.ts._serverSettings.sidebarLogoUsageExample }})</div>

View file

@ -8,8 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div :class="$style.top"> <div :class="$style.top">
<div :class="$style.banner" :style="{ backgroundImage: `url(${ instance.bannerUrl })` }"></div> <div :class="$style.banner" :style="{ backgroundImage: `url(${ instance.bannerUrl })` }"></div>
<button class="_button" :class="$style.instance" @click="openInstanceMenu"> <button class="_button" :class="$style.instance" @click="openInstanceMenu">
<img v-if="instance.sidebarLogoUrl" :src="instance.sidebarLogoUrl" alt="" :class="$style.wideInstanceIcon"/> <img :src="instance.sidebarLogoUrl || instance.iconUrl || '/apple-touch-icon.png'" alt="" :class="instance.sidebarLogoUrl ? $style.wideInstanceIcon : $style.instanceIcon"/>
<img v-if="!instance.sidebarLogoUrl" :src="instance.sidebarLogoUrl || instance.iconUrl || instance.faviconUrl || '/favicon.ico'" alt="" :class="$style.instanceIcon"/>
</button> </button>
</div> </div>
<div :class="$style.middle"> <div :class="$style.middle">

View file

@ -9,8 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div :class="$style.top"> <div :class="$style.top">
<div :class="$style.banner" :style="{ backgroundImage: `url(${ instance.bannerUrl })` }"></div> <div :class="$style.banner" :style="{ backgroundImage: `url(${ instance.bannerUrl })` }"></div>
<button v-tooltip.noDelay.right="instance.name ?? i18n.ts.instance" class="_button" :class="$style.instance" @click="openInstanceMenu"> <button v-tooltip.noDelay.right="instance.name ?? i18n.ts.instance" class="_button" :class="$style.instance" @click="openInstanceMenu">
<img v-if="instance.sidebarLogoUrl && defaultStore.state.menuDisplay !== 'sideIcon'" :src="instance.sidebarLogoUrl" alt="" :class="$style.wideInstanceIcon"/> <img :src="instance.sidebarLogoUrl || instance.iconUrl || '/apple-touch-icon.png'" alt="" :class="instance.sidebarLogoUrl ? $style.wideInstanceIcon : $style.instanceIcon"/>
<img v-if="!instance.sidebarLogoUrl || defaultStore.state.menuDisplay === 'sideIcon'" :src="instance.iconUrl || instance.faviconUrl || '/favicon.ico'" alt="" :class="$style.instanceIcon"/>
</button> </button>
</div> </div>
<div :class="$style.middle"> <div :class="$style.middle">