diff --git a/app/dashboard/folders/page.tsx b/app/dashboard/folders/page.tsx index e640fc7..79a06c2 100644 --- a/app/dashboard/folders/page.tsx +++ b/app/dashboard/folders/page.tsx @@ -961,12 +961,50 @@ export default function FoldersPage() { } const handleCreateFolder = () => { - setFolderName("") - setFolderDescription("") - setFolderColor("blue") - setFolderTags("") - setFolderAccess("private") - setActionModal({ type: "create", folder: null, folders: [] }) + setShowCreateFolderModal(true) + } + + const handleSaveNewFolder = useCallback((folderData: SDKFolderData) => { + console.log('Debug - handleSaveNewFolder:', { + isConnected, + userPairingId, + userPairingIdType: typeof userPairingId, + userStoreConnected: UserStore.getInstance().isConnected(), + userStorePairingId: UserStore.getInstance().getUserPairingId() + }); + + if (userPairingId !== null && isConnected) { + const roles = setDefaultFolderRoles(userPairingId, [], []); + const folderPrivateFields = FolderPrivateFields; + + MessageBus.getInstance(iframeUrl).createFolder(folderData, folderPrivateFields, roles).then((_folderCreated: FolderCreated) => { + MessageBus.getInstance(iframeUrl).notifyProcessUpdate(_folderCreated.processId, _folderCreated.process.states[0].state_id).then(() => { + MessageBus.getInstance(iframeUrl).validateState(_folderCreated.processId, _folderCreated.process.states[0].state_id).then((_updatedProcess: any) => { + MessageBus.getInstance(iframeUrl).getProcesses().then((processes: any) => { + setProcesses(processes); + }); + }); + }) + }).catch((error) => { + console.error('Erreur lors de la création du dossier 4NK:', error); + showNotification("error", "Erreur lors de la création du dossier"); + }); + + setShowCreateFolderModal(false); + showNotification("success", `Dossier "${folderData.name}" créé avec succès sur 4NK`); + } else { + console.error('Conditions non remplies:', { + userPairingIdCheck: userPairingId !== null, + isConnectedCheck: isConnected, + actualUserPairingId: userPairingId, + actualIsConnected: isConnected + }); + showNotification("error", `Vous devez être connecté à 4NK pour créer un dossier (Connected: ${isConnected}, PairingId: ${userPairingId ? 'OK' : 'NULL'})`); + } + }, [userPairingId, isConnected, iframeUrl]); + + const handleCancelCreateFolder = () => { + setShowCreateFolderModal(false) } const handleToggleFavorite = (folderId: number) => {