diff --git a/libs/remix-ui/workspace/src/lib/actions/index.ts b/libs/remix-ui/workspace/src/lib/actions/index.ts index d0ec393c2b..5ec1291792 100644 --- a/libs/remix-ui/workspace/src/lib/actions/index.ts +++ b/libs/remix-ui/workspace/src/lib/actions/index.ts @@ -376,6 +376,19 @@ export const copyFile = async (src: string, dest: string) => { } } +export const copyShareURL = async (path: string) => { + const fileManager = plugin.fileManager + + try { + const fileContent = await fileManager.readFile(path) + console.log('fileContent------>', fileContent) + const base64Content = btoa(fileContent) + console.log('base64Content------>', base64Content) + } catch (error) { + dispatch(displayPopUp('Oops! An error ocurred while performing copyFile operation.' + error)) + } +} + export const copyFolder = async (src: string, dest: string) => { const fileManager = plugin.fileManager diff --git a/libs/remix-ui/workspace/src/lib/components/file-explorer-context-menu.tsx b/libs/remix-ui/workspace/src/lib/components/file-explorer-context-menu.tsx index cec5ddd442..73a143acc9 100644 --- a/libs/remix-ui/workspace/src/lib/components/file-explorer-context-menu.tsx +++ b/libs/remix-ui/workspace/src/lib/components/file-explorer-context-menu.tsx @@ -213,7 +213,7 @@ export const FileExplorerContextMenu = (props: FileExplorerContextMenuProps) => copyPath(path, type) _paq.push(['trackEvent', 'fileExplorer', 'contextMenu', 'copyPath']) break - case 'Copy Share URL': + case 'Copy share URL': copyShareURL(path, type) _paq.push(['trackEvent', 'fileExplorer', 'contextMenu', 'copyShareURL']) break diff --git a/libs/remix-ui/workspace/src/lib/contexts/index.ts b/libs/remix-ui/workspace/src/lib/contexts/index.ts index 115767831d..c3ac0849a4 100644 --- a/libs/remix-ui/workspace/src/lib/contexts/index.ts +++ b/libs/remix-ui/workspace/src/lib/contexts/index.ts @@ -27,6 +27,7 @@ export const FileSystemContext = createContext<{ dispatchRenamePath: (oldPath: string, newPath: string) => Promise, dispatchDownloadPath: (path:string) => Promise, dispatchCopyFile: (src: string, dest: string) => Promise, + dispatchCopyShareURL: (path: string) => Promise, dispatchCopyFolder: (src: string, dest: string) => Promise, dispatchRunScript: (path: string) => Promise, dispatchEmitContextMenuEvent: (cmd: customAction) => Promise, diff --git a/libs/remix-ui/workspace/src/lib/providers/FileSystemProvider.tsx b/libs/remix-ui/workspace/src/lib/providers/FileSystemProvider.tsx index 66f55d997d..c57585ce8a 100644 --- a/libs/remix-ui/workspace/src/lib/providers/FileSystemProvider.tsx +++ b/libs/remix-ui/workspace/src/lib/providers/FileSystemProvider.tsx @@ -20,6 +20,7 @@ import { renamePath, downloadPath, copyFile, + copyShareURL, copyFolder, runScript, emitContextMenuEvent, @@ -156,6 +157,10 @@ export const FileSystemProvider = (props: WorkspaceProps) => { await copyFile(src, dest) } + const dispatchCopyShareURL = async (path: string) => { + await copyShareURL(path) + } + const dispatchCopyFolder = async (src: string, dest: string) => { await copyFolder(src, dest) } @@ -352,6 +357,7 @@ export const FileSystemProvider = (props: WorkspaceProps) => { dispatchRenamePath, dispatchDownloadPath, dispatchCopyFile, + dispatchCopyShareURL, dispatchCopyFolder, dispatchRunScript, dispatchEmitContextMenuEvent, diff --git a/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx b/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx index bcc6312d4a..2f82b5371c 100644 --- a/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx +++ b/libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx @@ -536,8 +536,8 @@ export function Workspace() { // eslint-disable-next-line @typescript-eslint/no-unused-vars const handleCopyShareURLClick = (path: string, _type: string) => { - const fileName = extractNameFromKey(path) - console.log('handleCopyShareURLClick---->', fileName) + console.log('path---->', path) + global.dispatchCopyShareURL(path) // navigator.clipboard.writeText(fileName) } @@ -1105,6 +1105,7 @@ export function Workspace() { dispatchUploadFile={global.dispatchUploadFile} dispatchUploadFolder={global.dispatchUploadFolder} dispatchCopyFile={global.dispatchCopyFile} + dispatchCopyShareURL={global.dispatchCopyShareURL} dispatchCopyFolder={global.dispatchCopyFolder} dispatchPublishToGist={global.dispatchPublishToGist} dispatchRunScript={global.dispatchRunScript} @@ -1164,6 +1165,7 @@ export function Workspace() { dispatchUploadFile={global.dispatchUploadFile} dispatchUploadFolder={global.dispatchUploadFolder} dispatchCopyFile={global.dispatchCopyFile} + dispatchCopyShareURL={global.dispatchCopyShareURL} dispatchCopyFolder={global.dispatchCopyFolder} dispatchPublishToGist={global.dispatchPublishToGist} dispatchRunScript={global.dispatchRunScript} diff --git a/libs/remix-ui/workspace/src/lib/types/index.ts b/libs/remix-ui/workspace/src/lib/types/index.ts index 7ac7b6de1e..d225976eab 100644 --- a/libs/remix-ui/workspace/src/lib/types/index.ts +++ b/libs/remix-ui/workspace/src/lib/types/index.ts @@ -105,6 +105,7 @@ export interface FileExplorerProps { dispatchUploadFile: (target?: React.SyntheticEvent, targetFolder?: string) => Promise, dispatchUploadFolder: (target?: React.SyntheticEvent, targetFolder?: string) => Promise, dispatchCopyFile: (src: string, dest: string) => Promise, + dispatchCopyShareURL: (path:string) => Promise, dispatchCopyFolder: (src: string, dest: string) => Promise, dispatchRunScript: (path: string) => Promise, dispatchPublishToGist: (path?: string, type?: string) => Promise,