2023-07-21 18:44:14 +03:00
|
|
|
import fileDownload from 'js-file-download';
|
2023-07-25 20:27:29 +03:00
|
|
|
import { toast } from 'react-toastify';
|
|
|
|
|
2023-07-26 23:11:00 +03:00
|
|
|
import { type DataCallback } from './backendAPI';
|
|
|
|
import { IRSFormMeta } from './models';
|
2023-07-21 00:09:05 +03:00
|
|
|
|
|
|
|
export function shareCurrentURLProc() {
|
|
|
|
const url = window.location.href + '&share';
|
2023-07-25 20:27:29 +03:00
|
|
|
navigator.clipboard.writeText(url)
|
|
|
|
.then(() => toast.success(`Ссылка скопирована: ${url}`))
|
|
|
|
.catch(console.error);
|
2023-07-21 00:09:05 +03:00
|
|
|
}
|
|
|
|
|
2023-07-25 20:27:29 +03:00
|
|
|
export function claimOwnershipProc(
|
2023-07-26 23:11:00 +03:00
|
|
|
claim: (callback: DataCallback<IRSFormMeta>) => void
|
2023-07-21 00:09:05 +03:00
|
|
|
) {
|
|
|
|
if (!window.confirm('Вы уверены, что хотите стать владельцем данной схемы?')) {
|
|
|
|
return;
|
|
|
|
}
|
2023-07-24 22:34:03 +03:00
|
|
|
claim(() => toast.success('Вы стали владельцем схемы'));
|
2023-07-21 00:09:05 +03:00
|
|
|
}
|
|
|
|
|
2023-07-25 20:27:29 +03:00
|
|
|
export function downloadRSFormProc(
|
2023-07-26 23:11:00 +03:00
|
|
|
download: (callback: DataCallback<Blob>) => void,
|
2023-07-21 18:44:14 +03:00
|
|
|
fileName: string
|
|
|
|
) {
|
2023-07-26 23:11:00 +03:00
|
|
|
download((data) => {
|
2023-07-21 18:44:14 +03:00
|
|
|
try {
|
2023-07-26 23:11:00 +03:00
|
|
|
fileDownload(data, fileName);
|
|
|
|
} catch (error) {
|
|
|
|
console.error(error);
|
2023-07-21 18:44:14 +03:00
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|