Merge branch 'develop' into no-websocket
This commit is contained in:
commit
e67955f6a1
|
@ -4,7 +4,9 @@
|
||||||
-
|
-
|
||||||
|
|
||||||
### Client
|
### Client
|
||||||
-
|
- Feat: マウスでもタイムラインを引っ張って更新できるように
|
||||||
|
- アクセシビリティ設定からオフにすることもできます
|
||||||
|
- Enhance: タイムラインのパフォーマンスを向上
|
||||||
|
|
||||||
### Server
|
### Server
|
||||||
- Enhance: 凍結されたユーザのノートが各種タイムラインで表示されないように `#15775`
|
- Enhance: 凍結されたユーザのノートが各種タイムラインで表示されないように `#15775`
|
||||||
|
|
|
@ -5721,6 +5721,10 @@ export interface Locale extends ILocale {
|
||||||
* デバイス間でインストールしたテーマを同期
|
* デバイス間でインストールしたテーマを同期
|
||||||
*/
|
*/
|
||||||
"enableSyncThemesBetweenDevices": string;
|
"enableSyncThemesBetweenDevices": string;
|
||||||
|
/**
|
||||||
|
* ひっぱって更新
|
||||||
|
*/
|
||||||
|
"enablePullToRefresh": string;
|
||||||
/**
|
/**
|
||||||
* サーバーと接続を確立し、リアルタイムでコンテンツを更新します。通信量とバッテリーの消費が多くなる場合があります。
|
* サーバーと接続を確立し、リアルタイムでコンテンツを更新します。通信量とバッテリーの消費が多くなる場合があります。
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1430,6 +1430,7 @@ _settings:
|
||||||
ifOn: "オンのとき"
|
ifOn: "オンのとき"
|
||||||
ifOff: "オフのとき"
|
ifOff: "オフのとき"
|
||||||
enableSyncThemesBetweenDevices: "デバイス間でインストールしたテーマを同期"
|
enableSyncThemesBetweenDevices: "デバイス間でインストールしたテーマを同期"
|
||||||
|
enablePullToRefresh: "ひっぱって更新"
|
||||||
realtimeMode_description: "サーバーと接続を確立し、リアルタイムでコンテンツを更新します。通信量とバッテリーの消費が多くなる場合があります。"
|
realtimeMode_description: "サーバーと接続を確立し、リアルタイムでコンテンツを更新します。通信量とバッテリーの消費が多くなる場合があります。"
|
||||||
contentsUpdateFrequency: "コンテンツの取得頻度"
|
contentsUpdateFrequency: "コンテンツの取得頻度"
|
||||||
contentsUpdateFrequency_description: "高いほどリアルタイムにコンテンツが更新されますが、パフォーマンスが低下し、通信量とバッテリーの消費が多くなります。"
|
contentsUpdateFrequency_description: "高いほどリアルタイムにコンテンツが更新されますが、パフォーマンスが低下し、通信量とバッテリーの消費が多くなります。"
|
||||||
|
|
|
@ -4,7 +4,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<MkPullToRefresh :refresher="() => reload()">
|
<component :is="prefer.s.enablePullToRefresh ? MkPullToRefresh : 'div'" :refresher="() => reload()">
|
||||||
<MkLoading v-if="paginator.fetching.value"/>
|
<MkLoading v-if="paginator.fetching.value"/>
|
||||||
|
|
||||||
<MkError v-else-if="paginator.error.value" @retry="paginator.init()"/>
|
<MkError v-else-if="paginator.error.value" @retry="paginator.init()"/>
|
||||||
|
@ -38,7 +38,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<MkLoading v-else/>
|
<MkLoading v-else/>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</MkPullToRefresh>
|
</component>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
|
|
@ -4,7 +4,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<MkPullToRefresh :refresher="() => reloadTimeline()">
|
<component :is="prefer.s.enablePullToRefresh ? MkPullToRefresh : 'div'" :refresher="() => reloadTimeline()">
|
||||||
<MkLoading v-if="paginator.fetching.value"/>
|
<MkLoading v-if="paginator.fetching.value"/>
|
||||||
|
|
||||||
<MkError v-else-if="paginator.error.value" @retry="paginator.init()"/>
|
<MkError v-else-if="paginator.error.value" @retry="paginator.init()"/>
|
||||||
|
@ -49,7 +49,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<MkLoading v-else :inline="true"/>
|
<MkLoading v-else :inline="true"/>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</MkPullToRefresh>
|
</component>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
|
|
@ -483,6 +483,14 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
</MkPreferenceContainer>
|
</MkPreferenceContainer>
|
||||||
</SearchMarker>
|
</SearchMarker>
|
||||||
|
|
||||||
|
<SearchMarker :keywords="['swipe', 'pull', 'refresh']">
|
||||||
|
<MkPreferenceContainer k="enablePullToRefresh">
|
||||||
|
<MkSwitch v-model="enablePullToRefresh">
|
||||||
|
<template #label><SearchLabel>{{ i18n.ts._settings.enablePullToRefresh }}</SearchLabel></template>
|
||||||
|
</MkSwitch>
|
||||||
|
</MkPreferenceContainer>
|
||||||
|
</SearchMarker>
|
||||||
|
|
||||||
<SearchMarker :keywords="['keep', 'screen', 'display', 'on']">
|
<SearchMarker :keywords="['keep', 'screen', 'display', 'on']">
|
||||||
<MkPreferenceContainer k="keepScreenOn">
|
<MkPreferenceContainer k="keepScreenOn">
|
||||||
<MkSwitch v-model="keepScreenOn">
|
<MkSwitch v-model="keepScreenOn">
|
||||||
|
@ -813,6 +821,7 @@ const animatedMfm = prefer.model('animatedMfm');
|
||||||
const disableShowingAnimatedImages = prefer.model('disableShowingAnimatedImages');
|
const disableShowingAnimatedImages = prefer.model('disableShowingAnimatedImages');
|
||||||
const keepScreenOn = prefer.model('keepScreenOn');
|
const keepScreenOn = prefer.model('keepScreenOn');
|
||||||
const enableHorizontalSwipe = prefer.model('enableHorizontalSwipe');
|
const enableHorizontalSwipe = prefer.model('enableHorizontalSwipe');
|
||||||
|
const enablePullToRefresh = prefer.model('enablePullToRefresh');
|
||||||
const useNativeUiForVideoAudioPlayer = prefer.model('useNativeUiForVideoAudioPlayer');
|
const useNativeUiForVideoAudioPlayer = prefer.model('useNativeUiForVideoAudioPlayer');
|
||||||
const contextMenu = prefer.model('contextMenu');
|
const contextMenu = prefer.model('contextMenu');
|
||||||
const menuStyle = prefer.model('menuStyle');
|
const menuStyle = prefer.model('menuStyle');
|
||||||
|
@ -871,6 +880,8 @@ watch([
|
||||||
fontSize,
|
fontSize,
|
||||||
useSystemFont,
|
useSystemFont,
|
||||||
makeEveryTextElementsSelectable,
|
makeEveryTextElementsSelectable,
|
||||||
|
enableHorizontalSwipe,
|
||||||
|
enablePullToRefresh,
|
||||||
], async () => {
|
], async () => {
|
||||||
await reloadAsk({ reason: i18n.ts.reloadToApplySetting, unison: true });
|
await reloadAsk({ reason: i18n.ts.reloadToApplySetting, unison: true });
|
||||||
});
|
});
|
||||||
|
|
|
@ -303,6 +303,9 @@ export const PREF_DEF = {
|
||||||
enableHorizontalSwipe: {
|
enableHorizontalSwipe: {
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
|
enablePullToRefresh: {
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
useNativeUiForVideoAudioPlayer: {
|
useNativeUiForVideoAudioPlayer: {
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue