1
0
mirror of https://github.com/XFox111/TabsAsideExtension.git synced 2026-04-22 07:58:01 +03:00
Files
TabsAsideExtension/hooks/useStorageInfo.ts
T

28 lines
675 B
TypeScript

export default function useStorageInfo(): StorageInfoHook
{
const [bytesInUse, setBytesInUse] = useState<number>(0);
useEffect(() =>
{
const updateValue = async () =>
setBytesInUse(await browser.storage.sync.getBytesInUse());
updateValue();
browser.storage.sync.onChanged.addListener(updateValue);
return () => browser.storage.sync.onChanged.removeListener(updateValue);
}, []);
return {
bytesInUse,
storageQuota: chrome.storage.sync.QUOTA_BYTES ?? 102400,
usedStorageRatio: bytesInUse / (chrome.storage.sync.QUOTA_BYTES ?? 102400)
};
}
export type StorageInfoHook =
{
bytesInUse: number;
storageQuota: number;
usedStorageRatio: number;
};