mirror of
https://github.com/XFox111/TabsAsideExtension.git
synced 2026-04-22 07:58:01 +03:00
e21022d985
* Some features are now optional (#148) * fix(dev): yarn.lock tree fix * feat: bookmarks moved to optional permissions * fix: analytics not working in firefox * feat!: ability to turn off analytics (uses permissions on firefox) * feat: analytics tracker for bookmark export * feat: add privacy policy link in about section * docs: privacy policy update * feat: ability to chain multiple dialogs * fix(loc): analytics option translation * feat: settings review dialog * fix: background script fails to load because of frontend code * chore: use analytics permission as storage value * fix: inverted analytics value * feat!: option to disable thumbnail capture * fix(ci): sed typo * fix: minor fixes * fix(firefox): web-ext lint error fix * chore(ci): switch web-ext action * chore(lint): fix eslint warnings * chore(deps): monthly dependency bump (September 2025) (#149) * chore: 3.1.0 version bump * chore: minor cleanup * fix: allow analytics checkbox stays inactive after denying permission on firefox * fix(deps): yarn.lock rebuild * fix: type assertion for userId * fix: settings review dialog not showing if welcome dialog is not required * fix: analytics and thumbnail capture toggles react incorrectly if permission is denied
31 lines
849 B
TypeScript
31 lines
849 B
TypeScript
import { cloudDisabled, collectionCount } from "@/features/collectionStorage";
|
|
import { settings } from "@/utils/settings";
|
|
|
|
export async function getUserProperties(): Promise<UserProperties>
|
|
{
|
|
const properties: UserProperties =
|
|
{
|
|
cloud_used: await cloudDisabled.getValue() ? "-1" : (await browser.storage.sync.getBytesInUse() / 102400).toString(),
|
|
collection_count: (await collectionCount.getValue()).toString()
|
|
};
|
|
|
|
for (const key of Object.keys(settings))
|
|
{
|
|
const value = await settings[key as keyof typeof settings].getValue();
|
|
properties[`option_${key}`] = value.valueOf().toString();
|
|
}
|
|
|
|
return properties;
|
|
}
|
|
|
|
export const userId = storage.defineItem("local:userId", {
|
|
init: () => crypto.randomUUID()
|
|
});
|
|
|
|
export type UserProperties =
|
|
{
|
|
collection_count: string;
|
|
cloud_used: string;
|
|
[key: `option_${string}`]: string;
|
|
};
|