mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-05 15:43:09 +02:00
upd: add boost settings
This commit is contained in:
parent
b928446ddd
commit
c9ca1dd3f1
8 changed files with 233 additions and 180 deletions
|
@ -399,39 +399,43 @@ function smallerVisibility(a: Visibility | string, b: Visibility | string): Visi
|
|||
}
|
||||
|
||||
function boostVisibility() {
|
||||
os.popupMenu([
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-globe-hemisphere-west ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['public'],
|
||||
action: () => {
|
||||
renote('public');
|
||||
if (!defaultStore.state.showVisibilitySelectorOnBoost) {
|
||||
renote(defaultStore.state.visibilityOnBoost);
|
||||
} else {
|
||||
os.popupMenu([
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-globe-hemisphere-west ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['public'],
|
||||
action: () => {
|
||||
renote('public');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-house ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['home'],
|
||||
action: () => {
|
||||
renote('home');
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-house ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['home'],
|
||||
action: () => {
|
||||
renote('home');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-lock ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['followers'],
|
||||
action: () => {
|
||||
renote('followers');
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-lock ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['followers'],
|
||||
action: () => {
|
||||
renote('followers');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-planet ph-bold ph-lg',
|
||||
text: i18n.ts._timelines.local,
|
||||
action: () => {
|
||||
renote('local');
|
||||
},
|
||||
}], renoteButton.value);
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-planet ph-bold ph-lg',
|
||||
text: i18n.ts._timelines.local,
|
||||
action: () => {
|
||||
renote('local');
|
||||
},
|
||||
}], renoteButton.value);
|
||||
}
|
||||
}
|
||||
|
||||
function renote(visibility: Visibility | 'local') {
|
||||
|
|
|
@ -441,39 +441,43 @@ function smallerVisibility(a: Visibility | string, b: Visibility | string): Visi
|
|||
}
|
||||
|
||||
function boostVisibility() {
|
||||
os.popupMenu([
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-globe-hemisphere-west ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['public'],
|
||||
action: () => {
|
||||
renote('public');
|
||||
if (!defaultStore.state.showVisibilitySelectorOnBoost) {
|
||||
renote(defaultStore.state.visibilityOnBoost);
|
||||
} else {
|
||||
os.popupMenu([
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-globe-hemisphere-west ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['public'],
|
||||
action: () => {
|
||||
renote('public');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-house ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['home'],
|
||||
action: () => {
|
||||
renote('home');
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-house ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['home'],
|
||||
action: () => {
|
||||
renote('home');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-lock ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['followers'],
|
||||
action: () => {
|
||||
renote('followers');
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-lock ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['followers'],
|
||||
action: () => {
|
||||
renote('followers');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-planet ph-bold ph-lg',
|
||||
text: i18n.ts._timelines.local,
|
||||
action: () => {
|
||||
renote('local');
|
||||
},
|
||||
}], renoteButton.value);
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-planet ph-bold ph-lg',
|
||||
text: i18n.ts._timelines.local,
|
||||
action: () => {
|
||||
renote('local');
|
||||
},
|
||||
}], renoteButton.value);
|
||||
}
|
||||
}
|
||||
|
||||
function renote(visibility: Visibility | 'local') {
|
||||
|
|
|
@ -269,39 +269,43 @@ watch(() => props.expandAllCws, (expandAllCws) => {
|
|||
});
|
||||
|
||||
function boostVisibility() {
|
||||
os.popupMenu([
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-globe-hemisphere-west ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['public'],
|
||||
action: () => {
|
||||
renote('public');
|
||||
if (!defaultStore.state.showVisibilitySelectorOnBoost) {
|
||||
renote(defaultStore.state.visibilityOnBoost);
|
||||
} else {
|
||||
os.popupMenu([
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-globe-hemisphere-west ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['public'],
|
||||
action: () => {
|
||||
renote('public');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-house ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['home'],
|
||||
action: () => {
|
||||
renote('home');
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-house ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['home'],
|
||||
action: () => {
|
||||
renote('home');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-lock ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['followers'],
|
||||
action: () => {
|
||||
renote('followers');
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-lock ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['followers'],
|
||||
action: () => {
|
||||
renote('followers');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-planet ph-bold ph-lg',
|
||||
text: i18n.ts._timelines.local,
|
||||
action: () => {
|
||||
renote('local');
|
||||
},
|
||||
}], renoteButton.value);
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-planet ph-bold ph-lg',
|
||||
text: i18n.ts._timelines.local,
|
||||
action: () => {
|
||||
renote('local');
|
||||
},
|
||||
}], renoteButton.value);
|
||||
}
|
||||
}
|
||||
|
||||
function renote(visibility: 'public' | 'home' | 'followers' | 'specified' | 'local') {
|
||||
|
|
|
@ -400,39 +400,43 @@ function smallerVisibility(a: Visibility | string, b: Visibility | string): Visi
|
|||
}
|
||||
|
||||
function boostVisibility() {
|
||||
os.popupMenu([
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-globe-hemisphere-west ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['public'],
|
||||
action: () => {
|
||||
renote('public');
|
||||
if (!defaultStore.state.showVisibilitySelectorOnBoost) {
|
||||
renote(defaultStore.state.visibilityOnBoost);
|
||||
} else {
|
||||
os.popupMenu([
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-globe-hemisphere-west ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['public'],
|
||||
action: () => {
|
||||
renote('public');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-house ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['home'],
|
||||
action: () => {
|
||||
renote('home');
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-house ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['home'],
|
||||
action: () => {
|
||||
renote('home');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-lock ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['followers'],
|
||||
action: () => {
|
||||
renote('followers');
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-lock ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['followers'],
|
||||
action: () => {
|
||||
renote('followers');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-planet ph-bold ph-lg',
|
||||
text: i18n.ts._timelines.local,
|
||||
action: () => {
|
||||
renote('local');
|
||||
},
|
||||
}], renoteButton.value);
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-planet ph-bold ph-lg',
|
||||
text: i18n.ts._timelines.local,
|
||||
action: () => {
|
||||
renote('local');
|
||||
},
|
||||
}], renoteButton.value);
|
||||
}
|
||||
}
|
||||
|
||||
function renote(visibility: Visibility | 'local') {
|
||||
|
|
|
@ -449,39 +449,43 @@ function smallerVisibility(a: Visibility | string, b: Visibility | string): Visi
|
|||
}
|
||||
|
||||
function boostVisibility() {
|
||||
os.popupMenu([
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-globe-hemisphere-west ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['public'],
|
||||
action: () => {
|
||||
renote('public');
|
||||
if (!defaultStore.state.showVisibilitySelectorOnBoost) {
|
||||
renote(defaultStore.state.visibilityOnBoost);
|
||||
} else {
|
||||
os.popupMenu([
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-globe-hemisphere-west ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['public'],
|
||||
action: () => {
|
||||
renote('public');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-house ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['home'],
|
||||
action: () => {
|
||||
renote('home');
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-house ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['home'],
|
||||
action: () => {
|
||||
renote('home');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-lock ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['followers'],
|
||||
action: () => {
|
||||
renote('followers');
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-lock ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['followers'],
|
||||
action: () => {
|
||||
renote('followers');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-planet ph-bold ph-lg',
|
||||
text: i18n.ts._timelines.local,
|
||||
action: () => {
|
||||
renote('local');
|
||||
},
|
||||
}], renoteButton.value);
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-planet ph-bold ph-lg',
|
||||
text: i18n.ts._timelines.local,
|
||||
action: () => {
|
||||
renote('local');
|
||||
},
|
||||
}], renoteButton.value);
|
||||
}
|
||||
}
|
||||
|
||||
function renote(visibility: Visibility | 'local') {
|
||||
|
|
|
@ -278,39 +278,43 @@ watch(() => props.expandAllCws, (expandAllCws) => {
|
|||
});
|
||||
|
||||
function boostVisibility() {
|
||||
os.popupMenu([
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-globe-hemisphere-west ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['public'],
|
||||
action: () => {
|
||||
renote('public');
|
||||
if (!defaultStore.state.showVisibilitySelectorOnBoost) {
|
||||
renote(defaultStore.state.visibilityOnBoost);
|
||||
} else {
|
||||
os.popupMenu([
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-globe-hemisphere-west ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['public'],
|
||||
action: () => {
|
||||
renote('public');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-house ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['home'],
|
||||
action: () => {
|
||||
renote('home');
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-house ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['home'],
|
||||
action: () => {
|
||||
renote('home');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-lock ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['followers'],
|
||||
action: () => {
|
||||
renote('followers');
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-lock ph-bold ph-lg',
|
||||
text: i18n.ts._visibility['followers'],
|
||||
action: () => {
|
||||
renote('followers');
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-planet ph-bold ph-lg',
|
||||
text: i18n.ts._timelines.local,
|
||||
action: () => {
|
||||
renote('local');
|
||||
},
|
||||
}], renoteButton.value);
|
||||
{
|
||||
type: 'button',
|
||||
icon: 'ph-planet ph-bold ph-lg',
|
||||
text: i18n.ts._timelines.local,
|
||||
action: () => {
|
||||
renote('local');
|
||||
},
|
||||
}], renoteButton.value);
|
||||
}
|
||||
}
|
||||
|
||||
function renote(visibility: 'public' | 'home' | 'followers' | 'specified' | 'local') {
|
||||
|
|
|
@ -190,6 +190,23 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
<template #caption>{{ i18n.ts.numberOfPageCacheDescription }}</template>
|
||||
</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>
|
||||
<template #label>{{ i18n.ts.dataSaver }}</template>
|
||||
|
||||
|
@ -326,6 +343,8 @@ const noteDesign = computed(defaultStore.makeGetterSetter('noteDesign'));
|
|||
const uncollapseCW = computed(defaultStore.makeGetterSetter('uncollapseCW'));
|
||||
const expandLongNote = computed(defaultStore.makeGetterSetter('expandLongNote'));
|
||||
const enableSeasonalScreenEffect = computed(defaultStore.makeGetterSetter('enableSeasonalScreenEffect'));
|
||||
const showVisibilitySelectorOnBoost = computed(defaultStore.makeGetterSetter('showVisibilitySelectorOnBoost'));
|
||||
const visibilityOnBoost = computed(defaultStore.makeGetterSetter('visibilityOnBoost'));
|
||||
|
||||
watch(lang, () => {
|
||||
miLocalStorage.setItem('lang', lang.value as string);
|
||||
|
@ -381,6 +400,8 @@ watch([
|
|||
keepScreenOn,
|
||||
disableStreamingTimeline,
|
||||
enableSeasonalScreenEffect,
|
||||
showVisibilitySelectorOnBoost,
|
||||
visibilityOnBoost,
|
||||
], async () => {
|
||||
await reloadAsk();
|
||||
});
|
||||
|
|
|
@ -151,6 +151,14 @@ export const defaultStore = markRaw(new Storage('base', {
|
|||
where: 'account',
|
||||
default: true,
|
||||
},
|
||||
showVisibilitySelectorOnBoost: {
|
||||
where: 'account',
|
||||
default: true,
|
||||
},
|
||||
visibilityOnBoost: {
|
||||
where: 'account',
|
||||
default: 'public' as 'public' | 'home' | 'followers' | 'local',
|
||||
},
|
||||
|
||||
menu: {
|
||||
where: 'deviceAccount',
|
||||
|
|
Loading…
Reference in a new issue