[GIT-239] refactor: migrate constants from apps/web to @plane/constants#9204
[GIT-239] refactor: migrate constants from apps/web to @plane/constants#9204Rahulcheryala wants to merge 8 commits into
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThis PR consolidates app-level constants and editor utilities into shared ChangesShared Package Consolidation and Editor Contracts
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Linked to Plane Work Item(s) This comment was auto-generated by Plane |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
packages/editor/src/core/constants/common.ts (1)
190-193: ⚡ Quick winFilter sticky toolbar items by
itemKey, not displayname.The
stickybranch keys offitem.name("Bold", "Italic", "To-do list") while every other branch filters onitem.editors. Matching on human-readable labels is brittle—any rename, casing change, or future i18n ofnamesilently drops these items. Prefer filtering on the stableitemKey.♻️ Proposed change
sticky: { - basic: BASIC_MARK_ITEMS.filter((item) => ["Bold", "Italic"].includes(item.name)), - list: LIST_ITEMS.filter((item) => ["To-do list"].includes(item.name)), + basic: BASIC_MARK_ITEMS.filter((item) => ["bold", "italic"].includes(item.itemKey)), + list: LIST_ITEMS.filter((item) => item.itemKey === "to-do-list"), },🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/editor/src/core/constants/common.ts` around lines 190 - 193, The sticky toolbar filters currently use item.name (in the sticky object for BASIC_MARK_ITEMS and LIST_ITEMS), which is brittle; change those filters to check the stable itemKey property instead (e.g., replace checks like ["Bold","Italic"].includes(item.name) with ["bold","italic"].includes(item.itemKey] and ["todo_list"].includes(item.itemKey) or whatever the canonical itemKey values are) so sticky.basic and sticky.list rely on item.itemKey rather than display name; update the filter predicates in the sticky block to use item.itemKey to match the existing key naming used elsewhere.apps/web/ce/hooks/pages/use-pages-pane-extensions.ts (1)
19-19: 💤 Low valueConsider adding
.tsextension to local type import.As per coding guidelines, TypeScript 5.2+ supports explicit
.tsextensions inimport typestatements. Consider updating the import to include the extension:-import type { INavigationPaneExtension } from "`@/components/pages/navigation-pane`"; +import type { INavigationPaneExtension } from "`@/components/pages/navigation-pane.ts`";This improves clarity and aligns with the guidelines, though the current code will work correctly in most configurations.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@apps/web/ce/hooks/pages/use-pages-pane-extensions.ts` at line 19, Update the local type import to include the explicit .ts extension: change the import of INavigationPaneExtension in use-pages-pane-extensions.ts (the line importing INavigationPaneExtension) so it uses the file extension (e.g., import type { INavigationPaneExtension } from "`@/components/pages/navigation-pane.ts`") to follow the TypeScript 5.2+ guideline for explicit .ts extensions in type-only imports.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@apps/web/ce/hooks/pages/use-pages-pane-extensions.ts`:
- Line 19: Update the local type import to include the explicit .ts extension:
change the import of INavigationPaneExtension in use-pages-pane-extensions.ts
(the line importing INavigationPaneExtension) so it uses the file extension
(e.g., import type { INavigationPaneExtension } from
"`@/components/pages/navigation-pane.ts`") to follow the TypeScript 5.2+ guideline
for explicit .ts extensions in type-only imports.
In `@packages/editor/src/core/constants/common.ts`:
- Around line 190-193: The sticky toolbar filters currently use item.name (in
the sticky object for BASIC_MARK_ITEMS and LIST_ITEMS), which is brittle; change
those filters to check the stable itemKey property instead (e.g., replace checks
like ["Bold","Italic"].includes(item.name) with
["bold","italic"].includes(item.itemKey] and
["todo_list"].includes(item.itemKey) or whatever the canonical itemKey values
are) so sticky.basic and sticky.list rely on item.itemKey rather than display
name; update the filter predicates in the sticky block to use item.itemKey to
match the existing key naming used elsewhere.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: b908c4e4-f2f7-45d8-a33c-35f4f59cef59
📒 Files selected for processing (93)
apps/web/app/(all)/[workspaceSlug]/(projects)/extended-project-sidebar.tsxapps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/layout.tsxapps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsxapps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/header.tsxapps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/integrations/page.tsxapps/web/app/(all)/invitations/page.tsxapps/web/app/(all)/onboarding/page.tsxapps/web/app/(all)/workspace-invitations/page.tsxapps/web/ce/components/breadcrumbs/project.tsxapps/web/ce/components/pages/editor/ai/menu.tsxapps/web/ce/components/projects/create/root.tsxapps/web/ce/components/relations/index.tsxapps/web/ce/components/workspace/billing/comparison/plan-detail.tsxapps/web/ce/components/workspace/billing/comparison/root.tsxapps/web/ce/hooks/pages/use-pages-pane-extensions.tsapps/web/ce/hooks/use-additional-favorite-item-details.tsxapps/web/ce/types/gantt-chart.tsapps/web/ce/types/index.tsapps/web/ce/types/issue-types/index.tsapps/web/ce/types/issue-types/issue-property-values.d.tsapps/web/ce/types/pages/pane-extensions.tsapps/web/ce/types/projects/projects.tsapps/web/core/components/api-token/delete-token-modal.tsxapps/web/core/components/api-token/modal/create-token-modal.tsxapps/web/core/components/common/activity/activity-item.tsxapps/web/core/components/common/activity/helper.tsxapps/web/core/components/cycles/active-cycle/use-cycles-details.tsapps/web/core/components/dropdowns/project/base.tsxapps/web/core/components/editor/lite-text/lite-toolbar.tsxapps/web/core/components/editor/lite-text/toolbar.tsxapps/web/core/components/editor/pdf/document.tsxapps/web/core/components/editor/sticky-editor/toolbar.tsxapps/web/core/components/exporter/guide.tsxapps/web/core/components/exporter/prev-exports.tsxapps/web/core/components/integration/single-integration-card.tsxapps/web/core/components/integration/slack/select-channel.tsxapps/web/core/components/issues/filters.tsxapps/web/core/components/issues/issue-detail-widgets/relations/content.tsxapps/web/core/components/issues/issue-detail-widgets/relations/quick-action-button.tsxapps/web/core/components/issues/issue-detail/issue-activity/activity/actions/relation.tsxapps/web/core/components/issues/issue-detail/relation-select.tsxapps/web/core/components/issues/issue-layouts/calendar/calendar.tsxapps/web/core/components/issues/issue-layouts/calendar/day-tile.tsxapps/web/core/components/issues/issue-layouts/calendar/dropdowns/months-dropdown.tsxapps/web/core/components/issues/issue-layouts/calendar/dropdowns/options-dropdown.tsxapps/web/core/components/issues/issue-layouts/calendar/week-header.tsxapps/web/core/components/issues/issue-modal/context/issue-modal-context.tsxapps/web/core/components/issues/relations/issue-list-item.tsxapps/web/core/components/issues/relations/issue-list.tsxapps/web/core/components/navigation/customize-navigation-dialog.tsxapps/web/core/components/navigation/project-header-button.tsxapps/web/core/components/pages/editor/toolbar/toolbar.tsxapps/web/core/components/power-k/menus/projects.tsxapps/web/core/components/profile/activity/workspace-activity-list.tsxapps/web/core/components/profile/overview/activity.tsxapps/web/core/components/project/create-project-modal.tsxapps/web/core/components/project/create/common-attributes.tsxapps/web/core/components/project/integration-card.tsxapps/web/core/components/project/project-settings-member-defaults.tsxapps/web/core/components/settings/profile/content/pages/api-tokens.tsxapps/web/core/components/workspace/billing/comparison/base.tsxapps/web/core/components/workspace/billing/comparison/feature-detail.tsxapps/web/core/components/workspace/billing/comparison/index.tsapps/web/core/components/workspace/billing/comparison/plans.tsxapps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-icon.tsxapps/web/core/components/workspace/sidebar/favorites/favorite-items/common/helper.tsxapps/web/core/components/workspace/sidebar/favorites/favorite-items/common/index.tsapps/web/core/components/workspace/sidebar/projects-list.tsxapps/web/core/constants/ai.tsapps/web/core/constants/editor.tsapps/web/core/hooks/use-favorite-item-details.tsxapps/web/core/hooks/use-navigation-preferences.tsapps/web/core/hooks/use-workspace-issue-properties.tsapps/web/core/layouts/auth-layout/project-wrapper.tsxapps/web/core/layouts/auth-layout/workspace-wrapper.tsxapps/web/core/services/ai.service.tsapps/web/core/services/issue/issue_relation.service.tsapps/web/core/services/project/project.service.tsapps/web/core/store/issue/issue-details/relation.store.tsapps/web/core/store/issue/issue-details/root.store.tsapps/web/core/store/project/project.store.tspackages/constants/src/ai.tspackages/constants/src/calendar.tspackages/constants/src/fetch-keys.tspackages/constants/src/gantt-chart.tspackages/constants/src/index.tspackages/constants/src/sidebar-favorites.tspackages/editor/src/core/constants/common.tspackages/types/src/index.tspackages/types/src/issues/issue-property-values.tspackages/types/src/navigation-preferences.tspackages/types/src/project/activity.tspackages/types/src/project/index.ts
💤 Files with no reviewable changes (10)
- apps/web/ce/types/issue-types/issue-property-values.d.ts
- apps/web/ce/types/pages/pane-extensions.ts
- apps/web/ce/types/index.ts
- apps/web/ce/types/issue-types/index.ts
- apps/web/core/constants/editor.ts
- apps/web/ce/types/gantt-chart.ts
- apps/web/core/constants/ai.ts
- packages/constants/src/sidebar-favorites.ts
- packages/types/src/navigation-preferences.ts
- apps/web/ce/types/projects/projects.ts
e33f106 to
21c90c3
Compare
|
@coderabbitai can you review all these changes. |
|
✅ Action performedFull review finished. |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (3)
packages/editor/src/core/constants/common.ts (2)
169-169: ⚡ Quick winAvoid unsafe assertion when deriving
IMAGE_ITEM.The
as ToolbarMenuItem<"image">assertion hides a possibleundefinedresult ifCOMPLEX_ITEMSchanges, which would later break command execution.💡 Suggested change
-export const IMAGE_ITEM = COMPLEX_ITEMS.find((item) => item.itemKey === "image") as ToolbarMenuItem<"image">; +const imageItem = COMPLEX_ITEMS.find( + (item): item is ToolbarMenuItem<"image"> => item.itemKey === "image" +); + +if (!imageItem) { + throw new Error("IMAGE_ITEM is missing from COMPLEX_ITEMS"); +} + +export const IMAGE_ITEM = imageItem;🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/editor/src/core/constants/common.ts` at line 169, IMAGE_ITEM currently uses an unsafe type assertion on the result of COMPLEX_ITEMS.find which can be undefined at runtime; change it to perform a runtime check after finding the item (e.g., store the result from COMPLEX_ITEMS.find in a local const, verify it is not undefined, and if it is throw a clear Error or return a safe fallback) and only then cast to ToolbarMenuItem<"image"> or narrow its type; reference IMAGE_ITEM and COMPLEX_ITEMS and add a descriptive error message like "IMAGE_ITEM not found in COMPLEX_ITEMS" so consumers won't later hit an unexpected undefined.
191-192: ⚡ Quick winFilter sticky toolbar items by
itemKey, not display name.Using
item.namecouples behavior to UI labels; a rename/localization can silently change sticky toolbar contents.💡 Suggested change
- basic: BASIC_MARK_ITEMS.filter((item) => ["Bold", "Italic"].includes(item.name)), - list: LIST_ITEMS.filter((item) => ["To-do list"].includes(item.name)), + basic: BASIC_MARK_ITEMS.filter((item) => ["bold", "italic"].includes(item.itemKey)), + list: LIST_ITEMS.filter((item) => item.itemKey === "to-do-list"),🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/editor/src/core/constants/common.ts` around lines 191 - 192, The filters in BASIC_MARK_ITEMS and LIST_ITEMS currently check item.name (UI label) which is fragile; update both filters to check a stable identifier like item.itemKey (or whatever stable key property exists) instead of item.name, and use the corresponding keys for Bold, Italic and To-do list (e.g. the itemKey values for those controls) so the sticky toolbar is driven by itemKey rather than display text.packages/constants/src/fetch-keys.ts (1)
163-167: 💤 Low valueAppropriate use of underscore prefix for unused parameter.
The
_workspaceSlugparameter is not used in the function body, so the underscore prefix correctly signals this to readers and tools. This is not a runtime breaking change for consumers.As per coding guidelines, the switch to
toSorted()on lines 43–51 follows the requirement to "Use copying array methods (toSorted,toSpliced,with) for immutable array operations (TypeScript 5.2+)".🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/constants/src/fetch-keys.ts` around lines 163 - 167, The unused parameter _workspaceSlug in both PROJECT_DETAILS and PROJECT_ME_INFORMATION is correctly prefixed with an underscore to signal it's intentionally unused; ensure the parameter name remains _workspaceSlug (not workspaceSlug) in both functions (PROJECT_DETAILS and PROJECT_ME_INFORMATION) so linters/readers recognize it as unused and no runtime changes are made, and continue using toSorted() elsewhere per the immutable-array guideline.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/constants/src/ai.ts`:
- Around line 11-15: Replace the explicit indexed type annotation on
LOADING_TEXTS with TypeScript's `satisfies` operator to ensure the object
conforms to the AI_EDITOR_TASKS contract while preserving literal types; locate
the LOADING_TEXTS constant and change its declaration so the object literal is
asserted with `satisfies { [key in AI_EDITOR_TASKS]: string }` (keeping the same
keys such as AI_EDITOR_TASKS.ASK_ANYTHING) instead of the current `: { [key in
AI_EDITOR_TASKS]: string }` annotation.
---
Nitpick comments:
In `@packages/constants/src/fetch-keys.ts`:
- Around line 163-167: The unused parameter _workspaceSlug in both
PROJECT_DETAILS and PROJECT_ME_INFORMATION is correctly prefixed with an
underscore to signal it's intentionally unused; ensure the parameter name
remains _workspaceSlug (not workspaceSlug) in both functions (PROJECT_DETAILS
and PROJECT_ME_INFORMATION) so linters/readers recognize it as unused and no
runtime changes are made, and continue using toSorted() elsewhere per the
immutable-array guideline.
In `@packages/editor/src/core/constants/common.ts`:
- Line 169: IMAGE_ITEM currently uses an unsafe type assertion on the result of
COMPLEX_ITEMS.find which can be undefined at runtime; change it to perform a
runtime check after finding the item (e.g., store the result from
COMPLEX_ITEMS.find in a local const, verify it is not undefined, and if it is
throw a clear Error or return a safe fallback) and only then cast to
ToolbarMenuItem<"image"> or narrow its type; reference IMAGE_ITEM and
COMPLEX_ITEMS and add a descriptive error message like "IMAGE_ITEM not found in
COMPLEX_ITEMS" so consumers won't later hit an unexpected undefined.
- Around line 191-192: The filters in BASIC_MARK_ITEMS and LIST_ITEMS currently
check item.name (UI label) which is fragile; update both filters to check a
stable identifier like item.itemKey (or whatever stable key property exists)
instead of item.name, and use the corresponding keys for Bold, Italic and To-do
list (e.g. the itemKey values for those controls) so the sticky toolbar is
driven by itemKey rather than display text.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 0f0f865f-1ac3-4a8e-8139-58672ec82359
📒 Files selected for processing (55)
apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/layout.tsxapps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsxapps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/header.tsxapps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/integrations/page.tsxapps/web/app/(all)/invitations/page.tsxapps/web/app/(all)/onboarding/page.tsxapps/web/app/(all)/workspace-invitations/page.tsxapps/web/ce/components/pages/editor/ai/menu.tsxapps/web/ce/components/workspace/billing/comparison/plan-detail.tsxapps/web/ce/components/workspace/billing/comparison/root.tsxapps/web/ce/hooks/use-additional-favorite-item-details.tsxapps/web/core/components/api-token/delete-token-modal.tsxapps/web/core/components/api-token/modal/create-token-modal.tsxapps/web/core/components/cycles/active-cycle/use-cycles-details.tsapps/web/core/components/editor/lite-text/lite-toolbar.tsxapps/web/core/components/editor/lite-text/toolbar.tsxapps/web/core/components/editor/pdf/document.tsxapps/web/core/components/editor/sticky-editor/toolbar.tsxapps/web/core/components/exporter/guide.tsxapps/web/core/components/exporter/prev-exports.tsxapps/web/core/components/integration/single-integration-card.tsxapps/web/core/components/integration/slack/select-channel.tsxapps/web/core/components/issues/issue-layouts/calendar/calendar.tsxapps/web/core/components/issues/issue-layouts/calendar/day-tile.tsxapps/web/core/components/issues/issue-layouts/calendar/dropdowns/months-dropdown.tsxapps/web/core/components/issues/issue-layouts/calendar/dropdowns/options-dropdown.tsxapps/web/core/components/issues/issue-layouts/calendar/week-header.tsxapps/web/core/components/pages/editor/toolbar/toolbar.tsxapps/web/core/components/profile/activity/workspace-activity-list.tsxapps/web/core/components/profile/overview/activity.tsxapps/web/core/components/project/integration-card.tsxapps/web/core/components/project/project-settings-member-defaults.tsxapps/web/core/components/settings/profile/content/pages/api-tokens.tsxapps/web/core/components/workspace/billing/comparison/base.tsxapps/web/core/components/workspace/billing/comparison/feature-detail.tsxapps/web/core/components/workspace/billing/comparison/index.tsapps/web/core/components/workspace/billing/comparison/plans.tsxapps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-icon.tsxapps/web/core/components/workspace/sidebar/favorites/favorite-items/common/helper.tsxapps/web/core/components/workspace/sidebar/favorites/favorite-items/common/index.tsapps/web/core/constants/ai.tsapps/web/core/constants/editor.tsapps/web/core/hooks/use-favorite-item-details.tsxapps/web/core/hooks/use-workspace-issue-properties.tsapps/web/core/layouts/auth-layout/project-wrapper.tsxapps/web/core/layouts/auth-layout/workspace-wrapper.tsxapps/web/core/services/ai.service.tsapps/web/core/store/issue/issue-details/relation.store.tspackages/constants/src/ai.tspackages/constants/src/calendar.tspackages/constants/src/fetch-keys.tspackages/constants/src/gantt-chart.tspackages/constants/src/index.tspackages/constants/src/sidebar-favorites.tspackages/editor/src/core/constants/common.ts
💤 Files with no reviewable changes (3)
- packages/constants/src/sidebar-favorites.ts
- apps/web/core/constants/ai.ts
- apps/web/core/constants/editor.ts
21c90c3 to
ef3708f
Compare
|
React Doctor found 31 issues in 17 files · 2 errors & 29 warnings · score 84 / 100 (Needs work) · vs Errors
29 warnings
Reviewed by React Doctor for commit |
0ea76ef to
b82f376
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@apps/web/ce/hooks/use-additional-favorite-item-details.tsx`:
- Line 22: The FavoriteItemIcon component at line 22 in
use-additional-favorite-item-details.tsx is missing the logo_props parameter
from favorite.entity_data, which prevents it from rendering logo-aware icons.
Update the FavoriteItemIcon component call to pass logo_props from
favorite.entity_data in addition to the type prop, so the component can properly
render icons with custom logos instead of always falling back to generic icons.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 8ea40a4a-7004-4002-ba3d-4893ba9e11bc
📒 Files selected for processing (56)
apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/layout.tsxapps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsxapps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/header.tsxapps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/integrations/page.tsxapps/web/app/(all)/invitations/page.tsxapps/web/app/(all)/onboarding/page.tsxapps/web/app/(all)/workspace-invitations/page.tsxapps/web/ce/components/pages/editor/ai/menu.tsxapps/web/ce/components/workspace/billing/comparison/plan-detail.tsxapps/web/ce/components/workspace/billing/comparison/root.tsxapps/web/ce/hooks/use-additional-favorite-item-details.tsapps/web/ce/hooks/use-additional-favorite-item-details.tsxapps/web/core/components/api-token/delete-token-modal.tsxapps/web/core/components/api-token/modal/create-token-modal.tsxapps/web/core/components/cycles/active-cycle/use-cycles-details.tsapps/web/core/components/editor/lite-text/lite-toolbar.tsxapps/web/core/components/editor/lite-text/toolbar.tsxapps/web/core/components/editor/pdf/document.tsxapps/web/core/components/editor/sticky-editor/toolbar.tsxapps/web/core/components/exporter/guide.tsxapps/web/core/components/exporter/prev-exports.tsxapps/web/core/components/integration/single-integration-card.tsxapps/web/core/components/integration/slack/select-channel.tsxapps/web/core/components/issues/issue-layouts/calendar/calendar.tsxapps/web/core/components/issues/issue-layouts/calendar/day-tile.tsxapps/web/core/components/issues/issue-layouts/calendar/dropdowns/months-dropdown.tsxapps/web/core/components/issues/issue-layouts/calendar/dropdowns/options-dropdown.tsxapps/web/core/components/issues/issue-layouts/calendar/week-header.tsxapps/web/core/components/pages/editor/toolbar/toolbar.tsxapps/web/core/components/profile/activity/workspace-activity-list.tsxapps/web/core/components/profile/overview/activity.tsxapps/web/core/components/project/integration-card.tsxapps/web/core/components/project/project-settings-member-defaults.tsxapps/web/core/components/settings/profile/content/pages/api-tokens.tsxapps/web/core/components/workspace/billing/comparison/base.tsxapps/web/core/components/workspace/billing/comparison/feature-detail.tsxapps/web/core/components/workspace/billing/comparison/index.tsapps/web/core/components/workspace/billing/comparison/plans.tsxapps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-icon.tsxapps/web/core/components/workspace/sidebar/favorites/favorite-items/common/helper.tsxapps/web/core/components/workspace/sidebar/favorites/favorite-items/common/index.tsapps/web/core/constants/ai.tsapps/web/core/constants/editor.tsapps/web/core/hooks/use-favorite-item-details.tsxapps/web/core/hooks/use-workspace-issue-properties.tsapps/web/core/layouts/auth-layout/project-wrapper.tsxapps/web/core/layouts/auth-layout/workspace-wrapper.tsxapps/web/core/services/ai.service.tsapps/web/core/store/issue/issue-details/relation.store.tspackages/constants/src/ai.tspackages/constants/src/calendar.tspackages/constants/src/fetch-keys.tspackages/constants/src/gantt-chart.tspackages/constants/src/index.tspackages/constants/src/sidebar-favorites.tspackages/editor/src/core/constants/common.ts
💤 Files with no reviewable changes (4)
- packages/constants/src/sidebar-favorites.ts
- apps/web/ce/hooks/use-additional-favorite-item-details.ts
- apps/web/core/constants/ai.ts
- apps/web/core/constants/editor.ts
✅ Files skipped from review due to trivial changes (17)
- apps/web/core/components/issues/issue-layouts/calendar/dropdowns/options-dropdown.tsx
- apps/web/ce/components/workspace/billing/comparison/plan-detail.tsx
- apps/web/core/components/integration/slack/select-channel.tsx
- apps/web/core/components/settings/profile/content/pages/api-tokens.tsx
- apps/web/core/components/profile/overview/activity.tsx
- apps/web/core/components/api-token/delete-token-modal.tsx
- apps/web/core/components/editor/lite-text/toolbar.tsx
- apps/web/core/components/issues/issue-layouts/calendar/week-header.tsx
- apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/index.ts
- apps/web/core/components/editor/sticky-editor/toolbar.tsx
- apps/web/core/components/pages/editor/toolbar/toolbar.tsx
- apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsx
- apps/web/core/hooks/use-workspace-issue-properties.ts
- apps/web/app/(all)/workspace-invitations/page.tsx
- apps/web/core/layouts/auth-layout/workspace-wrapper.tsx
- apps/web/core/services/ai.service.ts
- packages/constants/src/index.ts
🚧 Files skipped from review as they are similar to previous changes (25)
- apps/web/core/components/exporter/guide.tsx
- apps/web/ce/components/pages/editor/ai/menu.tsx
- packages/constants/src/ai.ts
- apps/web/core/store/issue/issue-details/relation.store.ts
- apps/web/core/components/profile/activity/workspace-activity-list.tsx
- apps/web/core/components/cycles/active-cycle/use-cycles-details.ts
- apps/web/core/components/workspace/billing/comparison/index.ts
- apps/web/ce/components/workspace/billing/comparison/root.tsx
- apps/web/core/layouts/auth-layout/project-wrapper.tsx
- apps/web/core/components/editor/lite-text/lite-toolbar.tsx
- apps/web/app/(all)/onboarding/page.tsx
- apps/web/core/components/workspace/billing/comparison/base.tsx
- apps/web/core/components/issues/issue-layouts/calendar/dropdowns/months-dropdown.tsx
- apps/web/core/components/issues/issue-layouts/calendar/day-tile.tsx
- apps/web/core/components/issues/issue-layouts/calendar/calendar.tsx
- apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/layout.tsx
- apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/integrations/page.tsx
- apps/web/core/hooks/use-favorite-item-details.tsx
- packages/constants/src/fetch-keys.ts
- apps/web/core/components/project/integration-card.tsx
- packages/editor/src/core/constants/common.ts
- apps/web/core/components/project/project-settings-member-defaults.tsx
- apps/web/core/components/editor/pdf/document.tsx
- apps/web/core/components/workspace/billing/comparison/feature-detail.tsx
- apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/helper.tsx
Description
Consolidated constants to @packages/constants
Type of Change
Summary by CodeRabbit