Move menu IDs to reduce bundle size + misc config fixes

This commit is contained in:
hensm
2022-06-03 18:25:11 +01:00
parent f98f860034
commit 079adc2f68
6 changed files with 25 additions and 30 deletions

View File

@@ -2,6 +2,5 @@
"arrowParens": "avoid",
"tabWidth": 4,
"trailingComma": "none",
"quoteProps": "consistent",
"plugins": ["prettier-plugin-svelte"]
"quoteProps": "consistent"
}

View File

@@ -5,23 +5,15 @@ import messaging, { Port, Message } from "../messaging";
import options from "../lib/options";
import { TypedEventTarget } from "../lib/TypedEventTarget";
import { SessionRequest } from "../cast/sdk/classes";
import {
ReceiverDevice,
ReceiverSelectionActionType,
ReceiverSelectorMediaType
ReceiverSelectorMediaType,
ReceiverSelectorPageInfo
} from "../types";
const POPUP_URL = browser.runtime.getURL("ui/popup/index.html");
/** Info about sender page context. */
export interface ReceiverSelectorPageInfo {
url: string;
tabId: number;
frameId: number;
sessionRequest?: SessionRequest;
}
export interface ReceiverSelectionCast {
actionType: ReceiverSelectionActionType.Cast;
receiverDevice: ReceiverDevice;

View File

@@ -30,9 +30,6 @@ let menuIdCastMedia: MenuId;
let menuIdWhitelist: MenuId;
let menuIdWhitelistRecommended: MenuId;
export const menuIdPopupCast = "popup_cast";
export const menuIdPopupStop = "popup_stop";
/** Match patterns for the whitelist option menus. */
const whitelistChildMenuPatterns = new Map<MenuId, string>();
@@ -79,12 +76,12 @@ export async function initMenus() {
// Popup context menus
const popupUrlPattern = `${browser.runtime.getURL("ui/popup")}/*`;
browser.menus.create({
id: menuIdPopupCast,
id: "popup_cast",
title: _("popupCastButtonTitle"),
documentUrlPatterns: [popupUrlPattern]
});
browser.menus.create({
id: menuIdPopupStop,
id: "popup_stop",
title: _("popupStopButtonTitle"),
documentUrlPatterns: [popupUrlPattern]
});

View File

@@ -1,5 +1,6 @@
"use strict";
import { SessionRequest } from "./cast/sdk/classes";
import { ReceiverStatus } from "./cast/sdk/types";
export enum ReceiverDeviceCapabilities {
@@ -32,3 +33,11 @@ export enum ReceiverSelectionActionType {
Cast = 1,
Stop = 2
}
/** Info about sender page context. */
export interface ReceiverSelectorPageInfo {
url: string;
tabId: number;
frameId: number;
sessionRequest?: SessionRequest;
}

View File

@@ -3,9 +3,6 @@
import LoadingIndicator from "../LoadingIndicator.svelte";
import { ReceiverSelectorPageInfo } from "../../background/ReceiverSelector";
import { menuIdPopupCast, menuIdPopupStop } from "../../background/menus";
import messaging, { Message, Port } from "../../messaging";
import options, { Options } from "../../lib/options";
import { RemoteMatchPattern } from "../../lib/matchPattern";
@@ -13,7 +10,8 @@
import {
ReceiverDevice,
ReceiverSelectionActionType,
ReceiverSelectorMediaType
ReceiverSelectorMediaType,
ReceiverSelectorPageInfo
} from "../../types";
import knownApps, { KnownApp } from "../../cast/knownApps";
@@ -272,13 +270,13 @@
const device = getDeviceFromElement(target);
if (!device) {
browser.menus.update(menuIdPopupCast, { visible: false });
browser.menus.update(menuIdPopupStop, { visible: false });
browser.menus.update("popup_cast", { visible: false });
browser.menus.update("popup_stop", { visible: false });
} else {
const app = device.status?.applications?.[0];
const isAppRunning = !!(app && !app.isIdleScreen);
browser.menus.update(menuIdPopupCast, {
browser.menus.update("popup_cast", {
visible: true,
title: _("popupCastMenuTitle", device.friendlyName),
enabled:
@@ -288,7 +286,7 @@
isMediaTypeAvailable
});
browser.menus.update(menuIdPopupStop, {
browser.menus.update("popup_stop", {
visible: isAppRunning,
title: isAppRunning
? _("popupStopMenuTitle", [
@@ -305,8 +303,8 @@
/** Handle click events for receiver context menus. */
function onMenuClicked(info: browser.menus.OnClickData) {
if (
info.menuItemId !== menuIdPopupCast &&
info.menuItemId !== menuIdPopupStop
info.menuItemId !== "popup_cast" &&
info.menuItemId !== "popup_stop"
) {
return;
}
@@ -319,10 +317,10 @@
if (!device) return;
switch (info.menuItemId) {
case menuIdPopupCast:
case "popup_cast":
onReceiverCast(device);
break;
case menuIdPopupStop:
case "popup_stop":
onReceiverStop(device);
break;
}

View File

@@ -9,5 +9,5 @@
"target": "es6",
"strict": true
},
"exclude": ["node_modules/**/*", "dist/**/*"]
"exclude": ["node_modules/**/*", "**/node_modules/**/*", "dist/**/*"]
}