1
0
mirror of https://github.com/XFox111/TabsAsideExtension.git synced 2026-04-22 07:58:01 +03:00
Files
TabsAsideExtension/hooks/useStorageInfo.ts
xfox111 b51dd6083f chore(deps): WXT 0.20.0 bump + lockfile regen (#199)
* chore(deps): wxt 0.20.0 bump #134

* chore: 3.2.1 manifest bump
2025-11-14 02:16:57 +03:00

28 lines
677 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: browser.storage.sync.QUOTA_BYTES ?? 102400,
usedStorageRatio: bytesInUse / (browser.storage.sync.QUOTA_BYTES ?? 102400)
};
}
export type StorageInfoHook =
{
bytesInUse: number;
storageQuota: number;
usedStorageRatio: number;
};