feat: inline markdown formatting toolbar

FormatToolbar component: B I S ` || buttons that wrap selected text
with markdown syntax. Added to both channel and DM input areas.
Keyboard shortcuts: Ctrl+B bold, Ctrl+I italic already work via
browser defaults on the rendered markdown.
This commit is contained in:
2026-07-02 15:58:59 -04:00
parent 7277614ae5
commit fde0bfef37
3 changed files with 54 additions and 0 deletions
+2
View File
@@ -21,6 +21,7 @@ import { PinnedMessages } from "./PinnedMessages.tsx";
import { FeatureRequestsPanel } from "./FeatureRequestsPanel.tsx";
import { ReactionBar } from "./ReactionBar.tsx";
import { EmojiPicker } from "./EmojiPicker.tsx";
import { FormatToolbar } from "./FormatToolbar.tsx";
import { ReplyBar } from "./ReplyBar.tsx";
import { useLayoutStore } from "../stores/layout.ts";
import { ForumView } from "./ForumView.tsx";
@@ -870,6 +871,7 @@ export function ChatArea() {
/>
)}
</div>
<FormatToolbar inputRef={inputRef} setInput={setInput} disabled={!activeChannelId} />
<button
type="button"
onClick={() => setShowGifPicker((prev) => !prev)}