mirror of
https://github.com/XFox111/PasswordGeneratorExtension.git
synced 2026-04-22 08:08:01 +03:00
68aace475e
* Fix for issue #51 - Extension is not working on firefox (#52) * Fix for issue #51 - Extension is not working on firefox * Fix for issue #51 - Replaced @types/chrome with webextension-polyfill * re-Added @types/chrome to allow development tests * Moved local import after module imports * Bump @types/node from 18.7.18 to 18.11.0 (#48) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.7.18 to 18.11.0. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @fluentui/react-icons from 2.0.183 to 2.0.185 (#50) Bumps [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) from 2.0.183 to 2.0.185. - [Release notes](https://github.com/microsoft/fluentui-system-icons/releases) - [Commits](https://github.com/microsoft/fluentui-system-icons/commits) --- updated-dependencies: - dependency-name: "@fluentui/react-icons" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eugene Fox <eugene.xfox@outlook.com> * Bump typescript from 4.8.3 to 4.8.4 (#47) Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.8.3 to 4.8.4. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/compare/v4.8.3...v4.8.4) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eugene Fox <eugene.xfox@outlook.com> * Bump @types/jest from 29.1.1 to 29.1.2 (#44) Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.1.1 to 29.1.2. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest) --- updated-dependencies: - dependency-name: "@types/jest" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eugene Fox <eugene.xfox@outlook.com> * Bump @fluentui/react-components from 9.3.2 to 9.5.1 (#49) Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.3.2 to 9.5.1. - [Release notes](https://github.com/microsoft/fluentui/releases) - [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml) - [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.3.2...@fluentui/react-components_v9.5.1) --- updated-dependencies: - dependency-name: "@fluentui/react-components" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Eugene Fox <eugene.xfox@outlook.com> * - Updated craco.config.ts to improve extension's stability - Renamed manifest.firefox.json to manifest.v2.json - Added fallbacks for invalid password length - Migrated FluentUI Dialog to stable release - Updated WebExt compat API * Updated project formatting * Feedback button now navigates to webstore page * Update code style guidelines * Updated extension version to 2.0.2 * Fixed pipelines * Fixed AboutSection.tsx * Fixed CodeQL issues * Fixed feedback link not working * Fixed feedback button again Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Andry Herizo RAJOELISON <finalherizo@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
56 lines
1.8 KiB
TypeScript
56 lines
1.8 KiB
TypeScript
// BackgroundService.ts
|
|
// Background script that handles the context menu visibility
|
|
|
|
import { Tabs, Menus } from "webextension-polyfill";
|
|
import browser from "../Utils/Browser";
|
|
import { loc } from "../Utils/Localization";
|
|
|
|
function UpdateContextMenu(isEnabled: boolean): void
|
|
{
|
|
console.log("BackgroundService.UpdateContextMenu", isEnabled);
|
|
browser.contextMenus.update("generatePassword", { visible: isEnabled });
|
|
}
|
|
|
|
async function OnContextClick(info: Menus.OnClickData): Promise<void>
|
|
{
|
|
console.log("BackgroundService.OnContextClick", info);
|
|
let tabInfo: Tabs.Tab[] = await browser.tabs.query({ active: true, currentWindow: true });
|
|
console.log("BackgroundService.OnContextClick", tabInfo);
|
|
|
|
browser.tabs.sendMessage(tabInfo[0].id, info.menuItemId as string);
|
|
}
|
|
|
|
async function OnInstalled(): Promise<void>
|
|
{
|
|
console.log("[BackgroundService] browser.runtime.onInstalled");
|
|
browser.contextMenus.removeAll();
|
|
|
|
browser.contextMenus.create(
|
|
{
|
|
title: loc("Quick generate password"),
|
|
contexts: ["editable"],
|
|
id: "generatePassword"
|
|
}
|
|
);
|
|
|
|
let settings: { [key: string]: any; } = await browser.storage.sync.get({ AddContext: true });
|
|
|
|
UpdateContextMenu(settings.AddContext);
|
|
}
|
|
|
|
async function OnStorageChanged(changes: any): Promise<void>
|
|
{
|
|
console.log("[BackgroundService] browser.storage.sync.onChanged", changes);
|
|
if (changes.AddContext?.newValue !== undefined)
|
|
UpdateContextMenu(changes.AddContext.newValue);
|
|
}
|
|
|
|
if (!browser.runtime.onInstalled.hasListener(OnInstalled))
|
|
browser.runtime.onInstalled.addListener(OnInstalled);
|
|
|
|
if (!browser.contextMenus.onClicked.hasListener(OnContextClick))
|
|
browser.contextMenus.onClicked.addListener(OnContextClick);
|
|
|
|
if (!browser.storage.sync.onChanged.hasListener(OnStorageChanged))
|
|
browser.storage.sync.onChanged.addListener(OnStorageChanged);
|