summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components
diff options
context:
space:
mode:
authorMarie <github@yuugi.dev>2025-05-08 19:47:18 +0200
committerMarie <github@yuugi.dev>2025-05-08 19:47:18 +0200
commitb753b2ea3aa34f60a0e38a4e7cf29ba3ec6db690 (patch)
tree38f4089144c8348edbaba9c90545b23a12ace62c /packages/frontend/src/components
parentmerge: merge the two post-form menus (!995) (diff)
downloadsharkey-b753b2ea3aa34f60a0e38a4e7cf29ba3ec6db690.tar.gz
sharkey-b753b2ea3aa34f60a0e38a4e7cf29ba3ec6db690.tar.bz2
sharkey-b753b2ea3aa34f60a0e38a4e7cf29ba3ec6db690.zip
add poll edit warning
Diffstat (limited to 'packages/frontend/src/components')
-rw-r--r--packages/frontend/src/components/MkPostForm.vue11
1 files changed, 11 insertions, 0 deletions
diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue
index 5f4e40d513..ef3dafb593 100644
--- a/packages/frontend/src/components/MkPostForm.vue
+++ b/packages/frontend/src/components/MkPostForm.vue
@@ -186,6 +186,7 @@ const posted = ref(false);
const text = ref(props.initialText ?? '');
const files = ref(props.initialFiles ?? []);
const poll = ref<PollEditorModelValue | null>(null);
+const initialPoll = ref<PollEditorModelValue | null>(null);
const useCw = ref<boolean>(!!props.initialCw);
const showPreview = ref(store.s.showPreview);
watch(showPreview, () => store.set('showPreview', showPreview.value));
@@ -978,6 +979,15 @@ async function post(ev?: MouseEvent) {
token = storedAccounts.find(x => x.id === postAccount.value?.id)?.token;
}
+ if (postData.editId && postData.poll !== initialPoll.value) {
+ const { canceled } = await os.confirm({
+ type: 'warning',
+ title: i18n.ts._confirmPollEdit.title,
+ text: i18n.ts._confirmPollEdit.text,
+ });
+ if (canceled) return;
+ }
+
posting.value = true;
misskeyApi(postData.editId ? 'notes/edit' : (postData.scheduleNote ? 'notes/schedule/create' : 'notes/create'), postData, token).then(() => {
if (props.freezeAfterPosted) {
@@ -1201,6 +1211,7 @@ onMounted(() => {
expiresAt: init.poll.expiresAt ? (new Date(init.poll.expiresAt)).getTime() : null,
expiredAfter: null,
};
+ if (props.editId) initialPoll.value = poll.value;
}
if (init.visibleUserIds) {
misskeyApi('users/show', { userIds: init.visibleUserIds }).then(users => {