mirror of
https://github.com/aljazceru/rabbit.git
synced 2025-12-18 22:44:26 +01:00
feat: support Ctrl+Enter post in reply
This commit is contained in:
@@ -25,7 +25,7 @@ const NotePostForm: Component<NotePostFormProps> = (props) => {
|
|||||||
submit();
|
submit();
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleKeyDown: JSX.EventHandler<HTMLFormElement, KeyboardEvent> = (ev) => {
|
const handleKeyDown: JSX.EventHandlerUnion<HTMLTextAreaElement, KeyboardEvent> = (ev) => {
|
||||||
if (ev.key === 'Enter' && (ev.ctrlKey || ev.metaKey)) {
|
if (ev.key === 'Enter' && (ev.ctrlKey || ev.metaKey)) {
|
||||||
submit();
|
submit();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,13 +18,23 @@ const ReplyPostForm: Component<ReplyPostFormProps> = (props: ReplyPostFormProps)
|
|||||||
setText(ev.currentTarget.value);
|
setText(ev.currentTarget.value);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleSubmit: JSX.EventHandler<HTMLFormElement, Event> = (ev) => {
|
// TODO 投稿完了したかどうかの検知をしたい
|
||||||
ev.preventDefault();
|
const submit = () => {
|
||||||
// TODO 投稿完了したかどうかの検知をしたい
|
|
||||||
props.onPost({ content: text() });
|
props.onPost({ content: text() });
|
||||||
clearText();
|
clearText();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleSubmit: JSX.EventHandler<HTMLFormElement, Event> = (ev) => {
|
||||||
|
ev.preventDefault();
|
||||||
|
submit();
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleKeyDown: JSX.EventHandler<HTMLTextAreaElement, KeyboardEvent> = (ev) => {
|
||||||
|
if (ev.key === 'Enter' && (ev.ctrlKey || ev.metaKey)) {
|
||||||
|
submit();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const submitDisabled = createMemo(() => text().trim().length === 0);
|
const submitDisabled = createMemo(() => text().trim().length === 0);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -40,6 +50,7 @@ const ReplyPostForm: Component<ReplyPostFormProps> = (props: ReplyPostFormProps)
|
|||||||
rows={4}
|
rows={4}
|
||||||
placeholder="返信を投稿"
|
placeholder="返信を投稿"
|
||||||
onInput={handleChangeText}
|
onInput={handleChangeText}
|
||||||
|
onKeyDown={handleKeyDown}
|
||||||
value={text()}
|
value={text()}
|
||||||
/>
|
/>
|
||||||
<div class="flex justify-between">
|
<div class="flex justify-between">
|
||||||
|
|||||||
Reference in New Issue
Block a user