diff --git a/src/components/Providers/SystemIOProviderDesktop.tsx b/src/components/Providers/SystemIOProviderDesktop.tsx index 229ca1c82..f2333a113 100644 --- a/src/components/Providers/SystemIOProviderDesktop.tsx +++ b/src/components/Providers/SystemIOProviderDesktop.tsx @@ -81,6 +81,7 @@ export function SystemIOMachineLogicListenerDesktop() { const useGlobalFileNavigation = () => { useEffect(() => { + console.log(requestedFileName, 'NEW!') if (!requestedFileName.file || !requestedFileName.project) { return } diff --git a/src/machines/systemIO/systemIOMachine.ts b/src/machines/systemIO/systemIOMachine.ts index 19a01b7d4..349795ec9 100644 --- a/src/machines/systemIO/systemIOMachine.ts +++ b/src/machines/systemIO/systemIOMachine.ts @@ -393,8 +393,20 @@ export const systemIOMachine = setup({ } }, onDone: { - target: SystemIOMachineStates.idle, - actions: [assign({ clearURLParams: { value: true } })], + target: SystemIOMachineStates.readingFolders, + // Clear on web? not desktop + actions: [ + assign({ + requestedFileName: ({ context, event }) => { + assertEvent(event, SystemIOMachineEvents.done_importFileFromURL) + // Not the entire path + return { + project: event.output.projectName, + file: event.output.fileName + '.kcl', + } + }, + }), + ], }, onError: { target: SystemIOMachineStates.idle, diff --git a/src/machines/systemIO/systemIOMachineDesktop.ts b/src/machines/systemIO/systemIOMachineDesktop.ts index f06c77000..efba824f5 100644 --- a/src/machines/systemIO/systemIOMachineDesktop.ts +++ b/src/machines/systemIO/systemIOMachineDesktop.ts @@ -166,6 +166,13 @@ export const systemIOMachineDesktop = systemIOMachine.provide({ let newProjectName = requestedProjectName + if (!newProjectName) { + newProjectName = getUniqueProjectName( + input.context.defaultProjectFolderName, + input.context.folders + ) + } + const needsInterpolated = doesProjectNameNeedInterpolated(newProjectName) if (needsInterpolated) { @@ -197,7 +204,7 @@ export const systemIOMachineDesktop = systemIOMachine.provide({ return { message: 'File created successfully', fileName: input.requestedFileName, - projectName: requestedProjectName, + projectName: newProjectName, } } ), diff --git a/src/machines/systemIO/utils.ts b/src/machines/systemIO/utils.ts index 8150b125b..1c4b2bd7c 100644 --- a/src/machines/systemIO/utils.ts +++ b/src/machines/systemIO/utils.ts @@ -39,6 +39,7 @@ export enum SystemIOMachineEvents { setDefaultProjectFolderName = 'set default project folder name', done_checkReadWrite = donePrefix + 'check read write', importFileFromURL = 'import file from URL', + done_importFileFromURL = donePrefix + 'import file from URL', } export enum SystemIOMachineActions {