tweak f18e1e21
This commit is contained in:
parent
c6b697cf2a
commit
6b419e9d1f
|
@ -8,7 +8,7 @@ import { compareVersions } from 'compare-versions';
|
|||
import widgets from '@/widgets/index.js';
|
||||
import directives from '@/directives/index.js';
|
||||
import components from '@/components/index.js';
|
||||
import { version, ui, lang, updateLocale } from '@/config.js';
|
||||
import { version, basedMisskeyVersion, ui, lang, updateLocale } from '@/config.js';
|
||||
import { applyTheme } from '@/scripts/theme.js';
|
||||
import { isDeviceDarkmode } from '@/scripts/is-device-darkmode.js';
|
||||
import { i18n, updateI18n } from '@/i18n.js';
|
||||
|
@ -72,6 +72,7 @@ export async function common(createVue: () => App<Element>) {
|
|||
|
||||
//#region クライアントが更新されたかチェック
|
||||
const lastVersion = miLocalStorage.getItem('lastVersion');
|
||||
const lastBasedMisskeyVersion = miLocalStorage.getItem('lastBasedMisskeyVersion');
|
||||
if (lastVersion !== version) {
|
||||
miLocalStorage.setItem('lastVersion', version);
|
||||
|
||||
|
@ -84,11 +85,23 @@ export async function common(createVue: () => App<Element>) {
|
|||
}
|
||||
} catch (err) { /* empty */ }
|
||||
}
|
||||
if (lastBasedMisskeyVersion !== basedMisskeyVersion) {
|
||||
miLocalStorage.setItem('lastBasedMisskeyVersion', basedMisskeyVersion);
|
||||
|
||||
// テーマリビルドするため
|
||||
miLocalStorage.removeItem('theme');
|
||||
|
||||
try { // 変なバージョン文字列来るとcompareVersionsでエラーになるため
|
||||
if (lastBasedMisskeyVersion != null && compareVersions(basedMisskeyVersion, lastBasedMisskeyVersion) === 1) {
|
||||
isClientUpdated = true;
|
||||
}
|
||||
} catch (err) { /* empty */ }
|
||||
}
|
||||
//#endregion
|
||||
|
||||
//#region Detect language & fetch translations
|
||||
const localeVersion = miLocalStorage.getItem('localeVersion');
|
||||
const localeOutdated = (localeVersion == null || localeVersion !== version);
|
||||
const localeOutdated = (localeVersion == null || localeVersion !== version || lastBasedMisskeyVersion !== basedMisskeyVersion);
|
||||
if (localeOutdated) {
|
||||
const res = await window.fetch(`/assets/locales/${lang}.${version}.json`);
|
||||
if (res.status === 200) {
|
||||
|
|
|
@ -7,7 +7,10 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
<MkModal v-if="!showChangelog" ref="modal" :zPriority="'middle'" @closed="$emit('closed')">
|
||||
<div :class="$style.root">
|
||||
<div :class="$style.title"><MkSparkle>{{ i18n.ts.misskeyUpdated }}</MkSparkle></div>
|
||||
<div :class="$style.version">✨{{ version }}🚀</div>
|
||||
<div :class="$style.version">
|
||||
<div>✨{{ version }}🚀</div>
|
||||
<div style="font-size: 0.8em;">{{ basedMisskeyVersion }}</div>
|
||||
</div>
|
||||
<MkButton rounded full @click="showChangelog = true; modal.value.close();">{{ i18n.ts.whatIsNew }}</MkButton>
|
||||
<MkButton :class="$style.gotIt" primary rounded full @click="close">{{ i18n.ts.gotIt }}</MkButton>
|
||||
</div>
|
||||
|
@ -15,7 +18,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
<MkModal v-else-if="showChangelog" ref="modal" :zPriority="'middle'" @closed="$emit('closed')">
|
||||
<div :class="$style.root">
|
||||
<div :class="$style.title" style="margin: 0 0 1.5em; font-weight: normal;">{{ i18n.ts.whatIsNew }}</div>
|
||||
<MkButton rounded full @click="whatIsNew">Misskey</MkButton>
|
||||
<MkButton rounded full @click="whatIsNewMisskey">Misskey</MkButton>
|
||||
<MkButton rounded full style="margin: 8px 0 0;" @click="whatIsNewCherryPick">CherryPick</MkButton>
|
||||
<MkButton :class="$style.gotIt" primary rounded full @click="close">{{ i18n.ts.ok }}</MkButton>
|
||||
</div>
|
||||
|
@ -27,7 +30,7 @@ import { onMounted, shallowRef } from 'vue';
|
|||
import MkModal from '@/components/MkModal.vue';
|
||||
import MkButton from '@/components/MkButton.vue';
|
||||
import MkSparkle from '@/components/MkSparkle.vue';
|
||||
import { version } from '@/config.js';
|
||||
import { version, basedMisskeyVersion } from '@/config.js';
|
||||
import { i18n } from '@/i18n.js';
|
||||
import { confetti } from '@/scripts/confetti.js';
|
||||
import { unisonReload } from '@/scripts/unison-reload.js';
|
||||
|
@ -39,9 +42,9 @@ let showChangelog = $ref(false);
|
|||
|
||||
const modal = shallowRef<InstanceType<typeof MkModal>>();
|
||||
|
||||
const whatIsNew = () => {
|
||||
const whatIsNewMisskey = () => {
|
||||
// modal.value.close();
|
||||
window.open(`https://misskey-hub.net/docs/releases.html#_${version.replace(/\./g, '-')}`, '_blank');
|
||||
window.open(`https://misskey-hub.net/docs/releases.html#_${basedMisskeyVersion.replace(/\./g, '-')}`, '_blank');
|
||||
};
|
||||
|
||||
const whatIsNewCherryPick = () => {
|
||||
|
|
|
@ -7,6 +7,7 @@ type Keys =
|
|||
'v' |
|
||||
'basedMisskeyVersion' |
|
||||
'lastVersion' |
|
||||
'lastBasedMisskeyVersion' |
|
||||
'instance' |
|
||||
'account' |
|
||||
'accounts' |
|
||||
|
|
Loading…
Reference in a new issue