session-desktop/ts/hooks/useEncryptedFileFetch.ts
2021-04-13 14:16:50 +10:00

23 lines
604 B
TypeScript

import { useEffect, useState } from 'react';
import { getDecryptedMediaUrl } from '../session/crypto/DecryptedAttachmentsManager';
export const useEncryptedFileFetch = (url: string, contentType: string) => {
// tslint:disable-next-line: no-bitwise
const [urlToLoad, setUrlToLoad] = useState('');
const [loading, setLoading] = useState(true);
async function fetchUrl() {
const decryptedUrl = await getDecryptedMediaUrl(url, contentType);
setUrlToLoad(decryptedUrl);
setLoading(false);
}
useEffect(() => {
void fetchUrl();
}, [url]);
return { urlToLoad, loading };
};