104 lines
3.8 KiB
JavaScript
104 lines
3.8 KiB
JavaScript
// Browser API compatibility
|
|
const browserAPI = typeof browser !== 'undefined' ? browser : chrome;
|
|
|
|
// Mutation Observers
|
|
const observers = [];
|
|
|
|
// Shared Sets
|
|
const items = new Set();
|
|
const processedItems = new Set();
|
|
|
|
// Shared Colors
|
|
const colors = {};
|
|
|
|
//css classes ought to change time to time, examples given for that to remember them.
|
|
|
|
//to skip adding anything in parent
|
|
const LIST_ITEM_TITLE = "._3rrH9dPdtHVRMzAEw82AId";
|
|
const PAGE_TITLE = ".page_title_area.game_title_area.page_content";
|
|
const BUNDLE_CONTENTS = ".bundle_contents_preview";
|
|
const DLC_LIST = ".game_area_dlc_list";
|
|
const HOVER_MODAL = "._2VvFLg2irh9gPAhhxE4Kpo"; //try to find games that are hoverable with purchase option
|
|
const MINI_WIDGET_TITLE = "._9VjYX3CYMn2y-wWpAn00Y"; //check event page with stream
|
|
const FLOATING_STREAM = "._28O6dX6-Xf37oViWRRhvjz"; //check event page with stream
|
|
const PACKAGE_CONTENTS_CAPSULES = ".package_contents_capsules";
|
|
const BASE_GAME_OF_DLC = ".glance_details";
|
|
const GAME_AREA_DESCRIPTION = ".game_area_description";
|
|
const RECOMMENDATION_LINK = ".recommendation_link"; //check franchise page
|
|
const VALVE_INDEX = ".valveindex_purchase_grid";
|
|
const VALVE_INDEX_ALYX_PROMO = ".hlvr_included_sidebar";
|
|
const PURCHASE_NOTE = "#purchase_note"; //they sometimes put game hyperlink, eg: cod hq app
|
|
const DISCOVERY_QUEUE = ".discovery_queue_static";
|
|
const RECOMMENDED_GAME_REASON = ".home_content_reason"; //check game category
|
|
const BREADCRUMBS = "breadcrumbs"; // Skip breadcrumbs navigation - removed dot for class name
|
|
|
|
//to skip add anything if <a> tag has one of those classes
|
|
const RECOMMENDED_GAME_ON_STORE_BUTTON_HOVER = "btnv6_blue_hoverfade";
|
|
const RECOMMENDED_GAME_ON_STORE_BUTTON_SMALL = "btn_small_tall";
|
|
const SCREENSHOT = "screenshot";
|
|
const SIMILIAR_APP = "similarapp"; //check game page when logged in and find similiar to games you have played
|
|
const BUNDLE_ITEM = "bundle_contents_preview_item";
|
|
|
|
//Relative Classes
|
|
const PACKAGE_ITEM = ".bundle_package_item";
|
|
const STORE_SALE_WIDGET_MINI = ".StoreSaleWidgetContainer_mini";
|
|
const LARGE_GAME_ITEM = "._3DkfNrtTOLjNYd3yZliMzy"; //check ea play for this class
|
|
const IMPRESSION_TRACKED_ELEMENT = ".ImpressionTrackedElement"; //login and go category page
|
|
|
|
//banner game;
|
|
//21/07/2024
|
|
//we only need title for icon for aesthetic purposes but no icon on game cover art
|
|
const BANNER_GAME_TITLE = "_26-ICqi8UhxutiYJyQ7jw"; //check game category, prevent adding icons on game title on the right side
|
|
const BANNER_GAME_COVER_ART = "_3htJKARnLcsZPlG3Sqlvkg"; //check game category, prevent adding icons on game cover art
|
|
|
|
//skip adding icons
|
|
const HOVER_MODEL_BOTTOM_SECTION = "Xwe3c0LwQGRjmLBfrpFu6"; // hoverable games with purchase option
|
|
|
|
const ClassNamesToCheck = [
|
|
RECOMMENDED_GAME_ON_STORE_BUTTON_HOVER,
|
|
RECOMMENDED_GAME_ON_STORE_BUTTON_SMALL,
|
|
SCREENSHOT,
|
|
SIMILIAR_APP,
|
|
BUNDLE_ITEM,
|
|
BREADCRUMBS // Add breadcrumbs to direct class check
|
|
];
|
|
|
|
const ClassNamesToCheckInParent = [
|
|
LIST_ITEM_TITLE,
|
|
PAGE_TITLE,
|
|
BUNDLE_CONTENTS,
|
|
DLC_LIST,
|
|
HOVER_MODAL,
|
|
MINI_WIDGET_TITLE,
|
|
FLOATING_STREAM,
|
|
PACKAGE_CONTENTS_CAPSULES,
|
|
BASE_GAME_OF_DLC,
|
|
GAME_AREA_DESCRIPTION,
|
|
RECOMMENDATION_LINK,
|
|
VALVE_INDEX,
|
|
VALVE_INDEX_ALYX_PROMO,
|
|
PURCHASE_NOTE,
|
|
DISCOVERY_QUEUE,
|
|
RECOMMENDED_GAME_REASON,
|
|
BREADCRUMBS // Add breadcrumbs to parent check
|
|
];
|
|
|
|
const shouldSkipAddingLineGlobals = {
|
|
specificClassesToCheck: [BANNER_GAME_TITLE],
|
|
specificClassesToCheckInParent: [],
|
|
};
|
|
|
|
const shouldSkipAddingIconGlobals = {
|
|
specificClassesToCheck: [BANNER_GAME_COVER_ART, HOVER_MODEL_BOTTOM_SECTION],
|
|
specificClassesToCheckInParent: [],
|
|
};
|
|
|
|
const RelativeClassCheck = [];
|
|
|
|
const ParentRelativeClassCheck = [
|
|
PACKAGE_ITEM,
|
|
STORE_SALE_WIDGET_MINI,
|
|
LARGE_GAME_ITEM,
|
|
IMPRESSION_TRACKED_ELEMENT,
|
|
];
|