From fb75282ea8c71fd4dfc08c885fe099f2f1e2baba Mon Sep 17 00:00:00 2001 From: Mar0xy Date: Mon, 4 Dec 2023 00:19:34 +0100 Subject: add: choose boost visibility when clicking boost Closes transfem-org/Sharkey#195 --- packages/frontend/src/components/SkNoteSub.vue | 42 ++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) (limited to 'packages/frontend/src/components/SkNoteSub.vue') diff --git a/packages/frontend/src/components/SkNoteSub.vue b/packages/frontend/src/components/SkNoteSub.vue index c537fc902b..cc44f42177 100644 --- a/packages/frontend/src/components/SkNoteSub.vue +++ b/packages/frontend/src/components/SkNoteSub.vue @@ -39,7 +39,7 @@ SPDX-License-Identifier: AGPL-3.0-only class="_button" :class="$style.noteFooterButton" :style="renoted ? 'color: var(--accent) !important;' : ''" - @mousedown="renoted ? undoRenote() : renote()" + @mousedown="renoted ? undoRenote() : boostVisibility()" >

{{ note.renoteCount }}

@@ -261,7 +261,43 @@ watch(() => props.expandAllCws, (expandAllCws) => { let replies: Misskey.entities.Note[] = $ref([]); -function renote() { +function boostVisibility() { + 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-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); +} + +function renote(visibility: 'public' | 'home' | 'followers' | 'specified' | 'local') { pleaseLogin(); showMovedDialog(); @@ -292,6 +328,8 @@ function renote() { os.api('notes/create', { renoteId: props.note.id, + localOnly: visibility === 'local' ? true : false, + visibility: visibility === 'local' ? props.note.visibility : visibility, }).then(() => { os.toast(i18n.ts.renoted); renoted.value = true; -- cgit v1.2.3-freya