mirror of
https://github.com/XFox111/TabsAsideExtension.git
synced 2026-04-22 07:58:01 +03:00
feat: Minor 3.1.0 (#150)
* 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
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import App from "@/App.tsx";
|
||||
import "@/assets/global.css";
|
||||
import { trackPage } from "@/features/analytics";
|
||||
import { useLocalMigration } from "@/features/migration";
|
||||
import useWelcomeDialog from "@/features/v3welcome/hooks/useWelcomeDialog";
|
||||
import { Divider, makeStyles } from "@fluentui/react-components";
|
||||
@@ -7,6 +8,8 @@ import ReactDOM from "react-dom/client";
|
||||
import CollectionsProvider from "./contexts/CollectionsProvider";
|
||||
import CollectionListView from "./layouts/collections/CollectionListView";
|
||||
import Header from "./layouts/header/Header";
|
||||
import { useSettingsReviewDialog } from "@/features/settingsReview";
|
||||
import useDialogTrain from "@/hooks/useDialogTrain";
|
||||
|
||||
ReactDOM.createRoot(document.getElementById("root")!).render(
|
||||
<App>
|
||||
@@ -15,14 +18,17 @@ ReactDOM.createRoot(document.getElementById("root")!).render(
|
||||
);
|
||||
|
||||
document.title = i18n.t("manifest.name");
|
||||
analytics.page("collection_list");
|
||||
trackPage("collection_list");
|
||||
|
||||
function MainPage(): React.ReactElement
|
||||
{
|
||||
const cls = useStyles();
|
||||
|
||||
useLocalMigration();
|
||||
useWelcomeDialog();
|
||||
useDialogTrain(
|
||||
useWelcomeDialog,
|
||||
useSettingsReviewDialog
|
||||
);
|
||||
|
||||
return (
|
||||
<CollectionsProvider>
|
||||
|
||||
@@ -1,10 +1,21 @@
|
||||
import { CollectionItem, TabItem } from "@/models/CollectionModels";
|
||||
import sendNotification from "@/utils/sendNotification";
|
||||
import { Bookmarks } from "wxt/browser";
|
||||
import { Bookmarks, Permissions } from "wxt/browser";
|
||||
import { getCollectionTitle } from "./getCollectionTitle";
|
||||
import { track } from "@/features/analytics";
|
||||
|
||||
export default async function exportCollectionToBookmarks(collection: CollectionItem)
|
||||
{
|
||||
const permissions: Permissions.AnyPermissions = await browser.permissions.getAll();
|
||||
|
||||
if (!permissions.permissions?.includes("bookmarks"))
|
||||
{
|
||||
const granted: boolean = await browser.permissions.request({ permissions: ["bookmarks"] });
|
||||
|
||||
if (!granted)
|
||||
return;
|
||||
}
|
||||
|
||||
const rootFolder: Bookmarks.BookmarkTreeNode = await browser.bookmarks.create({
|
||||
title: getCollectionTitle(collection)
|
||||
});
|
||||
@@ -31,6 +42,8 @@ export default async function exportCollectionToBookmarks(collection: Collection
|
||||
}
|
||||
}
|
||||
|
||||
track("bookmarks_saved");
|
||||
|
||||
await sendNotification({
|
||||
title: i18n.t("notifications.bookmark_saved.title"),
|
||||
message: i18n.t("notifications.bookmark_saved.message"),
|
||||
|
||||
Reference in New Issue
Block a user