(
async paths => {
actions.initializeStickers(paths);
paths.forEach(path => {
// tslint:disable-next-line no-floating-promises
queue.add(async () => {
try {
const webp = await convertToWebp(path);
actions.addWebp(webp);
} catch (e) {
window.log.error('Error processing image:', e);
actions.removeSticker(path);
actions.addToast({
key: 'StickerCreator--Toasts--errorProcessing',
});
}
});
});
},
[actions]
);
return (
{ids.length > 0 ? (
<>
{ids.map((p, i) => (
))}
{mode === 'add' && ids.length < stickersDuck.maxStickers ? (
) : null}
>
) : (
)}
);
}
);
export const StickerGrid = SortableContainer((props: Props) => {
const ids = stickersDuck.useStickerOrder();
const actions = stickersDuck.useStickerActions();
const handleSortEnd = React.useCallback(
sortEnd => {
actions.moveSticker(sortEnd);
},
[actions]
);
return (
);
});