signal-desktop/ts/windows/sticker-creator/preload.ts
2024-08-26 13:16:10 -04:00

36 lines
868 B
TypeScript

// Copyright 2023 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { contextBridge, ipcRenderer, webUtils } from 'electron';
let onProgress: (() => void) | undefined;
ipcRenderer.on('art-creator:onUploadProgress', () => {
onProgress?.();
});
contextBridge.exposeInMainWorld(
'uploadStickerPack',
async (
manifest: Uint8Array,
stickers: Readonly<Uint8Array>,
newOnProgress: (() => void) | undefined
): Promise<string> => {
onProgress = newOnProgress;
return ipcRenderer.invoke('art-creator:uploadStickerPack', {
manifest,
stickers,
});
}
);
contextBridge.exposeInMainWorld(
'installStickerPack',
(packId: string, key: string) =>
ipcRenderer.invoke('install-sticker-pack', packId, key)
);
contextBridge.exposeInMainWorld('getFilePath', (file: File) =>
webUtils.getPathForFile(file)
);