MCPcopy Index your code
hub / github.com/ColmapView/Colmapview.github.io / copyScreenshotToClipboard

Function copyScreenshotToClipboard

src/utils/clipboard.ts:82–110  ·  view source on GitHub ↗
(
  getScreenshotBlob: (() => Promise<Blob | null>) | null | undefined,
  deps: CopyScreenshotToClipboardDeps = {}
)

Source from the content-addressed store, hash-verified

80}
81
82export async function copyScreenshotToClipboard(
83 getScreenshotBlob: (() => Promise<Blob | null>) | null | undefined,
84 deps: CopyScreenshotToClipboardDeps = {}
85): Promise<boolean> {
86 if (!getScreenshotBlob) return false;
87
88 try {
89 const blob = await getScreenshotBlob();
90 if (!blob) return false;
91
92 const clipboard = deps.clipboard ?? navigator.clipboard;
93 if (!clipboard) return false;
94
95 const createClipboardItem = deps.createClipboardItem ?? ((items) => new ClipboardItem(items));
96 await clipboard.write([
97 createClipboardItem({ 'image/png': blob }),
98 ]);
99 deps.addNotification?.(
100 'info',
101 SCREENSHOT_COPY_SUCCESS_MESSAGE,
102 SCREENSHOT_COPY_SUCCESS_DURATION
103 );
104 return true;
105 } catch (err) {
106 const logError = deps.logError ?? appLogger.error;
107 logError('Failed to copy screenshot to clipboard:', err);
108 return false;
109 }
110}

Callers 3

SharePanel.tsxFile · 0.90
clipboard.test.tsFile · 0.90

Calls 1

writeMethod · 0.65

Tested by

no test coverage detected