Commit graph

20 commits

Author SHA1 Message Date
Anmol Singh Bhatia
6712389766
refactor: migrate web icons to @makeplane/propel (#9731)
* refactor: migrate web icons to @makeplane/propel

Replace confirmed icon symbols across apps/web with their audited
@makeplane/propel/icons targets. Unresolved symbols and the State,
Priority and Brand icons stay on their existing imports.

Lucide size props become explicit width/height, including the two
relation icons and the inbox status icon that forward a size variable.
Two aliased imports resolve to targets the file already imported, so
the aliases are dropped rather than importing the same symbol twice.

Widen the member dropdown chain and the AI menu from LucideIcon to
ComponentType<SVGProps<SVGSVGElement>> so both Lucide and Propel icons
satisfy them; both only ever render the icon with a className.

CycleGroupIcon is deliberately not migrated: it dispatches a different
glyph and color per cycle status, which CyclesOutline cannot express.

apps/web already declared @makeplane/propel, so no dependency change
was needed.

* fix: address icon migration review on web

Restore the six user-facing strings the identifier rename overwrote.
The migration replaced every occurrence of a source symbol name,
including ones inside string literals and JSX text, so the GitHub
empty state read "StarOutline us on GitHub", the exporter column key,
header and button label became "DownloadOutline", the project card
action title became "SettingsOutline" and a tooltip became "PinOutline".

Drop 122 strokeWidth props and 10 text-2 classes. Propel glyphs paint
with fill="currentColor", so strokeWidth never changed weight, and
text-2 was a bad conversion of stroke-2, which is a stroke width rather
than a colour and has no meaning on a fill path.

Use StarFilled for the two favorited sidebar stars. Lucide's Star with
fill-yellow-500 was a solid star, and StarOutline is a ring path, so
filling it does not reproduce that shape.
2026-09-02 20:36:43 +05:30
Anmol Singh Bhatia
fd68e7d919
refactor: migrate web @plane/propel Tooltip to @makeplane/propel (#9726)
* refactor: migrate web @plane/propel Tooltip to @makeplane/propel

Move all 144 Tooltip call sites in apps/web from the in-repo
@plane/propel/tooltip to the published
@makeplane/propel/components/tooltip.

Prop mapping applied on every site:
- tooltipContent -> label (string)
- tooltipHeading -> folded into label + layout="stacked"
- position -> side/align (top/center omitted; it is the published default)
- isMobile -> disabled (OR'd with any existing disabled)
- renderByDefault -> dropped; the in-repo Tooltip declared but never
  used it
- className -> dropped, or mapped to sideOffset/alignOffset (3 sites)

layout is "single" for short bounded copy and "stacked" wherever the
label interpolates unbounded data (names, titles, URLs, joined lists) —
"single" is whitespace-nowrap, so long labels would overflow.

Behavior change: tooltips now open after the published 600ms default
instead of the in-repo 200ms. delay is deliberately not set per site.

ReactNode content:
- Editor toolbars map name + <kbd>shortcut</kbd> onto the published
  shortcut prop
- <br/> and fragment copy folds into one wrapping stacked string
- stickies/action-bar rendered a full <StickyNote> hover preview, not a
  tooltip; it moves to PreviewCard/PreviewCardTrigger/PreviewCardContent

Published label is a string, so DropdownButtonProps.tooltipContent,
date-range's customTooltipContent, and the two rich-filters components
narrow from ReactNode to string. rich-filters/root.tsx guards
filterConfig.tooltipContent, which stays ReactNode in @plane/types.

Folded labels use ?? "" where the source expression is nullable so they
cannot render the string "undefined" where the in-repo tooltip rendered
nothing.

Zero @plane/propel/tooltip references remain under apps/web.

* fix: address review findings on the Tooltip migration

Accessibility (CodeRabbit): Base UI wires no aria-describedby or
aria-labelledby between the tooltip trigger and its popup — verified by
rendering the published Tooltip and inspecting the DOM, the trigger comes
out as `<button data-base-ui-tooltip-trigger>` with no aria at all and the
popup has role="tooltip" but no id. So a `label` never reaches assistive
tech, and the four icon-only triggers announced as bare "button". Add an
explicit aria-label at each: extended-project-sidebar, layout-switcher,
layout-selection, and access-field. Pre-existing gap (the in-repo tooltip
sat on the same unwired Base UI trigger), fixed here since the PR touches
these sites.

AccessField now requires i18n_label and drops the optional pre-i18n
`label`, so the computed label is non-empty by construction and serves as
both the tooltip copy and the accessible name. Its only caller already
passes i18n_label for every specifier, which also retires the TODO.

Correctness: inbox issue-properties interpolated a nullable name into a
template literal, so a duplicate work item with no name rendered the
literal "undefined"; pass the name with ?? "" instead.

CodeQL useless conditional: drop `|| ""` from stickyId in action-bar —
both call sites already sit behind a guard proving recentStickyId truthy,
and StickyNote treats "" and undefined identically.

React Doctor prefer-module-scope-static-value: hoist badgeContent to
module scope as BADGE_CONTENT; it holds only static strings.

React Doctor js-combine-iterations: collapse the filter/map chains to a
single pass. The two layout switchers skip inside map instead of
pre-filtering; LabelSummary reduces project labels into the selected
names once rather than filter -> map -> join.
2026-09-01 17:15:12 +05:30
Atul Tameshwari
8ef78bf0c1
[GIT-248 | GIT-254] refactor: store and components consolidation to core (#9245)
* refactor: migrate constants (fetch-keys) from apps/web to @plane/constants

* refactor: migrate constants (ai, calenda, gaant) from apps/web to @plane/constants

* refactor: migrate constants (sidebar, favorites) from apps/web to @plane/constants

* refactor: migrate constants (editor) from apps/web to @plane/constants

* refactor: migrate constants (plans) from apps/web to @core/components

* resolved lint errors

* fix: resolve coderabbit comments

* refactor: resolve coderabbit comments

* refactor: migrate hooks (use-file-size) from web/app/ce to web/app/core

* refactor: migrate hooks (use-notification-preview) from web/app/ce to web/app/core

* refactor: migrate hooks (use-timeline-chart) from web/app/ce to web/app/core

* refactor: migrate hooks (use-page, use-page-store) from web/app/ce to web/app/core

* refactor: migrate hooks (app-rail, indexes) from web/app/ce to web/app/core

* refactor: migrate hooks (use-page-flag) from web/app/ce to web/app/core

* refactor: migrate hooks (use-editor-flagging) from web/app/ce to web/app/core

* refactor: migrate hooks (use-filters-operator-configs) from web/app/ce to web/app/core

* refactor: migrate hooks (use-additional-editor-mention) from web/app/ce to web/app/core

* refactor: migrate hooks (use-additional-favorite-item-details) from web/app/ce to web/app/core

* refactor: migrate hooks (use-extended-editor-extensions, use-pages-pane-extensions) from web/app/ce to web/app/core

* refactor: migrate hooks (use-work-items-filters-config) from web/app/ce to web/app/core

* refactor: migrate hooks (use-extended-editor-config) from web/app/ce to web/app/core

* refactor: migrate hooks (use-bulk-operations) from web/app/ce to web/app/core

* refactor: migrate hooks (use-debounced-duplicate-issues) from web/app/ce to web/app/core

* refactor: migrate hooks (use-issue-properties) from web/app/ce to web/app/core

* refactor: migrate hooks (use-workspace-issue-properties) from web/app/ce to web/app/core

* refactor: delete hook (use-issue-embed) from web/app/ce

* fix: coderabbit comments

* fix: React doctor comments

* fix: import structure for hooks

* refactor: remove command palette & sidebar  components and related files from web/app/ce

* refactor: update analytics tab imports and add new analytics tab components

* feat: add project, work item, and workspace level modals for enhanced user interaction

* refactor: replace WorkspaceActiveCyclesRoot with WorkspaceActiveCyclesUpgrade and remove obsolete components

* refactor: migrate app-rail HOC to core components and remove obsolete index file

* refactor: remove unused automation components and simplify layout structure

* refactor: update import paths for CommonProjectBreadcrumbs and add new breadcrumb components

* refactor: update import path for WorkItemDetailRoot and add new work item detail component

* refactor: remove obsolete comments index file and introduce CommentBlock component in core

* refactor: update import paths for common components and introduce new ExtendedAppHeader, GlobalModals, and SubscriptionPill components

* refactor: remove obsolete index file and add MaintenanceMessage and InboxSourcePill components

* refactor: remove obsolete cycle components and introduce new cycle-related components in core

* refac: moved de-dupe directory to core

* refactor: add new desktop components and update import paths for sidebar functionality

* refactor: remove obsolete index file and introduce new version number and product updates components in core

* refactor: add EpicModal component and update import paths in issue layouts

* refactor: add HomePageHeader and HomePeekOverviewsRoot components, update import paths in home and issues sections

* refactor: remove obsolete home index file, update import paths for relation options in issue detail components, and introduce new activity helper functions

* refactor: remove AdditionalFilterValueInput from legacy path and reintroduce it in core filter value input component

* refactor: remove legacy workspace-notifications index file and introduce new notification components in core

* refactor: remove legacy license components and update import paths for PaidPlanUpgradeModal

* refactor: remove legacy navigation components and update import paths for navigation items in core

* refactor: introduce onboarding tour components and update import paths for tour-related files

* refactor: remove legacy theme switcher component and update import paths in profile settings

* refactor: update import paths for workflow components and introduce new workflow-related files in core

* refactor: remove legacy estimate components and introduce new estimate-related files in core

* refactor: remove legacy gantt-chart components and introduce new core components for gantt-chart functionality

* refactor: remove legacy helper components and introduce new access control and publish components in core

* refactor: introduce billing components and update import paths for billing-related files in core

* refactor: introduce new members components and update import paths for workspace members functionality

* refactor: update import paths for workspace components and introduce new workspace-related files

* refactor: remove deprecated components and clean up import paths across various modules

* refactor: remove unused components and clean up import paths across various modules

* refactor: remove unused sidebar components and update import paths in workspace notifications

* refactor: introduce new estimate, billing, and notification card components while updating import paths across various modules

* refactor: remove unused estimate and billing components, update import paths, and streamline workspace notification card structure

* refactor: update import paths for project components and remove unused files in the projects module

* refactor: remove unused power-k components and update import paths in the command palette module

* refactor: remove unused issue components and update import paths across the issues module

* refactor: remove unused mentions components and update import paths in the editor module

* refactor: remove unused components and update import paths across the pages module

* refactor: update type imports for issue properties in issue modal context

* fix: oxfmt

* fix: PR checks

* [GIT-254] Refactor: Store consolidation to @core/store (#9271)

* refactor: remove unused store files and update import paths across the application

* refactor: remove unused store files and update import paths across the core module

* refactor: remove unused issue filter and store files, and update import paths in the core module

* refactor: update import paths for timeline store files and introduce new base timeline store

* refactor: remove deprecated root store file and update import paths across the application

* refactor: update import paths for store files and correct root store type references

* refactor: standardize import comments and remove 'plane-web' artifacts across various components

* fix: CodeRabbit comments

* fix: format

* refactor: update TypeScript configuration and improve sorting method in TabNavigationRoot component

* refactor: replace toSorted with sort method for navigation item sorting in TabNavigationRoot component

---------

Co-authored-by: Rahulcheryala <rahulcheryala2004@gmail.com>
Co-authored-by: Prateek Shourya <prateekshourya29@gmail.com>
2026-07-16 13:13:04 +05:30
Rahul Cheryala
90ae8457d0
[GIT-239 | GIT-240] refactor: hooks and constants consolidation to core (#9204) 2026-06-26 20:36:52 +05:30
sriram veeraghanta
41abaffc6e
chore: replace prettier with oxfmt (#8676) 2026-03-02 20:40:50 +05:30
sriram veeraghanta
02d0ee3e0f
chore: add copyright (#8584)
* feat: adding new copyright info on all files

* chore: adding CI
2026-01-27 13:54:22 +05:30
sriram veeraghanta
d61b157929
chore: remove posthog events (#8465)
* chore: remove posthog events

* chore: remove event tracking

* chore: lint errors

* chore: minor changes based on comments

* fix: type errors
2025-12-30 19:59:50 +05:30
Anmol Singh Bhatia
2980c2d76b
refactor: actions icon migration (#8219)
* chore: gitignore updated

* chore: check icon added to propel package

* feat: search icon migration

* chore: check icon migration

* chore: plus icon added to propel package

* chore: code refactor

* chore: plus icon migration and code refactor

* chore: trash icon added to propel package

* chore: code refactor

* chore: trash icon migration

* chore: edit icon added to propel package

* chore: new tab icon added to propel package

* chore: edit icon migration

* chore: newtab icon migration

* chore: lock icon added to propel package

* chore: lock icon migration

* chore: globe icon added to propel package

* chore: globe icon migration

* chore: copy icon added to propel package

* chore: copy icon migration

* chore: link icon added to propel package

* chore: link icon migration

* chore: link icon migration

* chore: info icon added to propel package

* chore: code refactor

* chore: code refactor

* chore: code refactor

* chore: code refactor
2025-12-26 17:19:15 +05:30
Aaryan Khandelwal
92ac28fcb8
[WEB-5809] refactor: tailwind config inline variables (#8437) 2025-12-26 16:36:29 +05:30
Aaryan Khandelwal
3df58397b5
fix: tooltip imports (#8379) 2025-12-18 17:19:10 +05:30
Aaryan Khandelwal
22339b9786
[WEB-5602] feat: new design system (#8220)
* chore: init tailwind v4

* chore: update all configs

* chore: add source to parse monorepo packages

* chore: combine all css files

* feat: added extended colors

* chore: update typography

* chore: update extended color var names

* refactor: remove initial spacing variable and update dark mode selector

* chore: update css files

* chore: update animations

* chore: remove spacing tokens

* fix: external css files

* chore: update tailwind-merge version

* chore: update font family

* chore: added brief agents.md and story for new design system

* chore: enhance design system documentation with rare exceptions for visual separation

* chore: add fontsource package for typography

* chore: material symbols font added

* chore: update shadow default

* chore: add stroke and outline theme vars

* chore: update ring and fill colors

* chore: overwrite tailwind typography tokens

* chore: add high contrast mode tokens

* chore: update scrollbar colors

* chore: backward compatibility for buttons and placeholders

* chore: add priority colors

* chore: update urgent priority color

* chore: update plan colors

* chore: add missing utility class

* chore: update height and padding classes

* chore: update label colors

* chore: add missing utlity

* chore: add typography plugin to space app

* chore: replace existing classNames with new design system tokens #8244 (#8278)

* chore: update border colors

* chore: update all borders

* chore: update text colors

* chore: update css variables

* chore: update font sizes and weights

* chore: update bg colors

* chore: sync changes

* fix: uncomment spacing-1200 variable in variables.css

* chore: update primary colors

* refactor: updated border to border-subtle

* refactor: update various components and improve UI consistency across the application

* updated classnames

* updated classnames

* refactor: update color-related class names to use new design system variables for consistency

* chore: default automations

* chore: update text sizes

* chore: home and power k

* chore: home and power k

* chore: replace ui package button components

* chore: update text sizes

* chore: updated issue identifier (#8275)

* refactor: top navigation and sidebar design token (#8276)

* chore: update all button components (#8277)

* chore: new button component

* chore: update existing buttons

* chore: overwrite tailwind typography tokens

* fix: twMerge config + fixed cn instances

* refactor: toast design token updated (#8279)

* chore: update existing buttons

* chore: tooltip design token updatged (#8280)

* chore: moved cn utility to propel (#8281)

* chore: update space app UI (#8285)

* chore; update space app filters component

* fix: button whitespace wrap

* chore: space app votes

* chore: update dropdown components

* refactor: auth, onboarding, sidebar, and common component design token migration (#8291)

* chore: checkbox component design token updated

* chore: indicator and oauth component design token updated

* chore: sidebar design token updated

* chore: auth and onboarding design token updated

* chore: update divider color

* style: update background colors and hover effects across list components

* fix: tailwind merge

* refactor: toggle switch design token migration and header utility classname added (#8295)

* chore: toggle component design token updated

* chore: h-header utility class added

* chore: updated color tokens for work item detail page (#8296)

* chore: update react-day-picker UI

* refactor: update button sizes and styles in filters components

* refactor: breadcrumbs design token updated (#8297)

* chore: update priority icon colors

* refactor: updated layout variables

* chore: update plan card primary CTA

* Chore update editor design system (#8299)

* refactor: update styles for callout, color selector, logo selector, and image uploader

* refactor:fix image

* chore: update settings UI

* chore: updated notifications color and size tokens (#8302)

* chore: update sm button border radius

* fix: logo renderer

* chore: icon button component

* chore: remove deprecated classes

* chore: remove deprecated classes

* chore: update editor list spacing

* fix: icon button size

* chore: improvements (#8309)

* chore: update cycles and modules pages

* refactor: update background styles across various components to use new design system colors

* fix: button type errors

* chore: update modals design system (#8310)

* refactor: callout bg

* refactor: code  bg

* refactor: modal size and variant

---------

Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>

* chore: update next-themes

* design: update billing and plans component styles and remove unused utility functions (#8313)

* refactor: empty state design token migration and improvements (#8315)

* fix: profile page

* refactor: tabs design token updated (#8316)

* chore: updated buttons and tokens for work items (#8317)

* fix: adjust trial button spacing in checkout modal

* chore: update add button hover state

* fix: type error (#8318)

* fix: type error

* chore: code refactor

* refactor: update button sizes and background styles in rich filters components

* refactor: update editor bg

* refactor: enhance Gantt chart sidebar functionality and styling

- Removed unused  prop from .
- Updated  to include new props for better block management and scrolling behavior.
- Improved auto-scroll functionality for Gantt chart items.
- Adjusted styles in  component for consistent design.

* regression: gantt design

* chore: new badge component

* fix: favorite star

* chore: update backgroung, typography and button sizes across workspace settings general and members pages

* fix: header button sizes

* fix: emoji icon logo (#8323)

* more fixes

* chore: update settings sidebar

* refactor: avatar component

* chore: updated work item detail sidebar (#8327)

* refactor: update link preview

* fix: work item property dropdowns

* fix: dropdown buttons border radius

* chore: update power k translation

* chore: updated profile activity design (#8328)

* chore: update settings pages

* chore: update work item sidebar alignments (#8330)

* refactor: admin design system

* chore: update page header

---------

Co-authored-by: Jayash Tripathy <76092296+JayashTripathy@users.noreply.github.com>
Co-authored-by: VipinDevelops <vipinchaudhary1809@gmail.com>
Co-authored-by: Vamsi Krishna <46787868+vamsikrishnamathala@users.noreply.github.com>
Co-authored-by: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com>
Co-authored-by: gakshita <akshitagoyal1516@gmail.com>
Co-authored-by: Palanikannan M <akashmalinimurugu@gmail.com>
Co-authored-by: Prateek Shourya <prateekshourya29@gmail.com>
Co-authored-by: b-saikrishnakanth <bsaikrishnakanth97@gmail.com>
Co-authored-by: M. Palanikannan <73993394+Palanikannan1437@users.noreply.github.com>

* fix: formatting

* reexport types

* fix: lint error

---------

Co-authored-by: Jayash Tripathy <76092296+JayashTripathy@users.noreply.github.com>
Co-authored-by: VipinDevelops <vipinchaudhary1809@gmail.com>
Co-authored-by: Vamsi Krishna <46787868+vamsikrishnamathala@users.noreply.github.com>
Co-authored-by: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com>
Co-authored-by: gakshita <akshitagoyal1516@gmail.com>
Co-authored-by: Palanikannan M <akashmalinimurugu@gmail.com>
Co-authored-by: Prateek Shourya <prateekshourya29@gmail.com>
Co-authored-by: b-saikrishnakanth <bsaikrishnakanth97@gmail.com>
Co-authored-by: M. Palanikannan <73993394+Palanikannan1437@users.noreply.github.com>
2025-12-12 20:50:14 +05:30
sriram veeraghanta
5e621cf620
fix: editor sync changes (#8306)
* chore: upate function declarations

* chore: formatted files
2025-12-11 13:01:25 +05:30
M. Palanikannan
e20f686398
[WIKI-844] fix: realtime sync post vite migration with title editor sync and indexed db access (#8294)
* fix: robust way to handle socket connection and read from indexeddb cache when reqd

* fix: realtime sync working with failure handling

* fix: title editor added

* merge preview into fix/realtime-sync

* check

* page renderer props

* lint errors

* lint errors

* lint errors

* sanitize html

* sanitize html

* format fix

* fix lint
2025-12-10 19:02:52 +05:30
Aaron
2e15e4f786
fix: source map warning during build (#8148)
* [WEB-5473] fix: source map errors

* [WEB-5473] chore: run codemod

* fix: build errors in editor

---------

Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
2025-11-21 13:43:52 +05:30
Aaron
83fdebf64d
[WEB-5459] feat(codemods): add function declaration transformer with tests (#8137)
- 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>
2025-11-20 17:39:40 +05:30
Prateek Shourya
9cfde896b3
[WEB-5134] refactor: update web ESLint configuration and refactor imports to use type imports (#7957)
* [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.
2025-10-14 16:45:07 +05:30
Anmol Singh Bhatia
7d7e37439d
[WEB-4840] chore: icon migration from @plane/ui to @plane/propel/icons (#7721)
* chore: move icons from ui package to propel package

* chore: package and tsdown config updated

* chore: migrate all icon imports from @plane/ui to @plane/propel/icons

* chore: remove icon components from @plane/ui package (migrated to
  @plane/propel/icons)

* chore: code refactoring

* chore: migrate remaining icon components from @Plane/ui to @Plane/propel/icons

* fix: lint error

* chore: code refactor
2025-09-04 14:44:53 +05:30
Anmol Singh Bhatia
26b48bfcf0
[WEB-4724] feat: migrate tooltips from blueprintjs to base-ui (#7646)
* feat: add card component to propel package and update tooltip imports

* refactor: remove @plane/ui dependency and update tooltip imports to use local card component

* fix: lint

* refactor: update import from @plane/ui to @plane/utils in command component

* chore: removed blueprintjs/core and blueprintjs/popover2 dependencies

* chore: updated tooltip instances across platform and performed related code refactoring

* chore: code refactor

* chore: code refactor

* fix: lint and build error

* chore: code refactor

* chore: code refactor

* chore: code refactor

* chore: code refactor

* fix: format issue

* fix: build fix

---------

Co-authored-by: Jayash Tripathy <76092296+JayashTripathy@users.noreply.github.com>
2025-09-02 18:19:56 +05:30
Aaryan Khandelwal
3391e8580c
refactor: remove barrel exports from web app (#7577)
* refactor: remove barrel exports from some compoennt modules

* refactor: remove barrel exports from issue components

* refactor: remove barrel exports from page components

* chore: update type improts

* refactor: remove barrel exports from cycle components

* refactor: remove barrel exports from dropdown components

* refactor: remove barrel exports from ce  components

* refactor: remove barrel exports from some more components

* refactor: remove barrel exports from profile and sidebar components

* chore: update type imports

* refactor: remove barrel exports from store hooks

* chore: dynamically load sticky editor

* fix: lint

* chore: revert sticky dynamic import

* refactor: remove barrel exports from ce issue components

* refactor: remove barrel exports from ce issue components

* refactor: remove barrel exports from ce issue components

---------

Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
2025-08-15 13:10:26 +05:30
sriram veeraghanta
944b873184
chore: move all services inside the apps folder (#7321)
* chore: move all services inside the apps folder

* chore: rename apiserver to server
2025-07-03 00:44:13 +05:30