bb-plane-fork/apps/web/core/hooks
Aaryan Khandelwal 350107d6c1
[WEB-5088] feat: Power K v2 (#7905)
* feat: add project shortcut in command palette

* feat: global project switcher shortcut

* refactor: generalize command palette entity handling

* feat: extend command palette navigation

* feat: add issue shortcut to command palette

* feat: add modular project selection for cycle navigation

* chore: add reusable command palette utilities

* fix: update key sequence handling to use window methods for timeout management

* fix: build errors

* chore: minor ux copy improvements

* feat: implement a new command registry and renderer for enhanced command palette functionality

* feat: introduce new command palette components and enhance search functionality

* feat: enhance command palette components with improved initialization and loading indicators

* feat: Implement new command palette architecture with multi-step commands, context-aware filtering, and reusable components. Add comprehensive documentation and integration guides. Enhance command execution with a dedicated executor and context provider. Introduce new command types and improve existing command definitions for better usability and maintainability.

* refactor: hook arguments

* refactor: folder structure

* refactor: update import paths

* fix: context prop drilling

* refactor: update search components

* refactor: create actions

* chore: add type to pages

* chore: init contextual actions

* refactor: context based actions code split

* chore: module context-based actions

* refactor: streamline command execution flow and enhance multi-step handling in command palette

* refactor: remove placeholder management from command execution and implement centralized placeholder mapping

* chore: cycle context based actions

* refactor: simplify command execution by consolidating selection steps and adding page change handling

* chore: added more options to work item contextual actions

* chore: page context actions

* refactor: update step type definitions and enhance page mapping for command execution

* feat: implement Command Palette V2 with global shortcuts and enhanced context handling

* refactor: power k v2

* refactor: creation commands

* feat: add navigation utility for Power K context handling

* feat: implement comprehensive navigation commands for Power K

* refactor: work item contextual actions

* fix: build errors

* refactor: remaining contextual actions

* refactor: remove old code

* chore: update placeholder

* refactor: enhance command registry with observable properties and context-aware shortcut handling

* refactor: improve command filtering logic in CommandPaletteModal

* chore: context indicator

* chore: misc actions

* style: shortcut badge

* feat: add open entity actions and enhance navigation commands for Power K

* refactor: rename and reorganize Power K components for improved clarity and structure

* refactor: update CommandPalette components and streamline global shortcuts handling

* refactor: adjust debounce timing in CommandPaletteModal for improved responsiveness

* feat: implement shortcuts modal and enhance command registry for better shortcut management

* fix: search implemented

* refactor: search results code split

* refactor: search results code split

* feat: introduce creation and navigation command modules for Power K, enhancing command organization and functionality

* chore: update menu logos

* refactor: remove unused PowerKOpenEntityActionsExtended component from command palette

* refactor: search menu

* fix: clear context on backspace and manual clear

* refactor: rename creation command keys for consistency and clarity in Power K

* chore: added intake in global search

* chore: preferences menu

* chore: removed the empty serach params

* revert: command palette changes

* cleanup

* refactor: update command IDs to use underscores for consistency across Power K components

* refactor: extended context based actions

* chore: modal command item status props

* refactor: replace CommandPalette with CommandPaletteProvider in settings and profile layouts

* refactor: update settings menu to use translated labels instead of i18n labels

* refactor: update command titles to use translation keys for creation actions

* refactor: update navigation command titles to use translation keys for consistency

* chore: minor cleanup

* chore: misc commands added

* chore: code split for no search results command

* chore: state menu items for work item context based commands

* chore: add more props to no search results command

* chore: add more props to no search results command

* refactor: remove shortcut key for create workspace command

* Refactor command palette to use PowerK store

- Replaced instances of `useCommandPalette` with `usePowerK` across various components, including `AppSearch`, `CommandModal`, and `CommandPalette`.
- Introduced `PowerKStore` to manage modal states and commands, enhancing the command palette functionality.
- Updated modal handling to toggle `PowerKModal` and `ShortcutsListModal` instead of the previous command palette modals.
- Refactored related components to ensure compatibility with the new store structure and maintain functionality.

* Refactor PowerK command handling to remove context dependency

- Updated `usePowerKCommands` and `usePowerKCreationCommands` to eliminate the need for a context parameter, simplifying their usage.
- Adjusted related command records to utilize the new structure, ensuring consistent access to command configurations.
- Enhanced permission checks in creation commands to utilize user project roles for better access control.

* chore: add context indicator

* chore: update type import

* chore: migrate toast implementation from @plane/ui to @plane/propel/toast across multiple command files

* refactor: power k modal wrapper and provider

* fix: type imports

* chore: update creation command shortcuts

* fix: page context commands

* chore: update navigation and open command shortcuts

* fix: work item standalone page modals

* fix: context indicator visibility

* fix: potential error points

* fix: build errors

* fix: lint errors

* fix: import order

---------

Co-authored-by: Vihar Kurama <vihar.kurama@gmail.com>
Co-authored-by: Prateek Shourya <prateekshourya29@gmail.com>
Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
2025-10-29 15:38:30 +05:30
..
context [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
editor [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
store [WEB-5088] feat: Power K v2 (#7905) 2025-10-29 15:38:30 +05:30
use-app-rail.tsx [WEB-4328] feat: sidebar revamp (#7217) 2025-07-08 20:18:39 +05:30
use-app-router.tsx [WEB-4654] refactor: replace nprogress with bprogress and clean up unused code (#7559) 2025-08-11 00:37:35 +05:30
use-auto-save.tsx [WEB-5027] fix: replace lodash package with lodash-es (#7856) 2025-09-26 17:59:31 +05:30
use-auto-scroller.tsx [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
use-collaborative-page-actions.tsx regression: downgrade to tiptap v2 (#7982) 2025-10-21 18:28:16 +05:30
use-current-time.tsx chore: move all services inside the apps folder (#7321) 2025-07-03 00:44:13 +05:30
use-debounce.tsx chore: move all services inside the apps folder (#7321) 2025-07-03 00:44:13 +05:30
use-dropdown-key-down.tsx chore: move all services inside the apps folder (#7321) 2025-07-03 00:44:13 +05:30
use-dropdown.ts chore: move all services inside the apps folder (#7321) 2025-07-03 00:44:13 +05:30
use-extended-sidebar-overview-outside-click.tsx [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
use-favorite-item-details.tsx [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
use-group-dragndrop.ts [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
use-integration-popup.tsx chore: move all services inside the apps folder (#7321) 2025-07-03 00:44:13 +05:30
use-intersection-observer.ts [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
use-issue-layout-store.ts refactor: remove barrel exports from web app (#7577) 2025-08-15 13:10:26 +05:30
use-issue-peek-overview-redirection.tsx [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
use-issues-actions.tsx [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
use-keypress.tsx chore: move all services inside the apps folder (#7321) 2025-07-03 00:44:13 +05:30
use-local-storage.tsx chore: move all services inside the apps folder (#7321) 2025-07-03 00:44:13 +05:30
use-multiple-select.ts refactor: remove barrel exports from web app (#7577) 2025-08-15 13:10:26 +05:30
use-online-status.ts chore: move all services inside the apps folder (#7321) 2025-07-03 00:44:13 +05:30
use-page-fallback.ts [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
use-page-filters.ts refactor: remove barrel exports from web app (#7577) 2025-08-15 13:10:26 +05:30
use-page-operations.ts regression: downgrade to tiptap v2 (#7982) 2025-10-21 18:28:16 +05:30
use-parse-editor-content.ts [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
use-peek-overview-outside-click.tsx [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
use-platform-os.tsx chore: move all services inside the apps folder (#7321) 2025-07-03 00:44:13 +05:30
use-project-issue-properties.ts feat: migrate to pnpm from yarn (#7593) 2025-08-19 20:06:42 +05:30
use-query-params.ts chore: move all services inside the apps folder (#7321) 2025-07-03 00:44:13 +05:30
use-realtime-page-events.tsx regression: downgrade to tiptap v2 (#7982) 2025-10-21 18:28:16 +05:30
use-reload-confirmation.tsx chore: move all services inside the apps folder (#7321) 2025-07-03 00:44:13 +05:30
use-resolved-asset-path.tsx chore: move all services inside the apps folder (#7321) 2025-07-03 00:44:13 +05:30
use-stickies.tsx [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
use-table-keyboard-navigation.tsx chore: move all services inside the apps folder (#7321) 2025-07-03 00:44:13 +05:30
use-timeline-chart.ts [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
use-timer.tsx chore: move all services inside the apps folder (#7321) 2025-07-03 00:44:13 +05:30
use-timezone-converter.tsx fix: CI to include lint and format along with build (#7482) 2025-08-18 21:27:16 +05:30
use-timezone.tsx [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
use-window-size.tsx chore: move all services inside the apps folder (#7321) 2025-07-03 00:44:13 +05:30
use-workspace-invitation.tsx [WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957) 2025-10-14 16:45:07 +05:30
use-workspace-issue-properties.ts feat: migrate to pnpm from yarn (#7593) 2025-08-19 20:06:42 +05:30
use-workspace-paths.ts [WEB-4328] feat: sidebar revamp (#7217) 2025-07-08 20:18:39 +05:30