MCPcopy
hub / github.com/stravu/crystal / handleSaveFolderEdit

Function handleSaveFolderEdit

frontend/src/components/DraggableProjectTreeView.tsx:782–816  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

780 };
781
782 const handleSaveFolderEdit = async () => {
783 if (!editingFolderId || !editingFolderName.trim()) {
784 setEditingFolderId(null);
785 return;
786 }
787
788 try {
789 const response = await API.folders.update(editingFolderId, { name: editingFolderName.trim() });
790 if (response.success) {
791 // Update local state
792 setProjectsWithSessions(prev => prev.map(project => ({
793 ...project,
794 folders: project.folders.map(folder =>
795 folder.id === editingFolderId
796 ? { ...folder, name: editingFolderName.trim() }
797 : folder
798 )
799 })));
800 } else {
801 showError({
802 title: 'Failed to rename folder',
803 error: response.error || 'Unknown error occurred'
804 });
805 }
806 } catch (error: unknown) {
807 console.error('Failed to rename folder:', error);
808 showError({
809 title: 'Failed to rename folder',
810 error: error instanceof Error ? error.message : 'Unknown error occurred'
811 });
812 } finally {
813 setEditingFolderId(null);
814 setEditingFolderName('');
815 }
816 };
817
818 const handleCancelFolderEdit = () => {
819 setEditingFolderId(null);

Callers 1

renderFolderFunction · 0.85

Calls 2

updateMethod · 0.80
errorMethod · 0.80

Tested by

no test coverage detected