* feat: implement cover image handling and static image selection
- Added functionality to handle cover image uploads and selections in project and profile forms.
- Introduced a new helper for managing cover images, including static images and uploaded assets.
- Updated components to utilize the new cover image helper for displaying and processing cover images.
- Added a set of static cover images for selection in the image picker.
- Enhanced error handling for image uploads and processing.
This update improves the user experience by providing a more robust cover image management system.
* refactor: rename STATIC_COVER_IMAGES_ARRAY to STATIC_COVER_IMAGES for consistency
- Updated the cover image helper to export STATIC_COVER_IMAGES instead of STATIC_COVER_IMAGES_ARRAY.
- Adjusted the ImagePickerPopover component to utilize the renamed export for rendering static cover images.
* feat: enhance project creation and image handling
- Introduced default project form values with a random emoji for logo props.
- Updated cover image handling in various components, ensuring consistent usage of the new cover image helper.
- Refactored image picker to improve search functionality and loading states.
- Removed unused constants and streamlined cover image type checks for better clarity and performance.
This update enhances the user experience in project creation and image selection processes.
* refactor: simplify cover image type definition and clean up code
- Removed duplicate type from TCoverImageType, streamlining the definition.
- Cleaned up whitespace in the cover image helper for improved readability.
This update enhances code clarity and maintains consistency in cover image handling.
* refactor: update cover image type definitions and simplify logic
- Changed ICoverImageResult and ICoverImagePayload interfaces to type aliases for better clarity.
- Simplified the logic in getCoverImageDisplayURL function to enhance readability and maintainability.
This update improves the structure and clarity of the cover image helper code.
* refactor: remove unused project cover image endpoint and update cover image handling
- Removed the ProjectPublicCoverImagesEndpoint and its associated URL from the project.
- Updated the cover image handling in the cover-image helper to utilize imported assets instead of static paths.
- Cleaned up the ProjectFavoritesViewSet and FileService by removing the now obsolete getProjectCoverImages method.
This update streamlines the cover image management and eliminates unnecessary code, enhancing overall maintainability.
* refactor: update cover image imports to new asset structure
- Replaced static path imports for cover images with updated paths to the new asset structure.
- This change improves organization and maintainability of cover image assets in the project.
This update aligns with recent refactoring efforts to streamline cover image handling.
* feat: add additional cover images to the helper
- Imported new cover images (24 to 29) into the cover-image helper.
- This update expands the available cover image options for use in the project, enhancing visual variety.
* refactor: remove ProjectPublicCoverImagesEndpoint from project URLs and views
* refactor: update cover image imports to include URL query parameter
- Modified cover image imports in the cover-image helper to append a URL query parameter for better asset handling.
- This change enhances the way cover images are processed and utilized within the project.
* refactor: extract default project form values into a utility function
- Created a new utility function `getProjectFormValues` to encapsulate the default project form values.
- Updated the `CreateProjectForm` component to use this utility function for setting default form values, improving code organization and maintainability.
* feat: integrate project update functionality in CreateProjectForm
- Added `updateProject` method to the `CreateProjectForm` component for updating project cover images after creation.
- Enhanced cover image handling by ensuring the correct URL is set for both uploaded and existing cover images.
This update improves the project creation workflow and ensures cover images are accurately updated.
* fix: update documentation for cover image handling
- Corrected the comment regarding local static images to reflect that they are served from the assets folder instead of the public folder.
- This change ensures accurate documentation for the `getCoverImageType` and `getCoverImageDisplayURL` functions, improving clarity for future developers.
* feat: implement random cover image selection for project forms
- Replaced the default cover image URL with a new utility function `getRandomCoverImage` that selects a random cover image from the available options.
- Updated the `getProjectFormValues` function to utilize this new method, enhancing the project creation experience with varied cover images.
---------
Co-authored-by: Prateek Shourya <prateekshourya29@gmail.com>
* feat: add in common py
* fix: update marketing consent screen based on is self managed flag
* improvement: enhance ImagePickerPopover with dynamic tab options based on Unsplash configuration
* refactor: product updates modal to include changelog
* [WEB-5290] feat: implement fallback for product updates changelog with loading state and error handling
---------
Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
* fix: project error message and status code
* fix: incorrect member role check
* fix: project error message and status code
* fix: improve project permission checks and error handling in ProjectViewSet
* feat: enhance project settings layout with better loading strategy and fix all flicker
* fix: prevent rendering during project loading in ProjectAuthWrapper
* refactor: adjust layout structure in ProjectDetailSettingsLayout and enhance access restriction logic in ProjectAccessRestriction
* refactor: replace ProjectAccessRestriction component with updated version and enhance error handling
- Deleted the old ProjectAccessRestriction component.
- Introduced a new ProjectAccessRestriction component with improved error handling and user prompts for joining projects.
- Updated translations for new error states in multiple languages.
* fix: enhance error handling in IssueDetailsPage and remove JoinProject component
---------
Co-authored-by: Dheeraj Kumar Ketireddy <dheeru0198@gmail.com>
Co-authored-by: Prateek Shourya <prateekshourya29@gmail.com>
* [WEB-5501] refactor: optimize component structures and improve hooks
- Updated type definitions in AppProvider to use React.ReactNode for children.
- Enhanced HomePeekOverviewsRoot by using MobX observer and integrating issue detail hook.
- Optimized ContentOverflowWrapper to prevent unnecessary re-renders by adjusting useEffect dependencies.
- Updated DashboardQuickLinks to include necessary dependencies in useCallback.
- Refactored GlobalShortcutsProvider to utilize refs for context and handler management, improving performance.
- Changed useCurrentTime to update every minute instead of every second.
- Refactored outside click hooks to use useCallback for better performance.
- Improved IntercomProvider and PostHogProvider to prevent multiple initializations using refs.
* refactor: simplify conditional rendering in HomePeekOverviewsRoot component
* refactor: improve outside click detection in sidebar and peek overview hooks
* refactor: enhance IntercomProvider and PostHogProvider with hydration state management
* refactor: enhance analytics page tab functionality and UI
- Introduced state management for selected tabs using useState and useEffect hooks.
- Updated tab handling to improve user experience with onValueChange for Tabs component.
- Refactored AnalyticsFilterActions to remove unused duration selection.
- Added Tooltip to project name in ActiveProjectItem for better visibility.
- Minor styling adjustments in Tabs component for improved layout consistency.
* refactor: improve tab layout in analytics page by adding w-fit
* fix: update styling for ActiveProjectItem component
* refactor: simplify analytics page and introduce useAnalyticsTabs hook
- Removed unused imports and optimized the analytics page component.
- Replaced getAnalyticsTabs with a new custom hook useAnalyticsTabs for better modularity.
- Added useAnalyticsTabs hook to manage analytics tab logic.
- Created new files for useAnalyticsTabs and analytics tabs in the 'ce' and 'ee' directories.
* fix: ensure consistent export in use-analytics-tabs file
* style: format code for better readability in AnalyticsPage component
* fix: add missing newline at end of file in use-analytics-tabs
* chore: remove unused analytics tab components
---------
Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
- Add jscodeshift-based codemod to convert arrow function components to function declarations
- Support React.FC, observer-wrapped, and forwardRef components
- Include comprehensive test suite covering edge cases
- Add npm script to run transformer across codebase
- Target only .tsx files in source directories, excluding node_modules and declaration files
* [WEB-5459] chore: updates after running codemod
---------
Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
* 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>
* [WEB-5134] refactor: update `web` ESLint configuration and refactor imports to use type imports
- Enhanced ESLint configuration by adding new rules for import consistency and type imports.
- Refactored multiple files to replace regular imports with type imports for better clarity and performance.
- Ensured consistent use of type imports across the application to align with TypeScript best practices.
* refactor: standardize type imports across components
- Updated multiple files to replace regular imports with type imports for improved clarity and consistency.
- Ensured adherence to TypeScript best practices in the rich filters and issue layouts components.
* feat: enhance rich filters with new components and configurations
- Added `AdditionalFilterValueInput` for unsupported filter types.
- Introduced `FilterItem` and related components for better filter item management.
- Updated filter configurations to include new properties and support for multiple values.
- Improved loading states and error handling in filter components.
- Refactored existing filter logic to streamline operations and enhance performance.
* Refactor rich filters component structure and enhance filter item functionality
- Moved AddFilterButton and AddFilterDropdown to a new directory structure for better organization.
- Updated FilterItemProperty to handle filter selection and condition updates more effectively.
- Enhanced the FilterInstance class with methods to update condition properties and operators, improving filter management.
- Added new functionality to handle invalid filter states and improve user feedback.
* [WEB-5111] feat: add 'created_at' and 'updated_at' filters to work item configuration
- Introduced new filter configurations for 'created_at' and 'updated_at' in the work item filters.
- Updated relevant components to utilize these new filters, enhancing filtering capabilities.
- Added corresponding filter configuration functions in the utils for better date handling.
* fix: build