61a1f008d0
- i18next 23->26 + react-i18next 15->17 - prettier 2->3, reformat all files - replace @fontsource/inter with @fontsource-variable/inter 5, update import path - domhandler 5->6 (aligns with transitive deps) - lint-staged 16->17
18 lines
348 B
TypeScript
18 lines
348 B
TypeScript
import { useEffect, useMemo } from 'react';
|
|
|
|
export const useObjectURL = (object?: Blob): string | undefined => {
|
|
const url = useMemo(() => {
|
|
if (object) return URL.createObjectURL(object);
|
|
return undefined;
|
|
}, [object]);
|
|
|
|
useEffect(
|
|
() => () => {
|
|
if (url) URL.revokeObjectURL(url);
|
|
},
|
|
[url],
|
|
);
|
|
|
|
return url;
|
|
};
|