Commit Graph

181 Commits

Author SHA1 Message Date
Mr. M
53241eb1be feat: Small quality fixes, b=no-bug, c=common, compact-mode, folders, kbs, split-view 2025-09-12 15:00:47 +02:00
Mr. M
09b6a095e4 chore: Add l10n IDs for expand glance shortcut, b=no-bug, c=no-component 2025-09-11 18:29:07 +02:00
octaviusz
591dce5921 feat: Zen Folders, p=#9355, c=folders
* Start working on zen folders

* Rework zen-folder SessionStore

* Refactor restoreDataFromSessionStore

* fix linter

* Fix preserve folder order on restore

* Feat allow dragging tabs into zen-folder

* Fix ensure collapsed folders are hidden on session restore

* Feat store parentId nested folders

* feat: Implement tabs list popup

* refactor: Move tabs popup to `popups.inc`

* feat: Implement drag-and-drop folder into folder

* feat: Improved UI for search panel, b=no-bug, c=folders

* fix: Add extra margin when animating collapsed folders, b=no-bug, c=folders

* feat: Implement tab group rename and other UI changes, b=no-bug, c=folders, common

* feat: Add animated folder dots and adaptive search popup positioning

* fix: resolve conflicts

* fix: Correct active state indication for collapsed folders

* feat: Allow folders to be double clicked, b=no-bug, c=common, folders

* fix: incorrect tab order

* chore: Update prefs to the rust version, b=no-bug, c=folders

* fix: better handling of subfolders

* chore: Improve dynamic spacing when drag and dropping and fixed split views UI, b=no-bug, c=tabs, folders

* feat: Empty tab and improve drag and drop

* fix: add tab search event once

* fix: Empty tab should always be at first position

* feat: improve drag and drop interaction with folders

* feat: Improve drag-and-drop interaction for zen folders

* fix: Improve zen folder session restoration and visibility

* fix: Correct visible element indexing

* fix: Correct restore subfolder order

* feat: Use empty tabs and dont highlight current folder we currently are in, b=no-bug, c=tabs, folders

* feat: persist and restore split-view group state in subfolders

* fix: npm run pretty

* fix: dropIndicator and transform for split-view-group

* fix: Formatting

* fix: improve split group and folder drag-and-drop and persistence

* chore: Fix lint issues and merge with dev, b=no-bug, c=folders

* chore: Move folder element to a different location, b=no-bug, c=folders

* feat: Added a simple folders context menu and simplified patches, b=no-bug, c=tabs, folders

* fix: Correct active tab position in folders collapse animation

* feat: Add ungroup and delete folder actions

* fix: Fixed empty tabs not being able to be pinned, b=no-bug, c=workspaces

* feat: Added folder -> space conversion and pref checks, b=no-bug, c=folders, workspaces

* Update locales/en-US/browser/browser/zen-folders.ftl

Co-authored-by: Patrik Egyed <pregnor@gmail.com>
Signed-off-by: mr. m <91018726+mr-cheffy@users.noreply.github.com>

* fix: Fixed folders not expanding when dragging another folder inside, b=no-bug, c=folders

* refactor: Refactor and improve tab group expansion logic

* feat: New folder dots

* test: Added simple folder creation test, b=no-bug, c=folders, tests

* fix: Don't expand folder when a tab inside it is selected

* feat: Added change folder to space menu item, b=no-bug, c=folders, workspaces

* feat: Added a menu item to create folders more easily, b=no-bug, c=workspaces, common, folders

* feat: Improved animations for collapsing active folders, b=no-bug, c=folders

* fix: Insert folder before pinned separator

* test: Improve folder and welcome testing, b=no-bug, c=folders, tests, welcome

* test: Fixed welcome tests, b=no-bug, c=folders, tests, welcome

* chore: lint, b=no-bug, c=tests, welcome

* feat: Add better selected UI, b=no-bug, c=folders

* feat: Emoji icons

* fix: Better handling of drag-and-drop folder highlighting

* fix: Single quotes

* fix: Hide emoji when folder has selected tab

* feat: Improved icons and animations, b=no-bug, c=folders, tabs

* fix: Fixed fetching the wrong prefs, b=no-bug, c=tabs, folders

* fix: Smoother dot animations

* fix: dragOverFolderThreshold condition and linter

* feat: visually collapse/expand active tab groups on drag/drop

* fix: Correctly transform folder with selected tab

* feat: Added better icons picker to support SVG, b=no-bug, c=common, folders, workspaces

* fix: Correctly transform tabs after moving them

* fix: Fixed not handling properly pinned tab count, b=no-bug, c=tabs, common, folders

* chore: Small formatting, b=no-bug, c=folders

* feat: Support SVG for folder icons

* fix: Formatting

* fix: Performance improvements for SVG icons

* fix: Shift up the folder icon

* fix: Handle null/undefined user icon values defensively

* feat: Improved icon sizes and fixed bug when collapsing folders with collapsed folders, b=no-bug, c=common, folders, workspaces

* chore: Tweaked the transform values for icons, b=no-bug, c=folders

* feat: Added support for collapsed mode (experimental), b=no-bug, c=folders

* fix: ungroup split view

* fix: Improve handling of special tabs during folder creation and drag-and-drop

* fix: Formatting

* feat: Imrpoved hardware accelaration for the icons and folder height calculation, b=no-bug, c=tabs, folders

* refactor: Extract dragover logic for tab group labels

* fix: Small fixes to the folders UI, b=no-bug, c=tabs, folders

* feat: Improved icons opacity and dialog, b=no-bug, c=common, workspaces

* test: Added subfolders basic test, b=no-bug, c=folders, tests

* fix: Drop indicator for folder targets

* feat: Improved drag and drop handling from normal to pinned tabs, b=no-bug, c=folders, tabs

* fix: Fixed moving split views into pinned tabs container, b=no-bug, c=folders, tabs

* feat: Improved new drag and drop offset, b=no-bug, c=tabs

* feat: Refine folder drop behavior with new thresholds

* fix: tabs.js extra space in patch

* fix: Properly handle has-active state

* fix: Add optional chaining for activeGroups length check

* fix: Fixed moving tabs to the workspace indicator not showing any feedback, b=no-bug, c=tabs

* feat: Change svg stroke width, b=no-bug, c=folders, tabs

* feat: Remove aspect ratio for the folder icon, b=no-bug, c=folders, tabs

* feat: Don't reset transform when pining tabs, b=no-bug, c=tabs

* feat: Ungroup tabs when dragging and make sure to animate tabs after the selected one, b=no-bug, c=tabs, folders

* fix: Transform folder with active tab

* fix: Fixed expand animation not working for the first time, b=no-bug, c=folders

* feat: Add expand to selected functionality for folders

* fix: Formatting

* Update src/zen/folders/ZenFolder.mjs

Signed-off-by: mr. m <91018726+mr-cheffy@users.noreply.github.com>

* Update src/zen/workspaces/ZenWorkspaces.mjs

Signed-off-by: mr. m <91018726+mr-cheffy@users.noreply.github.com>

* fix: Set icon for new workspace

* fix: Formatting

* fix: Hide the icon if empty

* fix: Optimize tab drag-over transitions

* feat: Lower the drag and drop threshold, b=no-bug, c=tabs, folders

* feat: Hide search panel when theres no visible tabs, b=no-bug, c=tabs, folders

* fix: Adapt tab-group to new changes

* fix: Fixed expanding split views as folders, b=no-bug, c=folders

* feat(tabs): Implement tab grouping persistence for pinned tabs

This commit introduces the ability to group pinned tabs for better organization.

Changes include:

- Added `createGroup` to create new tab groups.
- Added `addTabToGroup` to add existing tabs to a group.
- Added `removeTabFromGroup` to remove a tab from a group (moving it to the root level).
- Added `moveTabBetweenGroups` to move tabs between different groups or to the root level.
- Added `getAllGroups` to retrieve all tab groups, optionally filtered by workspace.
- Added `getGroupInfo` to retrieve information about a specific group, including its child count.
- Added `reorderTabsInGroup` to reorder tabs within a specific group.

These functions provide a comprehensive API for managing tab groups within the Zen Browser.  Error handling and input validation are included for robustness.  Database transactions are used to ensure data consistency. Observers are notified of changes to notify the sync engine.

* feat: Improve stroke colors for light mode, b=no-bug, c=folders

* perf: cache and optimize animation updates

* fix: Expand folder after drop

* fix: Update active state on tab change

* feat: Sync groups to new windows, b=no-bug, c=folders, tabs, workspaces

* feat: Finish window syncing for new folders, b=no-bug, c=tabs, folders, workspaces

* feat: Make sure SVG icons use the context fill instead of the current color, b=no-bug, c=common, folders

* feat: Added support for drag and drop in collapsed mode, b=no-bug, c=tabs, folders

* fix: Clean up tab attributes and styles on workspace transfer

* fix: Fixed svg icons being always dark, b=no-bug, c=workspaces

---------

Signed-off-by: mr. m <91018726+mr-cheffy@users.noreply.github.com>
Co-authored-by: mr. m <91018726+mr-cheffy@users.noreply.github.com>
Co-authored-by: Mr. M <mr.m@tuta.com>
Co-authored-by: Patrik Egyed <pregnor@gmail.com>
Co-authored-by: Kristijan Ribarić <kriba13@gmail.com>
2025-08-06 08:59:08 -07:00
mr. m
6641152100 chore: Implemented static linting for JS modules, p=#9673, c=common 2025-07-28 21:08:31 +02:00
mr. m
999519f85c chore: Pref cleanup, b=no-bug, c=glance, tabs 2025-07-23 00:57:03 +02:00
Mr. M
f862e184a6 test: Removed replaced-newtab for the mochitest profile and did an overall license check and clanup, b=no-bug, c=scripts, flatpak, tests, common, media, mods, split-view, glance, welcome, workspaces, vendor 2025-07-18 13:36:02 +02:00
Mr. M
69f60b7066 chore: Made container specific essentials the default, b=no-bug, c=workspaces, common, tests 2025-06-26 20:49:55 +02:00
mr. m
65c72a7871 fix: Fixed keyboard shortcuts not working on the settings page, b=no-bug, c=no-component 2025-06-25 23:30:51 +02:00
Mr. M
fd8a55c57c refactor: Remove color settings on look and feel as they are no longer used, b=no-bug, c=common, workspaces 2025-06-08 12:42:06 +02:00
CosmoCreeper
ab9a752286 Remove unnecessary repetition of the same action. (#8840)
I have removed the unnecessary repetition of what ```gZenMarketplaceManager._triggerBuildUpdateWithoutRebuild``` already does and replaced those situations with calls to that actual function.

I have also rearranged that function to before the functions that call it so the flow makes more sense.

Signed-off-by: CosmoCreeper <179134799+CosmoCreeper@users.noreply.github.com>
2025-06-04 08:31:51 +02:00
Mr. M
c9fe95c00c closes #8713 - Fixed profile context menu not showing, c=common, t=fix 2025-05-31 22:16:05 +02:00
Lukas Runge
6cdc640977 fix(shortcuts): 🐛 remove special characters on macos (#8719) 2025-05-31 20:49:08 +02:00
mr. m
21f3ab23d3 feat: Inherti the split view type when opening a new link, b=(no-bug), c=split-view 2025-05-28 14:17:20 +02:00
Mr. M
3b56abf090 fix: Small fixes for split view and glance, b=(no-bug), c=common, compact-mode, split-view, tabs 2025-05-27 16:51:35 +02:00
Bryan Galdámez
797152da89 refactor(mods): rework ZenMods module (#8618)
Co-authored-by: mr. m <mr.m@tuta.com>
Co-authored-by: mr. m <91018726+mauro-balades@users.noreply.github.com>
2025-05-27 12:02:59 +02:00
Mr. M
c32dc7ecd2 feat: Added unload preference to settings, b=(no-bug), c=no-component 2025-05-24 09:33:13 +02:00
mr. m
0310e89c39 Potential fix for code scanning alert no. 17: Overly permissive regular expression range
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
2025-05-14 10:16:59 +02:00
mr. m
7a7fb01928 Merge branch 'dev' into Fix-#7810 2025-05-12 18:04:01 +02:00
Mr. M
93e8f6bbd6 fix: Did common fixes for mods, b=(no-bug), c=mods 2025-05-12 17:13:15 +02:00
Samuel Oldham
9bec7a88fe Lint
Signed-off-by: Samuel Oldham <77629938+SO9010@users.noreply.github.com>
2025-05-12 15:53:21 +01:00
Samuel Oldham
50342e945d Add fix for #7810
Signed-off-by: Samuel Oldham <77629938+SO9010@users.noreply.github.com>
2025-05-12 15:35:49 +01:00
Mr. M
7b99f227cd chore: Format with only a maximum of 10 columns, b=(no-bug), c=workflows, common, compact-mode, folders, glance, kbs, media, mods, split-view, tabs, tests, workspaces, welcome 2025-05-10 21:22:16 +02:00
Mr. M
70b9f66f4c fix: Fixed importing themes from a JSON file, b=(no-bug), c=common, mods 2025-05-06 17:12:49 +02:00
mr. m
6f88c5d2d1 feat: Added an option to restore tabs from where they left off, b=(no-bug), c=common, workspaces 2025-05-06 14:34:47 +02:00
Mr. M
395cc0a19d feat: Organized preferences by files, b=(no-bug), c=media, common 2025-05-05 17:30:11 +02:00
Mr. M
13923b84f2 chore: Small fixes for testing, b=(no-bug), c=kbs, split-view, tests, workspaces 2025-05-04 23:17:17 +02:00
Mr. M
0890180889 fix: Fixed URL bar unfocusing when pressing the newtab button and fixed workspace switching animations, b=(no-bug), c=tabs, workspaces 2025-04-27 17:19:16 +02:00
Mr. M
8acdb00570 chore: Finished last polishing details and updated l10n, b=(no-bug), c=no-component 2025-04-27 10:21:04 +02:00
Pdzly
5f552bb749 Fix theme export behavior by cleaning up DOM elements
Ensure the temporary link element is removed after triggering the export action to prevent cluttering the DOM. Additionally, display a success message upon successful theme export for better user feedback.
2025-04-25 18:51:44 +02:00
Pdzly
a233c6be8c Add theme import and export functionality
Implemented theme import and export options in the Zen Theme Marketplace. Added buttons, event handlers, and logic for users to save themes to a file or load them from an external JSON file. Included success and error states for both actions.
2025-04-25 18:47:05 +02:00
rooki
b490d91572 style: Add homepage button to theme marketplace with click functionality 2025-04-24 14:27:21 +02:00
mr. m
1ab6f77f95 feat: Make PiP checkbox disable the entire feature, not just video controls, b=(no-bug), c=no-component 2025-04-19 10:40:19 +02:00
mr. M
031926efb7 refactor: remove sidebar-related code and update localization references 2025-04-02 10:16:07 +02:00
mr. m
01b8628504 refactor: remove hover tab change preference and related functionality in split view 2025-03-28 13:09:28 +01:00
mr. M
5d0807de4c refactor: update workspace settings and improve CSS styles for better layout and responsiveness 2025-03-20 19:22:55 +01:00
mr. M
072bc0269c refactor: remove unused workspace icon strip preference and related styles 2025-03-18 00:10:38 +01:00
mr. M
671a76bf86 Refactor workspace settings and improve tab management; remove individual pinned tabs preference, update bootstrap command, and enhance tab removal logic for non-existent workspaces. 2025-03-06 14:58:35 +01:00
mr. M
bf31cc24d6 Update firefox RC builds to 135.0.1 2025-02-18 12:06:28 +01:00
mr. M
84bbb4ba63 Removed pilled button preference as it's no longer useful 2025-02-17 21:46:16 +01:00
mr. M
b5c889ab01 Refactor tab reset button label and clean up unused color scheme listener 2025-02-10 21:52:23 +01:00
mr. M
1475d3daee Refactor theme preferences by removing unused color options and adjusting border radius settings 2025-02-09 17:20:27 +01:00
mr. M
63109b4337 Enhance compact mode and URL bar behavior with improved transitions and offset handling; update version numbers in surfer.json 2025-02-05 00:35:38 +01:00
mr. m
ba435d9c14 Rename workspace select button to workspaces button and update related styles for consistency 2025-01-20 21:35:46 +00:00
mr. M
0a9f88a2fb Remove compact view preference and update related logic for improved clarity 2025-01-19 20:29:59 +01:00
mr. M
bd0b012bce Reduce animation duration in ZenWorkspaces for improved responsiveness 2025-01-19 17:06:49 +01:00
mr. m
f7f87131cd Deshabilitar la opción de espacios de trabajo para pruebas y ajustar la configuración de preferencias relacionadas 2025-01-08 12:17:24 +00:00
mr. M
70cbc6033b Sort themes by name in Zen settings and update CSS for category hover state 2025-01-07 20:41:17 +01:00
mr. M
16c76723fe Update subproject commit and fix localization label for unsaved state 2025-01-07 12:43:31 +01:00
Bryan Galdámez
374eb82d40 Replace keydown event with input 2025-01-04 09:13:45 -06:00
Bryan Galdámez
2b1224b3df 🐛 Fix
- Zen Mods: Default value not being loaded on theme install due to zen mods not being always triggered and default values not being in place when reading them (fixes #3887)
- Zen Mods: Fixed string preferences not changing completely by changing the event listener and replacing the throttle with a debounce, so we only listen to the last keydown (fixes #3558)
2025-01-03 21:21:07 -06:00