From 689108ec496861b4635ffc4db02ca7869e3bd142 Mon Sep 17 00:00:00 2001 From: Aakash K Balaji Date: Wed, 1 Apr 2026 15:34:17 -0400 Subject: [PATCH] fix: create channel and create project loading states --- core-web/src/components/Messages/MessagesView.tsx | 10 +++++++--- .../Projects/components/CreateProjectModal.tsx | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/core-web/src/components/Messages/MessagesView.tsx b/core-web/src/components/Messages/MessagesView.tsx index 320e447..4d120f9 100644 --- a/core-web/src/components/Messages/MessagesView.tsx +++ b/core-web/src/components/Messages/MessagesView.tsx @@ -1174,6 +1174,7 @@ export default function MessagesView() { const [newChannelName, setNewChannelName] = useState(""); const [newChannelDescription, setNewChannelDescription] = useState(""); const [newChannelPrivate, setNewChannelPrivate] = useState(false); + const [isCreatingChannel, setIsCreatingChannel] = useState(false); const [editingMessageId, setEditingMessageId] = useState(null); const [editingContent, setEditingContent] = useState(""); const [workspaceMembers, setWorkspaceMembers] = useState< @@ -1977,8 +1978,9 @@ export default function MessagesView() { const handleCreateChannel = async (e: React.FormEvent) => { e.preventDefault(); - if (!newChannelName.trim()) return; + if (!newChannelName.trim() || isCreatingChannel) return; + setIsCreatingChannel(true); try { const channel = await addChannel( newChannelName, @@ -1992,6 +1994,8 @@ export default function MessagesView() { navigateToChannel(channel.id); } catch (err) { console.error("Failed to create channel:", err); + } finally { + setIsCreatingChannel(false); } }; @@ -3152,10 +3156,10 @@ export default function MessagesView() { diff --git a/core-web/src/components/Projects/components/CreateProjectModal.tsx b/core-web/src/components/Projects/components/CreateProjectModal.tsx index 1d6ef07..6d84ede 100644 --- a/core-web/src/components/Projects/components/CreateProjectModal.tsx +++ b/core-web/src/components/Projects/components/CreateProjectModal.tsx @@ -84,10 +84,10 @@ export default function CreateProjectModal({