Add lazy loading for images in the ZenThemeMarketplaceChild.sys.mjs file to improve page load performance. The `initiateThemeMarketplace` method now includes a `setTimeout` function that adds install buttons after a delay of 1000 milliseconds. The `addIntallButtons` method has been modified to select all action buttons and error messages, and remove any existing error messages. It also adds event listeners to the action buttons for installing themes. Additionally, a new `installTheme` method has been added to handle the installation of themes when a button is clicked.
Refactor ZenThemeMarketplaceChild.sys.mjs:
- Add `addIntallButtons` method
- Add `installTheme` method
Initialize the ZenThemeMarketplace module in ZenThemeMarketplace.mjs and the ZenThemeMarketplaceChild module in ZenThemeMarketplaceChild.sys.mjs. This commit sets up the basic structure for these modules, including empty `init` and `handleEvent` methods.
Refactor ZenThemeMarketplace.mjs:
- Add `init` method
Refactor ZenThemeMarketplaceChild.sys.mjs:
- Add `initiateThemeMarketplace` method
- Add `addIntallButton` method
Remove the `insertSplitLinkIntoContextMenu` method in ZenViewSplitter.mjs as it is no longer needed. Additionally, initialize the workspace tab context menus in ZenWorkspaces.mjs to allow users to change the workspace of a tab.
Refactor ZenViewSplitter.mjs:
- Remove `insertSplitLinkIntoContextMenu` method
Refactor ZenWorkspaces.mjs:
- Initialize workspace tab context menus
Update the ZenSidebarManager module to use the updated default mobile user agent. This change ensures that the mobile user agent string is compatible with Android 12 and Firefox version 129.0.
This commit updates the ZenKeyboardShortcuts module to include new actions for split view and workspace management. It adds shortcuts for toggling between grid, vertical, and horizontal split views, as well as closing split views. Additionally, it introduces a shortcut for changing workspaces.
The changes also include the addition of default shortcuts for the new actions and the initialization of shortcuts only on the browser page.
Refactor other modules:
- Remove unnecessary console.log statement in ZenThemeBuilder
- Disable Firefox shortcuts in ZenKeyboardShortcuts
- Remove redundant code in ZenViewSplitter
Refactor ZenProfileDialogUI:
- Improve profiles list and profile creation
Refactor ZenWorkspaces.mjs:
- Remove unnecessary code
Refactor ZenViewSplitter.mjs:
- Activate docShell for tab
- Remove redundant code
Remove unnecessary console.log statement in ZenThemeBuilder
Disable Firefox shortcuts in ZenKeyboardShortcuts
Initialize shortcuts only on the browser page
Update ZenProfileDialogUI to improve profiles list and profile creation
Remove unnecessary code in ZenWorkspaces.mjs
Activate docShell for tab in ZenViewSplitter
Remove redundant code in ZenViewSplitter