From 8f9607cc5dfd06418267be35d754c5673d7fe1f8 Mon Sep 17 00:00:00 2001 From: BFlat Date: Thu, 30 Apr 2026 10:02:10 +0700 Subject: [PATCH] promptbox: default both Enter and Shift+Enter to newline (#1454) Only the submit button triggers generation by default. The "Enter to generate" toggle (available in both app and website settings top right nav) still allows opting into Enter-to-submit. --- .../src/components/navbar/navbar.tsx | 27 +++++++++ .../components/prompt-box/MentionTextarea.tsx | 5 +- .../src/components/prompt-box/PromptBox.tsx | 8 +-- .../settings-modal/SettingsModal.tsx | 59 +++++++++++++++++++ .../src/lib/enter-to-generate-store.ts | 17 ++++++ .../promptbox/src/lib/MentionTextarea.tsx | 10 ++-- .../promptbox/src/lib/PromptBox2D.tsx | 2 +- .../promptbox/src/lib/PromptBox3D.tsx | 2 +- .../promptbox/src/lib/PromptBoxEdit.tsx | 2 +- .../promptbox/src/lib/PromptBoxImage.tsx | 2 +- .../promptbox/src/lib/PromptBoxVideo.tsx | 6 +- .../promptbox/src/lib/promptStore.ts | 2 +- .../src/lib/panes/MiscSettingsPane.tsx | 12 ++-- .../libs/components/switch/src/lib/switch.tsx | 9 +-- 14 files changed, 132 insertions(+), 31 deletions(-) create mode 100644 frontend/apps/artcraft-website/src/components/settings-modal/SettingsModal.tsx create mode 100644 frontend/apps/artcraft-website/src/lib/enter-to-generate-store.ts diff --git a/frontend/apps/artcraft-website/src/components/navbar/navbar.tsx b/frontend/apps/artcraft-website/src/components/navbar/navbar.tsx index e0b2bc9c94..6ae7132875 100644 --- a/frontend/apps/artcraft-website/src/components/navbar/navbar.tsx +++ b/frontend/apps/artcraft-website/src/components/navbar/navbar.tsx @@ -21,9 +21,11 @@ import { faBars, faXmark, faGem, + faCog, } from "@fortawesome/pro-solid-svg-icons"; import { TaskQueue } from "./task-queue"; import { CreditsModal } from "../credits-modal"; +import { SettingsModal } from "../settings-modal/SettingsModal"; const NAV_ITEMS = [ { name: "Home", href: "/" }, @@ -80,6 +82,7 @@ export default function Navbar() { // null = unknown (still loading) so we don't flash the upgrade button const [hasPaidPlan, setHasPaidPlan] = useState(null); const [creditsModalOpen, setCreditsModalOpen] = useState(false); + const [settingsOpen, setSettingsOpen] = useState(false); // Check session on mount and when auth changes or location changes useEffect(() => { @@ -300,6 +303,14 @@ export default function Navbar() { + +
@@ -355,6 +366,7 @@ export default function Navbar() { > Pricing +
+ +
+ {!isLoading && user ? (
@@ -506,6 +528,11 @@ export default function Navbar() { onClose={() => setCreditsModalOpen(false)} /> + setSettingsOpen(false)} + /> +