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({