upd: add boost settings

This commit is contained in:
Marie 2024-01-01 20:34:18 +01:00
parent b928446ddd
commit c9ca1dd3f1
No known key found for this signature in database
GPG key ID: 56569BBE47D2C828
8 changed files with 233 additions and 180 deletions

View file

@ -399,6 +399,9 @@ function smallerVisibility(a: Visibility | string, b: Visibility | string): Visi
} }
function boostVisibility() { function boostVisibility() {
if (!defaultStore.state.showVisibilitySelectorOnBoost) {
renote(defaultStore.state.visibilityOnBoost);
} else {
os.popupMenu([ os.popupMenu([
{ {
type: 'button', type: 'button',
@ -432,6 +435,7 @@ function boostVisibility() {
renote('local'); renote('local');
}, },
}], renoteButton.value); }], renoteButton.value);
}
} }
function renote(visibility: Visibility | 'local') { function renote(visibility: Visibility | 'local') {

View file

@ -441,6 +441,9 @@ function smallerVisibility(a: Visibility | string, b: Visibility | string): Visi
} }
function boostVisibility() { function boostVisibility() {
if (!defaultStore.state.showVisibilitySelectorOnBoost) {
renote(defaultStore.state.visibilityOnBoost);
} else {
os.popupMenu([ os.popupMenu([
{ {
type: 'button', type: 'button',
@ -474,6 +477,7 @@ function boostVisibility() {
renote('local'); renote('local');
}, },
}], renoteButton.value); }], renoteButton.value);
}
} }
function renote(visibility: Visibility | 'local') { function renote(visibility: Visibility | 'local') {

View file

@ -269,6 +269,9 @@ watch(() => props.expandAllCws, (expandAllCws) => {
}); });
function boostVisibility() { function boostVisibility() {
if (!defaultStore.state.showVisibilitySelectorOnBoost) {
renote(defaultStore.state.visibilityOnBoost);
} else {
os.popupMenu([ os.popupMenu([
{ {
type: 'button', type: 'button',
@ -302,6 +305,7 @@ function boostVisibility() {
renote('local'); renote('local');
}, },
}], renoteButton.value); }], renoteButton.value);
}
} }
function renote(visibility: 'public' | 'home' | 'followers' | 'specified' | 'local') { function renote(visibility: 'public' | 'home' | 'followers' | 'specified' | 'local') {

View file

@ -400,6 +400,9 @@ function smallerVisibility(a: Visibility | string, b: Visibility | string): Visi
} }
function boostVisibility() { function boostVisibility() {
if (!defaultStore.state.showVisibilitySelectorOnBoost) {
renote(defaultStore.state.visibilityOnBoost);
} else {
os.popupMenu([ os.popupMenu([
{ {
type: 'button', type: 'button',
@ -433,6 +436,7 @@ function boostVisibility() {
renote('local'); renote('local');
}, },
}], renoteButton.value); }], renoteButton.value);
}
} }
function renote(visibility: Visibility | 'local') { function renote(visibility: Visibility | 'local') {

View file

@ -449,6 +449,9 @@ function smallerVisibility(a: Visibility | string, b: Visibility | string): Visi
} }
function boostVisibility() { function boostVisibility() {
if (!defaultStore.state.showVisibilitySelectorOnBoost) {
renote(defaultStore.state.visibilityOnBoost);
} else {
os.popupMenu([ os.popupMenu([
{ {
type: 'button', type: 'button',
@ -482,6 +485,7 @@ function boostVisibility() {
renote('local'); renote('local');
}, },
}], renoteButton.value); }], renoteButton.value);
}
} }
function renote(visibility: Visibility | 'local') { function renote(visibility: Visibility | 'local') {

View file

@ -278,6 +278,9 @@ watch(() => props.expandAllCws, (expandAllCws) => {
}); });
function boostVisibility() { function boostVisibility() {
if (!defaultStore.state.showVisibilitySelectorOnBoost) {
renote(defaultStore.state.visibilityOnBoost);
} else {
os.popupMenu([ os.popupMenu([
{ {
type: 'button', type: 'button',
@ -311,6 +314,7 @@ function boostVisibility() {
renote('local'); renote('local');
}, },
}], renoteButton.value); }], renoteButton.value);
}
} }
function renote(visibility: 'public' | 'home' | 'followers' | 'specified' | 'local') { function renote(visibility: 'public' | 'home' | 'followers' | 'specified' | 'local') {

View file

@ -190,6 +190,23 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #caption>{{ i18n.ts.numberOfPageCacheDescription }}</template> <template #caption>{{ i18n.ts.numberOfPageCacheDescription }}</template>
</MkRange> </MkRange>
<MkFolder>
<template #label>Boost Settings</template>
<div class="_gaps_m">
<MkSwitch v-model="showVisibilitySelectorOnBoost">
Disable Visibility Selector
<template #caption>Disables the visiblity selector when clicking boost and uses the default visiblity defined</template>
</MkSwitch>
<MkSelect v-model="visibilityOnBoost">
<template #label>Default boost visibility</template>
<option value="public">{{ i18n.ts._visibility['public'] }}</option>
<option value="home">{{ i18n.ts._visibility['home'] }}</option>
<option value="followers">{{ i18n.ts._visibility['followers'] }}</option>
<option value="local">{{ i18n.ts._timelines.local }}</option>
</MkSelect>
</div>
</MkFolder>
<MkFolder> <MkFolder>
<template #label>{{ i18n.ts.dataSaver }}</template> <template #label>{{ i18n.ts.dataSaver }}</template>
@ -326,6 +343,8 @@ const noteDesign = computed(defaultStore.makeGetterSetter('noteDesign'));
const uncollapseCW = computed(defaultStore.makeGetterSetter('uncollapseCW')); const uncollapseCW = computed(defaultStore.makeGetterSetter('uncollapseCW'));
const expandLongNote = computed(defaultStore.makeGetterSetter('expandLongNote')); const expandLongNote = computed(defaultStore.makeGetterSetter('expandLongNote'));
const enableSeasonalScreenEffect = computed(defaultStore.makeGetterSetter('enableSeasonalScreenEffect')); const enableSeasonalScreenEffect = computed(defaultStore.makeGetterSetter('enableSeasonalScreenEffect'));
const showVisibilitySelectorOnBoost = computed(defaultStore.makeGetterSetter('showVisibilitySelectorOnBoost'));
const visibilityOnBoost = computed(defaultStore.makeGetterSetter('visibilityOnBoost'));
watch(lang, () => { watch(lang, () => {
miLocalStorage.setItem('lang', lang.value as string); miLocalStorage.setItem('lang', lang.value as string);
@ -381,6 +400,8 @@ watch([
keepScreenOn, keepScreenOn,
disableStreamingTimeline, disableStreamingTimeline,
enableSeasonalScreenEffect, enableSeasonalScreenEffect,
showVisibilitySelectorOnBoost,
visibilityOnBoost,
], async () => { ], async () => {
await reloadAsk(); await reloadAsk();
}); });

View file

@ -151,6 +151,14 @@ export const defaultStore = markRaw(new Storage('base', {
where: 'account', where: 'account',
default: true, default: true,
}, },
showVisibilitySelectorOnBoost: {
where: 'account',
default: true,
},
visibilityOnBoost: {
where: 'account',
default: 'public' as 'public' | 'home' | 'followers' | 'local',
},
menu: { menu: {
where: 'deviceAccount', where: 'deviceAccount',