diff --git a/locales/en-US.yml b/locales/en-US.yml index a70eb2406f..a6ab32f2e6 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -2232,3 +2232,4 @@ autocorrectNoteLanguage: "Show a warning if the post language does not match the incorrectLanguageWarning: "It looks like your post is in {detected}, but you selected {current}.\nWould you like to set the language to {detected} instead?" noteEditHistory: "Post edit history" +slashQuote: "Slash quote" diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml index 1be460f7f0..4dac78713a 100644 --- a/locales/zh-CN.yml +++ b/locales/zh-CN.yml @@ -2059,3 +2059,4 @@ autocorrectNoteLanguage: 当帖子语言不符合自动检测的结果的时候 incorrectLanguageWarning: "看上去您帖子使用的语言是{detected},但您选择的语言是{current}。\n要改为以{detected}发帖吗?" noteEditHistory: "帖子编辑历史" media: 媒体 +slashQuote: "斜杠引用" diff --git a/packages/client/src/components/MkPostForm.vue b/packages/client/src/components/MkPostForm.vue index 5850fdf498..3f65e1ba8d 100644 --- a/packages/client/src/components/MkPostForm.vue +++ b/packages/client/src/components/MkPostForm.vue @@ -373,6 +373,11 @@ const props = withDefaults( autofocus?: boolean; showMfmCheatSheet?: boolean; editId?: entities.Note["id"]; + selectRange?: [ + start: number, + end: number, + direction?: "forward" | "backward" | "none", + ]; }>(), { initialVisibleUsers: () => [], @@ -692,10 +697,14 @@ function togglePoll() { function focus() { if (textareaEl.value) { textareaEl.value.focus(); - textareaEl.value.setSelectionRange( - textareaEl.value.value.length, - textareaEl.value.value.length, - ); + if (props.selectRange) { + textareaEl.value.setSelectionRange(...props.selectRange); + } else { + textareaEl.value.setSelectionRange( + textareaEl.value.value.length, + textareaEl.value.value.length, + ); + } } } diff --git a/packages/client/src/components/MkPostFormDialog.vue b/packages/client/src/components/MkPostFormDialog.vue index fafb4afdd4..a80daf0431 100644 --- a/packages/client/src/components/MkPostFormDialog.vue +++ b/packages/client/src/components/MkPostFormDialog.vue @@ -44,6 +44,11 @@ const props = defineProps<{ fixed?: boolean; autofocus?: boolean; editId?: entities.Note["id"]; + selectRange?: [ + start: number, + end: number, + direction?: "forward" | "backward" | "none", + ]; }>(); const emit = defineEmits<{ diff --git a/packages/client/src/components/MkQuoteButton.vue b/packages/client/src/components/MkQuoteButton.vue index f4004b0cdb..2617d3655e 100644 --- a/packages/client/src/components/MkQuoteButton.vue +++ b/packages/client/src/components/MkQuoteButton.vue @@ -1,5 +1,6 @@