From 9cfde896b3d3229f37569c3c9adfa9a7c2f96cbe Mon Sep 17 00:00:00 2001 From: Prateek Shourya Date: Tue, 14 Oct 2025 16:45:07 +0530 Subject: [PATCH] [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. --- apps/web/.eslintrc.js | 14 +++ .../[workspaceSlug]/(projects)/_sidebar.tsx | 3 +- .../(projects)/analytics/[tabId]/page.tsx | 3 +- .../(projects)/extended-project-sidebar.tsx | 2 +- .../(projects)/extended-sidebar-wrapper.tsx | 3 +- .../(projects)/extended-sidebar.tsx | 2 +- .../(projects)/profile/[userId]/header.tsx | 4 +- .../profile/[userId]/mobile-header.tsx | 4 +- .../(projects)/profile/[userId]/page.tsx | 2 +- .../(detail)/[projectId]/archives/header.tsx | 2 +- .../[projectId]/cycles/(detail)/header.tsx | 9 +- .../cycles/(detail)/mobile-header.tsx | 3 +- .../[projectId]/cycles/(list)/header.tsx | 2 +- .../cycles/(list)/mobile-header.tsx | 5 +- .../[projectId]/cycles/(list)/page.tsx | 3 +- .../issues/(list)/mobile-header.tsx | 3 +- .../[projectId]/modules/(detail)/header.tsx | 9 +- .../modules/(detail)/mobile-header.tsx | 3 +- .../[projectId]/modules/(list)/page.tsx | 3 +- .../pages/(detail)/[pageId]/page.tsx | 6 +- .../[projectId]/pages/(detail)/header.tsx | 2 +- .../[projectId]/pages/(list)/header.tsx | 2 +- .../[projectId]/pages/(list)/layout.tsx | 2 +- .../[projectId]/pages/(list)/page.tsx | 3 +- .../views/(detail)/[viewId]/header.tsx | 10 +-- .../[projectId]/views/(list)/page.tsx | 3 +- .../projects/(detail)/archives/layout.tsx | 2 +- .../(projects)/projects/(detail)/layout.tsx | 2 +- .../(projects)/projects/(list)/layout.tsx | 2 +- .../[workspaceSlug]/(projects)/sidebar.tsx | 2 +- .../(projects)/workspace-views/header.tsx | 9 +- .../settings/(workspace)/layout.tsx | 4 +- .../settings/(workspace)/members/page.tsx | 2 +- .../settings/(workspace)/sidebar.tsx | 2 +- .../(workspace)/webhooks/[webhookId]/page.tsx | 2 +- .../(settings)/settings/account/layout.tsx | 2 +- .../settings/account/security/page.tsx | 3 +- .../projects/[projectId]/automations/page.tsx | 2 +- .../(settings)/settings/projects/layout.tsx | 3 +- .../(all)/accounts/forgot-password/layout.tsx | 2 +- .../(all)/accounts/reset-password/layout.tsx | 2 +- .../(all)/accounts/set-password/layout.tsx | 2 +- .../web/app/(all)/create-workspace/layout.tsx | 2 +- apps/web/app/(all)/create-workspace/page.tsx | 2 +- apps/web/app/(all)/invitations/layout.tsx | 2 +- apps/web/app/(all)/layout.tsx | 2 +- apps/web/app/(all)/onboarding/layout.tsx | 2 +- .../web/app/(all)/profile/appearance/page.tsx | 5 +- apps/web/app/(all)/profile/layout.tsx | 2 +- apps/web/app/(all)/profile/security/page.tsx | 3 +- apps/web/app/(all)/sign-up/layout.tsx | 2 +- .../(all)/workspace-invitations/layout.tsx | 2 +- apps/web/app/(home)/layout.tsx | 2 +- apps/web/app/layout.tsx | 2 +- apps/web/app/not-found.tsx | 2 +- apps/web/app/provider.tsx | 2 +- apps/web/ce/components/analytics/tabs.tsx | 2 +- apps/web/ce/components/automations/root.tsx | 3 +- apps/web/ce/components/breadcrumbs/common.tsx | 4 +- .../breadcrumbs/project-feature.tsx | 4 +- .../web/ce/components/breadcrumbs/project.tsx | 4 +- .../ce/components/command-palette/helpers.tsx | 6 +- .../command-palette/modals/issue-level.tsx | 5 +- .../ce/components/comments/comment-block.tsx | 6 +- .../components/common/extended-app-header.tsx | 2 +- .../common/subscription/subscription-pill.tsx | 2 +- .../components/cycles/active-cycle/root.tsx | 2 +- .../components/cycles/additional-actions.tsx | 2 +- .../cycles/analytics-sidebar/base.tsx | 5 +- .../cycles/analytics-sidebar/root.tsx | 3 +- .../ce/components/de-dupe/de-dupe-button.tsx | 3 +- .../de-dupe/duplicate-modal/root.tsx | 4 +- .../de-dupe/duplicate-popover/root.tsx | 5 +- .../de-dupe/issue-block/button-label.tsx | 2 +- .../ce/components/epics/epic-modal/modal.tsx | 5 +- .../estimates/estimate-list-item-buttons.tsx | 2 +- apps/web/ce/components/estimates/helper.tsx | 3 +- .../estimates/inputs/time-input.tsx | 2 +- .../ce/components/estimates/points/delete.tsx | 4 +- .../ce/components/estimates/update/modal.tsx | 2 +- .../gantt-chart/blocks/block-row-list.tsx | 4 +- .../gantt-chart/blocks/blocks-list.tsx | 2 +- .../blockDraggables/left-draggable.tsx | 2 +- .../blockDraggables/right-draggable.tsx | 2 +- .../dependency/dependency-paths.tsx | 2 +- apps/web/ce/components/inbox/source-pill.tsx | 2 +- .../issues/bulk-operations/root.tsx | 2 +- .../components/issues/filters/issue-types.tsx | 2 +- .../issues/filters/team-project.tsx | 2 +- .../issue-detail-widgets/action-buttons.tsx | 4 +- .../issue-detail-widgets/collapsibles.tsx | 4 +- .../issues/issue-detail-widgets/modals.tsx | 4 +- .../additional-activity-root.tsx | 2 +- .../issue-details/additional-properties.tsx | 3 +- .../issues/issue-details/issue-creator.tsx | 2 +- .../issues/issue-details/issue-identifier.tsx | 4 +- .../issue-properties-activity/root.tsx | 2 +- .../issue-details/issue-type-activity.tsx | 2 +- .../issue-layouts/additional-properties.tsx | 5 +- .../issues/issue-layouts/issue-stats.tsx | 3 +- .../copy-menu-helper.tsx | 4 +- .../duplicate-modal.tsx | 2 +- .../components/issues/issue-layouts/utils.tsx | 7 +- .../issues/issue-modal/issue-type-select.tsx | 4 +- .../modal-additional-properties.tsx | 2 +- .../issues/issue-modal/provider.tsx | 2 +- .../ce/components/issues/quick-add/root.tsx | 10 ++- .../issues/worklog/activity/filter-root.tsx | 5 +- .../issues/worklog/activity/root.tsx | 4 +- .../activity/worklog-create-button.tsx | 2 +- .../issues/worklog/property/root.tsx | 2 +- .../license/modal/upgrade-modal.tsx | 4 +- .../ce/components/pages/editor/ai/menu.tsx | 6 +- .../web/ce/components/pages/extra-actions.tsx | 2 +- .../components/pages/header/share-control.tsx | 2 +- .../web/ce/components/pages/modals/modals.tsx | 6 +- .../pages/navigation-pane/tab-panels/root.tsx | 2 +- .../components/preferences/theme-switcher.tsx | 5 +- .../components/projects/create/attributes.tsx | 4 +- .../ce/components/projects/create/root.tsx | 5 +- .../ce/components/projects/mobile-header.tsx | 2 +- .../projects/settings/intake/header.tsx | 3 +- .../projects/settings/useProjectColumns.tsx | 4 +- apps/web/ce/components/relations/activity.ts | 2 +- .../rich-filters/filter-value-input/root.tsx | 4 +- .../sidebar/project-navigation-root.tsx | 2 +- apps/web/ce/components/views/helper.tsx | 6 +- .../web/ce/components/views/publish/modal.tsx | 2 +- .../workflow/use-workflow-drag-n-drop.ts | 2 +- .../workflow/workflow-group-tree.tsx | 2 +- .../notification-card/root.tsx | 2 +- .../billing/comparison/frequency-toggle.tsx | 4 +- .../billing/comparison/plan-detail.tsx | 7 +- .../workspace/billing/comparison/root.tsx | 5 +- .../ce/components/workspace/billing/root.tsx | 3 +- .../workspace/delete-workspace-section.tsx | 5 +- .../workspace/members/invite-modal.tsx | 2 +- .../workspace/settings/useMemberColumns.tsx | 5 +- .../sidebar/extended-sidebar-item.tsx | 6 +- .../workspace/sidebar/sidebar-item.tsx | 4 +- .../ce/components/workspace/upgrade-badge.tsx | 2 +- apps/web/ce/constants/editor.ts | 2 +- apps/web/ce/constants/gantt-chart.ts | 2 +- .../constants/project/settings/features.tsx | 4 +- .../web/ce/constants/project/settings/tabs.ts | 2 +- apps/web/ce/constants/sidebar-favorites.ts | 15 +--- apps/web/ce/helpers/command-palette.ts | 2 +- apps/web/ce/helpers/epic-analytics.ts | 2 +- apps/web/ce/helpers/issue-action-helper.ts | 2 +- apps/web/ce/helpers/issue-filter.helper.ts | 2 +- .../work-item-filters/project-level.ts | 4 +- .../pages/use-extended-editor-extensions.ts | 2 +- .../hooks/pages/use-pages-pane-extensions.ts | 5 +- .../use-filters-operator-configs.ts | 3 +- apps/web/ce/hooks/store/use-page-store.ts | 2 +- apps/web/ce/hooks/store/use-page.ts | 3 +- .../use-additional-favorite-item-details.ts | 2 +- .../hooks/use-debounced-duplicate-issues.tsx | 2 +- apps/web/ce/hooks/use-editor-flagging.ts | 2 +- apps/web/ce/hooks/use-issue-properties.tsx | 2 +- .../web/ce/hooks/use-notification-preview.tsx | 5 +- .../use-work-item-filters-config.tsx | 2 +- apps/web/ce/layouts/project-wrapper.tsx | 2 +- apps/web/ce/layouts/workspace-wrapper.tsx | 2 +- .../ce/services/project/estimate.service.ts | 2 +- apps/web/ce/store/analytics.store.ts | 3 +- apps/web/ce/store/command-palette.store.ts | 3 +- apps/web/ce/store/estimates/estimate.ts | 9 +- apps/web/ce/store/issue/epic/filter.store.ts | 5 +- apps/web/ce/store/issue/epic/issue.store.ts | 7 +- .../store/issue/helpers/base-issue-store.ts | 2 +- .../store/issue/helpers/base-issue.store.ts | 2 +- .../issue/issue-details/activity.store.ts | 7 +- .../store/issue/issue-details/root.store.ts | 10 +-- .../store/issue/team-project/filter.store.ts | 5 +- .../store/issue/team-project/issue.store.ts | 7 +- .../ce/store/issue/team-views/filter.store.ts | 5 +- .../ce/store/issue/team-views/issue.store.ts | 7 +- apps/web/ce/store/issue/team/filter.store.ts | 5 +- apps/web/ce/store/issue/team/issue.store.ts | 7 +- .../ce/store/member/project-member.store.ts | 5 +- apps/web/ce/store/root.store.ts | 3 +- apps/web/ce/store/timeline/index.ts | 9 +- apps/web/ce/store/user/permission.store.ts | 5 +- apps/web/ce/types/pages/pane-extensions.ts | 6 +- .../web/ce/types/projects/project-activity.ts | 2 +- apps/web/ce/types/projects/projects.ts | 2 +- .../account/auth-forms/auth-banner.tsx | 4 +- .../account/auth-forms/auth-header.tsx | 4 +- .../account/auth-forms/auth-root.tsx | 5 +- .../components/account/auth-forms/email.tsx | 5 +- .../account/auth-forms/form-root.tsx | 5 +- .../account/auth-forms/reset-password.tsx | 8 +- .../account/auth-forms/set-password.tsx | 3 +- apps/web/core/components/analytics/export.ts | 2 +- .../components/analytics/insight-card.tsx | 2 +- .../analytics/insight-table/data-table.tsx | 4 +- .../analytics/insight-table/loader.tsx | 2 +- .../analytics/insight-table/root.tsx | 4 +- .../analytics/overview/project-insights.tsx | 2 +- .../analytics/select/analytics-params.tsx | 6 +- .../components/analytics/select/duration.tsx | 5 +- .../analytics/select/select-x-axis.tsx | 2 +- .../analytics/select/select-y-axis.tsx | 2 +- .../components/analytics/total-insights.tsx | 5 +- .../work-items/created-vs-resolved.tsx | 2 +- .../work-items/customized-insights.tsx | 3 +- .../analytics/work-items/modal/content.tsx | 2 +- .../analytics/work-items/modal/header.tsx | 2 +- .../analytics/work-items/modal/index.tsx | 2 +- .../analytics/work-items/priority-chart.tsx | 13 +-- .../components/analytics/work-items/utils.ts | 3 +- .../work-items/workitems-insight-table.tsx | 4 +- .../api-token/delete-token-modal.tsx | 5 +- .../api-token/modal/create-token-modal.tsx | 2 +- .../core/components/api-token/modal/form.tsx | 2 +- .../modal/generated-token-details.tsx | 2 +- .../components/api-token/token-list-item.tsx | 2 +- .../components/archives/archive-tabs-list.tsx | 4 +- .../components/auth-screens/auth-base.tsx | 2 +- .../automation/auto-archive-automation.tsx | 2 +- .../automation/auto-close-automation.tsx | 2 +- apps/web/core/components/chart/utils.ts | 2 +- .../actions/issue-actions/actions-list.tsx | 3 +- .../actions/issue-actions/change-assignee.tsx | 3 +- .../actions/issue-actions/change-priority.tsx | 3 +- .../actions/issue-actions/change-state.tsx | 3 +- .../actions/search-results.tsx | 2 +- .../command-palette/actions/theme-actions.tsx | 3 +- .../command-palette/command-modal.tsx | 2 +- .../command-palette/command-palette.tsx | 3 +- .../command-palette/shortcuts-modal/modal.tsx | 3 +- .../core/components/comments/card/display.tsx | 3 +- .../core/components/comments/card/root.tsx | 3 +- .../components/comments/comment-create.tsx | 3 +- .../components/comments/comment-reaction.tsx | 4 +- .../web/core/components/comments/comments.tsx | 7 +- .../components/comments/quick-actions.tsx | 6 +- .../core/components/common/access-field.tsx | 2 +- .../common/activity/activity-block.tsx | 4 +- .../common/activity/activity-item.tsx | 4 +- .../components/common/activity/helper.tsx | 4 +- .../core/components/common/activity/user.tsx | 4 +- .../components/common/breadcrumb-link.tsx | 3 +- .../web/core/components/common/count-chip.tsx | 2 +- apps/web/core/components/common/logo.tsx | 4 +- .../components/common/page-access-icon.tsx | 2 +- apps/web/core/components/common/pro-icon.tsx | 2 +- .../core/components/common/switcher-label.tsx | 6 +- apps/web/core/components/core/activity.tsx | 2 +- apps/web/core/components/core/app-header.tsx | 2 +- .../components/core/content-overflow-HOC.tsx | 3 +- .../core/components/core/content-wrapper.tsx | 2 +- .../description-versions/dropdown-item.tsx | 2 +- .../core/description-versions/dropdown.tsx | 4 +- .../core/description-versions/modal.tsx | 2 +- .../core/description-versions/root.tsx | 2 +- .../components/core/image-picker-popover.tsx | 3 +- .../core/components/core/list/list-item.tsx | 3 +- .../core/components/core/list/list-root.tsx | 3 +- .../modals/bulk-delete-issues-modal-item.tsx | 2 +- .../core/modals/bulk-delete-issues-modal.tsx | 6 +- .../modals/existing-issues-list-modal.tsx | 2 +- .../core/modals/gpt-assistant-popover.tsx | 5 +- .../modals/issue-search-modal-empty-state.tsx | 2 +- .../multiple-select/entity-select-action.tsx | 2 +- .../multiple-select/group-select-action.tsx | 2 +- .../core/multiple-select/select-group.tsx | 3 +- .../components/core/render-if-visible-HOC.tsx | 3 +- .../core/sidebar/progress-chart.tsx | 2 +- .../core/sidebar/progress-stats/shared.ts | 4 +- .../sidebar/progress-stats/state_group.tsx | 2 +- .../core/theme/color-picker-input.tsx | 12 +-- .../core/theme/custom-theme-selector.tsx | 2 +- .../components/core/theme/theme-switch.tsx | 5 +- .../cycles/active-cycle/cycle-stats.tsx | 10 ++- .../cycles/active-cycle/productivity.tsx | 5 +- .../cycles/active-cycle/progress.tsx | 6 +- .../cycles/active-cycle/use-cycles-details.ts | 2 +- .../analytics-sidebar/issue-progress.tsx | 6 +- .../analytics-sidebar/progress-stats.tsx | 22 ++--- .../analytics-sidebar/sidebar-details.tsx | 5 +- .../analytics-sidebar/sidebar-header.tsx | 5 +- .../cycles/applied-filters/root.tsx | 2 +- .../cycles/archived-cycles/header.tsx | 3 +- .../cycles/archived-cycles/root.tsx | 2 +- .../cycles/archived-cycles/view.tsx | 2 +- .../components/cycles/cycles-view-header.tsx | 2 +- .../core/components/cycles/cycles-view.tsx | 2 +- .../core/components/cycles/delete-modal.tsx | 2 +- .../dropdowns/estimate-type-dropdown.tsx | 3 +- .../cycles/dropdowns/filters/root.tsx | 2 +- .../cycles/dropdowns/filters/status.tsx | 2 +- apps/web/core/components/cycles/form.tsx | 2 +- .../cycles/list/cycle-list-group-header.tsx | 5 +- .../cycles/list/cycle-list-item-action.tsx | 5 +- .../list/cycle-list-project-group-header.tsx | 3 +- .../cycles/list/cycles-list-item.tsx | 3 +- apps/web/core/components/cycles/list/root.tsx | 3 +- .../core/components/cycles/quick-actions.tsx | 3 +- .../web/core/components/dropdowns/buttons.tsx | 2 +- .../core/components/dropdowns/constants.ts | 2 +- .../dropdowns/cycle/cycle-options.tsx | 7 +- .../core/components/dropdowns/cycle/index.tsx | 5 +- .../core/components/dropdowns/date-range.tsx | 7 +- apps/web/core/components/dropdowns/date.tsx | 5 +- .../core/components/dropdowns/estimate.tsx | 5 +- .../components/dropdowns/member/avatar.tsx | 3 +- .../core/components/dropdowns/member/base.tsx | 7 +- .../components/dropdowns/member/dropdown.tsx | 4 +- .../dropdowns/member/member-options.tsx | 4 +- .../components/dropdowns/member/types.d.ts | 2 +- .../core/components/dropdowns/module/base.tsx | 7 +- .../components/dropdowns/module/dropdown.tsx | 4 +- .../dropdowns/module/module-options.tsx | 4 +- .../core/components/dropdowns/priority.tsx | 7 +- .../components/dropdowns/project/base.tsx | 7 +- .../components/dropdowns/project/dropdown.tsx | 4 +- .../core/components/dropdowns/state/base.tsx | 7 +- .../components/dropdowns/state/dropdown.tsx | 3 +- apps/web/core/components/dropdowns/types.d.ts | 2 +- .../components/editor/document/editor.tsx | 11 +-- .../components/editor/lite-text/editor.tsx | 5 +- .../editor/lite-text/lite-toolbar.tsx | 3 +- .../components/editor/lite-text/toolbar.tsx | 6 +- .../core/components/editor/pdf/document.tsx | 3 +- .../components/editor/rich-text/editor.tsx | 3 +- .../editor/sticky-editor/color-palette.tsx | 2 +- .../editor/sticky-editor/editor.tsx | 7 +- .../editor/sticky-editor/toolbar.tsx | 5 +- .../empty-state/comic-box-button.tsx | 3 +- .../empty-state/section-empty-state-root.tsx | 2 +- .../components/estimates/create/modal.tsx | 5 +- .../components/estimates/create/stage-one.tsx | 4 +- .../components/estimates/delete/modal.tsx | 3 +- .../components/estimates/empty-screen.tsx | 2 +- .../estimates/estimate-disable-switch.tsx | 2 +- .../estimates/estimate-list-item.tsx | 2 +- .../components/estimates/estimate-list.tsx | 2 +- .../components/estimates/estimate-search.tsx | 2 +- .../estimates/inputs/number-input.tsx | 2 +- .../core/components/estimates/inputs/root.tsx | 5 +- .../estimates/inputs/text-input.tsx | 2 +- .../components/estimates/loader-screen.tsx | 2 +- .../estimates/points/create-root.tsx | 5 +- .../components/estimates/points/create.tsx | 5 +- .../components/estimates/points/preview.tsx | 5 +- .../components/estimates/points/update.tsx | 5 +- apps/web/core/components/estimates/root.tsx | 3 +- apps/web/core/components/exporter/column.tsx | 2 +- .../core/components/exporter/export-modal.tsx | 2 +- .../components/exporter/single-export.tsx | 5 +- .../gantt-chart/blocks/block-row.tsx | 2 +- .../components/gantt-chart/blocks/block.tsx | 3 +- .../gantt-chart/chart/main-content.tsx | 8 +- .../components/gantt-chart/chart/root.tsx | 14 +-- .../chart/timeline-drag-helper.tsx | 2 +- .../gantt-chart/chart/views/month.tsx | 4 +- .../gantt-chart/chart/views/quarter.tsx | 5 +- .../gantt-chart/chart/views/week.tsx | 4 +- .../core/components/gantt-chart/data/index.ts | 3 +- .../gantt-chart/helpers/draggable.tsx | 3 +- apps/web/core/components/gantt-chart/root.tsx | 3 +- .../gantt-chart/sidebar/issues/block.tsx | 2 +- .../gantt-chart/sidebar/issues/sidebar.tsx | 5 +- .../components/gantt-chart/sidebar/root.tsx | 4 +- .../gantt-chart/views/month-view.ts | 3 +- .../gantt-chart/views/quarter-view.ts | 3 +- .../components/gantt-chart/views/week-view.ts | 3 +- .../global/product-updates/modal.tsx | 3 +- .../components/global/timezone-select.tsx | 2 +- .../home/home-dashboard-widgets.tsx | 2 +- .../core/components/home/user-greetings.tsx | 4 +- .../links/create-update-link-modal.tsx | 8 +- .../home/widgets/links/link-detail.tsx | 8 +- .../components/home/widgets/links/links.tsx | 4 +- .../components/home/widgets/links/root.tsx | 2 +- .../home/widgets/links/use-links.tsx | 2 +- .../components/home/widgets/manage/index.tsx | 2 +- .../manage/widget-item-drag-handle.tsx | 3 +- .../home/widgets/manage/widget-item.tsx | 17 ++-- .../home/widgets/manage/widget-list.tsx | 5 +- .../home/widgets/manage/widget.helpers.ts | 2 +- .../home/widgets/recents/filters.tsx | 4 +- .../components/home/widgets/recents/index.tsx | 2 +- .../components/home/widgets/recents/issue.tsx | 3 +- .../home/widgets/recents/project.tsx | 2 +- .../inbox/content/inbox-issue-header.tsx | 6 +- .../content/inbox-issue-mobile-header.tsx | 2 +- .../inbox/content/issue-properties.tsx | 2 +- .../components/inbox/content/issue-root.tsx | 6 +- .../core/components/inbox/content/root.tsx | 5 +- .../inbox-filter/applied-filters/date.tsx | 4 +- .../inbox-filter/applied-filters/label.tsx | 2 +- .../inbox-filter/applied-filters/member.tsx | 4 +- .../inbox-filter/applied-filters/priority.tsx | 4 +- .../inbox-filter/applied-filters/root.tsx | 2 +- .../inbox-filter/applied-filters/state.tsx | 2 +- .../inbox-filter/applied-filters/status.tsx | 4 +- .../inbox/inbox-filter/filters/date.tsx | 5 +- .../inbox-filter/filters/filter-selection.tsx | 3 +- .../inbox/inbox-filter/filters/labels.tsx | 5 +- .../inbox/inbox-filter/filters/members.tsx | 5 +- .../inbox/inbox-filter/filters/priority.tsx | 5 +- .../inbox/inbox-filter/filters/state.tsx | 5 +- .../inbox/inbox-filter/filters/status.tsx | 5 +- .../components/inbox/inbox-filter/root.tsx | 2 +- .../inbox/inbox-filter/sorting/order-by.tsx | 4 +- .../components/inbox/inbox-issue-status.tsx | 2 +- .../components/inbox/inbox-status-icon.tsx | 3 +- .../inbox/modals/create-modal/create-root.tsx | 5 +- .../modals/create-modal/issue-description.tsx | 5 +- .../modals/create-modal/issue-properties.tsx | 5 +- .../inbox/modals/create-modal/issue-title.tsx | 4 +- .../inbox/modals/create-modal/modal.tsx | 3 +- .../inbox/modals/select-duplicate.tsx | 2 +- .../inbox/modals/snooze-issue-modal.tsx | 3 +- apps/web/core/components/inbox/root.tsx | 3 +- .../inbox/sidebar/inbox-list-item.tsx | 2 +- .../components/inbox/sidebar/inbox-list.tsx | 3 +- .../core/components/inbox/sidebar/root.tsx | 6 +- .../components/instance/maintenance-view.tsx | 2 +- .../components/instance/not-ready-view.tsx | 2 +- .../integration/delete-import-modal.tsx | 2 +- .../components/integration/github/auth.tsx | 2 +- .../integration/github/import-configure.tsx | 5 +- .../integration/github/import-confirm.tsx | 6 +- .../integration/github/import-data.tsx | 10 ++- .../integration/github/import-users.tsx | 7 +- .../integration/github/repo-details.tsx | 7 +- .../components/integration/github/root.tsx | 2 +- .../integration/github/select-repository.tsx | 2 +- .../integration/github/single-user-select.tsx | 4 +- .../web/core/components/integration/guide.tsx | 2 +- .../integration/jira/confirm-import.tsx | 2 +- .../integration/jira/give-details.tsx | 2 +- .../integration/jira/import-users.tsx | 4 +- .../core/components/integration/jira/index.ts | 2 +- .../integration/jira/jira-project-detail.tsx | 2 +- .../core/components/integration/jira/root.tsx | 13 +-- .../components/integration/single-import.tsx | 2 +- .../integration/single-integration-card.tsx | 2 +- .../integration/slack/select-channel.tsx | 2 +- .../components/issues/archive-issue-modal.tsx | 2 +- .../issues/archived-issues-header.tsx | 5 +- .../issues/attachment/attachment-detail.tsx | 5 +- .../attachment/attachment-item-list.tsx | 11 ++- .../attachment/attachment-list-item.tsx | 5 +- .../attachment-list-upload-item.tsx | 2 +- .../attachment/attachment-upload-details.tsx | 2 +- .../issues/attachment/attachment-upload.tsx | 2 +- .../issues/attachment/attachments-list.tsx | 4 +- .../attachment/delete-attachment-modal.tsx | 8 +- .../components/issues/attachment/root.tsx | 2 +- .../create-issue-toast-action-items.tsx | 3 +- .../components/issues/delete-issue-modal.tsx | 2 +- .../components/issues/description-input.tsx | 8 +- apps/web/core/components/issues/filters.tsx | 5 +- .../issue-detail-widgets/action-buttons.tsx | 5 +- .../attachments/content.tsx | 6 +- .../attachments/helper.tsx | 5 +- .../attachments/quick-action-button.tsx | 8 +- .../issue-detail-widgets/attachments/root.tsx | 5 +- .../attachments/title.tsx | 6 +- .../issue-detail-widget-collapsibles.tsx | 5 +- .../issue-detail-widget-modals.tsx | 5 +- .../issue-detail-widgets/links/content.tsx | 5 +- .../issue-detail-widgets/links/helper.tsx | 4 +- .../links/quick-action-button.tsx | 5 +- .../issue-detail-widgets/links/root.tsx | 5 +- .../issue-detail-widgets/links/title.tsx | 5 +- .../relations/content.tsx | 8 +- .../issue-detail-widgets/relations/helper.tsx | 3 +- .../relations/quick-action-button.tsx | 7 +- .../issue-detail-widgets/relations/root.tsx | 5 +- .../issue-detail-widgets/relations/title.tsx | 6 +- .../issues/issue-detail-widgets/root.tsx | 5 +- .../sub-issues/content.tsx | 6 +- .../sub-issues/display-filters.tsx | 5 +- .../sub-issues/filters.tsx | 5 +- .../issue-detail-widgets/sub-issues/helper.ts | 3 +- .../sub-issues/issues-list/list-group.tsx | 6 +- .../sub-issues/issues-list/list-item.tsx | 3 +- .../sub-issues/issues-list/properties.tsx | 5 +- .../sub-issues/issues-list/root.tsx | 10 +-- .../sub-issues/quick-action-button.tsx | 5 +- .../issue-detail-widgets/sub-issues/root.tsx | 5 +- .../sub-issues/title-actions.tsx | 7 +- .../issue-detail-widgets/sub-issues/title.tsx | 5 +- .../issue-detail-widgets/widget-button.tsx | 3 +- .../issue-activity/activity-comment-root.tsx | 7 +- .../issue-activity/activity-filter.tsx | 5 +- .../activity/actions/archived-at.tsx | 2 +- .../activity/actions/assignee.tsx | 2 +- .../activity/actions/attachment.tsx | 2 +- .../issue-activity/activity/actions/cycle.tsx | 2 +- .../activity/actions/default.tsx | 2 +- .../activity/actions/description.tsx | 2 +- .../activity/actions/estimate.tsx | 2 +- .../actions/helpers/activity-block.tsx | 2 +- .../activity/actions/helpers/issue-link.tsx | 2 +- .../activity/actions/helpers/issue-user.tsx | 2 +- .../issue-activity/activity/actions/inbox.tsx | 2 +- .../activity/actions/label-activity-chip.tsx | 2 +- .../issue-activity/activity/actions/label.tsx | 2 +- .../issue-activity/activity/actions/link.tsx | 2 +- .../activity/actions/module.tsx | 2 +- .../issue-activity/activity/actions/name.tsx | 2 +- .../activity/actions/parent.tsx | 2 +- .../activity/actions/priority.tsx | 2 +- .../activity/actions/relation.tsx | 4 +- .../activity/actions/start_date.tsx | 2 +- .../issue-activity/activity/actions/state.tsx | 2 +- .../activity/actions/target_date.tsx | 2 +- .../issue-activity/activity/activity-list.tsx | 2 +- .../issue-detail/issue-activity/helper.tsx | 3 +- .../issue-detail/issue-activity/root.tsx | 8 +- .../issue-detail/issue-activity/sort-root.tsx | 5 +- .../issue-detail-quick-actions.tsx | 3 +- .../issue-detail/label/create-label.tsx | 7 +- .../issue-detail/label/label-list-item.tsx | 4 +- .../issues/issue-detail/label/label-list.tsx | 4 +- .../issues/issue-detail/label/root.tsx | 6 +- .../label/select/label-select.tsx | 3 +- .../issues/issue-detail/label/select/root.tsx | 4 +- .../links/create-update-link-modal.tsx | 5 +- .../issues/issue-detail/links/link-detail.tsx | 4 +- .../issues/issue-detail/links/link-item.tsx | 7 +- .../issues/issue-detail/links/link-list.tsx | 6 +- .../issues/issue-detail/links/links.tsx | 4 +- .../issues/issue-detail/links/root.tsx | 6 +- .../issues/issue-detail/main-content.tsx | 5 +- .../issues/issue-detail/parent/root.tsx | 6 +- .../issue-detail/parent/sibling-item.tsx | 2 +- .../issues/issue-detail/parent/siblings.tsx | 4 +- .../issue-detail/reactions/issue-comment.tsx | 5 +- .../issues/issue-detail/reactions/issue.tsx | 5 +- .../issues/issue-detail/relation-select.tsx | 2 +- .../components/issues/issue-detail/root.tsx | 6 +- .../issues/issue-detail/subscription.tsx | 3 +- .../calendar/base-calendar-root.tsx | 8 +- .../issue-layouts/calendar/calendar.tsx | 21 +++-- .../issue-layouts/calendar/day-tile.tsx | 14 +-- .../calendar/dropdowns/months-dropdown.tsx | 10 +-- .../calendar/dropdowns/options-dropdown.tsx | 15 ++-- .../issues/issue-layouts/calendar/header.tsx | 14 +-- .../calendar/issue-block-root.tsx | 2 +- .../issue-layouts/calendar/issue-block.tsx | 6 +- .../issue-layouts/calendar/issue-blocks.tsx | 4 +- .../calendar/quick-add-issue-actions.tsx | 6 +- .../issues/issue-layouts/calendar/utils.ts | 2 +- .../issue-layouts/calendar/week-days.tsx | 12 +-- .../issue-layouts/empty-states/cycle.tsx | 3 +- .../issue-layouts/empty-states/module.tsx | 3 +- .../filters/applied-filters/cycle.tsx | 2 +- .../filters/applied-filters/label.tsx | 2 +- .../filters/applied-filters/priority.tsx | 2 +- .../filters/applied-filters/state-group.tsx | 2 +- .../filters/applied-filters/state.tsx | 2 +- .../display-filters-selection.tsx | 2 +- .../display-filters/display-properties.tsx | 2 +- .../header/display-filters/extra-options.tsx | 2 +- .../header/display-filters/group-by.tsx | 2 +- .../header/display-filters/order-by.tsx | 2 +- .../header/display-filters/sub-group-by.tsx | 2 +- .../filters/header/filters/cycle.tsx | 2 +- .../filters/header/filters/labels.tsx | 2 +- .../filters/header/filters/state.tsx | 2 +- .../filters/header/helpers/dropdown.tsx | 2 +- .../filters/header/layout-selection.tsx | 2 +- .../header/mobile-layout-selection.tsx | 2 +- .../issue-layouts/gantt/base-gantt-root.tsx | 3 +- .../issues/issue-layouts/gantt/blocks.tsx | 2 +- .../issue-layouts/group-drag-overlay.tsx | 2 +- .../issue-layouts/kanban/base-kanban-root.tsx | 8 +- .../issues/issue-layouts/kanban/block.tsx | 11 +-- .../issue-layouts/kanban/blocks-list.tsx | 6 +- .../issues/issue-layouts/kanban/default.tsx | 9 +- .../kanban/headers/group-by-card.tsx | 5 +- .../kanban/headers/sub-group-by-card.tsx | 5 +- .../issue-layouts/kanban/kanban-group.tsx | 18 ++-- .../issues/issue-layouts/kanban/swimlanes.tsx | 9 +- .../issues/issue-layouts/layout-icon.tsx | 3 +- .../issue-layouts/list/base-list-root.tsx | 14 ++- .../issues/issue-layouts/list/block-root.tsx | 10 ++- .../issues/issue-layouts/list/block.tsx | 10 ++- .../issues/issue-layouts/list/blocks-list.tsx | 8 +- .../issues/issue-layouts/list/default.tsx | 7 +- .../list/headers/group-by-card.tsx | 4 +- .../issues/issue-layouts/list/list-group.tsx | 13 +-- .../issue-layouts/list/list-view-types.d.ts | 4 +- .../list/roots/archived-issue-root.tsx | 2 +- .../list/roots/profile-issues-root.tsx | 2 +- .../issue-layouts/list/roots/project-root.tsx | 2 +- .../properties/all-properties.tsx | 5 +- .../properties/label-dropdown.tsx | 5 +- .../issue-layouts/properties/labels.tsx | 4 +- .../with-display-properties-HOC.tsx | 4 +- .../quick-action-dropdowns/all-issue.tsx | 11 ++- .../quick-action-dropdowns/archived-issue.tsx | 8 +- .../quick-action-dropdowns/cycle-issue.tsx | 11 ++- .../quick-action-dropdowns/helper.tsx | 4 +- .../quick-action-dropdowns/issue-detail.tsx | 11 ++- .../quick-action-dropdowns/module-issue.tsx | 11 ++- .../quick-action-dropdowns/project-issue.tsx | 11 ++- .../issue-layouts/quick-add/button/gantt.tsx | 4 +- .../issue-layouts/quick-add/button/kanban.tsx | 4 +- .../issue-layouts/quick-add/button/list.tsx | 4 +- .../quick-add/button/spreadsheet.tsx | 4 +- .../issue-layouts/quick-add/form/calendar.tsx | 4 +- .../issue-layouts/quick-add/form/gantt.tsx | 4 +- .../issue-layouts/quick-add/form/kanban.tsx | 4 +- .../issue-layouts/quick-add/form/list.tsx | 4 +- .../quick-add/form/spreadsheet.tsx | 4 +- .../issues/issue-layouts/quick-add/root.tsx | 8 +- .../roots/all-issue-layout-root.tsx | 3 +- .../roots/project-layout-root.tsx | 2 +- .../spreadsheet/base-spreadsheet-root.tsx | 8 +- .../spreadsheet/columns/assignee-column.tsx | 2 +- .../spreadsheet/columns/attachment-column.tsx | 2 +- .../spreadsheet/columns/created-on-column.tsx | 2 +- .../spreadsheet/columns/cycle-column.tsx | 2 +- .../spreadsheet/columns/due-date-column.tsx | 2 +- .../spreadsheet/columns/estimate-column.tsx | 2 +- .../spreadsheet/columns/header-column.tsx | 2 +- .../spreadsheet/columns/label-column.tsx | 2 +- .../spreadsheet/columns/link-column.tsx | 2 +- .../spreadsheet/columns/module-column.tsx | 2 +- .../spreadsheet/columns/priority-column.tsx | 2 +- .../spreadsheet/columns/start-date-column.tsx | 2 +- .../spreadsheet/columns/state-column.tsx | 2 +- .../spreadsheet/columns/sub-issue-column.tsx | 2 +- .../spreadsheet/columns/updated-on-column.tsx | 2 +- .../spreadsheet/issue-column.tsx | 2 +- .../issue-layouts/spreadsheet/issue-row.tsx | 10 ++- .../spreadsheet/roots/workspace-root.tsx | 5 +- .../spreadsheet/spreadsheet-header-column.tsx | 2 +- .../spreadsheet/spreadsheet-header.tsx | 4 +- .../spreadsheet/spreadsheet-table.tsx | 9 +- .../spreadsheet/spreadsheet-view.tsx | 3 +- .../components/issues/issue-layouts/utils.tsx | 9 +- .../components/issues/issue-modal/base.tsx | 6 +- .../components/default-properties.tsx | 5 +- .../components/description-editor.tsx | 6 +- .../issue-modal/components/parent-tag.tsx | 5 +- .../issue-modal/components/project-select.tsx | 5 +- .../issue-modal/components/title-input.tsx | 5 +- .../context/issue-modal-context.tsx | 6 +- .../issues/issue-modal/draft-issue-layout.tsx | 3 +- .../components/issues/issue-modal/form.tsx | 6 +- .../components/issues/issue-modal/modal.tsx | 2 +- .../components/issues/issue-update-status.tsx | 2 +- .../issues/parent-issues-list-modal.tsx | 2 +- .../components/issues/peek-overview/error.tsx | 2 +- .../issues/peek-overview/header.tsx | 6 +- .../issues/peek-overview/issue-detail.tsx | 5 +- .../issues/peek-overview/loader.tsx | 2 +- .../issues/peek-overview/properties.tsx | 2 +- .../components/issues/peek-overview/root.tsx | 8 +- .../components/issues/peek-overview/view.tsx | 9 +- .../issues/relations/issue-list-item.tsx | 6 +- .../issues/relations/issue-list.tsx | 8 +- .../issues/relations/properties.tsx | 8 +- .../core/components/issues/select/base.tsx | 4 +- .../components/issues/select/dropdown.tsx | 6 +- .../core/components/issues/title-input.tsx | 7 +- .../issues/workspace-draft/delete-modal.tsx | 2 +- .../workspace-draft/draft-issue-block.tsx | 9 +- .../draft-issue-properties.tsx | 2 +- .../issues/workspace-draft/empty-state.tsx | 3 +- .../issues/workspace-draft/loader.tsx | 2 +- .../issues/workspace-draft/quick-action.tsx | 3 +- .../issues/workspace-draft/root.tsx | 3 +- .../labels/create-update-label-inline.tsx | 5 +- .../labels/label-block/label-item-block.tsx | 8 +- .../labels/label-drag-n-drop-HOC.tsx | 8 +- .../web/core/components/labels/label-utils.ts | 2 +- .../labels/project-setting-label-group.tsx | 11 ++- .../labels/project-setting-label-item.tsx | 11 ++- .../labels/project-setting-label-list.tsx | 4 +- .../modal/card/base-paid-plan-card.tsx | 5 +- .../license/modal/card/checkout-button.tsx | 4 +- .../license/modal/card/discount-info.tsx | 3 +- .../license/modal/card/plan-upgrade.tsx | 7 +- .../license/modal/card/talk-to-sales.tsx | 4 +- .../analytics-sidebar/issue-progress.tsx | 6 +- .../analytics-sidebar/progress-stats.tsx | 22 ++--- .../modules/analytics-sidebar/root.tsx | 2 +- .../modules/applied-filters/root.tsx | 2 +- .../modules/archived-modules/header.tsx | 3 +- .../modules/archived-modules/root.tsx | 2 +- .../modules/archived-modules/view.tsx | 2 +- .../modules/dropdowns/filters/root.tsx | 4 +- .../modules/dropdowns/filters/status.tsx | 2 +- .../components/modules/dropdowns/order-by.tsx | 2 +- apps/web/core/components/modules/form.tsx | 2 +- .../gantt-chart/modules-list-layout.tsx | 2 +- .../modules/links/create-update-modal.tsx | 3 +- .../components/modules/links/list-item.tsx | 2 +- .../core/components/modules/links/list.tsx | 2 +- .../components/modules/module-card-item.tsx | 5 +- .../components/modules/module-layout-icon.tsx | 2 +- .../modules/module-list-item-action.tsx | 5 +- .../modules/module-status-dropdown.tsx | 8 +- .../components/modules/module-view-header.tsx | 5 +- .../core/components/modules/quick-actions.tsx | 3 +- .../core/components/modules/select/status.tsx | 3 +- .../modules/sidebar-select/select-status.tsx | 5 +- .../onboarding/create-or-join-workspaces.tsx | 2 +- .../onboarding/create-workspace.tsx | 2 +- .../web/core/components/onboarding/header.tsx | 5 +- .../components/onboarding/invitations.tsx | 2 +- .../components/onboarding/invite-members.tsx | 11 ++- .../components/onboarding/profile-setup.tsx | 2 +- apps/web/core/components/onboarding/root.tsx | 12 +-- .../onboarding/steps/common/header.tsx | 2 +- .../onboarding/steps/profile/consent.tsx | 2 +- .../onboarding/steps/profile/root.tsx | 6 +- .../components/onboarding/steps/role/root.tsx | 7 +- .../core/components/onboarding/steps/root.tsx | 6 +- .../components/onboarding/steps/team/root.tsx | 9 +- .../onboarding/steps/usecase/root.tsx | 7 +- .../onboarding/steps/workspace/create.tsx | 2 +- .../steps/workspace/join-invites.tsx | 2 +- .../onboarding/steps/workspace/root.tsx | 3 +- .../onboarding/switch-account-dropdown.tsx | 3 +- .../core/components/onboarding/tour/root.tsx | 3 +- .../components/onboarding/tour/sidebar.tsx | 2 +- .../components/pages/dropdowns/actions.tsx | 5 +- .../components/pages/editor/editor-body.tsx | 23 ++--- .../components/pages/editor/page-root.tsx | 5 +- .../pages/editor/summary/content-browser.tsx | 3 +- .../pages/editor/toolbar/color-dropdown.tsx | 3 +- .../pages/editor/toolbar/options-dropdown.tsx | 10 ++- .../pages/editor/toolbar/toolbar.tsx | 3 +- .../core/components/pages/header/actions.tsx | 2 +- .../web/core/components/pages/header/root.tsx | 5 +- .../pages/list/applied-filters/root.tsx | 2 +- .../pages/list/block-item-action.tsx | 5 +- apps/web/core/components/pages/list/block.tsx | 6 +- .../components/pages/list/filters/root.tsx | 2 +- .../core/components/pages/list/order-by.tsx | 2 +- apps/web/core/components/pages/list/root.tsx | 7 +- .../components/pages/list/search-input.tsx | 3 +- .../components/pages/list/tab-navigation.tsx | 4 +- .../pages/modals/create-page-modal.tsx | 11 ++- .../pages/modals/delete-page-modal.tsx | 3 +- .../pages/modals/export-page-modal.tsx | 3 +- .../components/pages/modals/page-form.tsx | 6 +- .../components/pages/navigation-pane/root.tsx | 8 +- .../navigation-pane/tab-panels/assets.tsx | 3 +- .../tab-panels/info/version-history.tsx | 2 +- .../pages/navigation-pane/types/extensions.ts | 6 +- .../pages/pages-list-main-content.tsx | 3 +- .../core/components/pages/pages-list-view.tsx | 5 +- .../core/components/pages/version/editor.tsx | 2 +- .../components/pages/version/main-content.tsx | 6 +- .../core/components/pages/version/root.tsx | 6 +- .../profile/activity/activity-list.tsx | 2 +- .../notification/email-notification-form.tsx | 5 +- .../overview/priority-distribution.tsx | 2 +- .../profile/overview/state-distribution.tsx | 2 +- .../components/profile/overview/stats.tsx | 2 +- .../components/profile/overview/workload.tsx | 2 +- .../profile/profile-issues-filter.tsx | 3 +- .../profile-setting-content-header.tsx | 3 +- .../profile-setting-content-wrapper.tsx | 3 +- apps/web/core/components/profile/sidebar.tsx | 5 +- .../profile/start-of-week-preference.tsx | 2 +- .../project-states/create-update/create.tsx | 5 +- .../project-states/create-update/form.tsx | 5 +- .../project-states/create-update/update.tsx | 5 +- .../components/project-states/group-item.tsx | 5 +- .../components/project-states/group-list.tsx | 5 +- .../project-states/options/delete.tsx | 5 +- .../options/mark-as-default.tsx | 5 +- .../core/components/project-states/root.tsx | 6 +- .../project-states/state-item-title.tsx | 4 +- .../components/project-states/state-item.tsx | 7 +- .../components/project-states/state-list.tsx | 4 +- .../project-display-filters.tsx | 2 +- .../project/applied-filters/root.tsx | 2 +- apps/web/core/components/project/card.tsx | 3 +- .../project/confirm-project-member-remove.tsx | 2 +- .../project/create-project-modal.tsx | 5 +- .../project/create/common-attributes.tsx | 7 +- .../core/components/project/create/header.tsx | 2 +- .../project/create/project-create-buttons.tsx | 2 +- .../components/project/dropdowns/order-by.tsx | 2 +- apps/web/core/components/project/filters.tsx | 2 +- .../core/components/project/form-loader.tsx | 2 +- apps/web/core/components/project/form.tsx | 5 +- .../components/project/integration-card.tsx | 2 +- .../project/leave-project-modal.tsx | 5 +- .../project/member-header-column.tsx | 5 +- .../components/project/member-list-item.tsx | 2 +- .../project/project-feature-update.tsx | 3 +- .../project/project-network-icon.tsx | 2 +- .../project-settings-member-defaults.tsx | 5 +- .../project/publish-project/modal.tsx | 2 +- apps/web/core/components/project/root.tsx | 2 +- .../components/project/search-projects.tsx | 3 +- .../settings/archive-project/selection.tsx | 2 +- .../settings/delete-project-section.tsx | 2 +- .../project/settings/features-list.tsx | 4 +- .../project/settings/member-columns.tsx | 2 +- apps/web/core/components/readonly/member.tsx | 2 +- .../web/core/components/readonly/priority.tsx | 2 +- .../rich-filters/add-filters/button.tsx | 8 +- .../rich-filters/add-filters/dropdown.tsx | 4 +- .../rich-filters/filter-item/close-button.tsx | 4 +- .../rich-filters/filter-item/container.tsx | 2 +- .../rich-filters/filter-item/invalid.tsx | 4 +- .../rich-filters/filter-item/property.tsx | 4 +- .../rich-filters/filter-item/root.tsx | 4 +- .../filter-value-input/date/range.tsx | 2 +- .../filter-value-input/date/single.tsx | 2 +- .../rich-filters/filter-value-input/root.tsx | 6 +- .../filter-value-input/select/multi.tsx | 2 +- .../select/selected-options-display.tsx | 2 +- .../filter-value-input/select/shared.tsx | 2 +- .../filter-value-input/select/single.tsx | 2 +- .../components/rich-filters/filters-row.tsx | 7 +- .../rich-filters/filters-toggle.tsx | 4 +- .../core/components/rich-filters/shared.ts | 2 +- .../components/settings/content-wrapper.tsx | 2 +- .../components/settings/sidebar/nav-item.tsx | 2 +- .../core/components/settings/sidebar/root.tsx | 3 +- .../components/sidebar/resizable-sidebar.tsx | 3 +- .../components/sidebar/sidebar-navigation.tsx | 3 +- .../components/sidebar/sidebar-wrapper.tsx | 3 +- .../stickies/layout/sticky-dnd-wrapper.tsx | 9 +- .../stickies/layout/sticky.helpers.ts | 2 +- .../core/components/stickies/modal/search.tsx | 3 +- .../components/stickies/sticky/inputs.tsx | 2 +- .../core/components/stickies/sticky/root.tsx | 2 +- .../sticky/sticky-item-drag-handle.tsx | 3 +- .../stickies/sticky/use-operations.tsx | 2 +- apps/web/core/components/ui/labels-list.tsx | 4 +- .../core/components/user/user-greetings.tsx | 4 +- .../views/applied-filters/access.tsx | 2 +- .../components/views/applied-filters/root.tsx | 2 +- .../components/views/delete-view-modal.tsx | 2 +- .../views/filters/filter-selection.tsx | 3 +- .../components/views/filters/order-by.tsx | 2 +- apps/web/core/components/views/form.tsx | 5 +- apps/web/core/components/views/modal.tsx | 5 +- .../core/components/views/quick-actions.tsx | 5 +- .../views/view-list-item-action.tsx | 6 +- .../core/components/views/view-list-item.tsx | 5 +- .../web-hooks/create-webhook-modal.tsx | 2 +- .../web-hooks/delete-webhook-modal.tsx | 3 +- .../components/web-hooks/form/event-types.tsx | 2 +- .../core/components/web-hooks/form/form.tsx | 5 +- .../form/individual-event-options.tsx | 5 +- .../components/web-hooks/form/secret-key.tsx | 5 +- .../core/components/web-hooks/form/toggle.tsx | 5 +- .../web-hooks/generated-hook-details.tsx | 2 +- apps/web/core/components/web-hooks/utils.ts | 2 +- .../web-hooks/webhooks-list-item.tsx | 4 +- .../work-item-filters/filters-hoc/base.tsx | 14 ++- .../filters-hoc/project-level.tsx | 5 +- .../work-item-filters/filters-hoc/shared.ts | 6 +- .../filters-hoc/workspace-level.tsx | 5 +- .../work-item-filters/filters-row.tsx | 7 +- .../work-item-filters/filters-toggle.tsx | 2 +- .../notification-app-sidebar-option.tsx | 2 +- .../sidebar/empty-state.tsx | 2 +- .../sidebar/filters/applied-filter.tsx | 2 +- .../sidebar/filters/menu/menu-option-item.tsx | 4 +- .../sidebar/filters/menu/root.tsx | 5 +- .../header/options/menu-option/menu-item.tsx | 2 +- .../header/options/menu-option/root.tsx | 4 +- .../sidebar/header/options/root.tsx | 2 +- .../sidebar/header/root.tsx | 2 +- .../sidebar/notification-card/content.tsx | 2 +- .../sidebar/notification-card/item.tsx | 3 +- .../notification-card/options/archive.tsx | 4 +- .../notification-card/options/button.tsx | 2 +- .../notification-card/options/read.tsx | 4 +- .../notification-card/options/root.tsx | 2 +- .../options/snooze/modal.tsx | 3 +- .../notification-card/options/snooze/root.tsx | 5 +- .../workspace-notifications/sidebar/root.tsx | 6 +- .../ConfirmWorkspaceMemberRemove.tsx | 2 +- .../workspace/billing/comparison/base.tsx | 3 +- .../billing/comparison/feature-detail.tsx | 6 +- .../workspace/create-workspace-form.tsx | 5 +- .../workspace/invite-modal/fields.tsx | 5 +- .../settings/invitations-list-item.tsx | 6 +- .../workspace/settings/member-columns.tsx | 2 +- .../workspace/settings/members-list-item.tsx | 4 +- .../workspace/settings/members-list.tsx | 3 +- .../workspace/settings/workspace-details.tsx | 5 +- .../workspace/sidebar/dropdown-item.tsx | 2 +- .../sidebar/favorites/favorite-folder.tsx | 4 +- .../common/favorite-item-drag-handle.tsx | 3 +- .../common/favorite-item-quick-action.tsx | 5 +- .../common/favorite-item-title.tsx | 3 +- .../common/favorite-item-wrapper.tsx | 3 +- .../favorite-items/common/helper.tsx | 2 +- .../sidebar/favorites/favorite-items/root.tsx | 17 ++-- .../sidebar/favorites/favorites-menu.tsx | 7 +- .../sidebar/favorites/favorites.helpers.ts | 2 +- .../sidebar/favorites/new-fav-folder.tsx | 3 +- .../workspace/sidebar/project-navigation.tsx | 5 +- .../workspace/sidebar/projects-list.tsx | 5 +- .../workspace/sidebar/quick-actions.tsx | 2 +- .../workspace/sidebar/sidebar-item.tsx | 5 +- .../workspace/sidebar/user-menu-item.tsx | 4 +- .../workspace/sidebar/user-menu-root.tsx | 3 +- .../sidebar/workspace-menu-header.tsx | 3 +- .../workspace/sidebar/workspace-menu-item.tsx | 4 +- .../workspace/sidebar/workspace-menu-root.tsx | 2 +- .../views/default-view-quick-action.tsx | 5 +- .../workspace/views/delete-view-modal.tsx | 2 +- .../core/components/workspace/views/form.tsx | 11 +-- .../components/workspace/views/header.tsx | 2 +- .../core/components/workspace/views/modal.tsx | 3 +- .../workspace/views/quick-action.tsx | 5 +- apps/web/core/constants/calendar.ts | 3 +- apps/web/core/constants/editor.ts | 5 +- apps/web/core/constants/fetch-keys.ts | 2 +- .../core/hooks/context/app-rail-context.tsx | 3 +- .../core/hooks/context/use-issue-modal.tsx | 3 +- .../core/hooks/editor/use-editor-mention.tsx | 2 +- apps/web/core/hooks/store/use-issue-detail.ts | 3 +- apps/web/core/hooks/store/use-issues.ts | 5 +- .../use-work-item-filter-instance.ts | 4 +- .../use-work-item-filters.ts | 2 +- apps/web/core/hooks/use-auto-scroller.tsx | 3 +- .../hooks/use-collaborative-page-actions.tsx | 3 +- ...xtended-sidebar-overview-outside-click.tsx | 3 +- .../core/hooks/use-favorite-item-details.tsx | 2 +- apps/web/core/hooks/use-group-dragndrop.ts | 5 +- .../core/hooks/use-intersection-observer.ts | 3 +- .../use-issue-peek-overview-redirection.tsx | 3 +- apps/web/core/hooks/use-issues-actions.tsx | 7 +- apps/web/core/hooks/use-page-fallback.ts | 5 +- .../core/hooks/use-parse-editor-content.ts | 2 +- .../hooks/use-peek-overview-outside-click.tsx | 3 +- apps/web/core/hooks/use-stickies.tsx | 2 +- apps/web/core/hooks/use-timeline-chart.ts | 2 +- apps/web/core/hooks/use-timezone.tsx | 2 +- .../core/hooks/use-workspace-invitation.tsx | 3 +- .../layouts/auth-layout/project-wrapper.tsx | 3 +- .../layouts/auth-layout/workspace-wrapper.tsx | 2 +- .../web/core/layouts/default-layout/index.tsx | 2 +- apps/web/core/lib/intercom-provider.tsx | 3 +- apps/web/core/lib/posthog-provider.tsx | 3 +- apps/web/core/lib/store-context.tsx | 3 +- .../lib/wrappers/authentication-wrapper.tsx | 2 +- .../core/lib/wrappers/instance-wrapper.tsx | 2 +- apps/web/core/lib/wrappers/store-wrapper.tsx | 6 +- apps/web/core/local-db/storage.sqlite.ts | 2 +- apps/web/core/local-db/utils/load-issues.ts | 2 +- .../web/core/local-db/utils/load-workspace.ts | 13 +-- .../core/local-db/utils/query-sanitizer.ts.ts | 2 +- apps/web/core/local-db/utils/tables.ts | 2 +- apps/web/core/local-db/utils/utils.ts | 2 +- apps/web/core/services/ai.service.ts | 2 +- apps/web/core/services/analytics.service.ts | 7 +- apps/web/core/services/api.service.ts | 3 +- apps/web/core/services/auth.service.ts | 2 +- .../core/services/cycle_archive.service.ts | 2 +- apps/web/core/services/dashboard.service.ts | 2 +- apps/web/core/services/file-upload.service.ts | 3 +- apps/web/core/services/file.service.ts | 4 +- .../services/inbox/inbox-issue.service.ts | 3 +- .../inbox/intake-work_item_version.service.ts | 2 +- .../services/integrations/github.service.ts | 2 +- .../integrations/integration.service.ts | 2 +- .../services/integrations/jira.service.ts | 2 +- apps/web/core/services/issue/issue.service.ts | 20 ++--- .../services/issue/issue_activity.service.ts | 3 +- .../services/issue/issue_archive.service.ts | 3 +- .../issue/issue_attachment.service.ts | 5 +- .../services/issue/issue_comment.service.ts | 3 +- .../services/issue/issue_label.service.ts | 2 +- .../services/issue/issue_reaction.service.ts | 8 +- .../services/issue/issue_relation.service.ts | 2 +- .../issue/work_item_version.service.ts | 8 +- .../services/issue/workspace_draft.service.ts | 2 +- .../core/services/module_archive.service.ts | 2 +- .../page/project-page-version.service.ts | 2 +- .../services/page/project-page.service.ts | 2 +- .../project/project-publish.service.ts | 2 +- .../core/services/project/project.service.ts | 2 +- apps/web/core/services/sticky.service.ts | 2 +- apps/web/core/services/timezone.service.ts | 2 +- apps/web/core/services/view.service.ts | 2 +- apps/web/core/services/webhook.service.ts | 2 +- apps/web/core/services/workspace.service.ts | 2 +- apps/web/core/store/analytics.store.ts | 2 +- .../core/store/base-command-palette.store.ts | 8 +- apps/web/core/store/cycle.store.ts | 5 +- apps/web/core/store/cycle_filter.store.ts | 2 +- apps/web/core/store/editor/asset.store.ts | 4 +- .../core/store/estimates/estimate-point.ts | 2 +- .../store/estimates/project-estimate.store.ts | 5 +- apps/web/core/store/favorite.store.ts | 2 +- apps/web/core/store/global-view.store.ts | 2 +- .../web/core/store/inbox/inbox-issue.store.ts | 4 +- .../core/store/inbox/project-inbox.store.ts | 10 +-- apps/web/core/store/instance.store.ts | 2 +- .../core/store/issue/archived/filter.store.ts | 12 +-- .../core/store/issue/archived/issue.store.ts | 9 +- .../core/store/issue/cycle/filter.store.ts | 12 +-- .../web/core/store/issue/cycle/issue.store.ts | 9 +- .../store/issue/helpers/base-issues-utils.ts | 2 +- .../store/issue/helpers/base-issues.store.ts | 9 +- .../helpers/issue-filter-helper.store.ts | 6 +- .../issue/issue-details/attachment.store.ts | 6 +- .../issue/issue-details/comment.store.ts | 4 +- .../issue-details/comment_reaction.store.ts | 4 +- .../store/issue/issue-details/issue.store.ts | 5 +- .../store/issue/issue-details/link.store.ts | 4 +- .../issue/issue-details/reaction.store.ts | 2 +- .../issue/issue-details/relation.store.ts | 6 +- .../store/issue/issue-details/root.store.ts | 54 +++++------- .../issue/issue-details/sub_issues.store.ts | 9 +- .../issue-details/sub_issues_filter.store.ts | 6 +- .../issue/issue-details/subscription.store.ts | 4 +- apps/web/core/store/issue/issue.store.ts | 2 +- .../store/issue/issue_calendar_view.store.ts | 2 +- .../store/issue/issue_kanban_view.store.ts | 4 +- .../core/store/issue/module/filter.store.ts | 12 +-- .../core/store/issue/module/issue.store.ts | 9 +- .../core/store/issue/profile/filter.store.ts | 12 +-- .../core/store/issue/profile/issue.store.ts | 9 +- .../store/issue/project-views/filter.store.ts | 12 +-- .../store/issue/project-views/issue.store.ts | 9 +- .../core/store/issue/project/filter.store.ts | 12 +-- .../core/store/issue/project/issue.store.ts | 9 +- apps/web/core/store/issue/root.store.ts | 86 +++++++++--------- .../issue/workspace-draft/filter.store.ts | 12 +-- .../issue/workspace-draft/issue.store.ts | 4 +- .../store/issue/workspace/filter.store.ts | 18 ++-- .../core/store/issue/workspace/issue.store.ts | 9 +- apps/web/core/store/label.store.ts | 2 +- apps/web/core/store/member/index.ts | 8 +- .../project/base-project-member.store.ts | 13 +-- .../project/project-member-filters.store.ts | 3 +- .../workspace-member-filters.store.ts | 3 +- .../workspace/workspace-member.store.ts | 5 +- apps/web/core/store/module.store.ts | 5 +- apps/web/core/store/module_filter.store.ts | 2 +- apps/web/core/store/multiple_select.store.ts | 2 +- .../core/store/notifications/notification.ts | 2 +- .../workspace-notifications.store.ts | 8 +- apps/web/core/store/pages/base-page.ts | 4 +- .../core/store/pages/project-page.store.ts | 6 +- apps/web/core/store/pages/project-page.ts | 5 +- apps/web/core/store/project-view.store.ts | 2 +- apps/web/core/store/project/index.ts | 9 +- .../store/project/project-publish.store.ts | 4 +- apps/web/core/store/project/project.store.ts | 4 +- .../store/project/project_filter.store.ts | 2 +- apps/web/core/store/root.store.ts | 87 ++++++++++++------- apps/web/core/store/router.store.ts | 4 +- apps/web/core/store/state.store.ts | 2 +- apps/web/core/store/sticky/sticky.store.ts | 2 +- .../store/timeline/issues-timeline.store.ts | 3 +- .../store/timeline/modules-timeline.store.ts | 3 +- apps/web/core/store/user/account.store.ts | 2 +- .../core/store/user/base-permissions.store.ts | 12 +-- apps/web/core/store/user/index.ts | 13 +-- apps/web/core/store/user/profile.store.ts | 3 +- apps/web/core/store/user/settings.store.ts | 2 +- .../core/store/workspace/api-token.store.ts | 2 +- apps/web/core/store/workspace/home.ts | 5 +- apps/web/core/store/workspace/index.ts | 11 ++- apps/web/core/store/workspace/link.store.ts | 2 +- .../web/core/store/workspace/webhook.store.ts | 2 +- apps/web/ee/store/analytics.store.ts | 3 +- apps/web/helpers/authentication.helper.tsx | 2 +- apps/web/helpers/dashboard.helper.ts | 2 +- apps/web/helpers/react-hook-form.helper.ts | 2 +- apps/web/helpers/views.helper.ts | 3 +- .../factories/configs/properties/shared.ts | 9 ++ 1080 files changed, 2589 insertions(+), 2082 deletions(-) diff --git a/apps/web/.eslintrc.js b/apps/web/.eslintrc.js index 1662fabf7..a0bc76d5d 100644 --- a/apps/web/.eslintrc.js +++ b/apps/web/.eslintrc.js @@ -1,4 +1,18 @@ module.exports = { root: true, extends: ["@plane/eslint-config/next.js"], + rules: { + "no-duplicate-imports": "off", + "import/no-duplicates": ["error", { "prefer-inline": false }], + "import/consistent-type-specifier-style": ["error", "prefer-top-level"], + "@typescript-eslint/no-import-type-side-effects": "error", + "@typescript-eslint/consistent-type-imports": [ + "error", + { + prefer: "type-imports", + fixStyle: "separate-type-imports", + disallowTypeAnnotations: false, + }, + ], + }, }; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/_sidebar.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/_sidebar.tsx index aaa7f6e51..d81d2c148 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/_sidebar.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/_sidebar.tsx @@ -1,5 +1,6 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; // plane imports import { SIDEBAR_WIDTH } from "@plane/constants"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/page.tsx index f75edf89e..5c3f94e32 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/page.tsx @@ -6,7 +6,8 @@ import { useRouter } from "next/navigation"; // plane package imports import { EUserPermissions, EUserPermissionsLevel, PROJECT_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { type TabItem, Tabs } from "@plane/ui"; +import { Tabs } from "@plane/ui"; +import type { TabItem } from "@plane/ui"; // components import AnalyticsFilterActions from "@/components/analytics/analytics-filter-actions"; import { PageHead } from "@/components/core/page-title"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-project-sidebar.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-project-sidebar.tsx index a995bc99e..b193dbe24 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-project-sidebar.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-project-sidebar.tsx @@ -17,7 +17,7 @@ import { SidebarProjectsListItem } from "@/components/workspace/sidebar/projects import { useAppTheme } from "@/hooks/store/use-app-theme"; import { useProject } from "@/hooks/store/use-project"; import { useUserPermissions } from "@/hooks/store/user"; -import { TProject } from "@/plane-web/types"; +import type { TProject } from "@/plane-web/types"; import { ExtendedSidebarWrapper } from "./extended-sidebar-wrapper"; export const ExtendedProjectSidebar = observer(() => { diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-sidebar-wrapper.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-sidebar-wrapper.tsx index bf5fdb4e2..878f9ee3f 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-sidebar-wrapper.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-sidebar-wrapper.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; // plane imports import { EXTENDED_SIDEBAR_WIDTH, SIDEBAR_WIDTH } from "@plane/constants"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-sidebar.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-sidebar.tsx index 6aceeea95..108de05f0 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-sidebar.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/extended-sidebar.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports import { WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS_LINKS } from "@plane/constants"; -import { EUserWorkspaceRoles } from "@plane/types"; +import type { EUserWorkspaceRoles } from "@plane/types"; // hooks import { useAppTheme } from "@/hooks/store/use-app-theme"; import { useWorkspace } from "@/hooks/store/use-workspace"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/header.tsx index 564d06dc1..ef49c8ffb 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/header.tsx @@ -1,14 +1,14 @@ "use client"; // ui -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { useParams, useRouter } from "next/navigation"; import { ChevronDown, PanelRight } from "lucide-react"; import { PROFILE_VIEWER_TAB, PROFILE_ADMINS_TAB, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { YourWorkIcon } from "@plane/propel/icons"; -import { IUserProfileProjectSegregation } from "@plane/types"; +import type { IUserProfileProjectSegregation } from "@plane/types"; import { Breadcrumbs, Header, CustomMenu } from "@plane/ui"; import { cn } from "@plane/utils"; // components diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/mobile-header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/mobile-header.tsx index ce84d832a..5b59b39d4 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/mobile-header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/mobile-header.tsx @@ -10,13 +10,13 @@ import { EIssueFilterType, ISSUE_LAYOUTS, ISSUE_DISPLAY_FILTERS_BY_PAGE } from " // plane i18n import { useTranslation } from "@plane/i18n"; // types -import { - EIssuesStoreType, +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, TIssueLayouts, EIssueLayoutTypes, } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; // ui import { CustomMenu } from "@plane/ui"; // components diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsx index eeb6998c9..a7b8aad77 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/profile/[userId]/page.tsx @@ -5,7 +5,7 @@ import useSWR from "swr"; // plane imports import { GROUP_CHOICES } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { IUserStateDistribution, TStateGroups } from "@plane/types"; +import type { IUserStateDistribution, TStateGroups } from "@plane/types"; import { ContentWrapper } from "@plane/ui"; // components import { PageHead } from "@/components/core/page-title"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx index 1be30ae75..fcb28bd3a 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { ArchiveIcon, CycleIcon, ModuleIcon, WorkItemsIcon } from "@plane/propel/icons"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx index 833e1f632..885d6bc68 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx @@ -19,13 +19,8 @@ import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { CycleIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { - EIssuesStoreType, - ICustomSearchSelectOption, - IIssueDisplayFilterOptions, - IIssueDisplayProperties, - EIssueLayoutTypes, -} from "@plane/types"; +import type { ICustomSearchSelectOption, IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; +import { EIssuesStoreType, EIssueLayoutTypes } from "@plane/types"; import { Breadcrumbs, BreadcrumbNavigationSearchDropdown, Header } from "@plane/ui"; import { cn } from "@plane/utils"; // components diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/mobile-header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/mobile-header.tsx index cd4d78897..e97104c5f 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/mobile-header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/mobile-header.tsx @@ -7,7 +7,8 @@ import { Calendar, ChevronDown, Kanban, List } from "lucide-react"; // plane imports import { EIssueFilterType, ISSUE_LAYOUTS, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EIssuesStoreType, IIssueDisplayFilterOptions, IIssueDisplayProperties, EIssueLayoutTypes } from "@plane/types"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, EIssueLayoutTypes } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { CustomMenu } from "@plane/ui"; // components import { WorkItemsModal } from "@/components/analytics/work-items/modal"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/header.tsx index 5cfa9e8d6..c2ac8e455 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/header.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // ui diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/mobile-header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/mobile-header.tsx index 759d88564..97838d349 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/mobile-header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/mobile-header.tsx @@ -2,9 +2,10 @@ import { observer } from "mobx-react"; // ui -import { GanttChartSquare, LayoutGrid, List, type LucideIcon } from "lucide-react"; +import { GanttChartSquare, LayoutGrid, List } from "lucide-react"; +import type { LucideIcon } from "lucide-react"; // plane package imports -import { TCycleLayoutOptions } from "@plane/types"; +import type { TCycleLayoutOptions } from "@plane/types"; import { CustomMenu } from "@plane/ui"; // hooks import { useCycleFilter } from "@/hooks/store/use-cycle-filter"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/page.tsx index 4783a2823..681ec22e0 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(list)/page.tsx @@ -6,7 +6,8 @@ import { useParams } from "next/navigation"; // plane imports import { EUserPermissionsLevel, CYCLE_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EUserProjectRoles, TCycleFilters } from "@plane/types"; +import type { TCycleFilters } from "@plane/types"; +import { EUserProjectRoles } from "@plane/types"; // components import { Header, EHeaderVariant } from "@plane/ui"; import { calculateTotalFilters } from "@plane/utils"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(list)/mobile-header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(list)/mobile-header.tsx index 0aa774a74..ed827135a 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(list)/mobile-header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(list)/mobile-header.tsx @@ -7,7 +7,8 @@ import { ChevronDown } from "lucide-react"; // plane imports import { EIssueFilterType, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EIssuesStoreType, IIssueDisplayFilterOptions, IIssueDisplayProperties, EIssueLayoutTypes } from "@plane/types"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; +import { EIssuesStoreType, EIssueLayoutTypes } from "@plane/types"; // components import { WorkItemsModal } from "@/components/analytics/work-items/modal"; import { diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/header.tsx index e2520b8a2..2dec9fa96 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/header.tsx @@ -17,13 +17,8 @@ import { import { Button } from "@plane/propel/button"; import { ModuleIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { - EIssuesStoreType, - ICustomSearchSelectOption, - IIssueDisplayFilterOptions, - IIssueDisplayProperties, - EIssueLayoutTypes, -} from "@plane/types"; +import type { ICustomSearchSelectOption, IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; +import { EIssuesStoreType, EIssueLayoutTypes } from "@plane/types"; import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; import { cn } from "@plane/utils"; // components diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/mobile-header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/mobile-header.tsx index 817515700..77b0e2b24 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/mobile-header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/mobile-header.tsx @@ -8,7 +8,8 @@ import { Calendar, ChevronDown, Kanban, List } from "lucide-react"; // plane imports import { EIssueFilterType, ISSUE_LAYOUTS, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EIssuesStoreType, IIssueDisplayFilterOptions, IIssueDisplayProperties, EIssueLayoutTypes } from "@plane/types"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, EIssueLayoutTypes } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { CustomMenu } from "@plane/ui"; // components import { WorkItemsModal } from "@/components/analytics/work-items/modal"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/page.tsx index cd55d42f2..daef0c650 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(list)/page.tsx @@ -6,7 +6,8 @@ import { useParams } from "next/navigation"; // types import { EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EUserProjectRoles, TModuleFilters } from "@plane/types"; +import type { TModuleFilters } from "@plane/types"; +import { EUserProjectRoles } from "@plane/types"; // components import { calculateTotalFilters } from "@plane/utils"; import { PageHead } from "@/components/core/page-title"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx index 761dc7560..4c15f2b22 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx @@ -7,7 +7,8 @@ import { useParams } from "next/navigation"; import useSWR from "swr"; // plane types import { getButtonStyling } from "@plane/propel/button"; -import { EFileAssetType, TSearchEntityRequestPayload, TWebhookConnectionQueryParams } from "@plane/types"; +import type { TSearchEntityRequestPayload, TWebhookConnectionQueryParams } from "@plane/types"; +import { EFileAssetType } from "@plane/types"; // plane ui // plane utils import { cn } from "@plane/utils"; @@ -15,7 +16,8 @@ import { cn } from "@plane/utils"; import { LogoSpinner } from "@/components/common/logo-spinner"; import { PageHead } from "@/components/core/page-title"; import { IssuePeekOverview } from "@/components/issues/peek-overview"; -import { PageRoot, TPageRootConfig, TPageRootHandlers } from "@/components/pages/editor/page-root"; +import type { TPageRootConfig, TPageRootHandlers } from "@/components/pages/editor/page-root"; +import { PageRoot } from "@/components/pages/editor/page-root"; // hooks import { useEditorConfig } from "@/hooks/editor"; import { useEditorAsset } from "@/hooks/store/use-editor-asset"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/header.tsx index 8f4eeadf0..ad6b9c128 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/header.tsx @@ -4,7 +4,7 @@ import { useParams } from "next/navigation"; import { EProjectFeatureKey } from "@plane/constants"; import { PageIcon } from "@plane/propel/icons"; // types -import { ICustomSearchSelectOption } from "@plane/types"; +import type { ICustomSearchSelectOption } from "@plane/types"; // ui import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; // components diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/header.tsx index 086a5ce31..4aa12716b 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/header.tsx @@ -13,7 +13,7 @@ import { // plane types import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { TPage } from "@plane/types"; +import type { TPage } from "@plane/types"; // plane ui import { Breadcrumbs, Header } from "@plane/ui"; // helpers diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/layout.tsx index a74a9797b..6c62d42c3 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/layout.tsx @@ -1,6 +1,6 @@ "use client"; -import { ReactNode } from "react"; +import type { ReactNode } from "react"; // components import { AppHeader } from "@/components/core/app-header"; import { ContentWrapper } from "@/components/core/content-wrapper"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/page.tsx index 756a2dac6..f5fb1f4ca 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/page.tsx @@ -5,7 +5,8 @@ import { useParams, useSearchParams } from "next/navigation"; // plane imports import { EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EUserProjectRoles, TPageNavigationTabs } from "@plane/types"; +import type { TPageNavigationTabs } from "@plane/types"; +import { EUserProjectRoles } from "@plane/types"; // components import { PageHead } from "@/components/core/page-title"; import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx index 6cbee5bd4..33a84241a 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx @@ -17,14 +17,8 @@ import { import { Button } from "@plane/propel/button"; import { ViewsIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { - EIssuesStoreType, - EViewAccess, - ICustomSearchSelectOption, - IIssueDisplayFilterOptions, - IIssueDisplayProperties, - EIssueLayoutTypes, -} from "@plane/types"; +import type { ICustomSearchSelectOption, IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; +import { EIssuesStoreType, EViewAccess, EIssueLayoutTypes } from "@plane/types"; // ui import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; // components diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/page.tsx index 1779726c1..62de1c0d5 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(list)/page.tsx @@ -6,7 +6,8 @@ import { useParams } from "next/navigation"; // components import { EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EUserProjectRoles, EViewAccess, TViewFilterProps } from "@plane/types"; +import type { EViewAccess, TViewFilterProps } from "@plane/types"; +import { EUserProjectRoles } from "@plane/types"; import { Header, EHeaderVariant } from "@plane/ui"; import { calculateTotalFilters } from "@plane/utils"; import { PageHead } from "@/components/core/page-title"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/archives/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/archives/layout.tsx index d8429ef30..d33616ed5 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/archives/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/archives/layout.tsx @@ -1,6 +1,6 @@ "use client"; -import { ReactNode } from "react"; +import type { ReactNode } from "react"; // components import { AppHeader } from "@/components/core/app-header"; import { ContentWrapper } from "@/components/core/content-wrapper"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/layout.tsx index 8e1d19435..25cefaf56 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/layout.tsx @@ -1,6 +1,6 @@ "use client"; -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { useParams } from "next/navigation"; // plane web layouts import { ProjectAuthWrapper } from "@/plane-web/layouts/project-wrapper"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(list)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(list)/layout.tsx index d8429ef30..d33616ed5 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(list)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(list)/layout.tsx @@ -1,6 +1,6 @@ "use client"; -import { ReactNode } from "react"; +import type { ReactNode } from "react"; // components import { AppHeader } from "@/components/core/app-header"; import { ContentWrapper } from "@/components/core/content-wrapper"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/sidebar.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/sidebar.tsx index e82016f3d..a30707e21 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/sidebar.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/sidebar.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { isEmpty } from "lodash-es"; import { observer } from "mobx-react"; // plane helpers diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/header.tsx index 7ecdd50c4..07f75a309 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/workspace-views/header.tsx @@ -13,13 +13,8 @@ import { import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { ViewsIcon } from "@plane/propel/icons"; -import { - EIssuesStoreType, - IIssueDisplayFilterOptions, - IIssueDisplayProperties, - ICustomSearchSelectOption, - EIssueLayoutTypes, -} from "@plane/types"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, ICustomSearchSelectOption } from "@plane/types"; +import { EIssuesStoreType, EIssueLayoutTypes } from "@plane/types"; import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; // components import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/layout.tsx index 6db9ea99b..385fa6548 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/layout.tsx @@ -1,11 +1,11 @@ "use client"; -import { FC, ReactNode } from "react"; +import type { FC, ReactNode } from "react"; import { observer } from "mobx-react"; import { usePathname } from "next/navigation"; // constants import { WORKSPACE_SETTINGS_ACCESS } from "@plane/constants"; -import { EUserWorkspaceRoles } from "@plane/types"; +import type { EUserWorkspaceRoles } from "@plane/types"; // components import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; import { getWorkspaceActivePath, pathnameToAccessKey } from "@/components/settings/helper"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/members/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/members/page.tsx index 892d85056..80871f19e 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/members/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/members/page.tsx @@ -14,7 +14,7 @@ import { import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IWorkspaceBulkInviteFormData } from "@plane/types"; +import type { IWorkspaceBulkInviteFormData } from "@plane/types"; import { cn } from "@plane/utils"; // components import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/sidebar.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/sidebar.tsx index 09a4de1d5..bda42ccc3 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/sidebar.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/sidebar.tsx @@ -7,7 +7,7 @@ import { EUserPermissions, WORKSPACE_SETTINGS_CATEGORY, } from "@plane/constants"; -import { EUserWorkspaceRoles } from "@plane/types"; +import type { EUserWorkspaceRoles } from "@plane/types"; import { SettingsSidebar } from "@/components/settings/sidebar"; import { useUserPermissions } from "@/hooks/store/user"; import { shouldRenderSettingLink } from "@/plane-web/helpers/workspace.helper"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/page.tsx index 38d7571df..7605f2276 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/(workspace)/webhooks/[webhookId]/page.tsx @@ -6,7 +6,7 @@ import { useParams } from "next/navigation"; import useSWR from "swr"; import { EUserPermissions, EUserPermissionsLevel, WORKSPACE_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IWebhook } from "@plane/types"; +import type { IWebhook } from "@plane/types"; // ui // components import { LogoSpinner } from "@/components/common/logo-spinner"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/layout.tsx index 4ca617cd5..61f227f46 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/layout.tsx @@ -1,6 +1,6 @@ "use client"; -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { observer } from "mobx-react"; import { usePathname } from "next/navigation"; // components diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/security/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/security/page.tsx index 179559eae..b4815a69f 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/security/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/account/security/page.tsx @@ -15,7 +15,8 @@ import { getPasswordStrength } from "@plane/utils"; import { PageHead } from "@/components/core/page-title"; import { ProfileSettingContentHeader } from "@/components/profile/profile-setting-content-header"; // helpers -import { authErrorHandler, type EAuthenticationErrorCodes } from "@/helpers/authentication.helper"; +import { authErrorHandler } from "@/helpers/authentication.helper"; +import type { EAuthenticationErrorCodes } from "@/helpers/authentication.helper"; // hooks import { useUser } from "@/hooks/store/user"; // services diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/automations/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/automations/page.tsx index e9c15bf72..0d9de2f2a 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/automations/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/automations/page.tsx @@ -6,7 +6,7 @@ import { useParams } from "next/navigation"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IProject } from "@plane/types"; +import type { IProject } from "@plane/types"; // ui // components import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/layout.tsx index fd521b9cd..e82348c69 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/layout.tsx @@ -1,6 +1,7 @@ "use client"; -import { ReactNode, useEffect } from "react"; +import type { ReactNode } from "react"; +import { useEffect } from "react"; import { observer } from "mobx-react"; import { useParams, usePathname } from "next/navigation"; // components diff --git a/apps/web/app/(all)/accounts/forgot-password/layout.tsx b/apps/web/app/(all)/accounts/forgot-password/layout.tsx index 7ba8e8ded..eb7439541 100644 --- a/apps/web/app/(all)/accounts/forgot-password/layout.tsx +++ b/apps/web/app/(all)/accounts/forgot-password/layout.tsx @@ -1,4 +1,4 @@ -import { Metadata } from "next"; +import type { Metadata } from "next"; export const metadata: Metadata = { title: "Forgot Password - Plane", diff --git a/apps/web/app/(all)/accounts/reset-password/layout.tsx b/apps/web/app/(all)/accounts/reset-password/layout.tsx index dbc0a29b4..54488aa38 100644 --- a/apps/web/app/(all)/accounts/reset-password/layout.tsx +++ b/apps/web/app/(all)/accounts/reset-password/layout.tsx @@ -1,4 +1,4 @@ -import { Metadata } from "next"; +import type { Metadata } from "next"; export const metadata: Metadata = { title: "Reset Password - Plane", diff --git a/apps/web/app/(all)/accounts/set-password/layout.tsx b/apps/web/app/(all)/accounts/set-password/layout.tsx index dbd32e9e8..89bf9748d 100644 --- a/apps/web/app/(all)/accounts/set-password/layout.tsx +++ b/apps/web/app/(all)/accounts/set-password/layout.tsx @@ -1,4 +1,4 @@ -import { Metadata } from "next"; +import type { Metadata } from "next"; export const metadata: Metadata = { title: "Set Password - Plane", diff --git a/apps/web/app/(all)/create-workspace/layout.tsx b/apps/web/app/(all)/create-workspace/layout.tsx index 32a220df7..991c9c759 100644 --- a/apps/web/app/(all)/create-workspace/layout.tsx +++ b/apps/web/app/(all)/create-workspace/layout.tsx @@ -1,4 +1,4 @@ -import { Metadata } from "next"; +import type { Metadata } from "next"; export const metadata: Metadata = { title: "Create Workspace", diff --git a/apps/web/app/(all)/create-workspace/page.tsx b/apps/web/app/(all)/create-workspace/page.tsx index 84a9653d6..db497729f 100644 --- a/apps/web/app/(all)/create-workspace/page.tsx +++ b/apps/web/app/(all)/create-workspace/page.tsx @@ -8,7 +8,7 @@ import Link from "next/link"; import { useTranslation } from "@plane/i18n"; import { Button, getButtonStyling } from "@plane/propel/button"; import { PlaneLogo } from "@plane/propel/icons"; -import { IWorkspace } from "@plane/types"; +import type { IWorkspace } from "@plane/types"; // components import { CreateWorkspaceForm } from "@/components/workspace/create-workspace-form"; // hooks diff --git a/apps/web/app/(all)/invitations/layout.tsx b/apps/web/app/(all)/invitations/layout.tsx index 2d9a7e688..0f05c3444 100644 --- a/apps/web/app/(all)/invitations/layout.tsx +++ b/apps/web/app/(all)/invitations/layout.tsx @@ -1,4 +1,4 @@ -import { Metadata } from "next"; +import type { Metadata } from "next"; export const metadata: Metadata = { title: "Invitations", diff --git a/apps/web/app/(all)/layout.tsx b/apps/web/app/(all)/layout.tsx index 2fde65188..2775b1b33 100644 --- a/apps/web/app/(all)/layout.tsx +++ b/apps/web/app/(all)/layout.tsx @@ -1,4 +1,4 @@ -import { Metadata, Viewport } from "next"; +import type { Metadata, Viewport } from "next"; import { PreloadResources } from "./layout.preload"; diff --git a/apps/web/app/(all)/onboarding/layout.tsx b/apps/web/app/(all)/onboarding/layout.tsx index 492ebc402..cad1f92cf 100644 --- a/apps/web/app/(all)/onboarding/layout.tsx +++ b/apps/web/app/(all)/onboarding/layout.tsx @@ -1,4 +1,4 @@ -import { Metadata } from "next"; +import type { Metadata } from "next"; export const metadata: Metadata = { title: "Onboarding", diff --git a/apps/web/app/(all)/profile/appearance/page.tsx b/apps/web/app/(all)/profile/appearance/page.tsx index 0fb15d9a9..bbcbe2439 100644 --- a/apps/web/app/(all)/profile/appearance/page.tsx +++ b/apps/web/app/(all)/profile/appearance/page.tsx @@ -4,10 +4,11 @@ import { useEffect, useState } from "react"; import { observer } from "mobx-react"; import { useTheme } from "next-themes"; // plane imports -import { I_THEME_OPTION, THEME_OPTIONS } from "@plane/constants"; +import type { I_THEME_OPTION } from "@plane/constants"; +import { THEME_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { setPromiseToast } from "@plane/propel/toast"; -import { IUserTheme } from "@plane/types"; +import type { IUserTheme } from "@plane/types"; // components import { applyTheme, unsetCustomCssVariables } from "@plane/utils"; import { LogoSpinner } from "@/components/common/logo-spinner"; diff --git a/apps/web/app/(all)/profile/layout.tsx b/apps/web/app/(all)/profile/layout.tsx index d9a440fb4..fdc086765 100644 --- a/apps/web/app/(all)/profile/layout.tsx +++ b/apps/web/app/(all)/profile/layout.tsx @@ -1,6 +1,6 @@ "use client"; -import { ReactNode } from "react"; +import type { ReactNode } from "react"; // components import { CommandPalette } from "@/components/command-palette"; // wrappers diff --git a/apps/web/app/(all)/profile/security/page.tsx b/apps/web/app/(all)/profile/security/page.tsx index 9bd3e72ee..4f0ad13c7 100644 --- a/apps/web/app/(all)/profile/security/page.tsx +++ b/apps/web/app/(all)/profile/security/page.tsx @@ -16,7 +16,8 @@ import { PageHead } from "@/components/core/page-title"; import { ProfileSettingContentHeader } from "@/components/profile/profile-setting-content-header"; import { ProfileSettingContentWrapper } from "@/components/profile/profile-setting-content-wrapper"; // helpers -import { authErrorHandler, type EAuthenticationErrorCodes } from "@/helpers/authentication.helper"; +import { authErrorHandler } from "@/helpers/authentication.helper"; +import type { EAuthenticationErrorCodes } from "@/helpers/authentication.helper"; // hooks import { useUser } from "@/hooks/store/user"; // services diff --git a/apps/web/app/(all)/sign-up/layout.tsx b/apps/web/app/(all)/sign-up/layout.tsx index 9e259b304..815fe08fc 100644 --- a/apps/web/app/(all)/sign-up/layout.tsx +++ b/apps/web/app/(all)/sign-up/layout.tsx @@ -1,4 +1,4 @@ -import { Metadata } from "next"; +import type { Metadata } from "next"; export const metadata: Metadata = { title: "Sign up - Plane", diff --git a/apps/web/app/(all)/workspace-invitations/layout.tsx b/apps/web/app/(all)/workspace-invitations/layout.tsx index 8361dddfa..535b2f62f 100644 --- a/apps/web/app/(all)/workspace-invitations/layout.tsx +++ b/apps/web/app/(all)/workspace-invitations/layout.tsx @@ -1,4 +1,4 @@ -import { Metadata } from "next"; +import type { Metadata } from "next"; export const metadata: Metadata = { title: "Workspace Invitations", diff --git a/apps/web/app/(home)/layout.tsx b/apps/web/app/(home)/layout.tsx index af7645f3c..d50131fc0 100644 --- a/apps/web/app/(home)/layout.tsx +++ b/apps/web/app/(home)/layout.tsx @@ -1,4 +1,4 @@ -import { Metadata, Viewport } from "next"; +import type { Metadata, Viewport } from "next"; export const metadata: Metadata = { robots: { diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx index 433dea7f9..b2b274c73 100644 --- a/apps/web/app/layout.tsx +++ b/apps/web/app/layout.tsx @@ -1,4 +1,4 @@ -import { Metadata, Viewport } from "next"; +import type { Metadata, Viewport } from "next"; import Script from "next/script"; // styles diff --git a/apps/web/app/not-found.tsx b/apps/web/app/not-found.tsx index 268d4d7b6..3d58991ba 100644 --- a/apps/web/app/not-found.tsx +++ b/apps/web/app/not-found.tsx @@ -1,7 +1,7 @@ "use client"; import React from "react"; -import { Metadata } from "next"; +import type { Metadata } from "next"; import Image from "next/image"; import Link from "next/link"; // ui diff --git a/apps/web/app/provider.tsx b/apps/web/app/provider.tsx index 4237a23e1..a83c75f9b 100644 --- a/apps/web/app/provider.tsx +++ b/apps/web/app/provider.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC, ReactNode } from "react"; +import type { FC, ReactNode } from "react"; import { AppProgressProvider as ProgressProvider } from "@bprogress/next"; import dynamic from "next/dynamic"; import { useTheme, ThemeProvider } from "next-themes"; diff --git a/apps/web/ce/components/analytics/tabs.tsx b/apps/web/ce/components/analytics/tabs.tsx index eb8344c05..3cca97399 100644 --- a/apps/web/ce/components/analytics/tabs.tsx +++ b/apps/web/ce/components/analytics/tabs.tsx @@ -1,4 +1,4 @@ -import { AnalyticsTab } from "@plane/types"; +import type { AnalyticsTab } from "@plane/types"; import { Overview } from "@/components/analytics/overview"; import { WorkItems } from "@/components/analytics/work-items"; diff --git a/apps/web/ce/components/automations/root.tsx b/apps/web/ce/components/automations/root.tsx index 658580911..e7f15288b 100644 --- a/apps/web/ce/components/automations/root.tsx +++ b/apps/web/ce/components/automations/root.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; export type TCustomAutomationsRootProps = { projectId: string; diff --git a/apps/web/ce/components/breadcrumbs/common.tsx b/apps/web/ce/components/breadcrumbs/common.tsx index abcb5cb3d..86a123915 100644 --- a/apps/web/ce/components/breadcrumbs/common.tsx +++ b/apps/web/ce/components/breadcrumbs/common.tsx @@ -1,8 +1,8 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; // plane imports -import { EProjectFeatureKey } from "@plane/constants"; +import type { EProjectFeatureKey } from "@plane/constants"; // local components import { ProjectBreadcrumb } from "./project"; import { ProjectFeatureBreadcrumb } from "./project-feature"; diff --git a/apps/web/ce/components/breadcrumbs/project-feature.tsx b/apps/web/ce/components/breadcrumbs/project-feature.tsx index ba67aa9cb..cad4338d3 100644 --- a/apps/web/ce/components/breadcrumbs/project-feature.tsx +++ b/apps/web/ce/components/breadcrumbs/project-feature.tsx @@ -1,10 +1,10 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { EProjectFeatureKey } from "@plane/constants"; -import { ISvgIcons } from "@plane/propel/icons"; +import type { ISvgIcons } from "@plane/propel/icons"; import { BreadcrumbNavigationDropdown, Breadcrumbs } from "@plane/ui"; // components import { SwitcherLabel } from "@/components/common/switcher-label"; diff --git a/apps/web/ce/components/breadcrumbs/project.tsx b/apps/web/ce/components/breadcrumbs/project.tsx index 1bf3594e3..2f6c67bd7 100644 --- a/apps/web/ce/components/breadcrumbs/project.tsx +++ b/apps/web/ce/components/breadcrumbs/project.tsx @@ -3,7 +3,7 @@ import { observer } from "mobx-react"; import { ProjectIcon } from "@plane/propel/icons"; // plane imports -import { ICustomSearchSelectOption } from "@plane/types"; +import type { ICustomSearchSelectOption } from "@plane/types"; import { BreadcrumbNavigationSearchDropdown, Breadcrumbs } from "@plane/ui"; // components import { Logo } from "@/components/common/logo"; @@ -11,7 +11,7 @@ import { SwitcherLabel } from "@/components/common/switcher-label"; // hooks import { useProject } from "@/hooks/store/use-project"; import { useAppRouter } from "@/hooks/use-app-router"; -import { TProject } from "@/plane-web/types"; +import type { TProject } from "@/plane-web/types"; type TProjectBreadcrumbProps = { workspaceSlug: string; diff --git a/apps/web/ce/components/command-palette/helpers.tsx b/apps/web/ce/components/command-palette/helpers.tsx index 2b49a87a5..865aa9e53 100644 --- a/apps/web/ce/components/command-palette/helpers.tsx +++ b/apps/web/ce/components/command-palette/helpers.tsx @@ -1,17 +1,15 @@ "use client"; -// types import { LayoutGrid } from "lucide-react"; +// plane imports import { CycleIcon, ModuleIcon, PageIcon, ProjectIcon, ViewsIcon } from "@plane/propel/icons"; -import { +import type { IWorkspaceDefaultSearchResult, IWorkspaceIssueSearchResult, IWorkspacePageSearchResult, IWorkspaceProjectSearchResult, IWorkspaceSearchResult, } from "@plane/types"; -// ui -// helpers import { generateWorkItemLink } from "@plane/utils"; // plane web components import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier"; diff --git a/apps/web/ce/components/command-palette/modals/issue-level.tsx b/apps/web/ce/components/command-palette/modals/issue-level.tsx index b30d5ec30..f720e38ea 100644 --- a/apps/web/ce/components/command-palette/modals/issue-level.tsx +++ b/apps/web/ce/components/command-palette/modals/issue-level.tsx @@ -1,8 +1,9 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports -import { EIssueServiceType, EIssuesStoreType, TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; +import { EIssueServiceType, EIssuesStoreType } from "@plane/types"; // components import { BulkDeleteIssuesModal } from "@/components/core/modals/bulk-delete-issues-modal"; import { DeleteIssueModal } from "@/components/issues/delete-issue-modal"; diff --git a/apps/web/ce/components/comments/comment-block.tsx b/apps/web/ce/components/comments/comment-block.tsx index 6ed7fc094..c5c9b442a 100644 --- a/apps/web/ce/components/comments/comment-block.tsx +++ b/apps/web/ce/components/comments/comment-block.tsx @@ -1,8 +1,10 @@ -import { FC, ReactNode, useRef } from "react"; +import type { FC, ReactNode } from "react"; +import { useRef } from "react"; import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { EIssueCommentAccessSpecifier, TIssueComment } from "@plane/types"; +import type { TIssueComment } from "@plane/types"; +import { EIssueCommentAccessSpecifier } from "@plane/types"; import { Avatar, Tooltip } from "@plane/ui"; import { calculateTimeAgo, cn, getFileURL, renderFormattedDate, renderFormattedTime } from "@plane/utils"; // hooks diff --git a/apps/web/ce/components/common/extended-app-header.tsx b/apps/web/ce/components/common/extended-app-header.tsx index 5a2df91cb..59dbf3394 100644 --- a/apps/web/ce/components/common/extended-app-header.tsx +++ b/apps/web/ce/components/common/extended-app-header.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { observer } from "mobx-react"; import { AppSidebarToggleButton } from "@/components/sidebar/sidebar-toggle-button"; import { useAppTheme } from "@/hooks/store/use-app-theme"; diff --git a/apps/web/ce/components/common/subscription/subscription-pill.tsx b/apps/web/ce/components/common/subscription/subscription-pill.tsx index 836ffae2b..ba30d3ad6 100644 --- a/apps/web/ce/components/common/subscription/subscription-pill.tsx +++ b/apps/web/ce/components/common/subscription/subscription-pill.tsx @@ -1,4 +1,4 @@ -import { IWorkspace } from "@plane/types"; +import type { IWorkspace } from "@plane/types"; type TProps = { workspace?: IWorkspace; diff --git a/apps/web/ce/components/cycles/active-cycle/root.tsx b/apps/web/ce/components/cycles/active-cycle/root.tsx index 66a580cbd..8ac331988 100644 --- a/apps/web/ce/components/cycles/active-cycle/root.tsx +++ b/apps/web/ce/components/cycles/active-cycle/root.tsx @@ -17,7 +17,7 @@ import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-stat // hooks import { useCycle } from "@/hooks/store/use-cycle"; import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path"; -import { ActiveCycleIssueDetails } from "@/store/issue/cycle"; +import type { ActiveCycleIssueDetails } from "@/store/issue/cycle"; interface IActiveCycleDetails { workspaceSlug: string; diff --git a/apps/web/ce/components/cycles/additional-actions.tsx b/apps/web/ce/components/cycles/additional-actions.tsx index 1fcb7146f..0fd9efb31 100644 --- a/apps/web/ce/components/cycles/additional-actions.tsx +++ b/apps/web/ce/components/cycles/additional-actions.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; type Props = { cycleId: string; diff --git a/apps/web/ce/components/cycles/analytics-sidebar/base.tsx b/apps/web/ce/components/cycles/analytics-sidebar/base.tsx index c9c56990a..37a070774 100644 --- a/apps/web/ce/components/cycles/analytics-sidebar/base.tsx +++ b/apps/web/ce/components/cycles/analytics-sidebar/base.tsx @@ -1,9 +1,10 @@ "use client"; -import { FC, Fragment } from "react"; +import type { FC } from "react"; +import { Fragment } from "react"; import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TCycleEstimateType } from "@plane/types"; +import type { TCycleEstimateType } from "@plane/types"; import { Loader } from "@plane/ui"; import { getDate } from "@plane/utils"; // components diff --git a/apps/web/ce/components/cycles/analytics-sidebar/root.tsx b/apps/web/ce/components/cycles/analytics-sidebar/root.tsx index d18f9168d..6be4361ef 100644 --- a/apps/web/ce/components/cycles/analytics-sidebar/root.tsx +++ b/apps/web/ce/components/cycles/analytics-sidebar/root.tsx @@ -1,5 +1,6 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; // components import { SidebarChart } from "./base"; diff --git a/apps/web/ce/components/de-dupe/de-dupe-button.tsx b/apps/web/ce/components/de-dupe/de-dupe-button.tsx index eaa4e3b7c..94d800ca8 100644 --- a/apps/web/ce/components/de-dupe/de-dupe-button.tsx +++ b/apps/web/ce/components/de-dupe/de-dupe-button.tsx @@ -1,5 +1,6 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; // local components type TDeDupeButtonRoot = { diff --git a/apps/web/ce/components/de-dupe/duplicate-modal/root.tsx b/apps/web/ce/components/de-dupe/duplicate-modal/root.tsx index 42284c6ed..55eb084fd 100644 --- a/apps/web/ce/components/de-dupe/duplicate-modal/root.tsx +++ b/apps/web/ce/components/de-dupe/duplicate-modal/root.tsx @@ -1,8 +1,8 @@ "use-client"; -import { FC } from "react"; +import type { FC } from "react"; // types -import { TDeDupeIssue } from "@plane/types"; +import type { TDeDupeIssue } from "@plane/types"; type TDuplicateModalRootProps = { workspaceSlug: string; diff --git a/apps/web/ce/components/de-dupe/duplicate-popover/root.tsx b/apps/web/ce/components/de-dupe/duplicate-popover/root.tsx index e1b8e2168..3dd227cc8 100644 --- a/apps/web/ce/components/de-dupe/duplicate-popover/root.tsx +++ b/apps/web/ce/components/de-dupe/duplicate-popover/root.tsx @@ -1,9 +1,10 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; // types -import { TDeDupeIssue } from "@plane/types"; +import type { TDeDupeIssue } from "@plane/types"; import type { TIssueOperations } from "@/components/issues/issue-detail"; type TDeDupeIssuePopoverRootProps = { diff --git a/apps/web/ce/components/de-dupe/issue-block/button-label.tsx b/apps/web/ce/components/de-dupe/issue-block/button-label.tsx index 303b0cec6..d6e363456 100644 --- a/apps/web/ce/components/de-dupe/issue-block/button-label.tsx +++ b/apps/web/ce/components/de-dupe/issue-block/button-label.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; type TDeDupeIssueButtonLabelProps = { isOpen: boolean; diff --git a/apps/web/ce/components/epics/epic-modal/modal.tsx b/apps/web/ce/components/epics/epic-modal/modal.tsx index 9c76b7bda..f1fec6ba8 100644 --- a/apps/web/ce/components/epics/epic-modal/modal.tsx +++ b/apps/web/ce/components/epics/epic-modal/modal.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC } from "react"; -import { TIssue } from "@plane/types"; +import type { FC } from "react"; +import React from "react"; +import type { TIssue } from "@plane/types"; export interface EpicModalProps { data?: Partial; diff --git a/apps/web/ce/components/estimates/estimate-list-item-buttons.tsx b/apps/web/ce/components/estimates/estimate-list-item-buttons.tsx index 7cde59b8a..936fdc622 100644 --- a/apps/web/ce/components/estimates/estimate-list-item-buttons.tsx +++ b/apps/web/ce/components/estimates/estimate-list-item-buttons.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { Pen, Trash } from "lucide-react"; import { PROJECT_SETTINGS_TRACKER_ELEMENTS } from "@plane/constants"; diff --git a/apps/web/ce/components/estimates/helper.tsx b/apps/web/ce/components/estimates/helper.tsx index 5a1d9eaf4..71b5be8a1 100644 --- a/apps/web/ce/components/estimates/helper.tsx +++ b/apps/web/ce/components/estimates/helper.tsx @@ -1,4 +1,5 @@ -import { TEstimateSystemKeys, EEstimateSystem } from "@plane/types"; +import type { TEstimateSystemKeys } from "@plane/types"; +import { EEstimateSystem } from "@plane/types"; export const isEstimateSystemEnabled = (key: TEstimateSystemKeys) => { switch (key) { diff --git a/apps/web/ce/components/estimates/inputs/time-input.tsx b/apps/web/ce/components/estimates/inputs/time-input.tsx index 0e5156cb6..39341ac3b 100644 --- a/apps/web/ce/components/estimates/inputs/time-input.tsx +++ b/apps/web/ce/components/estimates/inputs/time-input.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; export type TEstimateTimeInputProps = { value?: number; diff --git a/apps/web/ce/components/estimates/points/delete.tsx b/apps/web/ce/components/estimates/points/delete.tsx index 84791392b..522a28c96 100644 --- a/apps/web/ce/components/estimates/points/delete.tsx +++ b/apps/web/ce/components/estimates/points/delete.tsx @@ -1,8 +1,8 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; -import { TEstimatePointsObject, TEstimateSystemKeys, TEstimateTypeErrorObject } from "@plane/types"; +import type { TEstimatePointsObject, TEstimateSystemKeys, TEstimateTypeErrorObject } from "@plane/types"; export type TEstimatePointDelete = { workspaceSlug: string; diff --git a/apps/web/ce/components/estimates/update/modal.tsx b/apps/web/ce/components/estimates/update/modal.tsx index 12b4ea6f6..fd4317196 100644 --- a/apps/web/ce/components/estimates/update/modal.tsx +++ b/apps/web/ce/components/estimates/update/modal.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; type TUpdateEstimateModal = { diff --git a/apps/web/ce/components/gantt-chart/blocks/block-row-list.tsx b/apps/web/ce/components/gantt-chart/blocks/block-row-list.tsx index ec7e52fd1..ecab672dd 100644 --- a/apps/web/ce/components/gantt-chart/blocks/block-row-list.tsx +++ b/apps/web/ce/components/gantt-chart/blocks/block-row-list.tsx @@ -1,11 +1,11 @@ -import { FC } from "react"; +import type { FC } from "react"; // components import type { IBlockUpdateData, IGanttBlock } from "@plane/types"; import RenderIfVisible from "@/components/core/render-if-visible-HOC"; // hooks import { BlockRow } from "@/components/gantt-chart/blocks/block-row"; import { BLOCK_HEIGHT } from "@/components/gantt-chart/constants"; -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; // types export type GanttChartBlocksProps = { diff --git a/apps/web/ce/components/gantt-chart/blocks/blocks-list.tsx b/apps/web/ce/components/gantt-chart/blocks/blocks-list.tsx index 0c8f2a7c0..593e80502 100644 --- a/apps/web/ce/components/gantt-chart/blocks/blocks-list.tsx +++ b/apps/web/ce/components/gantt-chart/blocks/blocks-list.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; // import type { IBlockUpdateDependencyData } from "@plane/types"; import { GanttChartBlock } from "@/components/gantt-chart/blocks/block"; diff --git a/apps/web/ce/components/gantt-chart/dependency/blockDraggables/left-draggable.tsx b/apps/web/ce/components/gantt-chart/dependency/blockDraggables/left-draggable.tsx index cb1f33f79..a68118b6c 100644 --- a/apps/web/ce/components/gantt-chart/dependency/blockDraggables/left-draggable.tsx +++ b/apps/web/ce/components/gantt-chart/dependency/blockDraggables/left-draggable.tsx @@ -1,4 +1,4 @@ -import { RefObject } from "react"; +import type { RefObject } from "react"; import type { IGanttBlock } from "@plane/types"; type LeftDependencyDraggableProps = { diff --git a/apps/web/ce/components/gantt-chart/dependency/blockDraggables/right-draggable.tsx b/apps/web/ce/components/gantt-chart/dependency/blockDraggables/right-draggable.tsx index 29c731c9d..7a36ec9b3 100644 --- a/apps/web/ce/components/gantt-chart/dependency/blockDraggables/right-draggable.tsx +++ b/apps/web/ce/components/gantt-chart/dependency/blockDraggables/right-draggable.tsx @@ -1,4 +1,4 @@ -import { RefObject } from "react"; +import type { RefObject } from "react"; import type { IGanttBlock } from "@plane/types"; type RightDependencyDraggableProps = { diff --git a/apps/web/ce/components/gantt-chart/dependency/dependency-paths.tsx b/apps/web/ce/components/gantt-chart/dependency/dependency-paths.tsx index 6feb208a8..e52805e17 100644 --- a/apps/web/ce/components/gantt-chart/dependency/dependency-paths.tsx +++ b/apps/web/ce/components/gantt-chart/dependency/dependency-paths.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; type Props = { isEpic?: boolean; diff --git a/apps/web/ce/components/inbox/source-pill.tsx b/apps/web/ce/components/inbox/source-pill.tsx index 07e721780..77d3038cb 100644 --- a/apps/web/ce/components/inbox/source-pill.tsx +++ b/apps/web/ce/components/inbox/source-pill.tsx @@ -1,4 +1,4 @@ -import { EInboxIssueSource } from "@plane/types"; +import type { EInboxIssueSource } from "@plane/types"; export type TInboxSourcePill = { source: EInboxIssueSource; diff --git a/apps/web/ce/components/issues/bulk-operations/root.tsx b/apps/web/ce/components/issues/bulk-operations/root.tsx index dbd145506..fe7fcfe1b 100644 --- a/apps/web/ce/components/issues/bulk-operations/root.tsx +++ b/apps/web/ce/components/issues/bulk-operations/root.tsx @@ -3,7 +3,7 @@ import { observer } from "mobx-react"; import { BulkOperationsUpgradeBanner } from "@/components/issues/bulk-operations/upgrade-banner"; // hooks import { useMultipleSelectStore } from "@/hooks/store/use-multiple-select-store"; -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; type Props = { className?: string; diff --git a/apps/web/ce/components/issues/filters/issue-types.tsx b/apps/web/ce/components/issues/filters/issue-types.tsx index bc364c8f8..4d983bb7d 100644 --- a/apps/web/ce/components/issues/filters/issue-types.tsx +++ b/apps/web/ce/components/issues/filters/issue-types.tsx @@ -1,6 +1,6 @@ "use client"; -import React from "react"; +import type React from "react"; import { observer } from "mobx-react"; type Props = { diff --git a/apps/web/ce/components/issues/filters/team-project.tsx b/apps/web/ce/components/issues/filters/team-project.tsx index 4f4787fef..c8975deb4 100644 --- a/apps/web/ce/components/issues/filters/team-project.tsx +++ b/apps/web/ce/components/issues/filters/team-project.tsx @@ -1,6 +1,6 @@ "use client"; -import React from "react"; +import type React from "react"; import { observer } from "mobx-react"; type Props = { diff --git a/apps/web/ce/components/issues/issue-detail-widgets/action-buttons.tsx b/apps/web/ce/components/issues/issue-detail-widgets/action-buttons.tsx index 1312c0839..b0f33932f 100644 --- a/apps/web/ce/components/issues/issue-detail-widgets/action-buttons.tsx +++ b/apps/web/ce/components/issues/issue-detail-widgets/action-buttons.tsx @@ -1,6 +1,6 @@ -import { FC } from "react"; +import type { FC } from "react"; // plane types -import { TIssueServiceType, TWorkItemWidgets } from "@plane/types"; +import type { TIssueServiceType, TWorkItemWidgets } from "@plane/types"; export type TWorkItemAdditionalWidgetActionButtonsProps = { disabled: boolean; diff --git a/apps/web/ce/components/issues/issue-detail-widgets/collapsibles.tsx b/apps/web/ce/components/issues/issue-detail-widgets/collapsibles.tsx index a9a6a1b29..2632987f8 100644 --- a/apps/web/ce/components/issues/issue-detail-widgets/collapsibles.tsx +++ b/apps/web/ce/components/issues/issue-detail-widgets/collapsibles.tsx @@ -1,6 +1,6 @@ -import { FC } from "react"; +import type { FC } from "react"; // plane types -import { TIssueServiceType, TWorkItemWidgets } from "@plane/types"; +import type { TIssueServiceType, TWorkItemWidgets } from "@plane/types"; export type TWorkItemAdditionalWidgetCollapsiblesProps = { disabled: boolean; diff --git a/apps/web/ce/components/issues/issue-detail-widgets/modals.tsx b/apps/web/ce/components/issues/issue-detail-widgets/modals.tsx index 2e9dfe40d..b478cf898 100644 --- a/apps/web/ce/components/issues/issue-detail-widgets/modals.tsx +++ b/apps/web/ce/components/issues/issue-detail-widgets/modals.tsx @@ -1,6 +1,6 @@ -import { FC } from "react"; +import type { FC } from "react"; // plane types -import { TIssueServiceType, TWorkItemWidgets } from "@plane/types"; +import type { TIssueServiceType, TWorkItemWidgets } from "@plane/types"; export type TWorkItemAdditionalWidgetModalsProps = { hideWidgets: TWorkItemWidgets[]; diff --git a/apps/web/ce/components/issues/issue-details/additional-activity-root.tsx b/apps/web/ce/components/issues/issue-details/additional-activity-root.tsx index cd0383e6e..448deabc8 100644 --- a/apps/web/ce/components/issues/issue-details/additional-activity-root.tsx +++ b/apps/web/ce/components/issues/issue-details/additional-activity-root.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; export type TAdditionalActivityRoot = { diff --git a/apps/web/ce/components/issues/issue-details/additional-properties.tsx b/apps/web/ce/components/issues/issue-details/additional-properties.tsx index 64b8caa97..2e0a14707 100644 --- a/apps/web/ce/components/issues/issue-details/additional-properties.tsx +++ b/apps/web/ce/components/issues/issue-details/additional-properties.tsx @@ -1,4 +1,5 @@ -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; // plane imports export type TWorkItemAdditionalSidebarProperties = { diff --git a/apps/web/ce/components/issues/issue-details/issue-creator.tsx b/apps/web/ce/components/issues/issue-details/issue-creator.tsx index c1e65ff5f..f3435e288 100644 --- a/apps/web/ce/components/issues/issue-details/issue-creator.tsx +++ b/apps/web/ce/components/issues/issue-details/issue-creator.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import Link from "next/link"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/ce/components/issues/issue-details/issue-identifier.tsx b/apps/web/ce/components/issues/issue-details/issue-identifier.tsx index b85e16536..c81b0075b 100644 --- a/apps/web/ce/components/issues/issue-details/issue-identifier.tsx +++ b/apps/web/ce/components/issues/issue-details/issue-identifier.tsx @@ -1,9 +1,9 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // types import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { IIssueDisplayProperties } from "@plane/types"; +import type { IIssueDisplayProperties } from "@plane/types"; // ui // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/ce/components/issues/issue-details/issue-properties-activity/root.tsx b/apps/web/ce/components/issues/issue-details/issue-properties-activity/root.tsx index cac755676..6aeb6eda0 100644 --- a/apps/web/ce/components/issues/issue-details/issue-properties-activity/root.tsx +++ b/apps/web/ce/components/issues/issue-details/issue-properties-activity/root.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; type TIssueAdditionalPropertiesActivity = { activityId: string; diff --git a/apps/web/ce/components/issues/issue-details/issue-type-activity.tsx b/apps/web/ce/components/issues/issue-details/issue-type-activity.tsx index 8def50f48..5796555ce 100644 --- a/apps/web/ce/components/issues/issue-details/issue-type-activity.tsx +++ b/apps/web/ce/components/issues/issue-details/issue-type-activity.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; export type TIssueTypeActivity = { activityId: string; showIssue?: boolean; ends: "top" | "bottom" | undefined }; diff --git a/apps/web/ce/components/issues/issue-layouts/additional-properties.tsx b/apps/web/ce/components/issues/issue-layouts/additional-properties.tsx index 8f8b8ac04..1c397c572 100644 --- a/apps/web/ce/components/issues/issue-layouts/additional-properties.tsx +++ b/apps/web/ce/components/issues/issue-layouts/additional-properties.tsx @@ -1,5 +1,6 @@ -import React, { FC } from "react"; -import { IIssueDisplayProperties, TIssue } from "@plane/types"; +import type { FC } from "react"; +import React from "react"; +import type { IIssueDisplayProperties, TIssue } from "@plane/types"; export type TWorkItemLayoutAdditionalProperties = { displayProperties: IIssueDisplayProperties; diff --git a/apps/web/ce/components/issues/issue-layouts/issue-stats.tsx b/apps/web/ce/components/issues/issue-layouts/issue-stats.tsx index 13542280d..b6e80910c 100644 --- a/apps/web/ce/components/issues/issue-layouts/issue-stats.tsx +++ b/apps/web/ce/components/issues/issue-layouts/issue-stats.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; type Props = { issueId: string; diff --git a/apps/web/ce/components/issues/issue-layouts/quick-action-dropdowns/copy-menu-helper.tsx b/apps/web/ce/components/issues/issue-layouts/quick-action-dropdowns/copy-menu-helper.tsx index 28ac44dc9..7f4bb031b 100644 --- a/apps/web/ce/components/issues/issue-layouts/quick-action-dropdowns/copy-menu-helper.tsx +++ b/apps/web/ce/components/issues/issue-layouts/quick-action-dropdowns/copy-menu-helper.tsx @@ -1,5 +1,5 @@ -import { Copy } from "lucide-react"; -import { TContextMenuItem } from "@plane/ui"; +import type { Copy } from "lucide-react"; +import type { TContextMenuItem } from "@plane/ui"; export interface CopyMenuHelperProps { baseItem: { diff --git a/apps/web/ce/components/issues/issue-layouts/quick-action-dropdowns/duplicate-modal.tsx b/apps/web/ce/components/issues/issue-layouts/quick-action-dropdowns/duplicate-modal.tsx index 1ea30e26e..761317a01 100644 --- a/apps/web/ce/components/issues/issue-layouts/quick-action-dropdowns/duplicate-modal.tsx +++ b/apps/web/ce/components/issues/issue-layouts/quick-action-dropdowns/duplicate-modal.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; type TDuplicateWorkItemModalProps = { workItemId: string; diff --git a/apps/web/ce/components/issues/issue-layouts/utils.tsx b/apps/web/ce/components/issues/issue-layouts/utils.tsx index ac4139de4..61a32c4fd 100644 --- a/apps/web/ce/components/issues/issue-layouts/utils.tsx +++ b/apps/web/ce/components/issues/issue-layouts/utils.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { CalendarCheck2, CalendarClock, @@ -12,8 +12,9 @@ import { Users, } from "lucide-react"; // types -import { CycleIcon, DoubleCircleIcon, ISvgIcons, ModuleIcon } from "@plane/propel/icons"; -import { IGroupByColumn, IIssueDisplayProperties, TGetColumns, TSpreadsheetColumn } from "@plane/types"; +import type { ISvgIcons } from "@plane/propel/icons"; +import { CycleIcon, DoubleCircleIcon, ModuleIcon } from "@plane/propel/icons"; +import type { IGroupByColumn, IIssueDisplayProperties, TGetColumns, TSpreadsheetColumn } from "@plane/types"; // components import { SpreadsheetAssigneeColumn, diff --git a/apps/web/ce/components/issues/issue-modal/issue-type-select.tsx b/apps/web/ce/components/issues/issue-modal/issue-type-select.tsx index 00a192be1..ab73750ed 100644 --- a/apps/web/ce/components/issues/issue-modal/issue-type-select.tsx +++ b/apps/web/ce/components/issues/issue-modal/issue-type-select.tsx @@ -1,8 +1,8 @@ -import { Control } from "react-hook-form"; +import type { Control } from "react-hook-form"; // plane imports import type { EditorRefApi } from "@plane/editor"; // types -import { TBulkIssueProperties, TIssue } from "@plane/types"; +import type { TBulkIssueProperties, TIssue } from "@plane/types"; export type TIssueFields = TIssue & TBulkIssueProperties; diff --git a/apps/web/ce/components/issues/issue-modal/modal-additional-properties.tsx b/apps/web/ce/components/issues/issue-modal/modal-additional-properties.tsx index ad35b4892..091d0c7ae 100644 --- a/apps/web/ce/components/issues/issue-modal/modal-additional-properties.tsx +++ b/apps/web/ce/components/issues/issue-modal/modal-additional-properties.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; export type TWorkItemModalAdditionalPropertiesProps = { isDraft?: boolean; diff --git a/apps/web/ce/components/issues/issue-modal/provider.tsx b/apps/web/ce/components/issues/issue-modal/provider.tsx index 55b0d4bb7..bd623cdda 100644 --- a/apps/web/ce/components/issues/issue-modal/provider.tsx +++ b/apps/web/ce/components/issues/issue-modal/provider.tsx @@ -1,7 +1,7 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; // plane imports -import { ISearchIssueResponse, TIssue } from "@plane/types"; +import type { ISearchIssueResponse, TIssue } from "@plane/types"; // components import { IssueModalContext } from "@/components/issues/issue-modal/context"; // hooks diff --git a/apps/web/ce/components/issues/quick-add/root.tsx b/apps/web/ce/components/issues/quick-add/root.tsx index d74c3bf75..e01d4bd21 100644 --- a/apps/web/ce/components/issues/quick-add/root.tsx +++ b/apps/web/ce/components/issues/quick-add/root.tsx @@ -1,19 +1,21 @@ -import { FC, useEffect, useRef } from "react"; +import type { FC } from "react"; +import { useEffect, useRef } from "react"; import { observer } from "mobx-react"; -import { UseFormRegister, UseFormSetFocus } from "react-hook-form"; +import type { UseFormRegister, UseFormSetFocus } from "react-hook-form"; // plane constants // plane helpers import { useOutsideClickDetector } from "@plane/hooks"; // types -import { TIssue, EIssueLayoutTypes } from "@plane/types"; +import type { TIssue } from "@plane/types"; +import { EIssueLayoutTypes } from "@plane/types"; // components +import type { TQuickAddIssueForm } from "@/components/issues/issue-layouts/quick-add"; import { CalendarQuickAddIssueForm, GanttQuickAddIssueForm, KanbanQuickAddIssueForm, ListQuickAddIssueForm, SpreadsheetQuickAddIssueForm, - TQuickAddIssueForm, } from "@/components/issues/issue-layouts/quick-add"; // hooks import { useProject } from "@/hooks/store/use-project"; diff --git a/apps/web/ce/components/issues/worklog/activity/filter-root.tsx b/apps/web/ce/components/issues/worklog/activity/filter-root.tsx index a2fe9910f..cbc4607fb 100644 --- a/apps/web/ce/components/issues/worklog/activity/filter-root.tsx +++ b/apps/web/ce/components/issues/worklog/activity/filter-root.tsx @@ -1,8 +1,9 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; // plane imports -import { TActivityFilters, ACTIVITY_FILTER_TYPE_OPTIONS, TActivityFilterOption } from "@plane/constants"; +import type { TActivityFilters, TActivityFilterOption } from "@plane/constants"; +import { ACTIVITY_FILTER_TYPE_OPTIONS } from "@plane/constants"; // components import { ActivityFilter } from "@/components/issues/issue-detail/issue-activity"; diff --git a/apps/web/ce/components/issues/worklog/activity/root.tsx b/apps/web/ce/components/issues/worklog/activity/root.tsx index 0342999d3..42a0a28eb 100644 --- a/apps/web/ce/components/issues/worklog/activity/root.tsx +++ b/apps/web/ce/components/issues/worklog/activity/root.tsx @@ -1,7 +1,7 @@ "use client"; -import { FC } from "react"; -import { TIssueActivityComment } from "@plane/types"; +import type { FC } from "react"; +import type { TIssueActivityComment } from "@plane/types"; type TIssueActivityWorklog = { workspaceSlug: string; diff --git a/apps/web/ce/components/issues/worklog/activity/worklog-create-button.tsx b/apps/web/ce/components/issues/worklog/activity/worklog-create-button.tsx index 3a57b53df..17acfb2f4 100644 --- a/apps/web/ce/components/issues/worklog/activity/worklog-create-button.tsx +++ b/apps/web/ce/components/issues/worklog/activity/worklog-create-button.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; type TIssueActivityWorklogCreateButton = { workspaceSlug: string; diff --git a/apps/web/ce/components/issues/worklog/property/root.tsx b/apps/web/ce/components/issues/worklog/property/root.tsx index 5ccc9ebaa..a0a4d2899 100644 --- a/apps/web/ce/components/issues/worklog/property/root.tsx +++ b/apps/web/ce/components/issues/worklog/property/root.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; type TIssueWorklogProperty = { workspaceSlug: string; diff --git a/apps/web/ce/components/license/modal/upgrade-modal.tsx b/apps/web/ce/components/license/modal/upgrade-modal.tsx index 531925c04..5917fc764 100644 --- a/apps/web/ce/components/license/modal/upgrade-modal.tsx +++ b/apps/web/ce/components/license/modal/upgrade-modal.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { @@ -17,7 +17,7 @@ import { EModalWidth, ModalCore } from "@plane/ui"; import { cn } from "@plane/utils"; // components import { FreePlanCard, PlanUpgradeCard } from "@/components/license"; -import { TCheckoutParams } from "@/components/license/modal/card/checkout-button"; +import type { TCheckoutParams } from "@/components/license/modal/card/checkout-button"; // Constants const COMMON_CARD_CLASSNAME = "flex flex-col w-full h-full justify-end col-span-12 sm:col-span-6 xl:col-span-3"; diff --git a/apps/web/ce/components/pages/editor/ai/menu.tsx b/apps/web/ce/components/pages/editor/ai/menu.tsx index 6d79584ab..109af7974 100644 --- a/apps/web/ce/components/pages/editor/ai/menu.tsx +++ b/apps/web/ce/components/pages/editor/ai/menu.tsx @@ -1,7 +1,8 @@ "use client"; import React, { useEffect, useRef, useState } from "react"; -import { ChevronRight, CornerDownRight, LucideIcon, RefreshCcw, Sparkles, TriangleAlert } from "lucide-react"; +import type { LucideIcon } from "lucide-react"; +import { ChevronRight, CornerDownRight, RefreshCcw, Sparkles, TriangleAlert } from "lucide-react"; // plane editor import type { EditorRefApi } from "@plane/editor"; // plane ui @@ -12,7 +13,8 @@ import { RichTextEditor } from "@/components/editor/rich-text"; // plane web constants import { AI_EDITOR_TASKS, LOADING_TEXTS } from "@/plane-web/constants/ai"; // plane web services -import { AIService, TTaskPayload } from "@/services/ai.service"; +import type { TTaskPayload } from "@/services/ai.service"; +import { AIService } from "@/services/ai.service"; import { AskPiMenu } from "./ask-pi-menu"; const aiService = new AIService(); diff --git a/apps/web/ce/components/pages/extra-actions.tsx b/apps/web/ce/components/pages/extra-actions.tsx index ed728c0e2..9e70d8d87 100644 --- a/apps/web/ce/components/pages/extra-actions.tsx +++ b/apps/web/ce/components/pages/extra-actions.tsx @@ -1,5 +1,5 @@ // store -import { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; import type { TPageInstance } from "@/store/pages/base-page"; export type TPageHeaderExtraActionsProps = { diff --git a/apps/web/ce/components/pages/header/share-control.tsx b/apps/web/ce/components/pages/header/share-control.tsx index e85a4a320..4a79e0397 100644 --- a/apps/web/ce/components/pages/header/share-control.tsx +++ b/apps/web/ce/components/pages/header/share-control.tsx @@ -1,6 +1,6 @@ "use client"; -import { type EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; // store import type { TPageInstance } from "@/store/pages/base-page"; diff --git a/apps/web/ce/components/pages/modals/modals.tsx b/apps/web/ce/components/pages/modals/modals.tsx index 780dc8531..d47dbae32 100644 --- a/apps/web/ce/components/pages/modals/modals.tsx +++ b/apps/web/ce/components/pages/modals/modals.tsx @@ -1,11 +1,11 @@ "use client"; -import React from "react"; +import type React from "react"; import { observer } from "mobx-react"; // components -import { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; // store -import { TPageInstance } from "@/store/pages/base-page"; +import type { TPageInstance } from "@/store/pages/base-page"; export type TPageModalsProps = { page: TPageInstance; diff --git a/apps/web/ce/components/pages/navigation-pane/tab-panels/root.tsx b/apps/web/ce/components/pages/navigation-pane/tab-panels/root.tsx index 93419437a..1581b4948 100644 --- a/apps/web/ce/components/pages/navigation-pane/tab-panels/root.tsx +++ b/apps/web/ce/components/pages/navigation-pane/tab-panels/root.tsx @@ -1,7 +1,7 @@ // store import type { TPageInstance } from "@/store/pages/base-page"; // local imports -import { TPageNavigationPaneTab } from ".."; +import type { TPageNavigationPaneTab } from ".."; export type TPageNavigationPaneAdditionalTabPanelsRootProps = { activeTab: TPageNavigationPaneTab; diff --git a/apps/web/ce/components/preferences/theme-switcher.tsx b/apps/web/ce/components/preferences/theme-switcher.tsx index 773c58993..0460fbcaf 100644 --- a/apps/web/ce/components/preferences/theme-switcher.tsx +++ b/apps/web/ce/components/preferences/theme-switcher.tsx @@ -4,10 +4,11 @@ import { useEffect, useState, useCallback } from "react"; import { observer } from "mobx-react"; import { useTheme } from "next-themes"; // plane imports -import { I_THEME_OPTION, THEME_OPTIONS } from "@plane/constants"; +import type { I_THEME_OPTION } from "@plane/constants"; +import { THEME_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { setPromiseToast } from "@plane/propel/toast"; -import { IUserTheme } from "@plane/types"; +import type { IUserTheme } from "@plane/types"; import { applyTheme, unsetCustomCssVariables } from "@plane/utils"; // components import { CustomThemeSelector } from "@/components/core/theme/custom-theme-selector"; diff --git a/apps/web/ce/components/projects/create/attributes.tsx b/apps/web/ce/components/projects/create/attributes.tsx index e44551033..e1119f052 100644 --- a/apps/web/ce/components/projects/create/attributes.tsx +++ b/apps/web/ce/components/projects/create/attributes.tsx @@ -1,10 +1,10 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { Controller, useFormContext } from "react-hook-form"; // plane imports import { NETWORK_CHOICES, ETabIndices } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { IProject } from "@plane/types"; +import type { IProject } from "@plane/types"; import { CustomSelect } from "@plane/ui"; import { getTabIndex } from "@plane/utils"; // components diff --git a/apps/web/ce/components/projects/create/root.tsx b/apps/web/ce/components/projects/create/root.tsx index 06105458a..27abe7aad 100644 --- a/apps/web/ce/components/projects/create/root.tsx +++ b/apps/web/ce/components/projects/create/root.tsx @@ -1,6 +1,7 @@ "use client"; -import { useState, FC } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { FormProvider, useForm } from "react-hook-form"; import { DEFAULT_PROJECT_FORM_VALUES, PROJECT_TRACKER_EVENTS } from "@plane/constants"; @@ -16,7 +17,7 @@ import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; import { useProject } from "@/hooks/store/use-project"; import { usePlatformOS } from "@/hooks/use-platform-os"; // plane web types -import { TProject } from "@/plane-web/types/projects"; +import type { TProject } from "@/plane-web/types/projects"; import ProjectAttributes from "./attributes"; export type TCreateProjectFormProps = { diff --git a/apps/web/ce/components/projects/mobile-header.tsx b/apps/web/ce/components/projects/mobile-header.tsx index d9b84f3b5..829367437 100644 --- a/apps/web/ce/components/projects/mobile-header.tsx +++ b/apps/web/ce/components/projects/mobile-header.tsx @@ -5,7 +5,7 @@ import { useParams } from "next/navigation"; import { ChevronDown, ListFilter } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TProjectFilters } from "@plane/types"; +import type { TProjectFilters } from "@plane/types"; import { calculateTotalFilters } from "@plane/utils"; // components import { FiltersDropdown } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/ce/components/projects/settings/intake/header.tsx b/apps/web/ce/components/projects/settings/intake/header.tsx index 0c8f61c96..692eecd14 100644 --- a/apps/web/ce/components/projects/settings/intake/header.tsx +++ b/apps/web/ce/components/projects/settings/intake/header.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { RefreshCcw } from "lucide-react"; diff --git a/apps/web/ce/components/projects/settings/useProjectColumns.tsx b/apps/web/ce/components/projects/settings/useProjectColumns.tsx index 881851427..43f8983c6 100644 --- a/apps/web/ce/components/projects/settings/useProjectColumns.tsx +++ b/apps/web/ce/components/projects/settings/useProjectColumns.tsx @@ -1,7 +1,7 @@ import { useState } from "react"; // plane imports import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; -import { IWorkspaceMember, TProjectMembership } from "@plane/types"; +import type { IWorkspaceMember, TProjectMembership } from "@plane/types"; import { renderFormattedDate } from "@plane/utils"; // components import { MemberHeaderColumn } from "@/components/project/member-header-column"; @@ -9,7 +9,7 @@ import { AccountTypeColumn, NameColumn } from "@/components/project/settings/mem // hooks import { useMember } from "@/hooks/store/use-member"; import { useUser, useUserPermissions } from "@/hooks/store/user"; -import { IMemberFilters } from "@/store/member/utils"; +import type { IMemberFilters } from "@/store/member/utils"; export interface RowData extends Pick { member: IWorkspaceMember; diff --git a/apps/web/ce/components/relations/activity.ts b/apps/web/ce/components/relations/activity.ts index 3b39ae5fe..820966f4d 100644 --- a/apps/web/ce/components/relations/activity.ts +++ b/apps/web/ce/components/relations/activity.ts @@ -1,4 +1,4 @@ -import { TIssueActivity } from "@plane/types"; +import type { TIssueActivity } from "@plane/types"; export const getRelationActivityContent = (activity: TIssueActivity | undefined): string | undefined => { if (!activity) return; diff --git a/apps/web/ce/components/rich-filters/filter-value-input/root.tsx b/apps/web/ce/components/rich-filters/filter-value-input/root.tsx index 5a3842164..f2ef9aba4 100644 --- a/apps/web/ce/components/rich-filters/filter-value-input/root.tsx +++ b/apps/web/ce/components/rich-filters/filter-value-input/root.tsx @@ -1,9 +1,9 @@ import React from "react"; import { observer } from "mobx-react"; // plane imports -import { TFilterValue, TFilterProperty } from "@plane/types"; +import type { TFilterValue, TFilterProperty } from "@plane/types"; // local imports -import { TFilterValueInputProps } from "@/components/rich-filters/shared"; +import type { TFilterValueInputProps } from "@/components/rich-filters/shared"; export const AdditionalFilterValueInput = observer(

(_props: TFilterValueInputProps) => ( diff --git a/apps/web/ce/components/sidebar/project-navigation-root.tsx b/apps/web/ce/components/sidebar/project-navigation-root.tsx index 89972c23d..d4ca7bc32 100644 --- a/apps/web/ce/components/sidebar/project-navigation-root.tsx +++ b/apps/web/ce/components/sidebar/project-navigation-root.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; // components import { ProjectNavigation } from "@/components/workspace/sidebar/project-navigation"; diff --git a/apps/web/ce/components/views/helper.tsx b/apps/web/ce/components/views/helper.tsx index 6e8b2381c..d2932ddac 100644 --- a/apps/web/ce/components/views/helper.tsx +++ b/apps/web/ce/components/views/helper.tsx @@ -1,8 +1,8 @@ import { ExternalLink, Link, Pencil, Trash2 } from "lucide-react"; import { useTranslation } from "@plane/i18n"; -import { EIssueLayoutTypes, IProjectView } from "@plane/types"; -import { TContextMenuItem } from "@plane/ui"; -import { TWorkspaceLayoutProps } from "@/components/views/helper"; +import type { EIssueLayoutTypes, IProjectView } from "@plane/types"; +import type { TContextMenuItem } from "@plane/ui"; +import type { TWorkspaceLayoutProps } from "@/components/views/helper"; export type TLayoutSelectionProps = { onChange: (layout: EIssueLayoutTypes) => void; diff --git a/apps/web/ce/components/views/publish/modal.tsx b/apps/web/ce/components/views/publish/modal.tsx index 0951de093..f92b3138d 100644 --- a/apps/web/ce/components/views/publish/modal.tsx +++ b/apps/web/ce/components/views/publish/modal.tsx @@ -1,6 +1,6 @@ "use client"; -import { IProjectView } from "@plane/types"; +import type { IProjectView } from "@plane/types"; type Props = { isOpen: boolean; diff --git a/apps/web/ce/components/workflow/use-workflow-drag-n-drop.ts b/apps/web/ce/components/workflow/use-workflow-drag-n-drop.ts index f6117a0d8..20c97eb4f 100644 --- a/apps/web/ce/components/workflow/use-workflow-drag-n-drop.ts +++ b/apps/web/ce/components/workflow/use-workflow-drag-n-drop.ts @@ -1,5 +1,5 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ -import { TIssueGroupByOptions } from "@plane/types"; +import type { TIssueGroupByOptions } from "@plane/types"; export const useWorkFlowFDragNDrop = ( groupBy: TIssueGroupByOptions | undefined, diff --git a/apps/web/ce/components/workflow/workflow-group-tree.tsx b/apps/web/ce/components/workflow/workflow-group-tree.tsx index 5caed4170..bc4cf9b1c 100644 --- a/apps/web/ce/components/workflow/workflow-group-tree.tsx +++ b/apps/web/ce/components/workflow/workflow-group-tree.tsx @@ -1,5 +1,5 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ -import { TIssueGroupByOptions } from "@plane/types"; +import type { TIssueGroupByOptions } from "@plane/types"; type Props = { groupBy?: TIssueGroupByOptions; diff --git a/apps/web/ce/components/workspace-notifications/notification-card/root.tsx b/apps/web/ce/components/workspace-notifications/notification-card/root.tsx index ef2eb11de..214b0fb9c 100644 --- a/apps/web/ce/components/workspace-notifications/notification-card/root.tsx +++ b/apps/web/ce/components/workspace-notifications/notification-card/root.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { ENotificationLoader, ENotificationQueryParamType } from "@plane/constants"; diff --git a/apps/web/ce/components/workspace/billing/comparison/frequency-toggle.tsx b/apps/web/ce/components/workspace/billing/comparison/frequency-toggle.tsx index a4fec060f..2993f3292 100644 --- a/apps/web/ce/components/workspace/billing/comparison/frequency-toggle.tsx +++ b/apps/web/ce/components/workspace/billing/comparison/frequency-toggle.tsx @@ -1,7 +1,7 @@ -import { FC } from "react"; +import type { FC } from "react"; // plane imports import { observer } from "mobx-react"; -import { EProductSubscriptionEnum, TBillingFrequency } from "@plane/types"; +import type { EProductSubscriptionEnum, TBillingFrequency } from "@plane/types"; import { getSubscriptionBackgroundColor, getDiscountPillStyle } from "@plane/ui"; import { calculateYearlyDiscount, cn } from "@plane/utils"; diff --git a/apps/web/ce/components/workspace/billing/comparison/plan-detail.tsx b/apps/web/ce/components/workspace/billing/comparison/plan-detail.tsx index f7612e911..03af2fa32 100644 --- a/apps/web/ce/components/workspace/billing/comparison/plan-detail.tsx +++ b/apps/web/ce/components/workspace/billing/comparison/plan-detail.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { @@ -10,12 +10,13 @@ import { } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { getButtonStyling } from "@plane/propel/button"; -import { EProductSubscriptionEnum, TBillingFrequency } from "@plane/types"; +import type { TBillingFrequency } from "@plane/types"; +import { EProductSubscriptionEnum } from "@plane/types"; import { getUpgradeButtonStyle } from "@plane/ui"; import { cn, getSubscriptionName } from "@plane/utils"; // components import { DiscountInfo } from "@/components/license/modal/card/discount-info"; -import { TPlanDetail } from "@/constants/plans"; +import type { TPlanDetail } from "@/constants/plans"; // local imports import { captureSuccess } from "@/helpers/event-tracker.helper"; import { PlanFrequencyToggle } from "./frequency-toggle"; diff --git a/apps/web/ce/components/workspace/billing/comparison/root.tsx b/apps/web/ce/components/workspace/billing/comparison/root.tsx index cf8f3dec5..3c0958275 100644 --- a/apps/web/ce/components/workspace/billing/comparison/root.tsx +++ b/apps/web/ce/components/workspace/billing/comparison/root.tsx @@ -1,9 +1,10 @@ import { observer } from "mobx-react"; // plane imports -import { EProductSubscriptionEnum, TBillingFrequency } from "@plane/types"; +import type { EProductSubscriptionEnum, TBillingFrequency } from "@plane/types"; // components import { PlansComparisonBase, shouldRenderPlanDetail } from "@/components/workspace/billing/comparison/base"; -import { PLANE_PLANS, TPlanePlans } from "@/constants/plans"; +import type { TPlanePlans } from "@/constants/plans"; +import { PLANE_PLANS } from "@/constants/plans"; // plane web imports import { PlanDetail } from "./plan-detail"; diff --git a/apps/web/ce/components/workspace/billing/root.tsx b/apps/web/ce/components/workspace/billing/root.tsx index d5bc225d4..e9ac6e189 100644 --- a/apps/web/ce/components/workspace/billing/root.tsx +++ b/apps/web/ce/components/workspace/billing/root.tsx @@ -3,7 +3,8 @@ import { observer } from "mobx-react"; // plane imports import { DEFAULT_PRODUCT_BILLING_FREQUENCY, SUBSCRIPTION_WITH_BILLING_FREQUENCY } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EProductSubscriptionEnum, TBillingFrequency, TProductBillingFrequency } from "@plane/types"; +import type { TBillingFrequency, TProductBillingFrequency } from "@plane/types"; +import { EProductSubscriptionEnum } from "@plane/types"; import { getSubscriptionTextColor } from "@plane/ui"; import { cn } from "@plane/utils"; // components diff --git a/apps/web/ce/components/workspace/delete-workspace-section.tsx b/apps/web/ce/components/workspace/delete-workspace-section.tsx index 17b4632cb..aa72fdc32 100644 --- a/apps/web/ce/components/workspace/delete-workspace-section.tsx +++ b/apps/web/ce/components/workspace/delete-workspace-section.tsx @@ -1,11 +1,12 @@ -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { ChevronDown, ChevronUp } from "lucide-react"; // types import { WORKSPACE_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; -import { IWorkspace } from "@plane/types"; +import type { IWorkspace } from "@plane/types"; // ui import { Collapsible } from "@plane/ui"; import { DeleteWorkspaceModal } from "./delete-workspace-modal"; diff --git a/apps/web/ce/components/workspace/members/invite-modal.tsx b/apps/web/ce/components/workspace/members/invite-modal.tsx index 8641847bd..f83234e21 100644 --- a/apps/web/ce/components/workspace/members/invite-modal.tsx +++ b/apps/web/ce/components/workspace/members/invite-modal.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports import { useTranslation } from "@plane/i18n"; -import { IWorkspaceBulkInviteFormData } from "@plane/types"; +import type { IWorkspaceBulkInviteFormData } from "@plane/types"; import { EModalWidth, EModalPosition, ModalCore } from "@plane/ui"; // components import { InvitationModalActions } from "@/components/workspace/invite-modal/actions"; diff --git a/apps/web/ce/components/workspace/settings/useMemberColumns.tsx b/apps/web/ce/components/workspace/settings/useMemberColumns.tsx index 7142bf720..8f2286a6f 100644 --- a/apps/web/ce/components/workspace/settings/useMemberColumns.tsx +++ b/apps/web/ce/components/workspace/settings/useMemberColumns.tsx @@ -4,10 +4,11 @@ import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { renderFormattedDate } from "@plane/utils"; import { MemberHeaderColumn } from "@/components/project/member-header-column"; -import { AccountTypeColumn, NameColumn, RowData } from "@/components/workspace/settings/member-columns"; +import type { RowData } from "@/components/workspace/settings/member-columns"; +import { AccountTypeColumn, NameColumn } from "@/components/workspace/settings/member-columns"; import { useMember } from "@/hooks/store/use-member"; import { useUser, useUserPermissions } from "@/hooks/store/user"; -import { IMemberFilters } from "@/store/member/utils"; +import type { IMemberFilters } from "@/store/member/utils"; export const useMemberColumns = () => { // states diff --git a/apps/web/ce/components/workspace/sidebar/extended-sidebar-item.tsx b/apps/web/ce/components/workspace/sidebar/extended-sidebar-item.tsx index ea16bc6b3..44b47c706 100644 --- a/apps/web/ce/components/workspace/sidebar/extended-sidebar-item.tsx +++ b/apps/web/ce/components/workspace/sidebar/extended-sidebar-item.tsx @@ -1,4 +1,5 @@ -import { FC, useEffect, useRef, useState } from "react"; +import type { FC } from "react"; +import { useEffect, useRef, useState } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; import { draggable, dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; import { attachInstruction, extractInstruction } from "@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item"; @@ -7,7 +8,8 @@ import Link from "next/link"; import { useParams, usePathname } from "next/navigation"; import { Pin, PinOff } from "lucide-react"; // plane imports -import { EUserPermissionsLevel, IWorkspaceSidebarNavigationItem } from "@plane/constants"; +import type { IWorkspaceSidebarNavigationItem } from "@plane/constants"; +import { EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Tooltip } from "@plane/propel/tooltip"; import { DragHandle, DropIndicator } from "@plane/ui"; diff --git a/apps/web/ce/components/workspace/sidebar/sidebar-item.tsx b/apps/web/ce/components/workspace/sidebar/sidebar-item.tsx index 349042806..3fbc8d0a2 100644 --- a/apps/web/ce/components/workspace/sidebar/sidebar-item.tsx +++ b/apps/web/ce/components/workspace/sidebar/sidebar-item.tsx @@ -1,5 +1,5 @@ -import { FC } from "react"; -import { IWorkspaceSidebarNavigationItem } from "@plane/constants"; +import type { FC } from "react"; +import type { IWorkspaceSidebarNavigationItem } from "@plane/constants"; import { SidebarItemBase } from "@/components/workspace/sidebar/sidebar-item"; type Props = { diff --git a/apps/web/ce/components/workspace/upgrade-badge.tsx b/apps/web/ce/components/workspace/upgrade-badge.tsx index 8c198dd2e..17efeb015 100644 --- a/apps/web/ce/components/workspace/upgrade-badge.tsx +++ b/apps/web/ce/components/workspace/upgrade-badge.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; // helpers import { useTranslation } from "@plane/i18n"; import { cn } from "@plane/utils"; diff --git a/apps/web/ce/constants/editor.ts b/apps/web/ce/constants/editor.ts index b9a6d5d38..f01879602 100644 --- a/apps/web/ce/constants/editor.ts +++ b/apps/web/ce/constants/editor.ts @@ -1,4 +1,4 @@ // plane types -import { TSearchEntities } from "@plane/types"; +import type { TSearchEntities } from "@plane/types"; export const EDITOR_MENTION_TYPES: TSearchEntities[] = ["user_mention"]; diff --git a/apps/web/ce/constants/gantt-chart.ts b/apps/web/ce/constants/gantt-chart.ts index 228b94b5b..95e39bcc8 100644 --- a/apps/web/ce/constants/gantt-chart.ts +++ b/apps/web/ce/constants/gantt-chart.ts @@ -1,4 +1,4 @@ -import { TIssueRelationTypes } from "../types"; +import type { TIssueRelationTypes } from "../types"; export const REVERSE_RELATIONS: { [key in TIssueRelationTypes]: TIssueRelationTypes } = { blocked_by: "blocking", diff --git a/apps/web/ce/constants/project/settings/features.tsx b/apps/web/ce/constants/project/settings/features.tsx index 923d2db84..b86135f08 100644 --- a/apps/web/ce/constants/project/settings/features.tsx +++ b/apps/web/ce/constants/project/settings/features.tsx @@ -1,8 +1,8 @@ -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { Timer } from "lucide-react"; // plane imports import { CycleIcon, IntakeIcon, ModuleIcon, PageIcon, ViewsIcon } from "@plane/propel/icons"; -import { IProject } from "@plane/types"; +import type { IProject } from "@plane/types"; export type TProperties = { key: string; diff --git a/apps/web/ce/constants/project/settings/tabs.ts b/apps/web/ce/constants/project/settings/tabs.ts index 5443c6424..f78b51a74 100644 --- a/apps/web/ce/constants/project/settings/tabs.ts +++ b/apps/web/ce/constants/project/settings/tabs.ts @@ -2,7 +2,7 @@ import { EUserPermissions } from "@plane/constants"; import { SettingIcon } from "@/components/icons/attachment"; // types -import { Props } from "@/components/icons/types"; +import type { Props } from "@/components/icons/types"; // constants export const PROJECT_SETTINGS = { diff --git a/apps/web/ce/constants/sidebar-favorites.ts b/apps/web/ce/constants/sidebar-favorites.ts index b93c9cf67..aaa615e8a 100644 --- a/apps/web/ce/constants/sidebar-favorites.ts +++ b/apps/web/ce/constants/sidebar-favorites.ts @@ -1,15 +1,8 @@ -import { LucideIcon } from "lucide-react"; +import type { LucideIcon } from "lucide-react"; // plane imports -import { - CycleIcon, - FavoriteFolderIcon, - ISvgIcons, - ModuleIcon, - PageIcon, - ProjectIcon, - ViewsIcon, -} from "@plane/propel/icons"; -import { IFavorite } from "@plane/types"; +import type { ISvgIcons } from "@plane/propel/icons"; +import { CycleIcon, FavoriteFolderIcon, ModuleIcon, PageIcon, ProjectIcon, ViewsIcon } from "@plane/propel/icons"; +import type { IFavorite } from "@plane/types"; export const FAVORITE_ITEM_ICONS: Record | LucideIcon> = { page: PageIcon, diff --git a/apps/web/ce/helpers/command-palette.ts b/apps/web/ce/helpers/command-palette.ts index 875f85b25..d29660a16 100644 --- a/apps/web/ce/helpers/command-palette.ts +++ b/apps/web/ce/helpers/command-palette.ts @@ -7,7 +7,7 @@ import { PROJECT_VIEW_TRACKER_ELEMENTS, WORK_ITEM_TRACKER_ELEMENTS, } from "@plane/constants"; -import { TCommandPaletteActionList, TCommandPaletteShortcut, TCommandPaletteShortcutList } from "@plane/types"; +import type { TCommandPaletteActionList, TCommandPaletteShortcut, TCommandPaletteShortcutList } from "@plane/types"; // store import { captureClick } from "@/helpers/event-tracker.helper"; import { store } from "@/lib/store-context"; diff --git a/apps/web/ce/helpers/epic-analytics.ts b/apps/web/ce/helpers/epic-analytics.ts index 43e6ffef0..1a7a9df41 100644 --- a/apps/web/ce/helpers/epic-analytics.ts +++ b/apps/web/ce/helpers/epic-analytics.ts @@ -1,4 +1,4 @@ -import { TEpicAnalyticsGroup } from "@plane/types"; +import type { TEpicAnalyticsGroup } from "@plane/types"; export const updateEpicAnalytics = () => { const updateAnalytics = ( diff --git a/apps/web/ce/helpers/issue-action-helper.ts b/apps/web/ce/helpers/issue-action-helper.ts index fdee6bcc9..a3c66e273 100644 --- a/apps/web/ce/helpers/issue-action-helper.ts +++ b/apps/web/ce/helpers/issue-action-helper.ts @@ -1,4 +1,4 @@ -import { IssueActions } from "@/hooks/use-issues-actions"; +import type { IssueActions } from "@/hooks/use-issues-actions"; export const useTeamIssueActions: () => IssueActions = () => ({ fetchIssues: () => Promise.resolve(undefined), diff --git a/apps/web/ce/helpers/issue-filter.helper.ts b/apps/web/ce/helpers/issue-filter.helper.ts index 925c4a63c..48a893d3c 100644 --- a/apps/web/ce/helpers/issue-filter.helper.ts +++ b/apps/web/ce/helpers/issue-filter.helper.ts @@ -1,5 +1,5 @@ // types -import { IIssueDisplayProperties } from "@plane/types"; +import type { IIssueDisplayProperties } from "@plane/types"; // lib import { store } from "@/lib/store-context"; diff --git a/apps/web/ce/helpers/work-item-filters/project-level.ts b/apps/web/ce/helpers/work-item-filters/project-level.ts index 97724db44..be0bc64ec 100644 --- a/apps/web/ce/helpers/work-item-filters/project-level.ts +++ b/apps/web/ce/helpers/work-item-filters/project-level.ts @@ -1,7 +1,7 @@ // plane imports -import { EIssuesStoreType } from "@plane/types"; +import type { EIssuesStoreType } from "@plane/types"; // plane web imports -import { TWorkItemFiltersEntityProps } from "@/plane-web/hooks/work-item-filters/use-work-item-filters-config"; +import type { TWorkItemFiltersEntityProps } from "@/plane-web/hooks/work-item-filters/use-work-item-filters-config"; export type TGetAdditionalPropsForProjectLevelFiltersHOCParams = { entityType: EIssuesStoreType; diff --git a/apps/web/ce/hooks/pages/use-extended-editor-extensions.ts b/apps/web/ce/hooks/pages/use-extended-editor-extensions.ts index 028e16c88..737578481 100644 --- a/apps/web/ce/hooks/pages/use-extended-editor-extensions.ts +++ b/apps/web/ce/hooks/pages/use-extended-editor-extensions.ts @@ -1,7 +1,7 @@ import type { IEditorPropsExtended } from "@plane/editor"; import type { TSearchEntityRequestPayload, TSearchResponse } from "@plane/types"; import type { TPageInstance } from "@/store/pages/base-page"; -import { EPageStoreType } from "../store"; +import type { EPageStoreType } from "../store"; export type TExtendedEditorExtensionsHookParams = { workspaceSlug: string; diff --git a/apps/web/ce/hooks/pages/use-pages-pane-extensions.ts b/apps/web/ce/hooks/pages/use-pages-pane-extensions.ts index b73ffc58b..5aef069cf 100644 --- a/apps/web/ce/hooks/pages/use-pages-pane-extensions.ts +++ b/apps/web/ce/hooks/pages/use-pages-pane-extensions.ts @@ -1,4 +1,5 @@ -import { useCallback, useMemo, type RefObject } from "react"; +import { useCallback, useMemo } from "react"; +import type { RefObject } from "react"; import { useSearchParams } from "next/navigation"; import type { EditorRefApi } from "@plane/editor"; import { @@ -9,7 +10,7 @@ import { import { useAppRouter } from "@/hooks/use-app-router"; import { useQueryParams } from "@/hooks/use-query-params"; import type { TPageNavigationPaneTab } from "@/plane-web/components/pages/navigation-pane"; -import { INavigationPaneExtension } from "@/plane-web/types/pages/pane-extensions"; +import type { INavigationPaneExtension } from "@/plane-web/types/pages/pane-extensions"; import type { TPageInstance } from "@/store/pages/base-page"; export type TPageExtensionHookParams = { diff --git a/apps/web/ce/hooks/rich-filters/use-filters-operator-configs.ts b/apps/web/ce/hooks/rich-filters/use-filters-operator-configs.ts index 636abce76..0c65a4de8 100644 --- a/apps/web/ce/hooks/rich-filters/use-filters-operator-configs.ts +++ b/apps/web/ce/hooks/rich-filters/use-filters-operator-configs.ts @@ -1,4 +1,5 @@ -import { CORE_OPERATORS, TSupportedOperators } from "@plane/types"; +import type { TSupportedOperators } from "@plane/types"; +import { CORE_OPERATORS } from "@plane/types"; export type TFiltersOperatorConfigs = { allowedOperators: Set; diff --git a/apps/web/ce/hooks/store/use-page-store.ts b/apps/web/ce/hooks/store/use-page-store.ts index 91bf9306b..025e03836 100644 --- a/apps/web/ce/hooks/store/use-page-store.ts +++ b/apps/web/ce/hooks/store/use-page-store.ts @@ -2,7 +2,7 @@ import { useContext } from "react"; // context import { StoreContext } from "@/lib/store-context"; // mobx store -import { IProjectPageStore } from "@/store/pages/project-page.store"; +import type { IProjectPageStore } from "@/store/pages/project-page.store"; export enum EPageStoreType { PROJECT = "PROJECT_PAGE", diff --git a/apps/web/ce/hooks/store/use-page.ts b/apps/web/ce/hooks/store/use-page.ts index c7bd7ceed..d4c531fe4 100644 --- a/apps/web/ce/hooks/store/use-page.ts +++ b/apps/web/ce/hooks/store/use-page.ts @@ -2,7 +2,8 @@ import { useContext } from "react"; // mobx store import { StoreContext } from "@/lib/store-context"; // plane web hooks -import { EPageStoreType, usePageStore } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; +import { usePageStore } from "@/plane-web/hooks/store"; export type TArgs = { pageId: string; diff --git a/apps/web/ce/hooks/use-additional-favorite-item-details.ts b/apps/web/ce/hooks/use-additional-favorite-item-details.ts index 412f4a39a..7d1a6d36f 100644 --- a/apps/web/ce/hooks/use-additional-favorite-item-details.ts +++ b/apps/web/ce/hooks/use-additional-favorite-item-details.ts @@ -1,5 +1,5 @@ // plane imports -import { IFavorite } from "@plane/types"; +import type { IFavorite } from "@plane/types"; // components import { getFavoriteItemIcon } from "@/components/workspace/sidebar/favorites/favorite-items/common"; diff --git a/apps/web/ce/hooks/use-debounced-duplicate-issues.tsx b/apps/web/ce/hooks/use-debounced-duplicate-issues.tsx index 8028a6191..b8c32d1bd 100644 --- a/apps/web/ce/hooks/use-debounced-duplicate-issues.tsx +++ b/apps/web/ce/hooks/use-debounced-duplicate-issues.tsx @@ -1,4 +1,4 @@ -import { TDeDupeIssue } from "@plane/types"; +import type { TDeDupeIssue } from "@plane/types"; export const useDebouncedDuplicateIssues = ( workspaceSlug: string | undefined, diff --git a/apps/web/ce/hooks/use-editor-flagging.ts b/apps/web/ce/hooks/use-editor-flagging.ts index f8ced8363..731c6715e 100644 --- a/apps/web/ce/hooks/use-editor-flagging.ts +++ b/apps/web/ce/hooks/use-editor-flagging.ts @@ -1,6 +1,6 @@ // editor import type { TExtensions } from "@plane/editor"; -import { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; export type TEditorFlaggingHookReturnType = { document: { diff --git a/apps/web/ce/hooks/use-issue-properties.tsx b/apps/web/ce/hooks/use-issue-properties.tsx index c4d35d6ad..12a020c8c 100644 --- a/apps/web/ce/hooks/use-issue-properties.tsx +++ b/apps/web/ce/hooks/use-issue-properties.tsx @@ -1,4 +1,4 @@ -import { TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; export const useWorkItemProperties = ( projectId: string | null | undefined, diff --git a/apps/web/ce/hooks/use-notification-preview.tsx b/apps/web/ce/hooks/use-notification-preview.tsx index 7492ea105..6e21868a5 100644 --- a/apps/web/ce/hooks/use-notification-preview.tsx +++ b/apps/web/ce/hooks/use-notification-preview.tsx @@ -1,7 +1,8 @@ -import { EIssueServiceType, IWorkItemPeekOverview } from "@plane/types"; +import type { IWorkItemPeekOverview } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; import { IssuePeekOverview } from "@/components/issues/peek-overview"; import { useIssueDetail } from "@/hooks/store/use-issue-detail"; -import { TPeekIssue } from "@/store/issue/issue-details/root.store"; +import type { TPeekIssue } from "@/store/issue/issue-details/root.store"; export type TNotificationPreview = { isWorkItem: boolean; diff --git a/apps/web/ce/hooks/work-item-filters/use-work-item-filters-config.tsx b/apps/web/ce/hooks/work-item-filters/use-work-item-filters-config.tsx index 8a194defb..edc6f54fa 100644 --- a/apps/web/ce/hooks/work-item-filters/use-work-item-filters-config.tsx +++ b/apps/web/ce/hooks/work-item-filters/use-work-item-filters-config.tsx @@ -19,7 +19,7 @@ import { PriorityIcon, StateGroupIcon, } from "@plane/propel/icons"; -import { +import type { ICycle, IState, IUserLite, diff --git a/apps/web/ce/layouts/project-wrapper.tsx b/apps/web/ce/layouts/project-wrapper.tsx index 6c566b0a3..71dba5044 100644 --- a/apps/web/ce/layouts/project-wrapper.tsx +++ b/apps/web/ce/layouts/project-wrapper.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // layouts import { ProjectAuthWrapper as CoreProjectAuthWrapper } from "@/layouts/auth-layout/project-wrapper"; diff --git a/apps/web/ce/layouts/workspace-wrapper.tsx b/apps/web/ce/layouts/workspace-wrapper.tsx index 3fa52a5d1..47a272d63 100644 --- a/apps/web/ce/layouts/workspace-wrapper.tsx +++ b/apps/web/ce/layouts/workspace-wrapper.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // layouts import { WorkspaceAuthWrapper as CoreWorkspaceAuthWrapper } from "@/layouts/auth-layout/workspace-wrapper"; diff --git a/apps/web/ce/services/project/estimate.service.ts b/apps/web/ce/services/project/estimate.service.ts index f33c15efb..95b9a39a4 100644 --- a/apps/web/ce/services/project/estimate.service.ts +++ b/apps/web/ce/services/project/estimate.service.ts @@ -2,7 +2,7 @@ // types import { API_BASE_URL } from "@plane/constants"; -import { IEstimate, IEstimateFormData, IEstimatePoint } from "@plane/types"; +import type { IEstimate, IEstimateFormData, IEstimatePoint } from "@plane/types"; // helpers // services import { APIService } from "@/services/api.service"; diff --git a/apps/web/ce/store/analytics.store.ts b/apps/web/ce/store/analytics.store.ts index ef866f65a..9556dcf3a 100644 --- a/apps/web/ce/store/analytics.store.ts +++ b/apps/web/ce/store/analytics.store.ts @@ -1,4 +1,5 @@ -import { BaseAnalyticsStore, IBaseAnalyticsStore } from "@/store/analytics.store"; +import type { IBaseAnalyticsStore } from "@/store/analytics.store"; +import { BaseAnalyticsStore } from "@/store/analytics.store"; // eslint-disable-next-line @typescript-eslint/no-empty-object-type export interface IAnalyticsStore extends IBaseAnalyticsStore { diff --git a/apps/web/ce/store/command-palette.store.ts b/apps/web/ce/store/command-palette.store.ts index 1b6fabf18..6a3f8abae 100644 --- a/apps/web/ce/store/command-palette.store.ts +++ b/apps/web/ce/store/command-palette.store.ts @@ -1,6 +1,7 @@ import { computed, makeObservable } from "mobx"; // types / constants -import { BaseCommandPaletteStore, IBaseCommandPaletteStore } from "@/store/base-command-palette.store"; +import type { IBaseCommandPaletteStore } from "@/store/base-command-palette.store"; +import { BaseCommandPaletteStore } from "@/store/base-command-palette.store"; export interface ICommandPaletteStore extends IBaseCommandPaletteStore { // computed diff --git a/apps/web/ce/store/estimates/estimate.ts b/apps/web/ce/store/estimates/estimate.ts index 456a7f155..8a32799bc 100644 --- a/apps/web/ce/store/estimates/estimate.ts +++ b/apps/web/ce/store/estimates/estimate.ts @@ -2,11 +2,16 @@ import { orderBy, set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // types -import { IEstimate as IEstimateType, IEstimatePoint as IEstimatePointType, TEstimateSystemKeys } from "@plane/types"; +import type { + IEstimate as IEstimateType, + IEstimatePoint as IEstimatePointType, + TEstimateSystemKeys, +} from "@plane/types"; // plane web services import estimateService from "@/plane-web/services/project/estimate.service"; // store -import { IEstimatePoint, EstimatePoint } from "@/store/estimates/estimate-point"; +import type { IEstimatePoint } from "@/store/estimates/estimate-point"; +import { EstimatePoint } from "@/store/estimates/estimate-point"; import type { CoreRootStore } from "@/store/root.store"; type TErrorCodes = { diff --git a/apps/web/ce/store/issue/epic/filter.store.ts b/apps/web/ce/store/issue/epic/filter.store.ts index a4733c60a..999e1515d 100644 --- a/apps/web/ce/store/issue/epic/filter.store.ts +++ b/apps/web/ce/store/issue/epic/filter.store.ts @@ -1,5 +1,6 @@ -import { IProjectIssuesFilter, ProjectIssuesFilter } from "@/store/issue/project"; -import { IIssueRootStore } from "@/store/issue/root.store"; +import type { IProjectIssuesFilter } from "@/store/issue/project"; +import { ProjectIssuesFilter } from "@/store/issue/project"; +import type { IIssueRootStore } from "@/store/issue/root.store"; // @ts-nocheck - This class will never be used, extending similar class to avoid type errors export type IProjectEpicsFilter = IProjectIssuesFilter; diff --git a/apps/web/ce/store/issue/epic/issue.store.ts b/apps/web/ce/store/issue/epic/issue.store.ts index 90ccee84d..702a4c05c 100644 --- a/apps/web/ce/store/issue/epic/issue.store.ts +++ b/apps/web/ce/store/issue/epic/issue.store.ts @@ -1,6 +1,7 @@ -import { IProjectIssues, ProjectIssues } from "@/store/issue/project"; -import { IIssueRootStore } from "@/store/issue/root.store"; -import { IProjectEpicsFilter } from "./filter.store"; +import type { IProjectIssues } from "@/store/issue/project"; +import { ProjectIssues } from "@/store/issue/project"; +import type { IIssueRootStore } from "@/store/issue/root.store"; +import type { IProjectEpicsFilter } from "./filter.store"; // @ts-nocheck - This class will never be used, extending similar class to avoid type errors diff --git a/apps/web/ce/store/issue/helpers/base-issue-store.ts b/apps/web/ce/store/issue/helpers/base-issue-store.ts index b75a4916a..eac5cec17 100644 --- a/apps/web/ce/store/issue/helpers/base-issue-store.ts +++ b/apps/web/ce/store/issue/helpers/base-issue-store.ts @@ -1,4 +1,4 @@ -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; import { getIssueIds } from "@/store/issue/helpers/base-issues-utils"; export const workItemSortWithOrderByExtended = (array: TIssue[], key?: string) => getIssueIds(array); diff --git a/apps/web/ce/store/issue/helpers/base-issue.store.ts b/apps/web/ce/store/issue/helpers/base-issue.store.ts index b75a4916a..eac5cec17 100644 --- a/apps/web/ce/store/issue/helpers/base-issue.store.ts +++ b/apps/web/ce/store/issue/helpers/base-issue.store.ts @@ -1,4 +1,4 @@ -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; import { getIssueIds } from "@/store/issue/helpers/base-issues-utils"; export const workItemSortWithOrderByExtended = (array: TIssue[], key?: string) => getIssueIds(array); diff --git a/apps/web/ce/store/issue/issue-details/activity.store.ts b/apps/web/ce/store/issue/issue-details/activity.store.ts index 95a9ed792..e2543a1ac 100644 --- a/apps/web/ce/store/issue/issue-details/activity.store.ts +++ b/apps/web/ce/store/issue/issue-details/activity.store.ts @@ -2,15 +2,16 @@ import { concat, orderBy, set, uniq, update } from "lodash-es"; import { action, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // plane package imports -import { E_SORT_ORDER, EActivityFilterType } from "@plane/constants"; -import { - EIssueServiceType, +import type { E_SORT_ORDER } from "@plane/constants"; +import { EActivityFilterType } from "@plane/constants"; +import type { TIssueActivityComment, TIssueActivity, TIssueActivityMap, TIssueActivityIdMap, TIssueServiceType, } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // plane web constants // services import { IssueActivityService } from "@/services/issue"; diff --git a/apps/web/ce/store/issue/issue-details/root.store.ts b/apps/web/ce/store/issue/issue-details/root.store.ts index bbea3f46b..2bc4f03ed 100644 --- a/apps/web/ce/store/issue/issue-details/root.store.ts +++ b/apps/web/ce/store/issue/issue-details/root.store.ts @@ -1,10 +1,8 @@ import { makeObservable } from "mobx"; -import { TIssueServiceType } from "@plane/types"; -import { - IssueDetail as IssueDetailCore, - IIssueDetail as IIssueDetailCore, -} from "@/store/issue/issue-details/root.store"; -import { IIssueRootStore } from "@/store/issue/root.store"; +import type { TIssueServiceType } from "@plane/types"; +import type { IIssueDetail as IIssueDetailCore } from "@/store/issue/issue-details/root.store"; +import { IssueDetail as IssueDetailCore } from "@/store/issue/issue-details/root.store"; +import type { IIssueRootStore } from "@/store/issue/root.store"; export type IIssueDetail = IIssueDetailCore; diff --git a/apps/web/ce/store/issue/team-project/filter.store.ts b/apps/web/ce/store/issue/team-project/filter.store.ts index 7905325bc..8cdb7787d 100644 --- a/apps/web/ce/store/issue/team-project/filter.store.ts +++ b/apps/web/ce/store/issue/team-project/filter.store.ts @@ -1,5 +1,6 @@ -import { IProjectIssuesFilter, ProjectIssuesFilter } from "@/store/issue/project"; -import { IIssueRootStore } from "@/store/issue/root.store"; +import type { IProjectIssuesFilter } from "@/store/issue/project"; +import { ProjectIssuesFilter } from "@/store/issue/project"; +import type { IIssueRootStore } from "@/store/issue/root.store"; // @ts-nocheck - This class will never be used, extending similar class to avoid type errors export type ITeamProjectWorkItemsFilter = IProjectIssuesFilter; diff --git a/apps/web/ce/store/issue/team-project/issue.store.ts b/apps/web/ce/store/issue/team-project/issue.store.ts index 2b2d408b6..496d5fda6 100644 --- a/apps/web/ce/store/issue/team-project/issue.store.ts +++ b/apps/web/ce/store/issue/team-project/issue.store.ts @@ -1,6 +1,7 @@ -import { IProjectIssues, ProjectIssues } from "@/store/issue/project"; -import { IIssueRootStore } from "@/store/issue/root.store"; -import { ITeamProjectWorkItemsFilter } from "./filter.store"; +import type { IProjectIssues } from "@/store/issue/project"; +import { ProjectIssues } from "@/store/issue/project"; +import type { IIssueRootStore } from "@/store/issue/root.store"; +import type { ITeamProjectWorkItemsFilter } from "./filter.store"; // @ts-nocheck - This class will never be used, extending similar class to avoid type errors export type ITeamProjectWorkItems = IProjectIssues; diff --git a/apps/web/ce/store/issue/team-views/filter.store.ts b/apps/web/ce/store/issue/team-views/filter.store.ts index 9c33f9405..a40a3eaa2 100644 --- a/apps/web/ce/store/issue/team-views/filter.store.ts +++ b/apps/web/ce/store/issue/team-views/filter.store.ts @@ -1,5 +1,6 @@ -import { IProjectViewIssuesFilter, ProjectViewIssuesFilter } from "@/store/issue/project-views"; -import { IIssueRootStore } from "@/store/issue/root.store"; +import type { IProjectViewIssuesFilter } from "@/store/issue/project-views"; +import { ProjectViewIssuesFilter } from "@/store/issue/project-views"; +import type { IIssueRootStore } from "@/store/issue/root.store"; // @ts-nocheck - This class will never be used, extending similar class to avoid type errors export type ITeamViewIssuesFilter = IProjectViewIssuesFilter; diff --git a/apps/web/ce/store/issue/team-views/issue.store.ts b/apps/web/ce/store/issue/team-views/issue.store.ts index 328370f85..8bcfbc67e 100644 --- a/apps/web/ce/store/issue/team-views/issue.store.ts +++ b/apps/web/ce/store/issue/team-views/issue.store.ts @@ -1,6 +1,7 @@ -import { IProjectViewIssues, ProjectViewIssues } from "@/store/issue/project-views"; -import { IIssueRootStore } from "@/store/issue/root.store"; -import { ITeamViewIssuesFilter } from "./filter.store"; +import type { IProjectViewIssues } from "@/store/issue/project-views"; +import { ProjectViewIssues } from "@/store/issue/project-views"; +import type { IIssueRootStore } from "@/store/issue/root.store"; +import type { ITeamViewIssuesFilter } from "./filter.store"; // @ts-nocheck - This class will never be used, extending similar class to avoid type errors export type ITeamViewIssues = IProjectViewIssues; diff --git a/apps/web/ce/store/issue/team/filter.store.ts b/apps/web/ce/store/issue/team/filter.store.ts index 42b2d5dd2..62e1f2eb6 100644 --- a/apps/web/ce/store/issue/team/filter.store.ts +++ b/apps/web/ce/store/issue/team/filter.store.ts @@ -1,5 +1,6 @@ -import { IProjectIssuesFilter, ProjectIssuesFilter } from "@/store/issue/project"; -import { IIssueRootStore } from "@/store/issue/root.store"; +import type { IProjectIssuesFilter } from "@/store/issue/project"; +import { ProjectIssuesFilter } from "@/store/issue/project"; +import type { IIssueRootStore } from "@/store/issue/root.store"; // @ts-nocheck - This class will never be used, extending similar class to avoid type errors export type ITeamIssuesFilter = IProjectIssuesFilter; diff --git a/apps/web/ce/store/issue/team/issue.store.ts b/apps/web/ce/store/issue/team/issue.store.ts index 2e3979436..446332c58 100644 --- a/apps/web/ce/store/issue/team/issue.store.ts +++ b/apps/web/ce/store/issue/team/issue.store.ts @@ -1,6 +1,7 @@ -import { IProjectIssues, ProjectIssues } from "@/store/issue/project"; -import { IIssueRootStore } from "@/store/issue/root.store"; -import { ITeamIssuesFilter } from "./filter.store"; +import type { IProjectIssues } from "@/store/issue/project"; +import { ProjectIssues } from "@/store/issue/project"; +import type { IIssueRootStore } from "@/store/issue/root.store"; +import type { ITeamIssuesFilter } from "./filter.store"; // @ts-nocheck - This class will never be used, extending similar class to avoid type errors export type ITeamIssues = IProjectIssues; diff --git a/apps/web/ce/store/member/project-member.store.ts b/apps/web/ce/store/member/project-member.store.ts index 356ed3332..f0e5b3069 100644 --- a/apps/web/ce/store/member/project-member.store.ts +++ b/apps/web/ce/store/member/project-member.store.ts @@ -1,11 +1,12 @@ import { computedFn } from "mobx-utils"; -import { EUserProjectRoles } from "@plane/types"; +import type { EUserProjectRoles } from "@plane/types"; // plane imports // plane web imports import type { RootStore } from "@/plane-web/store/root.store"; // store import type { IMemberRootStore } from "@/store/member"; -import { BaseProjectMemberStore, IBaseProjectMemberStore } from "@/store/member/project/base-project-member.store"; +import type { IBaseProjectMemberStore } from "@/store/member/project/base-project-member.store"; +import { BaseProjectMemberStore } from "@/store/member/project/base-project-member.store"; export type IProjectMemberStore = IBaseProjectMemberStore; diff --git a/apps/web/ce/store/root.store.ts b/apps/web/ce/store/root.store.ts index 01e6513dc..ca6caff8c 100644 --- a/apps/web/ce/store/root.store.ts +++ b/apps/web/ce/store/root.store.ts @@ -1,6 +1,7 @@ // store import { CoreRootStore } from "@/store/root.store"; -import { ITimelineStore, TimeLineStore } from "./timeline"; +import type { ITimelineStore } from "./timeline"; +import { TimeLineStore } from "./timeline"; export class RootStore extends CoreRootStore { timelineStore: ITimelineStore; diff --git a/apps/web/ce/store/timeline/index.ts b/apps/web/ce/store/timeline/index.ts index 49a3c120b..a6afa124c 100644 --- a/apps/web/ce/store/timeline/index.ts +++ b/apps/web/ce/store/timeline/index.ts @@ -1,7 +1,10 @@ import type { RootStore } from "@/plane-web/store/root.store"; -import { type IIssuesTimeLineStore, IssuesTimeLineStore } from "@/store/timeline/issues-timeline.store"; -import { type IModulesTimeLineStore, ModulesTimeLineStore } from "@/store/timeline/modules-timeline.store"; -import { BaseTimeLineStore, type IBaseTimelineStore } from "./base-timeline.store"; +import { IssuesTimeLineStore } from "@/store/timeline/issues-timeline.store"; +import type { IIssuesTimeLineStore } from "@/store/timeline/issues-timeline.store"; +import { ModulesTimeLineStore } from "@/store/timeline/modules-timeline.store"; +import type { IModulesTimeLineStore } from "@/store/timeline/modules-timeline.store"; +import { BaseTimeLineStore } from "./base-timeline.store"; +import type { IBaseTimelineStore } from "./base-timeline.store"; export interface ITimelineStore { issuesTimeLineStore: IIssuesTimeLineStore; diff --git a/apps/web/ce/store/user/permission.store.ts b/apps/web/ce/store/user/permission.store.ts index 3a1977a92..11ce45478 100644 --- a/apps/web/ce/store/user/permission.store.ts +++ b/apps/web/ce/store/user/permission.store.ts @@ -1,7 +1,8 @@ import { computedFn } from "mobx-utils"; -import { EUserPermissions } from "@plane/constants"; +import type { EUserPermissions } from "@plane/constants"; import type { RootStore } from "@/plane-web/store/root.store"; -import { BaseUserPermissionStore, type IBaseUserPermissionStore } from "@/store/user/base-permissions.store"; +import { BaseUserPermissionStore } from "@/store/user/base-permissions.store"; +import type { IBaseUserPermissionStore } from "@/store/user/base-permissions.store"; export type IUserPermissionStore = IBaseUserPermissionStore; diff --git a/apps/web/ce/types/pages/pane-extensions.ts b/apps/web/ce/types/pages/pane-extensions.ts index 0f64b3019..dcfae12e8 100644 --- a/apps/web/ce/types/pages/pane-extensions.ts +++ b/apps/web/ce/types/pages/pane-extensions.ts @@ -1,6 +1,6 @@ -import { - type INavigationPaneExtension as ICoreNavigationPaneExtension, - type INavigationPaneExtensionComponent, +import type { + INavigationPaneExtension as ICoreNavigationPaneExtension, + INavigationPaneExtensionComponent, } from "@/components/pages/navigation-pane"; // EE Union/map of extension data types (keyed by extension id) diff --git a/apps/web/ce/types/projects/project-activity.ts b/apps/web/ce/types/projects/project-activity.ts index bd61cf5ef..766b0adaf 100644 --- a/apps/web/ce/types/projects/project-activity.ts +++ b/apps/web/ce/types/projects/project-activity.ts @@ -1,4 +1,4 @@ -import { TProjectBaseActivity } from "@plane/types"; +import type { TProjectBaseActivity } from "@plane/types"; export type TProjectActivity = TProjectBaseActivity & { content: string; diff --git a/apps/web/ce/types/projects/projects.ts b/apps/web/ce/types/projects/projects.ts index 462192e26..51427282a 100644 --- a/apps/web/ce/types/projects/projects.ts +++ b/apps/web/ce/types/projects/projects.ts @@ -1,4 +1,4 @@ -import { IPartialProject, IProject } from "@plane/types"; +import type { IPartialProject, IProject } from "@plane/types"; export type TPartialProject = IPartialProject; diff --git a/apps/web/core/components/account/auth-forms/auth-banner.tsx b/apps/web/core/components/account/auth-forms/auth-banner.tsx index da1c57c4a..95022dcb2 100644 --- a/apps/web/core/components/account/auth-forms/auth-banner.tsx +++ b/apps/web/core/components/account/auth-forms/auth-banner.tsx @@ -1,9 +1,9 @@ -import { FC } from "react"; +import type { FC } from "react"; import { Info, X } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; // helpers -import { TAuthErrorInfo } from "@/helpers/authentication.helper"; +import type { TAuthErrorInfo } from "@/helpers/authentication.helper"; type TAuthBanner = { bannerData: TAuthErrorInfo | undefined; diff --git a/apps/web/core/components/account/auth-forms/auth-header.tsx b/apps/web/core/components/account/auth-forms/auth-header.tsx index 65e6aceaf..3ca9c38b6 100644 --- a/apps/web/core/components/account/auth-forms/auth-header.tsx +++ b/apps/web/core/components/account/auth-forms/auth-header.tsx @@ -1,8 +1,8 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import useSWR from "swr"; import { useTranslation } from "@plane/i18n"; -import { IWorkspaceMemberInvitation } from "@plane/types"; +import type { IWorkspaceMemberInvitation } from "@plane/types"; // components import { LogoSpinner } from "@/components/common/logo-spinner"; import { WorkspaceLogo } from "@/components/workspace/logo"; diff --git a/apps/web/core/components/account/auth-forms/auth-root.tsx b/apps/web/core/components/account/auth-forms/auth-root.tsx index 639e329bf..9d01a2d3c 100644 --- a/apps/web/core/components/account/auth-forms/auth-root.tsx +++ b/apps/web/core/components/account/auth-forms/auth-root.tsx @@ -1,4 +1,5 @@ -import React, { FC, useEffect, useState } from "react"; +import type { FC } from "react"; +import React, { useEffect, useState } from "react"; import { observer } from "mobx-react"; import Image from "next/image"; import { useSearchParams } from "next/navigation"; @@ -12,12 +13,12 @@ import GithubDarkLogo from "/public/logos/github-dark.svg"; import GitlabLogo from "/public/logos/gitlab-logo.svg"; import GoogleLogo from "/public/logos/google-logo.svg"; // helpers +import type { TAuthErrorInfo } from "@/helpers/authentication.helper"; import { EAuthModes, EAuthSteps, EAuthenticationErrorCodes, EErrorAlertType, - TAuthErrorInfo, authErrorHandler, } from "@/helpers/authentication.helper"; // hooks diff --git a/apps/web/core/components/account/auth-forms/email.tsx b/apps/web/core/components/account/auth-forms/email.tsx index d9ee4ccc9..97a01dfba 100644 --- a/apps/web/core/components/account/auth-forms/email.tsx +++ b/apps/web/core/components/account/auth-forms/email.tsx @@ -1,13 +1,14 @@ "use client"; -import { FC, FormEvent, useMemo, useRef, useState } from "react"; +import type { FC, FormEvent } from "react"; +import { useMemo, useRef, useState } from "react"; import { observer } from "mobx-react"; // icons import { CircleAlert, XCircle } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; -import { IEmailCheckData } from "@plane/types"; +import type { IEmailCheckData } from "@plane/types"; import { Input, Spinner } from "@plane/ui"; import { cn, checkEmailValidity } from "@plane/utils"; // helpers diff --git a/apps/web/core/components/account/auth-forms/form-root.tsx b/apps/web/core/components/account/auth-forms/form-root.tsx index d23afbfcc..4edbcc045 100644 --- a/apps/web/core/components/account/auth-forms/form-root.tsx +++ b/apps/web/core/components/account/auth-forms/form-root.tsx @@ -4,9 +4,10 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; import { useSearchParams } from "next/navigation"; import { EAuthModes, EAuthSteps } from "@plane/constants"; -import { IEmailCheckData } from "@plane/types"; +import type { IEmailCheckData } from "@plane/types"; // helpers -import { authErrorHandler, TAuthErrorInfo } from "@/helpers/authentication.helper"; +import type { TAuthErrorInfo } from "@/helpers/authentication.helper"; +import { authErrorHandler } from "@/helpers/authentication.helper"; // hooks import { useInstance } from "@/hooks/store/use-instance"; import { useAppRouter } from "@/hooks/use-app-router"; diff --git a/apps/web/core/components/account/auth-forms/reset-password.tsx b/apps/web/core/components/account/auth-forms/reset-password.tsx index b80a941cb..ffe40d7e6 100644 --- a/apps/web/core/components/account/auth-forms/reset-password.tsx +++ b/apps/web/core/components/account/auth-forms/reset-password.tsx @@ -13,12 +13,8 @@ import { Input, PasswordStrengthIndicator } from "@plane/ui"; // components import { getPasswordStrength } from "@plane/utils"; // helpers -import { - EAuthenticationErrorCodes, - EErrorAlertType, - TAuthErrorInfo, - authErrorHandler, -} from "@/helpers/authentication.helper"; +import type { EAuthenticationErrorCodes, TAuthErrorInfo } from "@/helpers/authentication.helper"; +import { EErrorAlertType, authErrorHandler } from "@/helpers/authentication.helper"; // services import { AuthService } from "@/services/auth.service"; // local imports diff --git a/apps/web/core/components/account/auth-forms/set-password.tsx b/apps/web/core/components/account/auth-forms/set-password.tsx index c06eec076..a84ee913d 100644 --- a/apps/web/core/components/account/auth-forms/set-password.tsx +++ b/apps/web/core/components/account/auth-forms/set-password.tsx @@ -1,6 +1,7 @@ "use client"; -import { FormEvent, useEffect, useMemo, useState } from "react"; +import type { FormEvent } from "react"; +import { useEffect, useMemo, useState } from "react"; import { observer } from "mobx-react"; import { useSearchParams } from "next/navigation"; // icons diff --git a/apps/web/core/components/analytics/export.ts b/apps/web/core/components/analytics/export.ts index f0a448979..8a8307857 100644 --- a/apps/web/core/components/analytics/export.ts +++ b/apps/web/core/components/analytics/export.ts @@ -1,4 +1,4 @@ -import { ColumnDef, Row } from "@tanstack/react-table"; +import type { ColumnDef, Row } from "@tanstack/react-table"; import { download, generateCsv, mkConfig } from "export-to-csv"; export const csvConfig = (workspaceSlug: string) => diff --git a/apps/web/core/components/analytics/insight-card.tsx b/apps/web/core/components/analytics/insight-card.tsx index abfbdf8b9..115cdd2c6 100644 --- a/apps/web/core/components/analytics/insight-card.tsx +++ b/apps/web/core/components/analytics/insight-card.tsx @@ -1,6 +1,6 @@ // plane package imports import React from "react"; -import { IAnalyticsResponseFields } from "@plane/types"; +import type { IAnalyticsResponseFields } from "@plane/types"; import { Loader } from "@plane/ui"; export type InsightCardProps = { diff --git a/apps/web/core/components/analytics/insight-table/data-table.tsx b/apps/web/core/components/analytics/insight-table/data-table.tsx index 8b1c1bab2..be802457e 100644 --- a/apps/web/core/components/analytics/insight-table/data-table.tsx +++ b/apps/web/core/components/analytics/insight-table/data-table.tsx @@ -1,12 +1,14 @@ "use client"; import * as React from "react"; -import { +import type { ColumnDef, ColumnFiltersState, SortingState, VisibilityState, Table as TanstackTable, +} from "@tanstack/react-table"; +import { flexRender, getCoreRowModel, getFacetedRowModel, diff --git a/apps/web/core/components/analytics/insight-table/loader.tsx b/apps/web/core/components/analytics/insight-table/loader.tsx index 0f7f9dc35..0ccff9a9b 100644 --- a/apps/web/core/components/analytics/insight-table/loader.tsx +++ b/apps/web/core/components/analytics/insight-table/loader.tsx @@ -1,5 +1,5 @@ import * as React from "react"; -import { ColumnDef } from "@tanstack/react-table"; +import type { ColumnDef } from "@tanstack/react-table"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@plane/propel/table"; import { Loader } from "@plane/ui"; diff --git a/apps/web/core/components/analytics/insight-table/root.tsx b/apps/web/core/components/analytics/insight-table/root.tsx index 4b376dee6..465353496 100644 --- a/apps/web/core/components/analytics/insight-table/root.tsx +++ b/apps/web/core/components/analytics/insight-table/root.tsx @@ -1,8 +1,8 @@ -import { ColumnDef, Row, Table } from "@tanstack/react-table"; +import type { ColumnDef, Row, Table } from "@tanstack/react-table"; import { Download } from "lucide-react"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; -import { AnalyticsTableDataMap, TAnalyticsTabsBase } from "@plane/types"; +import type { AnalyticsTableDataMap, TAnalyticsTabsBase } from "@plane/types"; import { DataTable } from "./data-table"; import { TableLoader } from "./loader"; interface InsightTableProps> { diff --git a/apps/web/core/components/analytics/overview/project-insights.tsx b/apps/web/core/components/analytics/overview/project-insights.tsx index 994e6e9b7..a72c79b83 100644 --- a/apps/web/core/components/analytics/overview/project-insights.tsx +++ b/apps/web/core/components/analytics/overview/project-insights.tsx @@ -4,7 +4,7 @@ import { useParams } from "next/navigation"; import useSWR from "swr"; // plane package imports import { useTranslation } from "@plane/i18n"; -import { TChartData } from "@plane/types"; +import type { TChartData } from "@plane/types"; // hooks import { useAnalytics } from "@/hooks/store/use-analytics"; // services diff --git a/apps/web/core/components/analytics/select/analytics-params.tsx b/apps/web/core/components/analytics/select/analytics-params.tsx index edcebf78b..5e9535da2 100644 --- a/apps/web/core/components/analytics/select/analytics-params.tsx +++ b/apps/web/core/components/analytics/select/analytics-params.tsx @@ -1,10 +1,12 @@ import { useMemo } from "react"; import { observer } from "mobx-react"; -import { Control, Controller, UseFormSetValue } from "react-hook-form"; +import type { Control, UseFormSetValue } from "react-hook-form"; +import { Controller } from "react-hook-form"; import { Calendar, SlidersHorizontal } from "lucide-react"; // plane package imports import { ANALYTICS_X_AXIS_VALUES, ANALYTICS_Y_AXIS_VALUES } from "@plane/constants"; -import { ChartYAxisMetric, IAnalyticsParams } from "@plane/types"; +import type { IAnalyticsParams } from "@plane/types"; +import { ChartYAxisMetric } from "@plane/types"; import { cn } from "@plane/utils"; // plane web components import { SelectXAxis } from "./select-x-axis"; diff --git a/apps/web/core/components/analytics/select/duration.tsx b/apps/web/core/components/analytics/select/duration.tsx index 5c99a61b0..f668f3c47 100644 --- a/apps/web/core/components/analytics/select/duration.tsx +++ b/apps/web/core/components/analytics/select/duration.tsx @@ -1,12 +1,13 @@ // plane package imports -import React, { ReactNode } from "react"; +import type { ReactNode } from "react"; +import React from "react"; import { Calendar } from "lucide-react"; // plane package imports import { ANALYTICS_DURATION_FILTER_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { CustomSearchSelect } from "@plane/ui"; // types -import { TDropdownProps } from "@/components/dropdowns/types"; +import type { TDropdownProps } from "@/components/dropdowns/types"; type Props = TDropdownProps & { value: string | null; diff --git a/apps/web/core/components/analytics/select/select-x-axis.tsx b/apps/web/core/components/analytics/select/select-x-axis.tsx index 9fc846c30..041fc8fee 100644 --- a/apps/web/core/components/analytics/select/select-x-axis.tsx +++ b/apps/web/core/components/analytics/select/select-x-axis.tsx @@ -1,6 +1,6 @@ "use client"; // plane package imports -import { ChartXAxisProperty } from "@plane/types"; +import type { ChartXAxisProperty } from "@plane/types"; import { CustomSelect } from "@plane/ui"; type Props = { diff --git a/apps/web/core/components/analytics/select/select-y-axis.tsx b/apps/web/core/components/analytics/select/select-y-axis.tsx index 5ed58311b..2295f0632 100644 --- a/apps/web/core/components/analytics/select/select-y-axis.tsx +++ b/apps/web/core/components/analytics/select/select-y-axis.tsx @@ -4,7 +4,7 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { EEstimateSystem } from "@plane/constants"; import { ProjectIcon } from "@plane/propel/icons"; -import { ChartYAxisMetric } from "@plane/types"; +import type { ChartYAxisMetric } from "@plane/types"; // plane package imports import { CustomSelect } from "@plane/ui"; // hooks diff --git a/apps/web/core/components/analytics/total-insights.tsx b/apps/web/core/components/analytics/total-insights.tsx index a822e7560..5dfc6bb99 100644 --- a/apps/web/core/components/analytics/total-insights.tsx +++ b/apps/web/core/components/analytics/total-insights.tsx @@ -2,9 +2,10 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import useSWR from "swr"; -import { IInsightField, ANALYTICS_INSIGHTS_FIELDS } from "@plane/constants"; +import type { IInsightField } from "@plane/constants"; +import { ANALYTICS_INSIGHTS_FIELDS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { IAnalyticsResponse, TAnalyticsTabsBase } from "@plane/types"; +import type { IAnalyticsResponse, TAnalyticsTabsBase } from "@plane/types"; import { cn } from "@plane/utils"; // hooks import { useAnalytics } from "@/hooks/store/use-analytics"; diff --git a/apps/web/core/components/analytics/work-items/created-vs-resolved.tsx b/apps/web/core/components/analytics/work-items/created-vs-resolved.tsx index 5db79a815..56c7bbd80 100644 --- a/apps/web/core/components/analytics/work-items/created-vs-resolved.tsx +++ b/apps/web/core/components/analytics/work-items/created-vs-resolved.tsx @@ -5,7 +5,7 @@ import useSWR from "swr"; // plane package imports import { useTranslation } from "@plane/i18n"; import { AreaChart } from "@plane/propel/charts/area-chart"; -import { IChartResponse, TChartData } from "@plane/types"; +import type { IChartResponse, TChartData } from "@plane/types"; import { renderFormattedDate } from "@plane/utils"; // hooks import { useAnalytics } from "@/hooks/store/use-analytics"; diff --git a/apps/web/core/components/analytics/work-items/customized-insights.tsx b/apps/web/core/components/analytics/work-items/customized-insights.tsx index 42fa6e84c..22c698b0c 100644 --- a/apps/web/core/components/analytics/work-items/customized-insights.tsx +++ b/apps/web/core/components/analytics/work-items/customized-insights.tsx @@ -3,7 +3,8 @@ import { useParams } from "next/navigation"; import { useForm } from "react-hook-form"; // plane package imports import { useTranslation } from "@plane/i18n"; -import { ChartXAxisProperty, ChartYAxisMetric, IAnalyticsParams } from "@plane/types"; +import type { IAnalyticsParams } from "@plane/types"; +import { ChartXAxisProperty, ChartYAxisMetric } from "@plane/types"; import { cn } from "@plane/utils"; // plane web components import AnalyticsSectionWrapper from "../analytics-section-wrapper"; diff --git a/apps/web/core/components/analytics/work-items/modal/content.tsx b/apps/web/core/components/analytics/work-items/modal/content.tsx index 3f590b112..d13de2a78 100644 --- a/apps/web/core/components/analytics/work-items/modal/content.tsx +++ b/apps/web/core/components/analytics/work-items/modal/content.tsx @@ -2,7 +2,7 @@ import React, { useEffect, useState } from "react"; import { observer } from "mobx-react"; import { Tab } from "@headlessui/react"; // plane package imports -import { ICycle, IModule, IProject } from "@plane/types"; +import type { ICycle, IModule, IProject } from "@plane/types"; import { Spinner } from "@plane/ui"; // hooks import { useAnalytics } from "@/hooks/store/use-analytics"; diff --git a/apps/web/core/components/analytics/work-items/modal/header.tsx b/apps/web/core/components/analytics/work-items/modal/header.tsx index 1aa2c1b66..734eebbf8 100644 --- a/apps/web/core/components/analytics/work-items/modal/header.tsx +++ b/apps/web/core/components/analytics/work-items/modal/header.tsx @@ -1,7 +1,7 @@ import { observer } from "mobx-react"; // plane package imports import { Expand, Shrink, X } from "lucide-react"; -import { ICycle, IModule } from "@plane/types"; +import type { ICycle, IModule } from "@plane/types"; // icons type Props = { diff --git a/apps/web/core/components/analytics/work-items/modal/index.tsx b/apps/web/core/components/analytics/work-items/modal/index.tsx index 8c3ccc8da..129dd5f5e 100644 --- a/apps/web/core/components/analytics/work-items/modal/index.tsx +++ b/apps/web/core/components/analytics/work-items/modal/index.tsx @@ -2,7 +2,7 @@ import React, { useEffect, useState } from "react"; import { observer } from "mobx-react"; // plane package imports import { ModalPortal, EPortalWidth, EPortalPosition } from "@plane/propel/portal"; -import { ICycle, IModule, IProject } from "@plane/types"; +import type { ICycle, IModule, IProject } from "@plane/types"; import { useAnalytics } from "@/hooks/store/use-analytics"; // plane web components import { WorkItemsModalMainContent } from "./content"; diff --git a/apps/web/core/components/analytics/work-items/priority-chart.tsx b/apps/web/core/components/analytics/work-items/priority-chart.tsx index 8fdf94dac..f77248d49 100644 --- a/apps/web/core/components/analytics/work-items/priority-chart.tsx +++ b/apps/web/core/components/analytics/work-items/priority-chart.tsx @@ -1,22 +1,17 @@ import { useMemo } from "react"; -import { ColumnDef, Row, RowData, Table } from "@tanstack/react-table"; +import type { ColumnDef, Row, RowData, Table } from "@tanstack/react-table"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { useTheme } from "next-themes"; import useSWR from "swr"; // plane package imports import { Download } from "lucide-react"; -import { - ANALYTICS_X_AXIS_VALUES, - ANALYTICS_Y_AXIS_VALUES, - CHART_COLOR_PALETTES, - ChartXAxisDateGrouping, - EChartModels, -} from "@plane/constants"; +import type { ChartXAxisDateGrouping } from "@plane/constants"; +import { ANALYTICS_X_AXIS_VALUES, ANALYTICS_Y_AXIS_VALUES, CHART_COLOR_PALETTES, EChartModels } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { BarChart } from "@plane/propel/charts/bar-chart"; -import { TBarItem, TChart, TChartDatum, ChartXAxisProperty, ChartYAxisMetric } from "@plane/types"; +import type { TBarItem, TChart, TChartDatum, ChartXAxisProperty, ChartYAxisMetric } from "@plane/types"; // plane web components import { generateExtendedColors, parseChartData } from "@/components/chart/utils"; // hooks diff --git a/apps/web/core/components/analytics/work-items/utils.ts b/apps/web/core/components/analytics/work-items/utils.ts index 37c74ec81..613fa6b62 100644 --- a/apps/web/core/components/analytics/work-items/utils.ts +++ b/apps/web/core/components/analytics/work-items/utils.ts @@ -1,5 +1,6 @@ // plane package imports -import { ChartXAxisProperty, ChartYAxisMetric, IState } from "@plane/types"; +import type { ChartYAxisMetric, IState } from "@plane/types"; +import { ChartXAxisProperty } from "@plane/types"; interface ParamsProps { x_axis: ChartXAxisProperty; diff --git a/apps/web/core/components/analytics/work-items/workitems-insight-table.tsx b/apps/web/core/components/analytics/work-items/workitems-insight-table.tsx index f99fd22bc..0d0d69cb1 100644 --- a/apps/web/core/components/analytics/work-items/workitems-insight-table.tsx +++ b/apps/web/core/components/analytics/work-items/workitems-insight-table.tsx @@ -1,5 +1,5 @@ import { useMemo } from "react"; -import { ColumnDef, Row, RowData } from "@tanstack/react-table"; +import type { ColumnDef, Row, RowData } from "@tanstack/react-table"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import useSWR from "swr"; @@ -7,7 +7,7 @@ import { UserRound } from "lucide-react"; import { useTranslation } from "@plane/i18n"; import { ProjectIcon } from "@plane/propel/icons"; // plane package imports -import { AnalyticsTableDataMap, WorkItemInsightColumns } from "@plane/types"; +import type { AnalyticsTableDataMap, WorkItemInsightColumns } from "@plane/types"; // plane web components import { Avatar } from "@plane/ui"; import { getFileURL } from "@plane/utils"; diff --git a/apps/web/core/components/api-token/delete-token-modal.tsx b/apps/web/core/components/api-token/delete-token-modal.tsx index 2bac04bdb..22b5f5dd6 100644 --- a/apps/web/core/components/api-token/delete-token-modal.tsx +++ b/apps/web/core/components/api-token/delete-token-modal.tsx @@ -1,13 +1,14 @@ "use client"; -import { useState, FC } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { mutate } from "swr"; // types import { PROFILE_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { APITokenService } from "@plane/services"; -import { IApiToken } from "@plane/types"; +import type { IApiToken } from "@plane/types"; // ui import { AlertModalCore } from "@plane/ui"; // fetch-keys diff --git a/apps/web/core/components/api-token/modal/create-token-modal.tsx b/apps/web/core/components/api-token/modal/create-token-modal.tsx index 46075cb8f..ac27873e9 100644 --- a/apps/web/core/components/api-token/modal/create-token-modal.tsx +++ b/apps/web/core/components/api-token/modal/create-token-modal.tsx @@ -6,7 +6,7 @@ import { mutate } from "swr"; import { PROFILE_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { APITokenService } from "@plane/services"; -import { IApiToken } from "@plane/types"; +import type { IApiToken } from "@plane/types"; import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; import { renderFormattedDate, csvDownload } from "@plane/utils"; // constants diff --git a/apps/web/core/components/api-token/modal/form.tsx b/apps/web/core/components/api-token/modal/form.tsx index 84fda20fa..a39636e90 100644 --- a/apps/web/core/components/api-token/modal/form.tsx +++ b/apps/web/core/components/api-token/modal/form.tsx @@ -8,7 +8,7 @@ import { Calendar } from "lucide-react"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IApiToken } from "@plane/types"; +import type { IApiToken } from "@plane/types"; // ui import { CustomSelect, Input, TextArea, ToggleSwitch } from "@plane/ui"; import { cn, renderFormattedDate, renderFormattedTime } from "@plane/utils"; diff --git a/apps/web/core/components/api-token/modal/generated-token-details.tsx b/apps/web/core/components/api-token/modal/generated-token-details.tsx index 36124315e..a2a4dff78 100644 --- a/apps/web/core/components/api-token/modal/generated-token-details.tsx +++ b/apps/web/core/components/api-token/modal/generated-token-details.tsx @@ -5,7 +5,7 @@ import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { IApiToken } from "@plane/types"; +import type { IApiToken } from "@plane/types"; // ui import { renderFormattedDate, renderFormattedTime, copyTextToClipboard } from "@plane/utils"; // helpers diff --git a/apps/web/core/components/api-token/token-list-item.tsx b/apps/web/core/components/api-token/token-list-item.tsx index 165ca0718..46ad6d9f1 100644 --- a/apps/web/core/components/api-token/token-list-item.tsx +++ b/apps/web/core/components/api-token/token-list-item.tsx @@ -5,7 +5,7 @@ import { XCircle } from "lucide-react"; // plane imports import { PROFILE_SETTINGS_TRACKER_ELEMENTS } from "@plane/constants"; import { Tooltip } from "@plane/propel/tooltip"; -import { IApiToken } from "@plane/types"; +import type { IApiToken } from "@plane/types"; import { renderFormattedDate, calculateTimeAgo, renderFormattedTime } from "@plane/utils"; // components import { DeleteApiTokenModal } from "@/components/api-token/delete-token-modal"; diff --git a/apps/web/core/components/archives/archive-tabs-list.tsx b/apps/web/core/components/archives/archive-tabs-list.tsx index 432fac68d..db94d191a 100644 --- a/apps/web/core/components/archives/archive-tabs-list.tsx +++ b/apps/web/core/components/archives/archive-tabs-list.tsx @@ -1,9 +1,9 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { useParams, usePathname } from "next/navigation"; // types -import { IProject } from "@plane/types"; +import type { IProject } from "@plane/types"; // hooks import { useProject } from "@/hooks/store/use-project"; diff --git a/apps/web/core/components/auth-screens/auth-base.tsx b/apps/web/core/components/auth-screens/auth-base.tsx index f5624f07b..a6bd3d631 100644 --- a/apps/web/core/components/auth-screens/auth-base.tsx +++ b/apps/web/core/components/auth-screens/auth-base.tsx @@ -1,7 +1,7 @@ "use client"; import React from "react"; import { AuthRoot } from "@/components/account/auth-forms/auth-root"; -import { EAuthModes } from "@/helpers/authentication.helper"; +import type { EAuthModes } from "@/helpers/authentication.helper"; import { AuthFooter } from "./footer"; import { AuthHeader } from "./header"; diff --git a/apps/web/core/components/automation/auto-archive-automation.tsx b/apps/web/core/components/automation/auto-archive-automation.tsx index e346a36fe..445a9d8d0 100644 --- a/apps/web/core/components/automation/auto-archive-automation.tsx +++ b/apps/web/core/components/automation/auto-archive-automation.tsx @@ -13,7 +13,7 @@ import { PROJECT_SETTINGS_TRACKER_EVENTS, } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { IProject } from "@plane/types"; +import type { IProject } from "@plane/types"; // ui import { CustomSelect, Loader, ToggleSwitch } from "@plane/ui"; // component diff --git a/apps/web/core/components/automation/auto-close-automation.tsx b/apps/web/core/components/automation/auto-close-automation.tsx index d223ddf3c..f493f16ae 100644 --- a/apps/web/core/components/automation/auto-close-automation.tsx +++ b/apps/web/core/components/automation/auto-close-automation.tsx @@ -16,7 +16,7 @@ import { } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { StateGroupIcon, DoubleCircleIcon } from "@plane/propel/icons"; -import { IProject } from "@plane/types"; +import type { IProject } from "@plane/types"; // ui import { CustomSelect, CustomSearchSelect, ToggleSwitch, Loader } from "@plane/ui"; // component diff --git a/apps/web/core/components/chart/utils.ts b/apps/web/core/components/chart/utils.ts index 6d6895e06..7bd8c4120 100644 --- a/apps/web/core/components/chart/utils.ts +++ b/apps/web/core/components/chart/utils.ts @@ -1,6 +1,6 @@ import { getWeekOfMonth, isValid } from "date-fns"; import { CHART_X_AXIS_DATE_PROPERTIES, ChartXAxisDateGrouping, TO_CAPITALIZE_PROPERTIES } from "@plane/constants"; -import { ChartXAxisProperty, TChart, TChartDatum } from "@plane/types"; +import type { ChartXAxisProperty, TChart, TChartDatum } from "@plane/types"; import { capitalizeFirstLetter, hexToHsl, diff --git a/apps/web/core/components/command-palette/actions/issue-actions/actions-list.tsx b/apps/web/core/components/command-palette/actions/issue-actions/actions-list.tsx index 5fa053fa7..0af68d137 100644 --- a/apps/web/core/components/command-palette/actions/issue-actions/actions-list.tsx +++ b/apps/web/core/components/command-palette/actions/issue-actions/actions-list.tsx @@ -6,7 +6,8 @@ import { useParams } from "next/navigation"; import { LinkIcon, Signal, Trash2, UserMinus2, UserPlus2, Users } from "lucide-react"; import { DoubleCircleIcon } from "@plane/propel/icons"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssueServiceType, TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // hooks // helpers import { copyTextToClipboard } from "@plane/utils"; diff --git a/apps/web/core/components/command-palette/actions/issue-actions/change-assignee.tsx b/apps/web/core/components/command-palette/actions/issue-actions/change-assignee.tsx index 13b5fc284..d68f43776 100644 --- a/apps/web/core/components/command-palette/actions/issue-actions/change-assignee.tsx +++ b/apps/web/core/components/command-palette/actions/issue-actions/change-assignee.tsx @@ -5,7 +5,8 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { Check } from "lucide-react"; // plane types -import { EIssueServiceType, TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // plane ui import { Avatar } from "@plane/ui"; // helpers diff --git a/apps/web/core/components/command-palette/actions/issue-actions/change-priority.tsx b/apps/web/core/components/command-palette/actions/issue-actions/change-priority.tsx index ef89a0706..fe983faaa 100644 --- a/apps/web/core/components/command-palette/actions/issue-actions/change-priority.tsx +++ b/apps/web/core/components/command-palette/actions/issue-actions/change-priority.tsx @@ -8,7 +8,8 @@ import { Check } from "lucide-react"; import { ISSUE_PRIORITIES } from "@plane/constants"; // plane types import { PriorityIcon } from "@plane/propel/icons"; -import { EIssueServiceType, TIssue, TIssuePriorities } from "@plane/types"; +import type { TIssue, TIssuePriorities } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // mobx store import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // ui diff --git a/apps/web/core/components/command-palette/actions/issue-actions/change-state.tsx b/apps/web/core/components/command-palette/actions/issue-actions/change-state.tsx index 64d9e4449..336eb231b 100644 --- a/apps/web/core/components/command-palette/actions/issue-actions/change-state.tsx +++ b/apps/web/core/components/command-palette/actions/issue-actions/change-state.tsx @@ -3,7 +3,8 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports -import { EIssueServiceType, TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // store hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // plane web imports diff --git a/apps/web/core/components/command-palette/actions/search-results.tsx b/apps/web/core/components/command-palette/actions/search-results.tsx index a33d85ff7..e73ed71f0 100644 --- a/apps/web/core/components/command-palette/actions/search-results.tsx +++ b/apps/web/core/components/command-palette/actions/search-results.tsx @@ -4,7 +4,7 @@ import { Command } from "cmdk"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports -import { IWorkspaceSearchResults } from "@plane/types"; +import type { IWorkspaceSearchResults } from "@plane/types"; // hooks import { useAppRouter } from "@/hooks/use-app-router"; // plane web imports diff --git a/apps/web/core/components/command-palette/actions/theme-actions.tsx b/apps/web/core/components/command-palette/actions/theme-actions.tsx index 697ffda17..062d7fd0b 100644 --- a/apps/web/core/components/command-palette/actions/theme-actions.tsx +++ b/apps/web/core/components/command-palette/actions/theme-actions.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC, useEffect, useState } from "react"; +import type { FC } from "react"; +import React, { useEffect, useState } from "react"; import { Command } from "cmdk"; import { observer } from "mobx-react"; import { useTheme } from "next-themes"; diff --git a/apps/web/core/components/command-palette/command-modal.tsx b/apps/web/core/components/command-palette/command-modal.tsx index da375c337..280b2d3bc 100644 --- a/apps/web/core/components/command-palette/command-modal.tsx +++ b/apps/web/core/components/command-palette/command-modal.tsx @@ -17,7 +17,7 @@ import { } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { WorkItemsIcon } from "@plane/propel/icons"; -import { IWorkspaceSearchResults } from "@plane/types"; +import type { IWorkspaceSearchResults } from "@plane/types"; import { Loader, ToggleSwitch } from "@plane/ui"; import { cn, getTabIndex } from "@plane/utils"; // components diff --git a/apps/web/core/components/command-palette/command-palette.tsx b/apps/web/core/components/command-palette/command-palette.tsx index a458f01c2..b79b731cb 100644 --- a/apps/web/core/components/command-palette/command-palette.tsx +++ b/apps/web/core/components/command-palette/command-palette.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { useCallback, useEffect, FC, useMemo } from "react"; +import type { FC } from "react"; +import React, { useCallback, useEffect, useMemo } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import useSWR from "swr"; diff --git a/apps/web/core/components/command-palette/shortcuts-modal/modal.tsx b/apps/web/core/components/command-palette/shortcuts-modal/modal.tsx index 0cf5f3ab9..ffd443074 100644 --- a/apps/web/core/components/command-palette/shortcuts-modal/modal.tsx +++ b/apps/web/core/components/command-palette/shortcuts-modal/modal.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useState, Fragment } from "react"; +import type { FC } from "react"; +import { useState, Fragment } from "react"; import { Search, X } from "lucide-react"; import { Dialog, Transition } from "@headlessui/react"; // components diff --git a/apps/web/core/components/comments/card/display.tsx b/apps/web/core/components/comments/card/display.tsx index 68ceb09d1..16ea26378 100644 --- a/apps/web/core/components/comments/card/display.tsx +++ b/apps/web/core/components/comments/card/display.tsx @@ -5,7 +5,8 @@ import { Globe2, Lock } from "lucide-react"; // plane imports import type { EditorRefApi } from "@plane/editor"; import { useHashScroll } from "@plane/hooks"; -import { EIssueCommentAccessSpecifier, type TCommentsOperations, type TIssueComment } from "@plane/types"; +import { EIssueCommentAccessSpecifier } from "@plane/types"; +import type { TCommentsOperations, TIssueComment } from "@plane/types"; import { cn } from "@plane/utils"; // components import { LiteTextEditor } from "@/components/editor/lite-text"; diff --git a/apps/web/core/components/comments/card/root.tsx b/apps/web/core/components/comments/card/root.tsx index 50fc7e1a5..f55d3fd17 100644 --- a/apps/web/core/components/comments/card/root.tsx +++ b/apps/web/core/components/comments/card/root.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useRef, useState } from "react"; +import type { FC } from "react"; +import { useRef, useState } from "react"; import { observer } from "mobx-react"; // plane imports import type { EditorRefApi } from "@plane/editor"; diff --git a/apps/web/core/components/comments/comment-create.tsx b/apps/web/core/components/comments/comment-create.tsx index e2b40641b..a9b2423f9 100644 --- a/apps/web/core/components/comments/comment-create.tsx +++ b/apps/web/core/components/comments/comment-create.tsx @@ -1,4 +1,5 @@ -import { FC, useRef, useState } from "react"; +import type { FC } from "react"; +import { useRef, useState } from "react"; import { observer } from "mobx-react"; import { useForm, Controller } from "react-hook-form"; // plane imports diff --git a/apps/web/core/components/comments/comment-reaction.tsx b/apps/web/core/components/comments/comment-reaction.tsx index 4ab763116..8e3e04b94 100644 --- a/apps/web/core/components/comments/comment-reaction.tsx +++ b/apps/web/core/components/comments/comment-reaction.tsx @@ -1,10 +1,10 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { Tooltip } from "@plane/propel/tooltip"; -import { TCommentsOperations, TIssueComment } from "@plane/types"; +import type { TCommentsOperations, TIssueComment } from "@plane/types"; import { cn } from "@plane/utils"; // helpers import { renderEmoji } from "@/helpers/emoji.helper"; diff --git a/apps/web/core/components/comments/comments.tsx b/apps/web/core/components/comments/comments.tsx index bc15adcc1..9f2cfc6c5 100644 --- a/apps/web/core/components/comments/comments.tsx +++ b/apps/web/core/components/comments/comments.tsx @@ -1,11 +1,12 @@ "use client"; -import React, { FC, useMemo } from "react"; +import type { FC } from "react"; +import React, { useMemo } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports -import { E_SORT_ORDER } from "@plane/constants"; -import { TCommentsOperations, TIssueComment } from "@plane/types"; +import type { E_SORT_ORDER } from "@plane/constants"; +import type { TCommentsOperations, TIssueComment } from "@plane/types"; // local components import { CommentCard } from "./card/root"; import { CommentCreate } from "./comment-create"; diff --git a/apps/web/core/components/comments/quick-actions.tsx b/apps/web/core/components/comments/quick-actions.tsx index 4f62c359d..32f176544 100644 --- a/apps/web/core/components/comments/quick-actions.tsx +++ b/apps/web/core/components/comments/quick-actions.tsx @@ -1,13 +1,15 @@ "use client"; -import { FC, useMemo } from "react"; +import type { FC } from "react"; +import { useMemo } from "react"; import { observer } from "mobx-react"; import { Globe2, Link, Lock, Pencil, Trash2 } from "lucide-react"; // plane imports import { EIssueCommentAccessSpecifier } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import type { TIssueComment, TCommentsOperations } from "@plane/types"; -import { CustomMenu, TContextMenuItem } from "@plane/ui"; +import type { TContextMenuItem } from "@plane/ui"; +import { CustomMenu } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { useUser } from "@/hooks/store/user"; diff --git a/apps/web/core/components/common/access-field.tsx b/apps/web/core/components/common/access-field.tsx index 0a96d7c3c..42006e9f7 100644 --- a/apps/web/core/components/common/access-field.tsx +++ b/apps/web/core/components/common/access-field.tsx @@ -1,4 +1,4 @@ -import { LucideIcon } from "lucide-react"; +import type { LucideIcon } from "lucide-react"; // plane ui import { useTranslation } from "@plane/i18n"; import { Tooltip } from "@plane/propel/tooltip"; diff --git a/apps/web/core/components/common/activity/activity-block.tsx b/apps/web/core/components/common/activity/activity-block.tsx index 7fc8d1d56..caf48975f 100644 --- a/apps/web/core/components/common/activity/activity-block.tsx +++ b/apps/web/core/components/common/activity/activity-block.tsx @@ -1,10 +1,10 @@ "use client"; -import { FC, ReactNode } from "react"; +import type { FC, ReactNode } from "react"; import { Network } from "lucide-react"; // types import { Tooltip } from "@plane/propel/tooltip"; -import { TWorkspaceBaseActivity } from "@plane/types"; +import type { TWorkspaceBaseActivity } from "@plane/types"; // ui // helpers import { renderFormattedTime, renderFormattedDate, calculateTimeAgo } from "@plane/utils"; diff --git a/apps/web/core/components/common/activity/activity-item.tsx b/apps/web/core/components/common/activity/activity-item.tsx index 643d89738..6df28e1d8 100644 --- a/apps/web/core/components/common/activity/activity-item.tsx +++ b/apps/web/core/components/common/activity/activity-item.tsx @@ -1,9 +1,9 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; -import { TProjectActivity } from "@/plane-web/types"; +import type { TProjectActivity } from "@/plane-web/types"; import { ActivityBlockComponent } from "./activity-block"; import { iconsMap, messages } from "./helper"; diff --git a/apps/web/core/components/common/activity/helper.tsx b/apps/web/core/components/common/activity/helper.tsx index 812bdf4f7..48cc39b87 100644 --- a/apps/web/core/components/common/activity/helper.tsx +++ b/apps/web/core/components/common/activity/helper.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { Signal, RotateCcw, @@ -27,7 +27,7 @@ import { // components import { ArchiveIcon, CycleIcon, DoubleCircleIcon, IntakeIcon, ModuleIcon } from "@plane/propel/icons"; import { store } from "@/lib/store-context"; -import { TProjectActivity } from "@/plane-web/types"; +import type { TProjectActivity } from "@/plane-web/types"; type ActivityIconMap = { [key: string]: ReactNode; diff --git a/apps/web/core/components/common/activity/user.tsx b/apps/web/core/components/common/activity/user.tsx index 7eba5cfd1..5da5b305f 100644 --- a/apps/web/core/components/common/activity/user.tsx +++ b/apps/web/core/components/common/activity/user.tsx @@ -1,8 +1,8 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; // types -import { TWorkspaceBaseActivity } from "@plane/types"; +import type { TWorkspaceBaseActivity } from "@plane/types"; // store hooks import { useMember } from "@/hooks/store/use-member"; import { useWorkspace } from "@/hooks/store/use-workspace"; diff --git a/apps/web/core/components/common/breadcrumb-link.tsx b/apps/web/core/components/common/breadcrumb-link.tsx index a0fda7c14..25ee4ee1c 100644 --- a/apps/web/core/components/common/breadcrumb-link.tsx +++ b/apps/web/core/components/common/breadcrumb-link.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { ReactNode, useMemo, FC } from "react"; +import type { ReactNode, FC } from "react"; +import React, { useMemo } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { Breadcrumbs } from "@plane/ui"; diff --git a/apps/web/core/components/common/count-chip.tsx b/apps/web/core/components/common/count-chip.tsx index f44f349bf..ff15e5011 100644 --- a/apps/web/core/components/common/count-chip.tsx +++ b/apps/web/core/components/common/count-chip.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; // import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/common/logo.tsx b/apps/web/core/components/common/logo.tsx index c03f05734..12a7ff06b 100644 --- a/apps/web/core/components/common/logo.tsx +++ b/apps/web/core/components/common/logo.tsx @@ -1,13 +1,13 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; // Due to some weird issue with the import order, the import of useFontFaceObserver // should be after the imported here rather than some below helper functions as it is in the original file // eslint-disable-next-line import/order import useFontFaceObserver from "use-font-face-observer"; // plane imports import { getEmojiSize, LUCIDE_ICONS_LIST, stringToEmoji } from "@plane/propel/emoji-icon-picker"; -import { TLogoProps } from "@plane/types"; +import type { TLogoProps } from "@plane/types"; type Props = { logo: TLogoProps; diff --git a/apps/web/core/components/common/page-access-icon.tsx b/apps/web/core/components/common/page-access-icon.tsx index 9f547a116..bb61dc62b 100644 --- a/apps/web/core/components/common/page-access-icon.tsx +++ b/apps/web/core/components/common/page-access-icon.tsx @@ -1,6 +1,6 @@ import { ArchiveIcon, Earth, Lock } from "lucide-react"; import { EPageAccess } from "@plane/constants"; -import { TPage } from "@plane/types"; +import type { TPage } from "@plane/types"; export const PageAccessIcon = (page: TPage) => (

diff --git a/apps/web/core/components/common/pro-icon.tsx b/apps/web/core/components/common/pro-icon.tsx index 47300b6d6..45f3a698c 100644 --- a/apps/web/core/components/common/pro-icon.tsx +++ b/apps/web/core/components/common/pro-icon.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { Crown } from "lucide-react"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/common/switcher-label.tsx b/apps/web/core/components/common/switcher-label.tsx index 14ed1bb54..7f88c6cdd 100644 --- a/apps/web/core/components/common/switcher-label.tsx +++ b/apps/web/core/components/common/switcher-label.tsx @@ -1,6 +1,6 @@ -import { FC } from "react"; -import { ISvgIcons } from "@plane/propel/icons"; -import { TLogoProps } from "@plane/types"; +import type { FC } from "react"; +import type { ISvgIcons } from "@plane/propel/icons"; +import type { TLogoProps } from "@plane/types"; import { getFileURL, truncateText } from "@plane/utils"; import { Logo } from "@/components/common/logo"; diff --git a/apps/web/core/components/core/activity.tsx b/apps/web/core/components/core/activity.tsx index 33d796928..d50a565e5 100644 --- a/apps/web/core/components/core/activity.tsx +++ b/apps/web/core/components/core/activity.tsx @@ -30,7 +30,7 @@ import { WorkItemsIcon, } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { IIssueActivity } from "@plane/types"; +import type { IIssueActivity } from "@plane/types"; import { renderFormattedDate, generateWorkItemLink, capitalizeFirstLetter } from "@plane/utils"; // helpers import { useLabel } from "@/hooks/store/use-label"; diff --git a/apps/web/core/components/core/app-header.tsx b/apps/web/core/components/core/app-header.tsx index 515165347..f5f7efab4 100644 --- a/apps/web/core/components/core/app-header.tsx +++ b/apps/web/core/components/core/app-header.tsx @@ -1,6 +1,6 @@ "use client"; -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { observer } from "mobx-react"; // plane imports import { Row } from "@plane/ui"; diff --git a/apps/web/core/components/core/content-overflow-HOC.tsx b/apps/web/core/components/core/content-overflow-HOC.tsx index f8089c34b..1bbd5896a 100644 --- a/apps/web/core/components/core/content-overflow-HOC.tsx +++ b/apps/web/core/components/core/content-overflow-HOC.tsx @@ -1,4 +1,5 @@ -import { ReactNode, useEffect, useRef, useState } from "react"; +import type { ReactNode } from "react"; +import { useEffect, useRef, useState } from "react"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/core/content-wrapper.tsx b/apps/web/core/components/core/content-wrapper.tsx index 143ae085e..6aa98c9db 100644 --- a/apps/web/core/components/core/content-wrapper.tsx +++ b/apps/web/core/components/core/content-wrapper.tsx @@ -1,6 +1,6 @@ "use client"; -import { ReactNode } from "react"; +import type { ReactNode } from "react"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/core/description-versions/dropdown-item.tsx b/apps/web/core/components/core/description-versions/dropdown-item.tsx index 37c989f2f..e94e36cf7 100644 --- a/apps/web/core/components/core/description-versions/dropdown-item.tsx +++ b/apps/web/core/components/core/description-versions/dropdown-item.tsx @@ -1,7 +1,7 @@ import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TDescriptionVersion } from "@plane/types"; +import type { TDescriptionVersion } from "@plane/types"; import { Avatar, CustomMenu } from "@plane/ui"; import { calculateTimeAgo, getFileURL } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/core/description-versions/dropdown.tsx b/apps/web/core/components/core/description-versions/dropdown.tsx index bef4f63a3..dc54e47be 100644 --- a/apps/web/core/components/core/description-versions/dropdown.tsx +++ b/apps/web/core/components/core/description-versions/dropdown.tsx @@ -2,14 +2,14 @@ import { observer } from "mobx-react"; import { History } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TDescriptionVersion } from "@plane/types"; +import type { TDescriptionVersion } from "@plane/types"; import { CustomMenu } from "@plane/ui"; import { calculateTimeAgo } from "@plane/utils"; // hooks import { useMember } from "@/hooks/store/use-member"; // local imports import { DescriptionVersionsDropdownItem } from "./dropdown-item"; -import { TDescriptionVersionEntityInformation } from "./root"; +import type { TDescriptionVersionEntityInformation } from "./root"; type Props = { disabled: boolean; diff --git a/apps/web/core/components/core/description-versions/modal.tsx b/apps/web/core/components/core/description-versions/modal.tsx index e79f1c1e4..1dbe5e552 100644 --- a/apps/web/core/components/core/description-versions/modal.tsx +++ b/apps/web/core/components/core/description-versions/modal.tsx @@ -7,7 +7,7 @@ import { useTranslation } from "@plane/i18n"; import { Button, getButtonStyling } from "@plane/propel/button"; import { setToast, TOAST_TYPE } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { TDescriptionVersion } from "@plane/types"; +import type { TDescriptionVersion } from "@plane/types"; import { Avatar, EModalPosition, EModalWidth, Loader, ModalCore } from "@plane/ui"; import { calculateTimeAgo, cn, copyTextToClipboard, getFileURL } from "@plane/utils"; // components diff --git a/apps/web/core/components/core/description-versions/root.tsx b/apps/web/core/components/core/description-versions/root.tsx index abd1ae31e..681350827 100644 --- a/apps/web/core/components/core/description-versions/root.tsx +++ b/apps/web/core/components/core/description-versions/root.tsx @@ -2,7 +2,7 @@ import { useCallback, useState } from "react"; import { observer } from "mobx-react"; import useSWR from "swr"; // plane imports -import { TDescriptionVersionDetails, TDescriptionVersionsListResponse } from "@plane/types"; +import type { TDescriptionVersionDetails, TDescriptionVersionsListResponse } from "@plane/types"; import { cn } from "@plane/utils"; // local imports import { DescriptionVersionsDropdown } from "./dropdown"; diff --git a/apps/web/core/components/core/image-picker-popover.tsx b/apps/web/core/components/core/image-picker-popover.tsx index 3c008525e..44057b499 100644 --- a/apps/web/core/components/core/image-picker-popover.tsx +++ b/apps/web/core/components/core/image-picker-popover.tsx @@ -5,7 +5,8 @@ import { observer } from "mobx-react"; import Image from "next/image"; import { useParams } from "next/navigation"; import { useDropzone } from "react-dropzone"; -import { Control, Controller } from "react-hook-form"; +import type { Control } from "react-hook-form"; +import { Controller } from "react-hook-form"; import useSWR from "swr"; import { Tab, Popover } from "@headlessui/react"; // plane imports diff --git a/apps/web/core/components/core/list/list-item.tsx b/apps/web/core/components/core/list/list-item.tsx index 7138f3a26..f8c1717dc 100644 --- a/apps/web/core/components/core/list/list-item.tsx +++ b/apps/web/core/components/core/list/list-item.tsx @@ -1,5 +1,6 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; // ui import { Tooltip } from "@plane/propel/tooltip"; import { ControlLink, Row } from "@plane/ui"; diff --git a/apps/web/core/components/core/list/list-root.tsx b/apps/web/core/components/core/list/list-root.tsx index bd62efb2e..f8ee3a5f8 100644 --- a/apps/web/core/components/core/list/list-root.tsx +++ b/apps/web/core/components/core/list/list-root.tsx @@ -1,4 +1,5 @@ -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { Row, ERowVariant } from "@plane/ui"; interface IListContainer { diff --git a/apps/web/core/components/core/modals/bulk-delete-issues-modal-item.tsx b/apps/web/core/components/core/modals/bulk-delete-issues-modal-item.tsx index f00defb76..8874c97b9 100644 --- a/apps/web/core/components/core/modals/bulk-delete-issues-modal-item.tsx +++ b/apps/web/core/components/core/modals/bulk-delete-issues-modal-item.tsx @@ -1,7 +1,7 @@ import { observer } from "mobx-react"; import { Combobox } from "@headlessui/react"; // hooks -import { ISearchIssueResponse } from "@plane/types"; +import type { ISearchIssueResponse } from "@plane/types"; // plane web hooks import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier"; diff --git a/apps/web/core/components/core/modals/bulk-delete-issues-modal.tsx b/apps/web/core/components/core/modals/bulk-delete-issues-modal.tsx index d78f89e87..f24638297 100644 --- a/apps/web/core/components/core/modals/bulk-delete-issues-modal.tsx +++ b/apps/web/core/components/core/modals/bulk-delete-issues-modal.tsx @@ -3,14 +3,16 @@ import React, { useEffect, useState } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; -import { SubmitHandler, useForm } from "react-hook-form"; +import type { SubmitHandler } from "react-hook-form"; +import { useForm } from "react-hook-form"; import { Search } from "lucide-react"; import { Combobox, Dialog, Transition } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssuesStoreType, ISearchIssueResponse, IUser } from "@plane/types"; +import type { ISearchIssueResponse, IUser } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { Loader } from "@plane/ui"; // components import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root"; diff --git a/apps/web/core/components/core/modals/existing-issues-list-modal.tsx b/apps/web/core/components/core/modals/existing-issues-list-modal.tsx index f215ff7f2..41a8e0688 100644 --- a/apps/web/core/components/core/modals/existing-issues-list-modal.tsx +++ b/apps/web/core/components/core/modals/existing-issues-list-modal.tsx @@ -9,7 +9,7 @@ import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { ISearchIssueResponse, TProjectIssuesSearchParams } from "@plane/types"; +import type { ISearchIssueResponse, TProjectIssuesSearchParams } from "@plane/types"; // ui import { Loader, ToggleSwitch } from "@plane/ui"; import { generateWorkItemLink, getTabIndex } from "@plane/utils"; diff --git a/apps/web/core/components/core/modals/gpt-assistant-popover.tsx b/apps/web/core/components/core/modals/gpt-assistant-popover.tsx index a1a513b0f..d157be3d7 100644 --- a/apps/web/core/components/core/modals/gpt-assistant-popover.tsx +++ b/apps/web/core/components/core/modals/gpt-assistant-popover.tsx @@ -1,7 +1,8 @@ "use client"; -import React, { useEffect, useState, useRef, Fragment, Ref } from "react"; -import { Placement } from "@popperjs/core"; +import type { Ref } from "react"; +import React, { useEffect, useState, useRef, Fragment } from "react"; +import type { Placement } from "@popperjs/core"; import { Controller, useForm } from "react-hook-form"; // services import { usePopper } from "react-popper"; import { AlertCircle } from "lucide-react"; diff --git a/apps/web/core/components/core/modals/issue-search-modal-empty-state.tsx b/apps/web/core/components/core/modals/issue-search-modal-empty-state.tsx index b94aa9053..1d5428d09 100644 --- a/apps/web/core/components/core/modals/issue-search-modal-empty-state.tsx +++ b/apps/web/core/components/core/modals/issue-search-modal-empty-state.tsx @@ -1,7 +1,7 @@ import React from "react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { ISearchIssueResponse } from "@plane/types"; +import type { ISearchIssueResponse } from "@plane/types"; // components import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root"; import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path"; diff --git a/apps/web/core/components/core/multiple-select/entity-select-action.tsx b/apps/web/core/components/core/multiple-select/entity-select-action.tsx index 13795db93..9fc45cc50 100644 --- a/apps/web/core/components/core/multiple-select/entity-select-action.tsx +++ b/apps/web/core/components/core/multiple-select/entity-select-action.tsx @@ -6,7 +6,7 @@ import { Checkbox } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; // hooks -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; type Props = { className?: string; diff --git a/apps/web/core/components/core/multiple-select/group-select-action.tsx b/apps/web/core/components/core/multiple-select/group-select-action.tsx index 3040f2d1e..78b106d0f 100644 --- a/apps/web/core/components/core/multiple-select/group-select-action.tsx +++ b/apps/web/core/components/core/multiple-select/group-select-action.tsx @@ -4,7 +4,7 @@ import { Checkbox } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; // hooks -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; type Props = { className?: string; diff --git a/apps/web/core/components/core/multiple-select/select-group.tsx b/apps/web/core/components/core/multiple-select/select-group.tsx index 6110642d1..7f3aec71e 100644 --- a/apps/web/core/components/core/multiple-select/select-group.tsx +++ b/apps/web/core/components/core/multiple-select/select-group.tsx @@ -1,6 +1,7 @@ import { observer } from "mobx-react"; // hooks -import { TSelectionHelper, useMultipleSelect } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; +import { useMultipleSelect } from "@/hooks/use-multiple-select"; type Props = { children: (helpers: TSelectionHelper) => React.ReactNode; diff --git a/apps/web/core/components/core/render-if-visible-HOC.tsx b/apps/web/core/components/core/render-if-visible-HOC.tsx index f00cf78ee..9e77113a8 100644 --- a/apps/web/core/components/core/render-if-visible-HOC.tsx +++ b/apps/web/core/components/core/render-if-visible-HOC.tsx @@ -1,4 +1,5 @@ -import React, { useState, useRef, useEffect, ReactNode, MutableRefObject } from "react"; +import type { ReactNode, MutableRefObject } from "react"; +import React, { useState, useRef, useEffect } from "react"; import { cn } from "@plane/utils"; type Props = { diff --git a/apps/web/core/components/core/sidebar/progress-chart.tsx b/apps/web/core/components/core/sidebar/progress-chart.tsx index ac1f1cb5a..135454cf4 100644 --- a/apps/web/core/components/core/sidebar/progress-chart.tsx +++ b/apps/web/core/components/core/sidebar/progress-chart.tsx @@ -1,7 +1,7 @@ import React from "react"; // plane imports import { AreaChart } from "@plane/propel/charts/area-chart"; -import { TChartData, TModuleCompletionChartDistribution } from "@plane/types"; +import type { TChartData, TModuleCompletionChartDistribution } from "@plane/types"; import { renderFormattedDateWithoutYear } from "@plane/utils"; type Props = { diff --git a/apps/web/core/components/core/sidebar/progress-stats/shared.ts b/apps/web/core/components/core/sidebar/progress-stats/shared.ts index b0b549cd5..38f2352f3 100644 --- a/apps/web/core/components/core/sidebar/progress-stats/shared.ts +++ b/apps/web/core/components/core/sidebar/progress-stats/shared.ts @@ -1,5 +1,5 @@ -import { TWorkItemFilterCondition } from "@plane/shared-state"; -import { TFilterConditionNodeForDisplay, TFilterValue, TWorkItemFilterProperty } from "@plane/types"; +import type { TWorkItemFilterCondition } from "@plane/shared-state"; +import type { TFilterConditionNodeForDisplay, TFilterValue, TWorkItemFilterProperty } from "@plane/types"; export const PROGRESS_STATS = [ { diff --git a/apps/web/core/components/core/sidebar/progress-stats/state_group.tsx b/apps/web/core/components/core/sidebar/progress-stats/state_group.tsx index 8aee13440..317d426d6 100644 --- a/apps/web/core/components/core/sidebar/progress-stats/state_group.tsx +++ b/apps/web/core/components/core/sidebar/progress-stats/state_group.tsx @@ -1,7 +1,7 @@ import { observer } from "mobx-react"; // plane imports import { StateGroupIcon } from "@plane/propel/icons"; -import { TStateGroups } from "@plane/types"; +import type { TStateGroups } from "@plane/types"; // components import { SingleProgressStats } from "@/components/core/sidebar/single-progress-stats"; diff --git a/apps/web/core/components/core/theme/color-picker-input.tsx b/apps/web/core/components/core/theme/color-picker-input.tsx index dbaa13aac..be9bab9d5 100644 --- a/apps/web/core/components/core/theme/color-picker-input.tsx +++ b/apps/web/core/components/core/theme/color-picker-input.tsx @@ -1,10 +1,11 @@ "use client"; -import { FC, Fragment } from "react"; +import type { FC } from "react"; +import { Fragment } from "react"; // react-form -import { ColorResult, SketchPicker } from "react-color"; -import { +import type { ColorResult } from "react-color"; +import { SketchPicker } from "react-color"; +import type { Control, - Controller, FieldError, FieldErrorsImpl, Merge, @@ -12,11 +13,12 @@ import { UseFormSetValue, UseFormWatch, } from "react-hook-form"; +import { Controller } from "react-hook-form"; // react-color // component import { Palette } from "lucide-react"; import { Popover, Transition } from "@headlessui/react"; -import { IUserTheme } from "@plane/types"; +import type { IUserTheme } from "@plane/types"; import { Input } from "@plane/ui"; // icons // types diff --git a/apps/web/core/components/core/theme/custom-theme-selector.tsx b/apps/web/core/components/core/theme/custom-theme-selector.tsx index ca5f376ce..c9284755e 100644 --- a/apps/web/core/components/core/theme/custom-theme-selector.tsx +++ b/apps/web/core/components/core/theme/custom-theme-selector.tsx @@ -8,7 +8,7 @@ import { PROFILE_SETTINGS_TRACKER_ELEMENTS, PROFILE_SETTINGS_TRACKER_EVENTS } fr import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { setPromiseToast } from "@plane/propel/toast"; -import { IUserTheme } from "@plane/types"; +import type { IUserTheme } from "@plane/types"; // ui import { InputColorPicker } from "@plane/ui"; // hooks diff --git a/apps/web/core/components/core/theme/theme-switch.tsx b/apps/web/core/components/core/theme/theme-switch.tsx index 1a188fa03..29a2efe96 100644 --- a/apps/web/core/components/core/theme/theme-switch.tsx +++ b/apps/web/core/components/core/theme/theme-switch.tsx @@ -1,8 +1,9 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; // plane imports -import { I_THEME_OPTION, THEME_OPTIONS } from "@plane/constants"; +import type { I_THEME_OPTION } from "@plane/constants"; +import { THEME_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // constants import { CustomSelect } from "@plane/ui"; diff --git a/apps/web/core/components/cycles/active-cycle/cycle-stats.tsx b/apps/web/core/components/cycles/active-cycle/cycle-stats.tsx index e25df3008..8bdd0ad6c 100644 --- a/apps/web/core/components/cycles/active-cycle/cycle-stats.tsx +++ b/apps/web/core/components/cycles/active-cycle/cycle-stats.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, Fragment, useCallback, useRef, useState } from "react"; +import type { FC } from "react"; +import { Fragment, useCallback, useRef, useState } from "react"; import { isEmpty } from "lodash-es"; import { observer } from "mobx-react"; import { CalendarCheck } from "lucide-react"; @@ -10,8 +11,9 @@ import { Tab } from "@headlessui/react"; import { useTranslation } from "@plane/i18n"; import { PriorityIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { TWorkItemFilterCondition } from "@plane/shared-state"; -import { EIssuesStoreType, ICycle } from "@plane/types"; +import type { TWorkItemFilterCondition } from "@plane/shared-state"; +import type { ICycle } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; // ui import { Loader, Avatar } from "@plane/ui"; import { cn, renderFormattedDate, renderFormattedDateWithoutYear, getFileURL } from "@plane/utils"; @@ -29,7 +31,7 @@ import useLocalStorage from "@/hooks/use-local-storage"; import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path"; import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier"; // store -import { ActiveCycleIssueDetails } from "@/store/issue/cycle"; +import type { ActiveCycleIssueDetails } from "@/store/issue/cycle"; export type ActiveCycleStatsProps = { workspaceSlug: string; diff --git a/apps/web/core/components/cycles/active-cycle/productivity.tsx b/apps/web/core/components/cycles/active-cycle/productivity.tsx index 63d085098..d7677cbf8 100644 --- a/apps/web/core/components/cycles/active-cycle/productivity.tsx +++ b/apps/web/core/components/cycles/active-cycle/productivity.tsx @@ -1,9 +1,10 @@ -import { FC, Fragment } from "react"; +import type { FC } from "react"; +import { Fragment } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; // plane imports import { useTranslation } from "@plane/i18n"; -import { ICycle, TCycleEstimateType } from "@plane/types"; +import type { ICycle, TCycleEstimateType } from "@plane/types"; import { Loader } from "@plane/ui"; // components import ProgressChart from "@/components/core/sidebar/progress-chart"; diff --git a/apps/web/core/components/cycles/active-cycle/progress.tsx b/apps/web/core/components/cycles/active-cycle/progress.tsx index db1a7721b..d2e53c09f 100644 --- a/apps/web/core/components/cycles/active-cycle/progress.tsx +++ b/apps/web/core/components/cycles/active-cycle/progress.tsx @@ -1,12 +1,12 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { PROGRESS_STATE_GROUPS_DETAILS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TWorkItemFilterCondition } from "@plane/shared-state"; -import { ICycle } from "@plane/types"; +import type { TWorkItemFilterCondition } from "@plane/shared-state"; +import type { ICycle } from "@plane/types"; import { LinearProgressIndicator, Loader } from "@plane/ui"; // components import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root"; diff --git a/apps/web/core/components/cycles/active-cycle/use-cycles-details.ts b/apps/web/core/components/cycles/active-cycle/use-cycles-details.ts index 54a3b506e..7f9154320 100644 --- a/apps/web/core/components/cycles/active-cycle/use-cycles-details.ts +++ b/apps/web/core/components/cycles/active-cycle/use-cycles-details.ts @@ -2,7 +2,7 @@ import { useCallback } from "react"; import { useRouter } from "next/navigation"; import useSWR from "swr"; // plane imports -import { TWorkItemFilterCondition } from "@plane/shared-state"; +import type { TWorkItemFilterCondition } from "@plane/shared-state"; import { EIssuesStoreType } from "@plane/types"; // constants import { CYCLE_ISSUES_WITH_PARAMS } from "@/constants/fetch-keys"; diff --git a/apps/web/core/components/cycles/analytics-sidebar/issue-progress.tsx b/apps/web/core/components/cycles/analytics-sidebar/issue-progress.tsx index 22337ce26..224e1ff67 100644 --- a/apps/web/core/components/cycles/analytics-sidebar/issue-progress.tsx +++ b/apps/web/core/components/cycles/analytics-sidebar/issue-progress.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useMemo } from "react"; +import type { FC } from "react"; +import { useMemo } from "react"; import { isEmpty } from "lodash-es"; import { observer } from "mobx-react"; import { useSearchParams } from "next/navigation"; @@ -8,7 +9,8 @@ import { ChevronUp, ChevronDown } from "lucide-react"; import { Disclosure, Transition } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { EIssuesStoreType, ICycle, TCyclePlotType, TProgressSnapshot } from "@plane/types"; +import type { ICycle, TCyclePlotType, TProgressSnapshot } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { getDate } from "@plane/utils"; // hooks import { useCycle } from "@/hooks/store/use-cycle"; diff --git a/apps/web/core/components/cycles/analytics-sidebar/progress-stats.tsx b/apps/web/core/components/cycles/analytics-sidebar/progress-stats.tsx index eaa60b6bd..2072a30df 100644 --- a/apps/web/core/components/cycles/analytics-sidebar/progress-stats.tsx +++ b/apps/web/core/components/cycles/analytics-sidebar/progress-stats.tsx @@ -1,22 +1,22 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { Tab } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TWorkItemFilterCondition } from "@plane/shared-state"; -import { TCycleDistribution, TCycleEstimateDistribution, TCyclePlotType } from "@plane/types"; +import type { TWorkItemFilterCondition } from "@plane/shared-state"; +import type { TCycleDistribution, TCycleEstimateDistribution, TCyclePlotType } from "@plane/types"; import { cn, toFilterArray } from "@plane/utils"; // components -import { AssigneeStatComponent, TAssigneeData } from "@/components/core/sidebar/progress-stats/assignee"; -import { LabelStatComponent, TLabelData } from "@/components/core/sidebar/progress-stats/label"; -import { - createFilterUpdateHandler, - PROGRESS_STATS, - TSelectedFilterProgressStats, -} from "@/components/core/sidebar/progress-stats/shared"; -import { StateGroupStatComponent, TStateGroupData } from "@/components/core/sidebar/progress-stats/state_group"; +import type { TAssigneeData } from "@/components/core/sidebar/progress-stats/assignee"; +import { AssigneeStatComponent } from "@/components/core/sidebar/progress-stats/assignee"; +import type { TLabelData } from "@/components/core/sidebar/progress-stats/label"; +import { LabelStatComponent } from "@/components/core/sidebar/progress-stats/label"; +import type { TSelectedFilterProgressStats } from "@/components/core/sidebar/progress-stats/shared"; +import { createFilterUpdateHandler, PROGRESS_STATS } from "@/components/core/sidebar/progress-stats/shared"; +import type { TStateGroupData } from "@/components/core/sidebar/progress-stats/state_group"; +import { StateGroupStatComponent } from "@/components/core/sidebar/progress-stats/state_group"; // helpers // hooks import useLocalStorage from "@/hooks/use-local-storage"; diff --git a/apps/web/core/components/cycles/analytics-sidebar/sidebar-details.tsx b/apps/web/core/components/cycles/analytics-sidebar/sidebar-details.tsx index d53e9da1a..e3e83216a 100644 --- a/apps/web/core/components/cycles/analytics-sidebar/sidebar-details.tsx +++ b/apps/web/core/components/cycles/analytics-sidebar/sidebar-details.tsx @@ -1,5 +1,6 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { isEmpty } from "lodash-es"; import { observer } from "mobx-react"; import { SquareUser, Users } from "lucide-react"; @@ -7,7 +8,7 @@ import { SquareUser, Users } from "lucide-react"; import { EEstimateSystem } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { WorkItemsIcon } from "@plane/propel/icons"; -import { ICycle } from "@plane/types"; +import type { ICycle } from "@plane/types"; // plane ui import { Avatar, AvatarGroup, TextArea } from "@plane/ui"; // helpers diff --git a/apps/web/core/components/cycles/analytics-sidebar/sidebar-header.tsx b/apps/web/core/components/cycles/analytics-sidebar/sidebar-header.tsx index 41aae0cba..0c84571c9 100644 --- a/apps/web/core/components/cycles/analytics-sidebar/sidebar-header.tsx +++ b/apps/web/core/components/cycles/analytics-sidebar/sidebar-header.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC, useEffect } from "react"; +import type { FC } from "react"; +import React, { useEffect } from "react"; import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; import { ArrowRight, ChevronRight } from "lucide-react"; @@ -14,7 +15,7 @@ import { } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { ICycle } from "@plane/types"; +import type { ICycle } from "@plane/types"; import { getDate, renderFormattedPayloadDate } from "@plane/utils"; // components import { DateRangeDropdown } from "@/components/dropdowns/date-range"; diff --git a/apps/web/core/components/cycles/applied-filters/root.tsx b/apps/web/core/components/cycles/applied-filters/root.tsx index 77fa8f160..1ee80e738 100644 --- a/apps/web/core/components/cycles/applied-filters/root.tsx +++ b/apps/web/core/components/cycles/applied-filters/root.tsx @@ -3,7 +3,7 @@ import { X } from "lucide-react"; // plane imports import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TCycleFilters } from "@plane/types"; +import type { TCycleFilters } from "@plane/types"; import { Tag } from "@plane/ui"; import { replaceUnderscoreIfSnakeCase } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/cycles/archived-cycles/header.tsx b/apps/web/core/components/cycles/archived-cycles/header.tsx index 15a2b4c6d..dbbb93dc1 100644 --- a/apps/web/core/components/cycles/archived-cycles/header.tsx +++ b/apps/web/core/components/cycles/archived-cycles/header.tsx @@ -1,4 +1,5 @@ -import { FC, useCallback, useRef, useState } from "react"; +import type { FC } from "react"; +import { useCallback, useRef, useState } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // icons diff --git a/apps/web/core/components/cycles/archived-cycles/root.tsx b/apps/web/core/components/cycles/archived-cycles/root.tsx index ca8c8dc5b..93c18a048 100644 --- a/apps/web/core/components/cycles/archived-cycles/root.tsx +++ b/apps/web/core/components/cycles/archived-cycles/root.tsx @@ -4,7 +4,7 @@ import { useParams } from "next/navigation"; import useSWR from "swr"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TCycleFilters } from "@plane/types"; +import type { TCycleFilters } from "@plane/types"; import { calculateTotalFilters } from "@plane/utils"; // components import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root"; diff --git a/apps/web/core/components/cycles/archived-cycles/view.tsx b/apps/web/core/components/cycles/archived-cycles/view.tsx index fd0c8fe41..e5a2fd0db 100644 --- a/apps/web/core/components/cycles/archived-cycles/view.tsx +++ b/apps/web/core/components/cycles/archived-cycles/view.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import Image from "next/image"; // components diff --git a/apps/web/core/components/cycles/cycles-view-header.tsx b/apps/web/core/components/cycles/cycles-view-header.tsx index 4976a33f5..4276c1ed2 100644 --- a/apps/web/core/components/cycles/cycles-view-header.tsx +++ b/apps/web/core/components/cycles/cycles-view-header.tsx @@ -6,7 +6,7 @@ import { ListFilter, Search, X } from "lucide-react"; import { useOutsideClickDetector } from "@plane/hooks"; // types import { useTranslation } from "@plane/i18n"; -import { TCycleFilters } from "@plane/types"; +import type { TCycleFilters } from "@plane/types"; import { cn, calculateTotalFilters } from "@plane/utils"; // components import { FiltersDropdown } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/cycles/cycles-view.tsx b/apps/web/core/components/cycles/cycles-view.tsx index a15596b17..2f9216454 100644 --- a/apps/web/core/components/cycles/cycles-view.tsx +++ b/apps/web/core/components/cycles/cycles-view.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import Image from "next/image"; // components diff --git a/apps/web/core/components/cycles/delete-modal.tsx b/apps/web/core/components/cycles/delete-modal.tsx index 099bdba05..2a4067252 100644 --- a/apps/web/core/components/cycles/delete-modal.tsx +++ b/apps/web/core/components/cycles/delete-modal.tsx @@ -7,7 +7,7 @@ import { useParams, useSearchParams } from "next/navigation"; import { PROJECT_ERROR_MESSAGES, CYCLE_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { ICycle } from "@plane/types"; +import type { ICycle } from "@plane/types"; // ui import { AlertModalCore } from "@plane/ui"; // helpers diff --git a/apps/web/core/components/cycles/dropdowns/estimate-type-dropdown.tsx b/apps/web/core/components/cycles/dropdowns/estimate-type-dropdown.tsx index 278d0fb12..56761b3ee 100644 --- a/apps/web/core/components/cycles/dropdowns/estimate-type-dropdown.tsx +++ b/apps/web/core/components/cycles/dropdowns/estimate-type-dropdown.tsx @@ -1,6 +1,7 @@ import React from "react"; import { observer } from "mobx-react"; -import { EEstimateSystem, TCycleEstimateType } from "@plane/types"; +import type { TCycleEstimateType } from "@plane/types"; +import { EEstimateSystem } from "@plane/types"; import { CustomSelect } from "@plane/ui"; import { useProjectEstimates } from "@/hooks/store/estimates"; import { useCycle } from "@/hooks/store/use-cycle"; diff --git a/apps/web/core/components/cycles/dropdowns/filters/root.tsx b/apps/web/core/components/cycles/dropdowns/filters/root.tsx index ff32a4b23..550d7daf7 100644 --- a/apps/web/core/components/cycles/dropdowns/filters/root.tsx +++ b/apps/web/core/components/cycles/dropdowns/filters/root.tsx @@ -2,7 +2,7 @@ import { useState } from "react"; import { observer } from "mobx-react"; import { Search, X } from "lucide-react"; // plane imports -import { TCycleFilters, TCycleGroups } from "@plane/types"; +import type { TCycleFilters, TCycleGroups } from "@plane/types"; // hooks import { usePlatformOS } from "@/hooks/use-platform-os"; // local imports diff --git a/apps/web/core/components/cycles/dropdowns/filters/status.tsx b/apps/web/core/components/cycles/dropdowns/filters/status.tsx index 70cde0b66..482aaabd6 100644 --- a/apps/web/core/components/cycles/dropdowns/filters/status.tsx +++ b/apps/web/core/components/cycles/dropdowns/filters/status.tsx @@ -2,7 +2,7 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; import { CYCLE_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TCycleGroups } from "@plane/types"; +import type { TCycleGroups } from "@plane/types"; // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; // types diff --git a/apps/web/core/components/cycles/form.tsx b/apps/web/core/components/cycles/form.tsx index 86122719e..8206501c9 100644 --- a/apps/web/core/components/cycles/form.tsx +++ b/apps/web/core/components/cycles/form.tsx @@ -7,7 +7,7 @@ import { ETabIndices } from "@plane/constants"; // types import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; -import { ICycle } from "@plane/types"; +import type { ICycle } from "@plane/types"; // ui import { Input, TextArea } from "@plane/ui"; import { getDate, renderFormattedPayloadDate, getTabIndex } from "@plane/utils"; diff --git a/apps/web/core/components/cycles/list/cycle-list-group-header.tsx b/apps/web/core/components/cycles/list/cycle-list-group-header.tsx index 11e2f3968..5ab265dcf 100644 --- a/apps/web/core/components/cycles/list/cycle-list-group-header.tsx +++ b/apps/web/core/components/cycles/list/cycle-list-group-header.tsx @@ -1,10 +1,11 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { ChevronDown } from "lucide-react"; // types import { CycleGroupIcon } from "@plane/propel/icons"; -import { TCycleGroups } from "@plane/types"; +import type { TCycleGroups } from "@plane/types"; // icons import { Row } from "@plane/ui"; // helpers diff --git a/apps/web/core/components/cycles/list/cycle-list-item-action.tsx b/apps/web/core/components/cycles/list/cycle-list-item-action.tsx index 2c9930832..9a3e256b0 100644 --- a/apps/web/core/components/cycles/list/cycle-list-item-action.tsx +++ b/apps/web/core/components/cycles/list/cycle-list-item-action.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC, MouseEvent, useEffect, useMemo, useState } from "react"; +import type { FC, MouseEvent } from "react"; +import React, { useEffect, useMemo, useState } from "react"; import { observer } from "mobx-react"; import { useParams, usePathname, useSearchParams } from "next/navigation"; import { useForm } from "react-hook-form"; @@ -18,7 +19,7 @@ import { useTranslation } from "@plane/i18n"; import { TransferIcon, WorkItemsIcon } from "@plane/propel/icons"; import { setPromiseToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { ICycle, TCycleGroups } from "@plane/types"; +import type { ICycle, TCycleGroups } from "@plane/types"; import { Avatar, AvatarGroup, FavoriteStar } from "@plane/ui"; import { getDate, getFileURL, generateQueryParams } from "@plane/utils"; // components diff --git a/apps/web/core/components/cycles/list/cycle-list-project-group-header.tsx b/apps/web/core/components/cycles/list/cycle-list-project-group-header.tsx index 702edd6aa..fdf9b1d42 100644 --- a/apps/web/core/components/cycles/list/cycle-list-project-group-header.tsx +++ b/apps/web/core/components/cycles/list/cycle-list-project-group-header.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { ChevronRight } from "lucide-react"; // icons diff --git a/apps/web/core/components/cycles/list/cycles-list-item.tsx b/apps/web/core/components/cycles/list/cycles-list-item.tsx index d4bbde54c..6f8aec9c7 100644 --- a/apps/web/core/components/cycles/list/cycles-list-item.tsx +++ b/apps/web/core/components/cycles/list/cycles-list-item.tsx @@ -1,5 +1,6 @@ "use client"; -import { FC, MouseEvent, useRef } from "react"; +import type { FC, MouseEvent } from "react"; +import { useRef } from "react"; import { observer } from "mobx-react"; import { usePathname, useSearchParams } from "next/navigation"; import { Check } from "lucide-react"; diff --git a/apps/web/core/components/cycles/list/root.tsx b/apps/web/core/components/cycles/list/root.tsx index 4e59d2c5d..f50363e24 100644 --- a/apps/web/core/components/cycles/list/root.tsx +++ b/apps/web/core/components/cycles/list/root.tsx @@ -1,4 +1,5 @@ -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { Disclosure } from "@headlessui/react"; // components diff --git a/apps/web/core/components/cycles/quick-actions.tsx b/apps/web/core/components/cycles/quick-actions.tsx index 3d0a59a69..242e91eca 100644 --- a/apps/web/core/components/cycles/quick-actions.tsx +++ b/apps/web/core/components/cycles/quick-actions.tsx @@ -15,7 +15,8 @@ import { import { useTranslation } from "@plane/i18n"; import { ArchiveIcon } from "@plane/propel/icons"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { ContextMenu, CustomMenu, TContextMenuItem } from "@plane/ui"; +import type { TContextMenuItem } from "@plane/ui"; +import { ContextMenu, CustomMenu } from "@plane/ui"; import { copyUrlToClipboard, cn } from "@plane/utils"; // helpers // hooks diff --git a/apps/web/core/components/dropdowns/buttons.tsx b/apps/web/core/components/dropdowns/buttons.tsx index 245fd7ccc..b3d5355bd 100644 --- a/apps/web/core/components/dropdowns/buttons.tsx +++ b/apps/web/core/components/dropdowns/buttons.tsx @@ -6,7 +6,7 @@ import { cn } from "@plane/utils"; // types import { usePlatformOS } from "@/hooks/use-platform-os"; import { BACKGROUND_BUTTON_VARIANTS, BORDER_BUTTON_VARIANTS } from "./constants"; -import { TButtonVariants } from "./types"; +import type { TButtonVariants } from "./types"; export type DropdownButtonProps = { children: React.ReactNode; diff --git a/apps/web/core/components/dropdowns/constants.ts b/apps/web/core/components/dropdowns/constants.ts index ce52ad505..9451b1fca 100644 --- a/apps/web/core/components/dropdowns/constants.ts +++ b/apps/web/core/components/dropdowns/constants.ts @@ -1,5 +1,5 @@ // types -import { TButtonVariants } from "./types"; +import type { TButtonVariants } from "./types"; export const BORDER_BUTTON_VARIANTS: TButtonVariants[] = ["border-with-text", "border-without-text"]; diff --git a/apps/web/core/components/dropdowns/cycle/cycle-options.tsx b/apps/web/core/components/dropdowns/cycle/cycle-options.tsx index 2166869a4..3bde0dfca 100644 --- a/apps/web/core/components/dropdowns/cycle/cycle-options.tsx +++ b/apps/web/core/components/dropdowns/cycle/cycle-options.tsx @@ -1,7 +1,8 @@ "use client"; -import { FC, useEffect, useRef, useState } from "react"; -import { Placement } from "@popperjs/core"; +import type { FC } from "react"; +import { useEffect, useRef, useState } from "react"; +import type { Placement } from "@popperjs/core"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { usePopper } from "react-popper"; @@ -12,7 +13,7 @@ import { Combobox } from "@headlessui/react"; import { useTranslation } from "@plane/i18n"; // icon import { CycleGroupIcon, CycleIcon } from "@plane/propel/icons"; -import { TCycleGroups } from "@plane/types"; +import type { TCycleGroups } from "@plane/types"; // ui // store hooks import { useCycle } from "@/hooks/store/use-cycle"; diff --git a/apps/web/core/components/dropdowns/cycle/index.tsx b/apps/web/core/components/dropdowns/cycle/index.tsx index dc58bca0c..15569315c 100644 --- a/apps/web/core/components/dropdowns/cycle/index.tsx +++ b/apps/web/core/components/dropdowns/cycle/index.tsx @@ -1,6 +1,7 @@ "use client"; -import { ReactNode, useRef, useState } from "react"; +import type { ReactNode } from "react"; +import { useRef, useState } from "react"; import { observer } from "mobx-react"; import { ChevronDown } from "lucide-react"; import { useTranslation } from "@plane/i18n"; @@ -15,7 +16,7 @@ import { useDropdown } from "@/hooks/use-dropdown"; // local components and constants import { DropdownButton } from "../buttons"; import { BUTTON_VARIANTS_WITH_TEXT } from "../constants"; -import { TDropdownProps } from "../types"; +import type { TDropdownProps } from "../types"; import { CycleOptions } from "./cycle-options"; type Props = TDropdownProps & { diff --git a/apps/web/core/components/dropdowns/date-range.tsx b/apps/web/core/components/dropdowns/date-range.tsx index a34abcc98..83f0c904e 100644 --- a/apps/web/core/components/dropdowns/date-range.tsx +++ b/apps/web/core/components/dropdowns/date-range.tsx @@ -1,7 +1,7 @@ "use client"; import React, { useEffect, useRef, useState } from "react"; -import { Placement } from "@popperjs/core"; +import type { Placement } from "@popperjs/core"; import { observer } from "mobx-react"; import { createPortal } from "react-dom"; import { usePopper } from "react-popper"; @@ -10,7 +10,8 @@ import { Combobox } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; // ui -import { Calendar, DateRange, Matcher } from "@plane/propel/calendar"; +import type { DateRange, Matcher } from "@plane/propel/calendar"; +import { Calendar } from "@plane/propel/calendar"; import { ComboDropDown } from "@plane/ui"; import { cn, renderFormattedDate } from "@plane/utils"; // helpers @@ -21,7 +22,7 @@ import { useDropdown } from "@/hooks/use-dropdown"; import { DropdownButton } from "./buttons"; import { MergedDateDisplay } from "./merged-date"; // types -import { TButtonVariants } from "./types"; +import type { TButtonVariants } from "./types"; type Props = { applyButtonText?: string; diff --git a/apps/web/core/components/dropdowns/date.tsx b/apps/web/core/components/dropdowns/date.tsx index b24713e84..2600d42b7 100644 --- a/apps/web/core/components/dropdowns/date.tsx +++ b/apps/web/core/components/dropdowns/date.tsx @@ -7,7 +7,8 @@ import { usePopper } from "react-popper"; import { CalendarDays, X } from "lucide-react"; import { Combobox } from "@headlessui/react"; // ui -import { Calendar, Matcher } from "@plane/propel/calendar"; +import type { Matcher } from "@plane/propel/calendar"; +import { Calendar } from "@plane/propel/calendar"; import { ComboDropDown } from "@plane/ui"; import { cn, renderFormattedDate, getDate } from "@plane/utils"; // helpers @@ -19,7 +20,7 @@ import { DropdownButton } from "./buttons"; // constants import { BUTTON_VARIANTS_WITH_TEXT } from "./constants"; // types -import { TDropdownProps } from "./types"; +import type { TDropdownProps } from "./types"; type Props = TDropdownProps & { clearIconClassName?: string; diff --git a/apps/web/core/components/dropdowns/estimate.tsx b/apps/web/core/components/dropdowns/estimate.tsx index 296fbe601..3a8ec9174 100644 --- a/apps/web/core/components/dropdowns/estimate.tsx +++ b/apps/web/core/components/dropdowns/estimate.tsx @@ -1,4 +1,5 @@ -import { ReactNode, useRef, useState } from "react"; +import type { ReactNode } from "react"; +import { useRef, useState } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { usePopper } from "react-popper"; @@ -17,7 +18,7 @@ import { useDropdown } from "@/hooks/use-dropdown"; import { DropdownButton } from "./buttons"; import { BUTTON_VARIANTS_WITH_TEXT } from "./constants"; // types -import { TDropdownProps } from "./types"; +import type { TDropdownProps } from "./types"; type Props = TDropdownProps & { button?: ReactNode; diff --git a/apps/web/core/components/dropdowns/member/avatar.tsx b/apps/web/core/components/dropdowns/member/avatar.tsx index 9c8cb8775..5dc01268a 100644 --- a/apps/web/core/components/dropdowns/member/avatar.tsx +++ b/apps/web/core/components/dropdowns/member/avatar.tsx @@ -1,7 +1,8 @@ "use client"; import { observer } from "mobx-react"; -import { LucideIcon, Users } from "lucide-react"; +import type { LucideIcon } from "lucide-react"; +import { Users } from "lucide-react"; // plane ui import { Avatar, AvatarGroup } from "@plane/ui"; import { cn, getFileURL } from "@plane/utils"; diff --git a/apps/web/core/components/dropdowns/member/base.tsx b/apps/web/core/components/dropdowns/member/base.tsx index ef17e9482..64ee88450 100644 --- a/apps/web/core/components/dropdowns/member/base.tsx +++ b/apps/web/core/components/dropdowns/member/base.tsx @@ -1,9 +1,10 @@ import { useRef, useState } from "react"; import { observer } from "mobx-react"; -import { ChevronDown, LucideIcon } from "lucide-react"; +import type { LucideIcon } from "lucide-react"; +import { ChevronDown } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { IUserLite } from "@plane/types"; +import type { IUserLite } from "@plane/types"; import { ComboDropDown } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; @@ -14,7 +15,7 @@ import { DropdownButton } from "../buttons"; import { BUTTON_VARIANTS_WITH_TEXT } from "../constants"; import { ButtonAvatars } from "./avatar"; import { MemberOptions } from "./member-options"; -import { MemberDropdownProps } from "./types"; +import type { MemberDropdownProps } from "./types"; type TMemberDropdownBaseProps = { getUserDetails: (userId: string) => IUserLite | undefined; diff --git a/apps/web/core/components/dropdowns/member/dropdown.tsx b/apps/web/core/components/dropdowns/member/dropdown.tsx index 47347c370..8708b880c 100644 --- a/apps/web/core/components/dropdowns/member/dropdown.tsx +++ b/apps/web/core/components/dropdowns/member/dropdown.tsx @@ -1,11 +1,11 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; -import { LucideIcon } from "lucide-react"; +import type { LucideIcon } from "lucide-react"; // hooks import { useMember } from "@/hooks/store/use-member"; // local imports import { MemberDropdownBase } from "./base"; -import { MemberDropdownProps } from "./types"; +import type { MemberDropdownProps } from "./types"; type TMemberDropdownProps = { icon?: LucideIcon; diff --git a/apps/web/core/components/dropdowns/member/member-options.tsx b/apps/web/core/components/dropdowns/member/member-options.tsx index 6f7cf99cc..f89396225 100644 --- a/apps/web/core/components/dropdowns/member/member-options.tsx +++ b/apps/web/core/components/dropdowns/member/member-options.tsx @@ -1,7 +1,7 @@ "use client"; import { useEffect, useRef, useState } from "react"; -import { Placement } from "@popperjs/core"; +import type { Placement } from "@popperjs/core"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { createPortal } from "react-dom"; @@ -12,7 +12,7 @@ import { Combobox } from "@headlessui/react"; import { useTranslation } from "@plane/i18n"; import { SuspendedUserIcon } from "@plane/propel/icons"; import { EPillSize, EPillVariant, Pill } from "@plane/propel/pill"; -import { IUserLite } from "@plane/types"; +import type { IUserLite } from "@plane/types"; import { Avatar } from "@plane/ui"; import { cn, getFileURL } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/dropdowns/member/types.d.ts b/apps/web/core/components/dropdowns/member/types.d.ts index 9bdc5192c..926183016 100644 --- a/apps/web/core/components/dropdowns/member/types.d.ts +++ b/apps/web/core/components/dropdowns/member/types.d.ts @@ -1,4 +1,4 @@ -import { TDropdownProps } from "../types"; +import type { TDropdownProps } from "../types"; export type MemberDropdownProps = TDropdownProps & { button?: React.ReactNode; diff --git a/apps/web/core/components/dropdowns/module/base.tsx b/apps/web/core/components/dropdowns/module/base.tsx index 5e0965f9a..7743c28ea 100644 --- a/apps/web/core/components/dropdowns/module/base.tsx +++ b/apps/web/core/components/dropdowns/module/base.tsx @@ -1,10 +1,11 @@ "use client"; -import { ReactNode, useEffect, useRef, useState } from "react"; +import type { ReactNode } from "react"; +import { useEffect, useRef, useState } from "react"; import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { IModule } from "@plane/types"; +import type { IModule } from "@plane/types"; import { ComboDropDown } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks @@ -13,7 +14,7 @@ import { usePlatformOS } from "@/hooks/use-platform-os"; // local imports import { DropdownButton } from "../buttons"; import { BUTTON_VARIANTS_WITHOUT_TEXT } from "../constants"; -import { TDropdownProps } from "../types"; +import type { TDropdownProps } from "../types"; import { ModuleButtonContent } from "./button-content"; import { ModuleOptions } from "./module-options"; diff --git a/apps/web/core/components/dropdowns/module/dropdown.tsx b/apps/web/core/components/dropdowns/module/dropdown.tsx index 03a265ae9..8465765a0 100644 --- a/apps/web/core/components/dropdowns/module/dropdown.tsx +++ b/apps/web/core/components/dropdowns/module/dropdown.tsx @@ -1,12 +1,12 @@ "use client"; -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // hooks import { useModule } from "@/hooks/store/use-module"; // types -import { TDropdownProps } from "../types"; +import type { TDropdownProps } from "../types"; // local imports import { ModuleDropdownBase } from "./base"; diff --git a/apps/web/core/components/dropdowns/module/module-options.tsx b/apps/web/core/components/dropdowns/module/module-options.tsx index 930004f5b..6cc629012 100644 --- a/apps/web/core/components/dropdowns/module/module-options.tsx +++ b/apps/web/core/components/dropdowns/module/module-options.tsx @@ -1,7 +1,7 @@ "use client"; import { useEffect, useRef, useState } from "react"; -import { Placement } from "@popperjs/core"; +import type { Placement } from "@popperjs/core"; import { observer } from "mobx-react"; import { usePopper } from "react-popper"; import { Check, Search } from "lucide-react"; @@ -9,7 +9,7 @@ import { Combobox } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; import { ModuleIcon } from "@plane/propel/icons"; -import { IModule } from "@plane/types"; +import type { IModule } from "@plane/types"; import { cn } from "@plane/utils"; // hooks import { usePlatformOS } from "@/hooks/use-platform-os"; diff --git a/apps/web/core/components/dropdowns/priority.tsx b/apps/web/core/components/dropdowns/priority.tsx index d2485d112..24ce73fb9 100644 --- a/apps/web/core/components/dropdowns/priority.tsx +++ b/apps/web/core/components/dropdowns/priority.tsx @@ -1,6 +1,7 @@ "use client"; -import { Fragment, ReactNode, useRef, useState } from "react"; +import type { ReactNode } from "react"; +import { Fragment, useRef, useState } from "react"; import { useTheme } from "next-themes"; import { usePopper } from "react-popper"; import { Check, ChevronDown, Search, SignalHigh } from "lucide-react"; @@ -10,7 +11,7 @@ import { useTranslation } from "@plane/i18n"; // types import { PriorityIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { TIssuePriorities } from "@plane/types"; +import type { TIssuePriorities } from "@plane/types"; // ui import { ComboDropDown } from "@plane/ui"; // helpers @@ -21,7 +22,7 @@ import { usePlatformOS } from "@/hooks/use-platform-os"; // constants import { BACKGROUND_BUTTON_VARIANTS, BORDER_BUTTON_VARIANTS, BUTTON_VARIANTS_WITHOUT_TEXT } from "./constants"; // types -import { TDropdownProps } from "./types"; +import type { TDropdownProps } from "./types"; type Props = TDropdownProps & { button?: ReactNode; diff --git a/apps/web/core/components/dropdowns/project/base.tsx b/apps/web/core/components/dropdowns/project/base.tsx index f15d53963..77a2e85fe 100644 --- a/apps/web/core/components/dropdowns/project/base.tsx +++ b/apps/web/core/components/dropdowns/project/base.tsx @@ -1,4 +1,5 @@ -import { ReactNode, useRef, useState } from "react"; +import type { ReactNode } from "react"; +import { useRef, useState } from "react"; import { observer } from "mobx-react"; import { usePopper } from "react-popper"; import { Check, ChevronDown, Search } from "lucide-react"; @@ -13,11 +14,11 @@ import { Logo } from "@/components/common/logo"; // hooks import { useDropdown } from "@/hooks/use-dropdown"; // plane web imports -import { TProject } from "@/plane-web/types"; +import type { TProject } from "@/plane-web/types"; // local imports import { DropdownButton } from "../buttons"; import { BUTTON_VARIANTS_WITH_TEXT } from "../constants"; -import { TDropdownProps } from "../types"; +import type { TDropdownProps } from "../types"; type Props = TDropdownProps & { button?: ReactNode; diff --git a/apps/web/core/components/dropdowns/project/dropdown.tsx b/apps/web/core/components/dropdowns/project/dropdown.tsx index 3c82b1b49..61a6d58a8 100644 --- a/apps/web/core/components/dropdowns/project/dropdown.tsx +++ b/apps/web/core/components/dropdowns/project/dropdown.tsx @@ -1,9 +1,9 @@ -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { observer } from "mobx-react"; // hooks import { useProject } from "@/hooks/store/use-project"; // local imports -import { TDropdownProps } from "../types"; +import type { TDropdownProps } from "../types"; import { ProjectDropdownBase } from "./base"; type Props = TDropdownProps & { diff --git a/apps/web/core/components/dropdowns/state/base.tsx b/apps/web/core/components/dropdowns/state/base.tsx index 0fd654d91..cfa51f603 100644 --- a/apps/web/core/components/dropdowns/state/base.tsx +++ b/apps/web/core/components/dropdowns/state/base.tsx @@ -1,6 +1,7 @@ "use client"; -import { ReactNode, useRef, useState } from "react"; +import type { ReactNode } from "react"; +import { useRef, useState } from "react"; import { observer } from "mobx-react"; import { usePopper } from "react-popper"; import { ChevronDown, Search } from "lucide-react"; @@ -8,13 +9,13 @@ import { Combobox } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; import { StateGroupIcon } from "@plane/propel/icons"; -import { IState } from "@plane/types"; +import type { IState } from "@plane/types"; import { ComboDropDown, Spinner } from "@plane/ui"; import { cn } from "@plane/utils"; // components import { DropdownButton } from "@/components/dropdowns/buttons"; import { BUTTON_VARIANTS_WITH_TEXT } from "@/components/dropdowns/constants"; -import { TDropdownProps } from "@/components/dropdowns/types"; +import type { TDropdownProps } from "@/components/dropdowns/types"; // hooks import { useDropdown } from "@/hooks/use-dropdown"; // plane web imports diff --git a/apps/web/core/components/dropdowns/state/dropdown.tsx b/apps/web/core/components/dropdowns/state/dropdown.tsx index f7ef5553d..b119a20ad 100644 --- a/apps/web/core/components/dropdowns/state/dropdown.tsx +++ b/apps/web/core/components/dropdowns/state/dropdown.tsx @@ -6,7 +6,8 @@ import { useParams } from "next/navigation"; // hooks import { useProjectState } from "@/hooks/store/use-project-state"; // local imports -import { WorkItemStateDropdownBase, TWorkItemStateDropdownBaseProps } from "./base"; +import type { TWorkItemStateDropdownBaseProps } from "./base"; +import { WorkItemStateDropdownBase } from "./base"; type TWorkItemStateDropdownProps = Omit< TWorkItemStateDropdownBaseProps, diff --git a/apps/web/core/components/dropdowns/types.d.ts b/apps/web/core/components/dropdowns/types.d.ts index 128c7a525..0aa0b1153 100644 --- a/apps/web/core/components/dropdowns/types.d.ts +++ b/apps/web/core/components/dropdowns/types.d.ts @@ -1,4 +1,4 @@ -import { Placement } from "@popperjs/core"; +import type { Placement } from "@popperjs/core"; export type TButtonVariants = | "border-with-text" diff --git a/apps/web/core/components/editor/document/editor.tsx b/apps/web/core/components/editor/document/editor.tsx index 19679895d..9695088b4 100644 --- a/apps/web/core/components/editor/document/editor.tsx +++ b/apps/web/core/components/editor/document/editor.tsx @@ -1,13 +1,8 @@ import React, { forwardRef } from "react"; // plane imports -import { - DocumentEditorWithRef, - IEditorPropsExtended, - type EditorRefApi, - type IDocumentEditorProps, - type TFileHandler, -} from "@plane/editor"; -import { MakeOptional, TSearchEntityRequestPayload, TSearchResponse } from "@plane/types"; +import { DocumentEditorWithRef } from "@plane/editor"; +import type { IEditorPropsExtended, EditorRefApi, IDocumentEditorProps, TFileHandler } from "@plane/editor"; +import type { MakeOptional, TSearchEntityRequestPayload, TSearchResponse } from "@plane/types"; import { cn } from "@plane/utils"; // hooks import { useEditorConfig, useEditorMention } from "@/hooks/editor"; diff --git a/apps/web/core/components/editor/lite-text/editor.tsx b/apps/web/core/components/editor/lite-text/editor.tsx index 7e1cf4f76..6ae3edf41 100644 --- a/apps/web/core/components/editor/lite-text/editor.tsx +++ b/apps/web/core/components/editor/lite-text/editor.tsx @@ -1,8 +1,9 @@ import React, { useState } from "react"; // plane constants -import { EIssueCommentAccessSpecifier } from "@plane/constants"; +import type { EIssueCommentAccessSpecifier } from "@plane/constants"; // plane imports -import { type EditorRefApi, type ILiteTextEditorProps, LiteTextEditorWithRef, type TFileHandler } from "@plane/editor"; +import { LiteTextEditorWithRef } from "@plane/editor"; +import type { EditorRefApi, ILiteTextEditorProps, TFileHandler } from "@plane/editor"; import { useTranslation } from "@plane/i18n"; import type { MakeOptional } from "@plane/types"; import { cn, isCommentEmpty } from "@plane/utils"; diff --git a/apps/web/core/components/editor/lite-text/lite-toolbar.tsx b/apps/web/core/components/editor/lite-text/lite-toolbar.tsx index 882569f6e..970a7f4f4 100644 --- a/apps/web/core/components/editor/lite-text/lite-toolbar.tsx +++ b/apps/web/core/components/editor/lite-text/lite-toolbar.tsx @@ -1,7 +1,8 @@ import React from "react"; import { ArrowUp, Paperclip } from "lucide-react"; // constants -import { IMAGE_ITEM, ToolbarMenuItem } from "@/constants/editor"; +import type { ToolbarMenuItem } from "@/constants/editor"; +import { IMAGE_ITEM } from "@/constants/editor"; type LiteToolbarProps = { onSubmit: (e: React.KeyboardEvent | React.MouseEvent) => void; diff --git a/apps/web/core/components/editor/lite-text/toolbar.tsx b/apps/web/core/components/editor/lite-text/toolbar.tsx index 07e5686d7..3d1b11df7 100644 --- a/apps/web/core/components/editor/lite-text/toolbar.tsx +++ b/apps/web/core/components/editor/lite-text/toolbar.tsx @@ -1,7 +1,8 @@ "use client"; import React, { useEffect, useState, useCallback } from "react"; -import { Globe2, Lock, LucideIcon } from "lucide-react"; +import type { LucideIcon } from "lucide-react"; +import { Globe2, Lock } from "lucide-react"; import { EIssueCommentAccessSpecifier } from "@plane/constants"; // editor import type { EditorRefApi } from "@plane/editor"; @@ -12,7 +13,8 @@ import { Button } from "@plane/propel/button"; import { Tooltip } from "@plane/propel/tooltip"; // constants import { cn } from "@plane/utils"; -import { TOOLBAR_ITEMS, ToolbarMenuItem } from "@/constants/editor"; +import type { ToolbarMenuItem } from "@/constants/editor"; +import { TOOLBAR_ITEMS } from "@/constants/editor"; // helpers type Props = { diff --git a/apps/web/core/components/editor/pdf/document.tsx b/apps/web/core/components/editor/pdf/document.tsx index 4dca9e6d5..88b0b08ef 100644 --- a/apps/web/core/components/editor/pdf/document.tsx +++ b/apps/web/core/components/editor/pdf/document.tsx @@ -1,6 +1,7 @@ "use client"; -import { Document, Font, Page, PageProps } from "@react-pdf/renderer"; +import type { PageProps } from "@react-pdf/renderer"; +import { Document, Font, Page } from "@react-pdf/renderer"; import { Html } from "react-pdf-html"; // constants import { EDITOR_PDF_DOCUMENT_STYLESHEET } from "@/constants/editor"; diff --git a/apps/web/core/components/editor/rich-text/editor.tsx b/apps/web/core/components/editor/rich-text/editor.tsx index 67abc21d2..612522dcc 100644 --- a/apps/web/core/components/editor/rich-text/editor.tsx +++ b/apps/web/core/components/editor/rich-text/editor.tsx @@ -1,6 +1,7 @@ import React, { forwardRef } from "react"; // plane imports -import { type EditorRefApi, type IRichTextEditorProps, RichTextEditorWithRef, type TFileHandler } from "@plane/editor"; +import { RichTextEditorWithRef } from "@plane/editor"; +import type { EditorRefApi, IRichTextEditorProps, TFileHandler } from "@plane/editor"; import type { MakeOptional, TSearchEntityRequestPayload, TSearchResponse } from "@plane/types"; import { cn } from "@plane/utils"; // components diff --git a/apps/web/core/components/editor/sticky-editor/color-palette.tsx b/apps/web/core/components/editor/sticky-editor/color-palette.tsx index a4fe05b77..0403d41b5 100644 --- a/apps/web/core/components/editor/sticky-editor/color-palette.tsx +++ b/apps/web/core/components/editor/sticky-editor/color-palette.tsx @@ -1,4 +1,4 @@ -import { TSticky } from "@plane/types"; +import type { TSticky } from "@plane/types"; export const STICKY_COLORS_LIST: { key: string; diff --git a/apps/web/core/components/editor/sticky-editor/editor.tsx b/apps/web/core/components/editor/sticky-editor/editor.tsx index 237266529..7a6d52614 100644 --- a/apps/web/core/components/editor/sticky-editor/editor.tsx +++ b/apps/web/core/components/editor/sticky-editor/editor.tsx @@ -1,10 +1,11 @@ import React, { useState } from "react"; // plane constants -import { EIssueCommentAccessSpecifier } from "@plane/constants"; +import type { EIssueCommentAccessSpecifier } from "@plane/constants"; // plane editor -import { type EditorRefApi, type ILiteTextEditorProps, LiteTextEditorWithRef, type TFileHandler } from "@plane/editor"; +import { LiteTextEditorWithRef } from "@plane/editor"; +import type { EditorRefApi, ILiteTextEditorProps, TFileHandler } from "@plane/editor"; // components -import { TSticky } from "@plane/types"; +import type { TSticky } from "@plane/types"; // helpers import { cn } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/editor/sticky-editor/toolbar.tsx b/apps/web/core/components/editor/sticky-editor/toolbar.tsx index 9626fa46e..0a41515a0 100644 --- a/apps/web/core/components/editor/sticky-editor/toolbar.tsx +++ b/apps/web/core/components/editor/sticky-editor/toolbar.tsx @@ -7,10 +7,11 @@ import type { EditorRefApi } from "@plane/editor"; // ui import { useOutsideClickDetector } from "@plane/hooks"; import { Tooltip } from "@plane/propel/tooltip"; -import { TSticky } from "@plane/types"; +import type { TSticky } from "@plane/types"; // constants import { cn } from "@plane/utils"; -import { TOOLBAR_ITEMS, ToolbarMenuItem } from "@/constants/editor"; +import type { ToolbarMenuItem } from "@/constants/editor"; +import { TOOLBAR_ITEMS } from "@/constants/editor"; // helpers import { ColorPalette } from "./color-palette"; diff --git a/apps/web/core/components/empty-state/comic-box-button.tsx b/apps/web/core/components/empty-state/comic-box-button.tsx index 9c10a5fc6..1ef4ef312 100644 --- a/apps/web/core/components/empty-state/comic-box-button.tsx +++ b/apps/web/core/components/empty-state/comic-box-button.tsx @@ -1,6 +1,7 @@ "use client"; -import { Fragment, Ref, useState } from "react"; +import type { Ref } from "react"; +import { Fragment, useState } from "react"; import { usePopper } from "react-popper"; import { Popover } from "@headlessui/react"; // popper diff --git a/apps/web/core/components/empty-state/section-empty-state-root.tsx b/apps/web/core/components/empty-state/section-empty-state-root.tsx index e415db53c..164663f07 100644 --- a/apps/web/core/components/empty-state/section-empty-state-root.tsx +++ b/apps/web/core/components/empty-state/section-empty-state-root.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { cn } from "@plane/utils"; type Props = { diff --git a/apps/web/core/components/estimates/create/modal.tsx b/apps/web/core/components/estimates/create/modal.tsx index a5020b86f..a999d0a44 100644 --- a/apps/web/core/components/estimates/create/modal.tsx +++ b/apps/web/core/components/estimates/create/modal.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useEffect, useMemo, useState } from "react"; +import type { FC } from "react"; +import { useEffect, useMemo, useState } from "react"; import { observer } from "mobx-react"; import { ChevronLeft } from "lucide-react"; // plane imports @@ -8,7 +9,7 @@ import { EEstimateSystem, ESTIMATE_SYSTEMS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IEstimateFormData, TEstimateSystemKeys, TEstimatePointsObject, TEstimateTypeError } from "@plane/types"; +import type { IEstimateFormData, TEstimateSystemKeys, TEstimatePointsObject, TEstimateTypeError } from "@plane/types"; import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; // hooks import { useProjectEstimates } from "@/hooks/store/estimates"; diff --git a/apps/web/core/components/estimates/create/stage-one.tsx b/apps/web/core/components/estimates/create/stage-one.tsx index 78628996a..94fc26463 100644 --- a/apps/web/core/components/estimates/create/stage-one.tsx +++ b/apps/web/core/components/estimates/create/stage-one.tsx @@ -1,12 +1,12 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { Info } from "lucide-react"; // plane imports import { EEstimateSystem, ESTIMATE_SYSTEMS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Tooltip } from "@plane/propel/tooltip"; -import { TEstimateSystemKeys } from "@plane/types"; +import type { TEstimateSystemKeys } from "@plane/types"; // components import { convertMinutesToHoursMinutesString } from "@plane/utils"; // plane web imports diff --git a/apps/web/core/components/estimates/delete/modal.tsx b/apps/web/core/components/estimates/delete/modal.tsx index 2ee730ce6..ea38b3f36 100644 --- a/apps/web/core/components/estimates/delete/modal.tsx +++ b/apps/web/core/components/estimates/delete/modal.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; // ui import { PROJECT_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; diff --git a/apps/web/core/components/estimates/empty-screen.tsx b/apps/web/core/components/estimates/empty-screen.tsx index edc1c4f07..706888ce0 100644 --- a/apps/web/core/components/estimates/empty-screen.tsx +++ b/apps/web/core/components/estimates/empty-screen.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { useTheme } from "next-themes"; import { PROJECT_SETTINGS_TRACKER_ELEMENTS, PROJECT_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; // plane imports diff --git a/apps/web/core/components/estimates/estimate-disable-switch.tsx b/apps/web/core/components/estimates/estimate-disable-switch.tsx index db234ae0a..31bcb369c 100644 --- a/apps/web/core/components/estimates/estimate-disable-switch.tsx +++ b/apps/web/core/components/estimates/estimate-disable-switch.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { PROJECT_SETTINGS_TRACKER_ELEMENTS, PROJECT_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; diff --git a/apps/web/core/components/estimates/estimate-list-item.tsx b/apps/web/core/components/estimates/estimate-list-item.tsx index fe0ef0709..aa8c06a69 100644 --- a/apps/web/core/components/estimates/estimate-list-item.tsx +++ b/apps/web/core/components/estimates/estimate-list-item.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { EEstimateSystem } from "@plane/constants"; import { convertMinutesToHoursMinutesString, cn } from "@plane/utils"; diff --git a/apps/web/core/components/estimates/estimate-list.tsx b/apps/web/core/components/estimates/estimate-list.tsx index c493352c1..699e6a685 100644 --- a/apps/web/core/components/estimates/estimate-list.tsx +++ b/apps/web/core/components/estimates/estimate-list.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // local imports import { EstimateListItem } from "./estimate-list-item"; diff --git a/apps/web/core/components/estimates/estimate-search.tsx b/apps/web/core/components/estimates/estimate-search.tsx index 7c94fc8b8..78e22237f 100644 --- a/apps/web/core/components/estimates/estimate-search.tsx +++ b/apps/web/core/components/estimates/estimate-search.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; export const EstimateSearch: FC = observer(() => { diff --git a/apps/web/core/components/estimates/inputs/number-input.tsx b/apps/web/core/components/estimates/inputs/number-input.tsx index bf9abf145..63f4d2118 100644 --- a/apps/web/core/components/estimates/inputs/number-input.tsx +++ b/apps/web/core/components/estimates/inputs/number-input.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { useTranslation } from "@plane/i18n"; type TEstimateNumberInputProps = { value?: number; diff --git a/apps/web/core/components/estimates/inputs/root.tsx b/apps/web/core/components/estimates/inputs/root.tsx index 56ad098d9..bd32c2e29 100644 --- a/apps/web/core/components/estimates/inputs/root.tsx +++ b/apps/web/core/components/estimates/inputs/root.tsx @@ -1,6 +1,7 @@ -import { FC } from "react"; +import type { FC } from "react"; // plane imports -import { EEstimateSystem, TEstimateSystemKeys } from "@plane/types"; +import type { TEstimateSystemKeys } from "@plane/types"; +import { EEstimateSystem } from "@plane/types"; // plane web imports import { EstimateTimeInput } from "@/plane-web/components/estimates/inputs"; // local imports diff --git a/apps/web/core/components/estimates/inputs/text-input.tsx b/apps/web/core/components/estimates/inputs/text-input.tsx index e6e930abe..989798ea4 100644 --- a/apps/web/core/components/estimates/inputs/text-input.tsx +++ b/apps/web/core/components/estimates/inputs/text-input.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { useTranslation } from "@plane/i18n"; type TEstimateTextInputProps = { value?: string; diff --git a/apps/web/core/components/estimates/loader-screen.tsx b/apps/web/core/components/estimates/loader-screen.tsx index 2231c6d84..6e1fc5c21 100644 --- a/apps/web/core/components/estimates/loader-screen.tsx +++ b/apps/web/core/components/estimates/loader-screen.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { Loader } from "@plane/ui"; export const EstimateLoaderScreen: FC = () => ( diff --git a/apps/web/core/components/estimates/points/create-root.tsx b/apps/web/core/components/estimates/points/create-root.tsx index 9c2ec6623..99958c8d1 100644 --- a/apps/web/core/components/estimates/points/create-root.tsx +++ b/apps/web/core/components/estimates/points/create-root.tsx @@ -1,12 +1,13 @@ "use client"; -import { Dispatch, FC, SetStateAction, useCallback, useState } from "react"; +import type { Dispatch, FC, SetStateAction } from "react"; +import { useCallback, useState } from "react"; import { observer } from "mobx-react"; import { Plus } from "lucide-react"; // plane imports import { estimateCount } from "@plane/constants"; import { Button } from "@plane/propel/button"; -import { TEstimatePointsObject, TEstimateSystemKeys, TEstimateTypeError } from "@plane/types"; +import type { TEstimatePointsObject, TEstimateSystemKeys, TEstimateTypeError } from "@plane/types"; import { Sortable } from "@plane/ui"; // local imports import { EstimatePointCreate } from "./create"; diff --git a/apps/web/core/components/estimates/points/create.tsx b/apps/web/core/components/estimates/points/create.tsx index ce36b2f08..7baf24152 100644 --- a/apps/web/core/components/estimates/points/create.tsx +++ b/apps/web/core/components/estimates/points/create.tsx @@ -1,13 +1,14 @@ "use client"; -import { FC, useState, FormEvent } from "react"; +import type { FC, FormEvent } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { Check, Info, X } from "lucide-react"; import { EEstimateSystem, MAX_ESTIMATE_POINT_INPUT_LENGTH } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { TEstimatePointsObject, TEstimateSystemKeys, TEstimateTypeErrorObject } from "@plane/types"; +import type { TEstimatePointsObject, TEstimateSystemKeys, TEstimateTypeErrorObject } from "@plane/types"; import { Spinner } from "@plane/ui"; import { cn, isEstimatePointValuesRepeated } from "@plane/utils"; import { EstimateInputRoot } from "@/components/estimates/inputs/root"; diff --git a/apps/web/core/components/estimates/points/preview.tsx b/apps/web/core/components/estimates/points/preview.tsx index 7792a79d3..6c21bea05 100644 --- a/apps/web/core/components/estimates/points/preview.tsx +++ b/apps/web/core/components/estimates/points/preview.tsx @@ -1,10 +1,11 @@ -import { FC, useEffect, useRef, useState } from "react"; +import type { FC } from "react"; +import { useEffect, useRef, useState } from "react"; import { observer } from "mobx-react"; import { GripVertical, Pencil, Trash2 } from "lucide-react"; // plane imports import { EEstimateSystem, estimateCount } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TEstimatePointsObject, TEstimateSystemKeys, TEstimateTypeErrorObject } from "@plane/types"; +import type { TEstimatePointsObject, TEstimateSystemKeys, TEstimateTypeErrorObject } from "@plane/types"; import { convertMinutesToHoursMinutesString } from "@plane/utils"; // plane web imports import { EstimatePointDelete } from "@/plane-web/components/estimates"; diff --git a/apps/web/core/components/estimates/points/update.tsx b/apps/web/core/components/estimates/points/update.tsx index 295a1cf83..bbcc4751e 100644 --- a/apps/web/core/components/estimates/points/update.tsx +++ b/apps/web/core/components/estimates/points/update.tsx @@ -1,13 +1,14 @@ "use client"; -import { FC, useEffect, useState, FormEvent } from "react"; +import type { FC, FormEvent } from "react"; +import { useEffect, useState } from "react"; import { observer } from "mobx-react"; import { Check, Info, X } from "lucide-react"; import { EEstimateSystem, MAX_ESTIMATE_POINT_INPUT_LENGTH } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { TEstimatePointsObject, TEstimateSystemKeys, TEstimateTypeErrorObject } from "@plane/types"; +import type { TEstimatePointsObject, TEstimateSystemKeys, TEstimateTypeErrorObject } from "@plane/types"; import { Spinner } from "@plane/ui"; import { cn, isEstimatePointValuesRepeated } from "@plane/utils"; import { EstimateInputRoot } from "@/components/estimates/inputs/root"; diff --git a/apps/web/core/components/estimates/root.tsx b/apps/web/core/components/estimates/root.tsx index 461a863d9..f562d924c 100644 --- a/apps/web/core/components/estimates/root.tsx +++ b/apps/web/core/components/estimates/root.tsx @@ -1,4 +1,5 @@ -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import useSWR from "swr"; // plane imports diff --git a/apps/web/core/components/exporter/column.tsx b/apps/web/core/components/exporter/column.tsx index 113478c9d..429d0bb29 100644 --- a/apps/web/core/components/exporter/column.tsx +++ b/apps/web/core/components/exporter/column.tsx @@ -1,5 +1,5 @@ import { Download } from "lucide-react"; -import { IExportData } from "@plane/types"; +import type { IExportData } from "@plane/types"; import { getDate, getFileURL, renderFormattedDate } from "@plane/utils"; type RowData = IExportData; diff --git a/apps/web/core/components/exporter/export-modal.tsx b/apps/web/core/components/exporter/export-modal.tsx index f6d91503c..73cb92ad8 100644 --- a/apps/web/core/components/exporter/export-modal.tsx +++ b/apps/web/core/components/exporter/export-modal.tsx @@ -9,7 +9,7 @@ import { Dialog, Transition } from "@headlessui/react"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IUser, IImporterService } from "@plane/types"; +import type { IUser, IImporterService } from "@plane/types"; // ui import { CustomSearchSelect } from "@plane/ui"; // hooks diff --git a/apps/web/core/components/exporter/single-export.tsx b/apps/web/core/components/exporter/single-export.tsx index fa3d1a7f3..0731bc47a 100644 --- a/apps/web/core/components/exporter/single-export.tsx +++ b/apps/web/core/components/exporter/single-export.tsx @@ -1,9 +1,10 @@ "use client"; -import { useState, FC } from "react"; +import type { FC } from "react"; +import { useState } from "react"; // ui import { Button } from "@plane/propel/button"; -import { IExportData } from "@plane/types"; +import type { IExportData } from "@plane/types"; // helpers import { getDate, renderFormattedDate } from "@plane/utils"; // types diff --git a/apps/web/core/components/gantt-chart/blocks/block-row.tsx b/apps/web/core/components/gantt-chart/blocks/block-row.tsx index e24fe2ee7..d281c062f 100644 --- a/apps/web/core/components/gantt-chart/blocks/block-row.tsx +++ b/apps/web/core/components/gantt-chart/blocks/block-row.tsx @@ -6,7 +6,7 @@ import type { IBlockUpdateData, IGanttBlock } from "@plane/types"; import { cn } from "@plane/utils"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; import { useTimeLineChartStore } from "@/hooks/use-timeline-chart"; // import { BLOCK_HEIGHT, SIDEBAR_WIDTH } from "../constants"; diff --git a/apps/web/core/components/gantt-chart/blocks/block.tsx b/apps/web/core/components/gantt-chart/blocks/block.tsx index 0087a3896..7be9e9c27 100644 --- a/apps/web/core/components/gantt-chart/blocks/block.tsx +++ b/apps/web/core/components/gantt-chart/blocks/block.tsx @@ -1,4 +1,5 @@ -import { RefObject, useRef } from "react"; +import type { RefObject } from "react"; +import { useRef } from "react"; import { observer } from "mobx-react"; // components import type { IBlockUpdateDependencyData } from "@plane/types"; diff --git a/apps/web/core/components/gantt-chart/chart/main-content.tsx b/apps/web/core/components/gantt-chart/chart/main-content.tsx index 23b46da63..3e1ebafba 100644 --- a/apps/web/core/components/gantt-chart/chart/main-content.tsx +++ b/apps/web/core/components/gantt-chart/chart/main-content.tsx @@ -2,7 +2,13 @@ import { useEffect, useRef } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; import { autoScrollForElements } from "@atlaskit/pragmatic-drag-and-drop-auto-scroll/element"; import { observer } from "mobx-react"; -import { ChartDataType, IBlockUpdateData, IBlockUpdateDependencyData, IGanttBlock, TGanttViews } from "@plane/types"; +import type { + ChartDataType, + IBlockUpdateData, + IBlockUpdateDependencyData, + IGanttBlock, + TGanttViews, +} from "@plane/types"; import { cn, getDate } from "@plane/utils"; // components import { MultipleSelectGroup } from "@/components/core/multiple-select"; diff --git a/apps/web/core/components/gantt-chart/chart/root.tsx b/apps/web/core/components/gantt-chart/chart/root.tsx index 364260d16..8231507d5 100644 --- a/apps/web/core/components/gantt-chart/chart/root.tsx +++ b/apps/web/core/components/gantt-chart/chart/root.tsx @@ -1,4 +1,5 @@ -import { FC, useEffect, useState } from "react"; +import type { FC } from "react"; +import { useEffect, useState } from "react"; import { observer } from "mobx-react"; import { createPortal } from "react-dom"; // plane imports @@ -13,15 +14,8 @@ import { useTimeLineChartStore } from "@/hooks/use-timeline-chart"; // import { SIDEBAR_WIDTH } from "../constants"; import { currentViewDataWithView } from "../data"; -import { - getNumberOfDaysBetweenTwoDates, - IMonthBlock, - IMonthView, - IWeekBlock, - monthView, - quarterView, - weekView, -} from "../views"; +import type { IMonthBlock, IMonthView, IWeekBlock } from "../views"; +import { getNumberOfDaysBetweenTwoDates, monthView, quarterView, weekView } from "../views"; type ChartViewRootProps = { border: boolean; diff --git a/apps/web/core/components/gantt-chart/chart/timeline-drag-helper.tsx b/apps/web/core/components/gantt-chart/chart/timeline-drag-helper.tsx index e9896d87e..68e77741d 100644 --- a/apps/web/core/components/gantt-chart/chart/timeline-drag-helper.tsx +++ b/apps/web/core/components/gantt-chart/chart/timeline-drag-helper.tsx @@ -1,4 +1,4 @@ -import { RefObject } from "react"; +import type { RefObject } from "react"; import { observer } from "mobx-react"; // hooks import { useAutoScroller } from "@/hooks/use-auto-scroller"; diff --git a/apps/web/core/components/gantt-chart/chart/views/month.tsx b/apps/web/core/components/gantt-chart/chart/views/month.tsx index 01f6aa801..ad87337fb 100644 --- a/apps/web/core/components/gantt-chart/chart/views/month.tsx +++ b/apps/web/core/components/gantt-chart/chart/views/month.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // components import { cn } from "@plane/utils"; @@ -7,7 +7,7 @@ import { HEADER_HEIGHT, SIDEBAR_WIDTH } from "@/components/gantt-chart/constants // hooks import { useTimeLineChartStore } from "@/hooks/use-timeline-chart"; // types -import { IMonthView } from "../../views"; +import type { IMonthView } from "../../views"; import { getNumberOfDaysBetweenTwoDates } from "../../views/helpers"; export const MonthChartView: FC = observer(() => { diff --git a/apps/web/core/components/gantt-chart/chart/views/quarter.tsx b/apps/web/core/components/gantt-chart/chart/views/quarter.tsx index ee1a11c57..aed12a74a 100644 --- a/apps/web/core/components/gantt-chart/chart/views/quarter.tsx +++ b/apps/web/core/components/gantt-chart/chart/views/quarter.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane utils import { cn } from "@plane/utils"; @@ -6,7 +6,8 @@ import { cn } from "@plane/utils"; import { useTimeLineChartStore } from "@/hooks/use-timeline-chart"; // import { HEADER_HEIGHT, SIDEBAR_WIDTH } from "../../constants"; -import { groupMonthsToQuarters, IMonthBlock, IQuarterMonthBlock } from "../../views"; +import type { IMonthBlock, IQuarterMonthBlock } from "../../views"; +import { groupMonthsToQuarters } from "../../views"; export const QuarterChartView: FC = observer(() => { const { currentViewData, renderView } = useTimeLineChartStore(); diff --git a/apps/web/core/components/gantt-chart/chart/views/week.tsx b/apps/web/core/components/gantt-chart/chart/views/week.tsx index 7c38d97ee..2a6e64ba0 100644 --- a/apps/web/core/components/gantt-chart/chart/views/week.tsx +++ b/apps/web/core/components/gantt-chart/chart/views/week.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane utils import { cn } from "@plane/utils"; @@ -6,7 +6,7 @@ import { cn } from "@plane/utils"; import { useTimeLineChartStore } from "@/hooks/use-timeline-chart"; // import { HEADER_HEIGHT, SIDEBAR_WIDTH } from "../../constants"; -import { IWeekBlock } from "../../views"; +import type { IWeekBlock } from "../../views"; export const WeekChartView: FC = observer(() => { const { currentViewData, renderView } = useTimeLineChartStore(); diff --git a/apps/web/core/components/gantt-chart/data/index.ts b/apps/web/core/components/gantt-chart/data/index.ts index 897af9ebd..4c11b865e 100644 --- a/apps/web/core/components/gantt-chart/data/index.ts +++ b/apps/web/core/components/gantt-chart/data/index.ts @@ -1,5 +1,6 @@ // types -import { EStartOfTheWeek, WeekMonthDataType, ChartDataType, TGanttViews } from "@plane/types"; +import type { WeekMonthDataType, ChartDataType, TGanttViews } from "@plane/types"; +import { EStartOfTheWeek } from "@plane/types"; // constants export const generateWeeks = (startOfWeek: EStartOfTheWeek = EStartOfTheWeek.SUNDAY): WeekMonthDataType[] => [ diff --git a/apps/web/core/components/gantt-chart/helpers/draggable.tsx b/apps/web/core/components/gantt-chart/helpers/draggable.tsx index 98eda46c4..f365903e0 100644 --- a/apps/web/core/components/gantt-chart/helpers/draggable.tsx +++ b/apps/web/core/components/gantt-chart/helpers/draggable.tsx @@ -1,4 +1,5 @@ -import React, { RefObject } from "react"; +import type { RefObject } from "react"; +import React from "react"; import { observer } from "mobx-react"; // hooks import type { IGanttBlock } from "@plane/types"; diff --git a/apps/web/core/components/gantt-chart/root.tsx b/apps/web/core/components/gantt-chart/root.tsx index da25611a8..e59edfede 100644 --- a/apps/web/core/components/gantt-chart/root.tsx +++ b/apps/web/core/components/gantt-chart/root.tsx @@ -1,4 +1,5 @@ -import { FC, useEffect } from "react"; +import type { FC } from "react"; +import { useEffect } from "react"; import { observer } from "mobx-react"; // components import type { IBlockUpdateData, IBlockUpdateDependencyData } from "@plane/types"; diff --git a/apps/web/core/components/gantt-chart/sidebar/issues/block.tsx b/apps/web/core/components/gantt-chart/sidebar/issues/block.tsx index 2c64f4116..b5e3a11ea 100644 --- a/apps/web/core/components/gantt-chart/sidebar/issues/block.tsx +++ b/apps/web/core/components/gantt-chart/sidebar/issues/block.tsx @@ -8,7 +8,7 @@ import { MultipleSelectEntityAction } from "@/components/core/multiple-select"; import { IssueGanttSidebarBlock } from "@/components/issues/issue-layouts/gantt/blocks"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; import { useTimeLineChartStore } from "@/hooks/use-timeline-chart"; // local imports import { BLOCK_HEIGHT, GANTT_SELECT_GROUP } from "../../constants"; diff --git a/apps/web/core/components/gantt-chart/sidebar/issues/sidebar.tsx b/apps/web/core/components/gantt-chart/sidebar/issues/sidebar.tsx index 2a720929a..a08651e4a 100644 --- a/apps/web/core/components/gantt-chart/sidebar/issues/sidebar.tsx +++ b/apps/web/core/components/gantt-chart/sidebar/issues/sidebar.tsx @@ -1,6 +1,7 @@ "use client"; -import { RefObject, useState } from "react"; +import type { RefObject } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; // ui import type { IBlockUpdateData } from "@plane/types"; @@ -11,7 +12,7 @@ import { GanttLayoutListItemLoader } from "@/components/ui/loader/layouts/gantt- //hooks import { useIntersectionObserver } from "@/hooks/use-intersection-observer"; import { useIssuesStore } from "@/hooks/use-issue-layout-store"; -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; // local imports import { useTimeLineChart } from "../../../../hooks/use-timeline-chart"; import { ETimeLineTypeType } from "../../contexts"; diff --git a/apps/web/core/components/gantt-chart/sidebar/root.tsx b/apps/web/core/components/gantt-chart/sidebar/root.tsx index 39243b282..acd777832 100644 --- a/apps/web/core/components/gantt-chart/sidebar/root.tsx +++ b/apps/web/core/components/gantt-chart/sidebar/root.tsx @@ -1,4 +1,4 @@ -import { RefObject } from "react"; +import type { RefObject } from "react"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; // components @@ -8,7 +8,7 @@ import { cn } from "@plane/utils"; import { MultipleSelectGroupAction } from "@/components/core/multiple-select"; // helpers // hooks -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; // constants import { GANTT_SELECT_GROUP, HEADER_HEIGHT, SIDEBAR_WIDTH } from "../constants"; diff --git a/apps/web/core/components/gantt-chart/views/month-view.ts b/apps/web/core/components/gantt-chart/views/month-view.ts index cac52e4d1..ffd12d9e9 100644 --- a/apps/web/core/components/gantt-chart/views/month-view.ts +++ b/apps/web/core/components/gantt-chart/views/month-view.ts @@ -4,7 +4,8 @@ import type { ChartDataType } from "@plane/types"; // local imports import { months } from "../data"; import { getNumberOfDaysBetweenTwoDates, getNumberOfDaysInMonth } from "./helpers"; -import { getWeeksBetweenTwoDates, IWeekBlock } from "./week-view"; +import type { IWeekBlock } from "./week-view"; +import { getWeeksBetweenTwoDates } from "./week-view"; export interface IMonthBlock { today: boolean; diff --git a/apps/web/core/components/gantt-chart/views/quarter-view.ts b/apps/web/core/components/gantt-chart/views/quarter-view.ts index b8541bf98..ab307dee3 100644 --- a/apps/web/core/components/gantt-chart/views/quarter-view.ts +++ b/apps/web/core/components/gantt-chart/views/quarter-view.ts @@ -2,7 +2,8 @@ import type { ChartDataType } from "@plane/types"; import { quarters } from "../data"; import { getNumberOfDaysBetweenTwoDates } from "./helpers"; -import { getMonthsBetweenTwoDates, IMonthBlock } from "./month-view"; +import type { IMonthBlock } from "./month-view"; +import { getMonthsBetweenTwoDates } from "./month-view"; export interface IQuarterMonthBlock { children: IMonthBlock[]; diff --git a/apps/web/core/components/gantt-chart/views/week-view.ts b/apps/web/core/components/gantt-chart/views/week-view.ts index a1e2b9db7..f50afeeae 100644 --- a/apps/web/core/components/gantt-chart/views/week-view.ts +++ b/apps/web/core/components/gantt-chart/views/week-view.ts @@ -1,5 +1,6 @@ // -import { EStartOfTheWeek, ChartDataType } from "@plane/types"; +import type { ChartDataType } from "@plane/types"; +import { EStartOfTheWeek } from "@plane/types"; import { months, generateWeeks } from "../data"; import { getNumberOfDaysBetweenTwoDates, getWeekNumberByDate } from "./helpers"; export interface IDayBlock { diff --git a/apps/web/core/components/global/product-updates/modal.tsx b/apps/web/core/components/global/product-updates/modal.tsx index 77a1df9b7..45b2781e1 100644 --- a/apps/web/core/components/global/product-updates/modal.tsx +++ b/apps/web/core/components/global/product-updates/modal.tsx @@ -1,4 +1,5 @@ -import { FC, useEffect } from "react"; +import type { FC } from "react"; +import { useEffect } from "react"; import { observer } from "mobx-react"; import { USER_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; diff --git a/apps/web/core/components/global/timezone-select.tsx b/apps/web/core/components/global/timezone-select.tsx index af20a7c88..73817cc0d 100644 --- a/apps/web/core/components/global/timezone-select.tsx +++ b/apps/web/core/components/global/timezone-select.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { CustomSearchSelect } from "@plane/ui"; import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/home/home-dashboard-widgets.tsx b/apps/web/core/components/home/home-dashboard-widgets.tsx index cfb36d2c5..e1fa834d2 100644 --- a/apps/web/core/components/home/home-dashboard-widgets.tsx +++ b/apps/web/core/components/home/home-dashboard-widgets.tsx @@ -2,7 +2,7 @@ import { observer } from "mobx-react"; import { useParams, usePathname } from "next/navigation"; // plane imports import { useTranslation } from "@plane/i18n"; -import { THomeWidgetKeys, THomeWidgetProps } from "@plane/types"; +import type { THomeWidgetKeys, THomeWidgetProps } from "@plane/types"; // components import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root"; // hooks diff --git a/apps/web/core/components/home/user-greetings.tsx b/apps/web/core/components/home/user-greetings.tsx index d88041d0a..de935ea98 100644 --- a/apps/web/core/components/home/user-greetings.tsx +++ b/apps/web/core/components/home/user-greetings.tsx @@ -1,7 +1,7 @@ -import { FC } from "react"; +import type { FC } from "react"; // plane types import { useTranslation } from "@plane/i18n"; -import { IUser } from "@plane/types"; +import type { IUser } from "@plane/types"; // plane ui // hooks import { useCurrentTime } from "@/hooks/use-current-time"; diff --git a/apps/web/core/components/home/widgets/links/create-update-link-modal.tsx b/apps/web/core/components/home/widgets/links/create-update-link-modal.tsx index 8757c79e9..5039402cf 100644 --- a/apps/web/core/components/home/widgets/links/create-update-link-modal.tsx +++ b/apps/web/core/components/home/widgets/links/create-update-link-modal.tsx @@ -1,15 +1,17 @@ "use client"; -import { FC, useEffect } from "react"; +import type { FC } from "react"; +import { useEffect } from "react"; import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; // plane types // plane ui import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; -import { TLink, TLinkEditableFields } from "@plane/types"; +import type { TLinkEditableFields } from "@plane/types"; +import { TLink } from "@plane/types"; import { Input, ModalCore } from "@plane/ui"; -import { TLinkOperations } from "./use-links"; +import type { TLinkOperations } from "./use-links"; export type TLinkOperationsModal = Exclude; diff --git a/apps/web/core/components/home/widgets/links/link-detail.tsx b/apps/web/core/components/home/widgets/links/link-detail.tsx index 0df41e5d9..2a47a12d2 100644 --- a/apps/web/core/components/home/widgets/links/link-detail.tsx +++ b/apps/web/core/components/home/widgets/links/link-detail.tsx @@ -1,17 +1,19 @@ "use client"; -import { FC, useCallback, useMemo } from "react"; +import type { FC } from "react"; +import { useCallback, useMemo } from "react"; import { observer } from "mobx-react"; import { Pencil, ExternalLink, Link, Trash2 } from "lucide-react"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { TContextMenuItem, LinkItemBlock } from "@plane/ui"; +import type { TContextMenuItem } from "@plane/ui"; +import { LinkItemBlock } from "@plane/ui"; // plane utils import { copyTextToClipboard } from "@plane/utils"; // hooks import { useHome } from "@/hooks/store/use-home"; // types -import { TLinkOperations } from "./use-links"; +import type { TLinkOperations } from "./use-links"; export type TProjectLinkDetail = { linkId: string; diff --git a/apps/web/core/components/home/widgets/links/links.tsx b/apps/web/core/components/home/widgets/links/links.tsx index 7e61bce55..1abeba10f 100644 --- a/apps/web/core/components/home/widgets/links/links.tsx +++ b/apps/web/core/components/home/widgets/links/links.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // computed import { ContentOverflowWrapper } from "@/components/core/content-overflow-HOC"; @@ -6,7 +6,7 @@ import { useHome } from "@/hooks/store/use-home"; import { LinksEmptyState } from "../empty-states/links"; import { EWidgetKeys, WidgetLoader } from "../loaders"; import { ProjectLinkDetail } from "./link-detail"; -import { TLinkOperations } from "./use-links"; +import type { TLinkOperations } from "./use-links"; export type TLinkOperationsModal = Exclude; diff --git a/apps/web/core/components/home/widgets/links/root.tsx b/apps/web/core/components/home/widgets/links/root.tsx index e9097361b..de8f6e612 100644 --- a/apps/web/core/components/home/widgets/links/root.tsx +++ b/apps/web/core/components/home/widgets/links/root.tsx @@ -3,7 +3,7 @@ import { observer } from "mobx-react"; import useSWR from "swr"; import { Plus } from "lucide-react"; import { useTranslation } from "@plane/i18n"; -import { THomeWidgetProps } from "@plane/types"; +import type { THomeWidgetProps } from "@plane/types"; import { useHome } from "@/hooks/store/use-home"; import { LinkCreateUpdateModal } from "./create-update-link-modal"; import { ProjectLinkList } from "./links"; diff --git a/apps/web/core/components/home/widgets/links/use-links.tsx b/apps/web/core/components/home/widgets/links/use-links.tsx index a3afcb826..441325875 100644 --- a/apps/web/core/components/home/widgets/links/use-links.tsx +++ b/apps/web/core/components/home/widgets/links/use-links.tsx @@ -1,7 +1,7 @@ import { useMemo } from "react"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { TProjectLink } from "@plane/types"; +import type { TProjectLink } from "@plane/types"; import { useHome } from "@/hooks/store/use-home"; export type TLinkOperations = { diff --git a/apps/web/core/components/home/widgets/manage/index.tsx b/apps/web/core/components/home/widgets/manage/index.tsx index 8834ca69d..1c4eb4543 100644 --- a/apps/web/core/components/home/widgets/manage/index.tsx +++ b/apps/web/core/components/home/widgets/manage/index.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane types // plane ui diff --git a/apps/web/core/components/home/widgets/manage/widget-item-drag-handle.tsx b/apps/web/core/components/home/widgets/manage/widget-item-drag-handle.tsx index b19f74d24..7caf82da9 100644 --- a/apps/web/core/components/home/widgets/manage/widget-item-drag-handle.tsx +++ b/apps/web/core/components/home/widgets/manage/widget-item-drag-handle.tsx @@ -1,5 +1,6 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; // ui import { DragHandle } from "@plane/ui"; diff --git a/apps/web/core/components/home/widgets/manage/widget-item.tsx b/apps/web/core/components/home/widgets/manage/widget-item.tsx index 42cb7f5c0..1979d52fa 100644 --- a/apps/web/core/components/home/widgets/manage/widget-item.tsx +++ b/apps/web/core/components/home/widgets/manage/widget-item.tsx @@ -1,13 +1,14 @@ "use client"; -import React, { FC, useEffect, useRef, useState } from "react"; +import type { FC } from "react"; +import React, { useEffect, useRef, useState } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; -import { DropTargetRecord, DragLocationHistory } from "@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types"; -import { - draggable, - dropTargetForElements, - ElementDragPayload, -} from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; +import type { + DropTargetRecord, + DragLocationHistory, +} from "@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types"; +import type { ElementDragPayload } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; +import { draggable, dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; import { pointerOutsideOfPreview } from "@atlaskit/pragmatic-drag-and-drop/element/pointer-outside-of-preview"; import { setCustomNativeDragPreview } from "@atlaskit/pragmatic-drag-and-drop/element/set-custom-native-drag-preview"; import { attachInstruction } from "@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item"; @@ -16,7 +17,7 @@ import { useParams } from "next/navigation"; import { createRoot } from "react-dom/client"; // plane types import { useTranslation } from "@plane/i18n"; -import { InstructionType, TWidgetEntityData } from "@plane/types"; +import type { InstructionType, TWidgetEntityData } from "@plane/types"; // plane ui import { DropIndicator, ToggleSwitch } from "@plane/ui"; // plane utils diff --git a/apps/web/core/components/home/widgets/manage/widget-list.tsx b/apps/web/core/components/home/widgets/manage/widget-list.tsx index a9449eb49..7312fc47c 100644 --- a/apps/web/core/components/home/widgets/manage/widget-list.tsx +++ b/apps/web/core/components/home/widgets/manage/widget-list.tsx @@ -1,4 +1,4 @@ -import { +import type { DragLocationHistory, DropTargetRecord, ElementDragPayload, @@ -8,7 +8,8 @@ import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { useHome } from "@/hooks/store/use-home"; import { WidgetItem } from "./widget-item"; -import { getInstructionFromPayload, TargetData } from "./widget.helpers"; +import type { TargetData } from "./widget.helpers"; +import { getInstructionFromPayload } from "./widget.helpers"; export const WidgetList = observer(({ workspaceSlug }: { workspaceSlug: string }) => { const { orderedWidgets, reorderWidget, toggleWidget } = useHome(); diff --git a/apps/web/core/components/home/widgets/manage/widget.helpers.ts b/apps/web/core/components/home/widgets/manage/widget.helpers.ts index a72ee8028..e9429e13e 100644 --- a/apps/web/core/components/home/widgets/manage/widget.helpers.ts +++ b/apps/web/core/components/home/widgets/manage/widget.helpers.ts @@ -1,5 +1,5 @@ import { extractInstruction } from "@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item"; -import { InstructionType, IPragmaticPayloadLocation, TDropTarget, TWidgetEntityData } from "@plane/types"; +import type { InstructionType, IPragmaticPayloadLocation, TDropTarget, TWidgetEntityData } from "@plane/types"; export type TargetData = { id: string; diff --git a/apps/web/core/components/home/widgets/recents/filters.tsx b/apps/web/core/components/home/widgets/recents/filters.tsx index fc1b42517..401915580 100644 --- a/apps/web/core/components/home/widgets/recents/filters.tsx +++ b/apps/web/core/components/home/widgets/recents/filters.tsx @@ -1,10 +1,10 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { ChevronDown } from "lucide-react"; import { useTranslation } from "@plane/i18n"; -import { TRecentActivityFilterKeys } from "@plane/types"; +import type { TRecentActivityFilterKeys } from "@plane/types"; import { CustomMenu } from "@plane/ui"; import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/home/widgets/recents/index.tsx b/apps/web/core/components/home/widgets/recents/index.tsx index f46201e12..c10b715fc 100644 --- a/apps/web/core/components/home/widgets/recents/index.tsx +++ b/apps/web/core/components/home/widgets/recents/index.tsx @@ -6,7 +6,7 @@ import useSWR from "swr"; import { useTranslation } from "@plane/i18n"; // plane types import { PageIcon, ProjectIcon, WorkItemsIcon } from "@plane/propel/icons"; -import { TActivityEntityData, THomeWidgetProps, TRecentActivityFilterKeys } from "@plane/types"; +import type { TActivityEntityData, THomeWidgetProps, TRecentActivityFilterKeys } from "@plane/types"; // plane ui // components import { ContentOverflowWrapper } from "@/components/core/content-overflow-HOC"; diff --git a/apps/web/core/components/home/widgets/recents/issue.tsx b/apps/web/core/components/home/widgets/recents/issue.tsx index 206f4369e..9b9191358 100644 --- a/apps/web/core/components/home/widgets/recents/issue.tsx +++ b/apps/web/core/components/home/widgets/recents/issue.tsx @@ -2,7 +2,8 @@ import { observer } from "mobx-react"; // plane types import { PriorityIcon, StateGroupIcon, WorkItemsIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { EIssueServiceType, TActivityEntityData, TIssueEntityData } from "@plane/types"; +import type { TActivityEntityData, TIssueEntityData } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // plane ui import { calculateTimeAgo, generateWorkItemLink } from "@plane/utils"; // components diff --git a/apps/web/core/components/home/widgets/recents/project.tsx b/apps/web/core/components/home/widgets/recents/project.tsx index ab2699113..e9e68a49f 100644 --- a/apps/web/core/components/home/widgets/recents/project.tsx +++ b/apps/web/core/components/home/widgets/recents/project.tsx @@ -1,6 +1,6 @@ import { useRouter } from "next/navigation"; // plane types -import { TActivityEntityData, TProjectEntityData } from "@plane/types"; +import type { TActivityEntityData, TProjectEntityData } from "@plane/types"; import { calculateTimeAgo } from "@plane/utils"; // components import { Logo } from "@/components/common/logo"; diff --git a/apps/web/core/components/inbox/content/inbox-issue-header.tsx b/apps/web/core/components/inbox/content/inbox-issue-header.tsx index 30ffe55c5..7f375664e 100644 --- a/apps/web/core/components/inbox/content/inbox-issue-header.tsx +++ b/apps/web/core/components/inbox/content/inbox-issue-header.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useCallback, useEffect, useState } from "react"; +import type { FC } from "react"; +import { useCallback, useEffect, useState } from "react"; import { observer } from "mobx-react"; import { CircleCheck, @@ -20,7 +21,8 @@ import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EInboxIssueStatus, TNameDescriptionLoader } from "@plane/types"; +import type { TNameDescriptionLoader } from "@plane/types"; +import { EInboxIssueStatus } from "@plane/types"; import { ControlLink, CustomMenu, Row } from "@plane/ui"; import { copyUrlToClipboard, findHowManyDaysLeft, generateWorkItemLink } from "@plane/utils"; // components diff --git a/apps/web/core/components/inbox/content/inbox-issue-mobile-header.tsx b/apps/web/core/components/inbox/content/inbox-issue-mobile-header.tsx index f0e0fbbc6..d38975864 100644 --- a/apps/web/core/components/inbox/content/inbox-issue-mobile-header.tsx +++ b/apps/web/core/components/inbox/content/inbox-issue-mobile-header.tsx @@ -15,7 +15,7 @@ import { PanelLeft, MoveRight, } from "lucide-react"; -import { TNameDescriptionLoader } from "@plane/types"; +import type { TNameDescriptionLoader } from "@plane/types"; import { Header, CustomMenu, EHeaderVariant } from "@plane/ui"; import { cn, findHowManyDaysLeft, generateWorkItemLink } from "@plane/utils"; // components diff --git a/apps/web/core/components/inbox/content/issue-properties.tsx b/apps/web/core/components/inbox/content/issue-properties.tsx index 47ea8f6ae..41a1677d5 100644 --- a/apps/web/core/components/inbox/content/issue-properties.tsx +++ b/apps/web/core/components/inbox/content/issue-properties.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; import { CalendarCheck2, CopyPlus, Signal, Tag, Users } from "lucide-react"; import { DoubleCircleIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { TInboxDuplicateIssueDetails, TIssue } from "@plane/types"; +import type { TInboxDuplicateIssueDetails, TIssue } from "@plane/types"; import { ControlLink } from "@plane/ui"; import { getDate, renderFormattedPayloadDate, generateWorkItemLink } from "@plane/utils"; // components diff --git a/apps/web/core/components/inbox/content/issue-root.tsx b/apps/web/core/components/inbox/content/issue-root.tsx index 74b77985f..ddc829a74 100644 --- a/apps/web/core/components/inbox/content/issue-root.tsx +++ b/apps/web/core/components/inbox/content/issue-root.tsx @@ -1,12 +1,14 @@ "use client"; -import { Dispatch, SetStateAction, useEffect, useMemo, useRef } from "react"; +import type { Dispatch, SetStateAction } from "react"; +import { useEffect, useMemo, useRef } from "react"; import { observer } from "mobx-react"; // plane imports import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; import type { EditorRefApi } from "@plane/editor"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EInboxIssueSource, TIssue, TNameDescriptionLoader } from "@plane/types"; +import type { TIssue, TNameDescriptionLoader } from "@plane/types"; +import { EInboxIssueSource } from "@plane/types"; import { Loader } from "@plane/ui"; import { getTextContent } from "@plane/utils"; // components diff --git a/apps/web/core/components/inbox/content/root.tsx b/apps/web/core/components/inbox/content/root.tsx index 7a64f02b8..696af4afb 100644 --- a/apps/web/core/components/inbox/content/root.tsx +++ b/apps/web/core/components/inbox/content/root.tsx @@ -1,8 +1,9 @@ -import { FC, useEffect, useState } from "react"; +import type { FC } from "react"; +import { useEffect, useState } from "react"; import { observer } from "mobx-react"; import useSWR from "swr"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; -import { TNameDescriptionLoader } from "@plane/types"; +import type { TNameDescriptionLoader } from "@plane/types"; // components import { ContentWrapper } from "@plane/ui"; // hooks diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/date.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/date.tsx index 58799eb3c..6d123f7d3 100644 --- a/apps/web/core/components/inbox/inbox-filter/applied-filters/date.tsx +++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/date.tsx @@ -1,8 +1,8 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { X } from "lucide-react"; import { PAST_DURATION_FILTER_OPTIONS } from "@plane/constants"; -import { TInboxIssueFilterDateKeys } from "@plane/types"; +import type { TInboxIssueFilterDateKeys } from "@plane/types"; // helpers import { Tag } from "@plane/ui"; import { renderFormattedDate } from "@plane/utils"; diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/label.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/label.tsx index 50b38b6fc..3183927d5 100644 --- a/apps/web/core/components/inbox/inbox-filter/applied-filters/label.tsx +++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/label.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { X } from "lucide-react"; // hooks diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/member.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/member.tsx index 6a105b7d5..65e64f069 100644 --- a/apps/web/core/components/inbox/inbox-filter/applied-filters/member.tsx +++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/member.tsx @@ -1,10 +1,10 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { X } from "lucide-react"; // plane types -import { TInboxIssueFilterMemberKeys } from "@plane/types"; +import type { TInboxIssueFilterMemberKeys } from "@plane/types"; // plane ui import { Avatar, Tag } from "@plane/ui"; // helpers diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx index d6886eaf4..d290d9255 100644 --- a/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx +++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx @@ -1,12 +1,12 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { X } from "lucide-react"; import { ISSUE_PRIORITIES } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { PriorityIcon } from "@plane/propel/icons"; -import { TIssuePriorities } from "@plane/types"; +import type { TIssuePriorities } from "@plane/types"; import { Tag } from "@plane/ui"; // hooks import { useProjectInbox } from "@/hooks/store/use-project-inbox"; diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/root.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/root.tsx index b2a517802..8ae9e17e0 100644 --- a/apps/web/core/components/inbox/inbox-filter/applied-filters/root.tsx +++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/root.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { Header, EHeaderVariant } from "@plane/ui"; diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx index 0871a17da..dd743f90c 100644 --- a/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx +++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { X } from "lucide-react"; import { EIconSize } from "@plane/constants"; diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/status.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/status.tsx index 1ecbf5efd..0ef4f9974 100644 --- a/apps/web/core/components/inbox/inbox-filter/applied-filters/status.tsx +++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/status.tsx @@ -1,9 +1,9 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { X } from "lucide-react"; import { INBOX_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TInboxIssueStatus } from "@plane/types"; +import type { TInboxIssueStatus } from "@plane/types"; // constants import { Tag } from "@plane/ui"; // hooks diff --git a/apps/web/core/components/inbox/inbox-filter/filters/date.tsx b/apps/web/core/components/inbox/inbox-filter/filters/date.tsx index 6aedda71e..4e1dd286b 100644 --- a/apps/web/core/components/inbox/inbox-filter/filters/date.tsx +++ b/apps/web/core/components/inbox/inbox-filter/filters/date.tsx @@ -1,8 +1,9 @@ -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { concat, uniq } from "lodash-es"; import { observer } from "mobx-react"; import { PAST_DURATION_FILTER_OPTIONS } from "@plane/constants"; -import { TInboxIssueFilterDateKeys } from "@plane/types"; +import type { TInboxIssueFilterDateKeys } from "@plane/types"; // components import { DateFilterModal } from "@/components/core/filters/date-filter-modal"; import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/inbox/inbox-filter/filters/filter-selection.tsx b/apps/web/core/components/inbox/inbox-filter/filters/filter-selection.tsx index 60c7ce16b..c890ea10d 100644 --- a/apps/web/core/components/inbox/inbox-filter/filters/filter-selection.tsx +++ b/apps/web/core/components/inbox/inbox-filter/filters/filter-selection.tsx @@ -1,4 +1,5 @@ -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { Search, X } from "lucide-react"; // hooks diff --git a/apps/web/core/components/inbox/inbox-filter/filters/labels.tsx b/apps/web/core/components/inbox/inbox-filter/filters/labels.tsx index 1bb86c931..eddfbf6f8 100644 --- a/apps/web/core/components/inbox/inbox-filter/filters/labels.tsx +++ b/apps/web/core/components/inbox/inbox-filter/filters/labels.tsx @@ -1,8 +1,9 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; -import { IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; import { Loader } from "@plane/ui"; // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/inbox/inbox-filter/filters/members.tsx b/apps/web/core/components/inbox/inbox-filter/filters/members.tsx index 4a6b95ec7..80566808b 100644 --- a/apps/web/core/components/inbox/inbox-filter/filters/members.tsx +++ b/apps/web/core/components/inbox/inbox-filter/filters/members.tsx @@ -1,10 +1,11 @@ "use client"; -import { FC, useMemo, useState } from "react"; +import type { FC } from "react"; +import { useMemo, useState } from "react"; import { sortBy } from "lodash-es"; import { observer } from "mobx-react"; // plane types -import { TInboxIssueFilterMemberKeys } from "@plane/types"; +import type { TInboxIssueFilterMemberKeys } from "@plane/types"; // plane ui import { Avatar, Loader } from "@plane/ui"; // components diff --git a/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx b/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx index 580fa3978..aa2608ff2 100644 --- a/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx +++ b/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx @@ -1,11 +1,12 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { ISSUE_PRIORITIES } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { PriorityIcon } from "@plane/propel/icons"; -import { TIssuePriorities } from "@plane/types"; +import type { TIssuePriorities } from "@plane/types"; // plane constants // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/inbox/inbox-filter/filters/state.tsx b/apps/web/core/components/inbox/inbox-filter/filters/state.tsx index 4180ec363..3fb6586f3 100644 --- a/apps/web/core/components/inbox/inbox-filter/filters/state.tsx +++ b/apps/web/core/components/inbox/inbox-filter/filters/state.tsx @@ -1,10 +1,11 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { EIconSize } from "@plane/constants"; import { StateGroupIcon } from "@plane/propel/icons"; -import { IState } from "@plane/types"; +import type { IState } from "@plane/types"; import { Loader } from "@plane/ui"; // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/inbox/inbox-filter/filters/status.tsx b/apps/web/core/components/inbox/inbox-filter/filters/status.tsx index 250ba128b..b0d9217e1 100644 --- a/apps/web/core/components/inbox/inbox-filter/filters/status.tsx +++ b/apps/web/core/components/inbox/inbox-filter/filters/status.tsx @@ -1,9 +1,10 @@ -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; // types import { INBOX_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TInboxIssueStatus } from "@plane/types"; +import type { TInboxIssueStatus } from "@plane/types"; // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; // constants diff --git a/apps/web/core/components/inbox/inbox-filter/root.tsx b/apps/web/core/components/inbox/inbox-filter/root.tsx index 4a1ee84ec..7b6c08072 100644 --- a/apps/web/core/components/inbox/inbox-filter/root.tsx +++ b/apps/web/core/components/inbox/inbox-filter/root.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { ChevronDown, ListFilter } from "lucide-react"; // plane imports import { getButtonStyling } from "@plane/propel/button"; diff --git a/apps/web/core/components/inbox/inbox-filter/sorting/order-by.tsx b/apps/web/core/components/inbox/inbox-filter/sorting/order-by.tsx index 1b8d8e14c..5678994b7 100644 --- a/apps/web/core/components/inbox/inbox-filter/sorting/order-by.tsx +++ b/apps/web/core/components/inbox/inbox-filter/sorting/order-by.tsx @@ -1,12 +1,12 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { ArrowDownWideNarrow, ArrowUpWideNarrow, Check, ChevronDown } from "lucide-react"; import { INBOX_ISSUE_ORDER_BY_OPTIONS, INBOX_ISSUE_SORT_BY_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { getButtonStyling } from "@plane/propel/button"; -import { TInboxIssueSortingOrderByKeys, TInboxIssueSortingSortByKeys } from "@plane/types"; +import type { TInboxIssueSortingOrderByKeys, TInboxIssueSortingSortByKeys } from "@plane/types"; import { CustomMenu } from "@plane/ui"; // constants // helpers diff --git a/apps/web/core/components/inbox/inbox-issue-status.tsx b/apps/web/core/components/inbox/inbox-issue-status.tsx index 00a7d0887..fbafb6af5 100644 --- a/apps/web/core/components/inbox/inbox-issue-status.tsx +++ b/apps/web/core/components/inbox/inbox-issue-status.tsx @@ -6,7 +6,7 @@ import { INBOX_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { cn, findHowManyDaysLeft } from "@plane/utils"; // store -import { IInboxIssueStore } from "@/store/inbox/inbox-issue.store"; +import type { IInboxIssueStore } from "@/store/inbox/inbox-issue.store"; import { ICON_PROPERTIES, InboxStatusIcon } from "./inbox-status-icon"; type Props = { diff --git a/apps/web/core/components/inbox/inbox-status-icon.tsx b/apps/web/core/components/inbox/inbox-status-icon.tsx index 8cf91df0c..7235b32e7 100644 --- a/apps/web/core/components/inbox/inbox-status-icon.tsx +++ b/apps/web/core/components/inbox/inbox-status-icon.tsx @@ -1,5 +1,6 @@ import { AlertTriangle, CheckCircle2, Clock, Copy, XCircle } from "lucide-react"; -import { TInboxIssueStatus, EInboxIssueStatus } from "@plane/types"; +import type { TInboxIssueStatus } from "@plane/types"; +import { EInboxIssueStatus } from "@plane/types"; import { cn } from "@plane/utils"; export const ICON_PROPERTIES = { diff --git a/apps/web/core/components/inbox/modals/create-modal/create-root.tsx b/apps/web/core/components/inbox/modals/create-modal/create-root.tsx index 52f7acf7b..d10094fa2 100644 --- a/apps/web/core/components/inbox/modals/create-modal/create-root.tsx +++ b/apps/web/core/components/inbox/modals/create-modal/create-root.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, FormEvent, useCallback, useEffect, useRef, useState } from "react"; +import type { FC, FormEvent } from "react"; +import { useCallback, useEffect, useRef, useState } from "react"; import { observer } from "mobx-react"; // plane imports import { ETabIndices, WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; @@ -8,7 +9,7 @@ import type { EditorRefApi } from "@plane/editor"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; import { ToggleSwitch } from "@plane/ui"; import { renderFormattedPayloadDate, getTabIndex } from "@plane/utils"; // helpers diff --git a/apps/web/core/components/inbox/modals/create-modal/issue-description.tsx b/apps/web/core/components/inbox/modals/create-modal/issue-description.tsx index 95f1a827a..702c1fa9e 100644 --- a/apps/web/core/components/inbox/modals/create-modal/issue-description.tsx +++ b/apps/web/core/components/inbox/modals/create-modal/issue-description.tsx @@ -1,12 +1,13 @@ "use client"; -import { FC, RefObject } from "react"; +import type { FC, RefObject } from "react"; import { observer } from "mobx-react"; // plane imports import { ETabIndices } from "@plane/constants"; import type { EditorRefApi } from "@plane/editor"; import { useTranslation } from "@plane/i18n"; -import { EFileAssetType, TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; +import { EFileAssetType } from "@plane/types"; import { Loader } from "@plane/ui"; import { getDescriptionPlaceholderI18n, getTabIndex } from "@plane/utils"; // components diff --git a/apps/web/core/components/inbox/modals/create-modal/issue-properties.tsx b/apps/web/core/components/inbox/modals/create-modal/issue-properties.tsx index b06619909..92b823d3a 100644 --- a/apps/web/core/components/inbox/modals/create-modal/issue-properties.tsx +++ b/apps/web/core/components/inbox/modals/create-modal/issue-properties.tsx @@ -1,9 +1,10 @@ -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { LayoutPanelTop } from "lucide-react"; // plane imports import { ETabIndices } from "@plane/constants"; -import { ISearchIssueResponse, TIssue } from "@plane/types"; +import type { ISearchIssueResponse, TIssue } from "@plane/types"; import { CustomMenu } from "@plane/ui"; import { renderFormattedPayloadDate, getDate, getTabIndex } from "@plane/utils"; // components diff --git a/apps/web/core/components/inbox/modals/create-modal/issue-title.tsx b/apps/web/core/components/inbox/modals/create-modal/issue-title.tsx index 18a38e1f5..711efdfd7 100644 --- a/apps/web/core/components/inbox/modals/create-modal/issue-title.tsx +++ b/apps/web/core/components/inbox/modals/create-modal/issue-title.tsx @@ -1,11 +1,11 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { ETabIndices } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; import { Input } from "@plane/ui"; // helpers import { getTabIndex } from "@plane/utils"; diff --git a/apps/web/core/components/inbox/modals/create-modal/modal.tsx b/apps/web/core/components/inbox/modals/create-modal/modal.tsx index 42e3dd879..acce369bb 100644 --- a/apps/web/core/components/inbox/modals/create-modal/modal.tsx +++ b/apps/web/core/components/inbox/modals/create-modal/modal.tsx @@ -1,6 +1,7 @@ "use-client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; // plane imports import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; // hooks diff --git a/apps/web/core/components/inbox/modals/select-duplicate.tsx b/apps/web/core/components/inbox/modals/select-duplicate.tsx index fa9aa4982..3d89eb68c 100644 --- a/apps/web/core/components/inbox/modals/select-duplicate.tsx +++ b/apps/web/core/components/inbox/modals/select-duplicate.tsx @@ -7,7 +7,7 @@ import { Combobox, Dialog, Transition } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { ISearchIssueResponse } from "@plane/types"; +import type { ISearchIssueResponse } from "@plane/types"; import { Loader } from "@plane/ui"; // components import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root"; diff --git a/apps/web/core/components/inbox/modals/snooze-issue-modal.tsx b/apps/web/core/components/inbox/modals/snooze-issue-modal.tsx index 267971f25..513bb0f13 100644 --- a/apps/web/core/components/inbox/modals/snooze-issue-modal.tsx +++ b/apps/web/core/components/inbox/modals/snooze-issue-modal.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, Fragment, useState } from "react"; +import type { FC } from "react"; +import { Fragment, useState } from "react"; import { Dialog, Transition } from "@headlessui/react"; // ui import { useTranslation } from "@plane/i18n"; diff --git a/apps/web/core/components/inbox/root.tsx b/apps/web/core/components/inbox/root.tsx index 51095aea6..4327c3aef 100644 --- a/apps/web/core/components/inbox/root.tsx +++ b/apps/web/core/components/inbox/root.tsx @@ -1,4 +1,5 @@ -import { FC, useEffect, useState } from "react"; +import type { FC } from "react"; +import { useEffect, useState } from "react"; import { observer } from "mobx-react"; import { PanelLeft } from "lucide-react"; // plane imports diff --git a/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx b/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx index a99e459e4..2326824c9 100644 --- a/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx +++ b/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC, MouseEvent } from "react"; +import type { FC, MouseEvent } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { useSearchParams } from "next/navigation"; diff --git a/apps/web/core/components/inbox/sidebar/inbox-list.tsx b/apps/web/core/components/inbox/sidebar/inbox-list.tsx index cabd16616..808ffdadb 100644 --- a/apps/web/core/components/inbox/sidebar/inbox-list.tsx +++ b/apps/web/core/components/inbox/sidebar/inbox-list.tsx @@ -1,4 +1,5 @@ -import { FC, Fragment } from "react"; +import type { FC } from "react"; +import { Fragment } from "react"; import { observer } from "mobx-react"; // local imports import { InboxIssueListItem } from "./inbox-list-item"; diff --git a/apps/web/core/components/inbox/sidebar/root.tsx b/apps/web/core/components/inbox/sidebar/root.tsx index 93d377ac7..b76c63834 100644 --- a/apps/web/core/components/inbox/sidebar/root.tsx +++ b/apps/web/core/components/inbox/sidebar/root.tsx @@ -1,9 +1,11 @@ "use client"; -import { FC, useCallback, useEffect, useRef, useState } from "react"; +import type { FC } from "react"; +import { useCallback, useEffect, useRef, useState } from "react"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; -import { TInboxIssueCurrentTab, EInboxIssueCurrentTab } from "@plane/types"; +import type { TInboxIssueCurrentTab } from "@plane/types"; +import { EInboxIssueCurrentTab } from "@plane/types"; // plane imports import { Header, Loader, EHeaderVariant } from "@plane/ui"; import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/instance/maintenance-view.tsx b/apps/web/core/components/instance/maintenance-view.tsx index 2fdc7f635..87f243497 100644 --- a/apps/web/core/components/instance/maintenance-view.tsx +++ b/apps/web/core/components/instance/maintenance-view.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import Image from "next/image"; import { useTheme } from "next-themes"; // layouts diff --git a/apps/web/core/components/instance/not-ready-view.tsx b/apps/web/core/components/instance/not-ready-view.tsx index 97a041d28..b44a8b3e0 100644 --- a/apps/web/core/components/instance/not-ready-view.tsx +++ b/apps/web/core/components/instance/not-ready-view.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import Image from "next/image"; import Link from "next/link"; import { useTheme } from "next-themes"; diff --git a/apps/web/core/components/integration/delete-import-modal.tsx b/apps/web/core/components/integration/delete-import-modal.tsx index 9fa269701..04b06b77a 100644 --- a/apps/web/core/components/integration/delete-import-modal.tsx +++ b/apps/web/core/components/integration/delete-import-modal.tsx @@ -12,7 +12,7 @@ import { Dialog, Transition } from "@headlessui/react"; // services import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IUser, IImporterService } from "@plane/types"; +import type { IUser, IImporterService } from "@plane/types"; import { Input } from "@plane/ui"; import { IMPORTER_SERVICES_LIST } from "@/constants/fetch-keys"; import { IntegrationService } from "@/services/integrations/integration.service"; diff --git a/apps/web/core/components/integration/github/auth.tsx b/apps/web/core/components/integration/github/auth.tsx index 4b3081752..6706e6aa0 100644 --- a/apps/web/core/components/integration/github/auth.tsx +++ b/apps/web/core/components/integration/github/auth.tsx @@ -3,7 +3,7 @@ import { observer } from "mobx-react"; // types import { Button } from "@plane/propel/button"; -import { IWorkspaceIntegration } from "@plane/types"; +import type { IWorkspaceIntegration } from "@plane/types"; // ui // hooks import { useInstance } from "@/hooks/store/use-instance"; diff --git a/apps/web/core/components/integration/github/import-configure.tsx b/apps/web/core/components/integration/github/import-configure.tsx index 458be3ef5..28a9e30bf 100644 --- a/apps/web/core/components/integration/github/import-configure.tsx +++ b/apps/web/core/components/integration/github/import-configure.tsx @@ -2,8 +2,9 @@ // components import { Button } from "@plane/propel/button"; -import { IAppIntegration, IWorkspaceIntegration } from "@plane/types"; -import { GithubAuth, TIntegrationSteps } from "@/components/integration"; +import type { IAppIntegration, IWorkspaceIntegration } from "@plane/types"; +import type { TIntegrationSteps } from "@/components/integration"; +import { GithubAuth } from "@/components/integration"; // types type Props = { diff --git a/apps/web/core/components/integration/github/import-confirm.tsx b/apps/web/core/components/integration/github/import-confirm.tsx index 21afa4ed8..7ee58f70a 100644 --- a/apps/web/core/components/integration/github/import-confirm.tsx +++ b/apps/web/core/components/integration/github/import-confirm.tsx @@ -1,13 +1,13 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; // react-hook-form -import { UseFormWatch } from "react-hook-form"; +import type { UseFormWatch } from "react-hook-form"; // ui import { Button } from "@plane/propel/button"; // types -import { TFormValues, TIntegrationSteps } from "@/components/integration"; +import type { TFormValues, TIntegrationSteps } from "@/components/integration"; type Props = { handleStepChange: (value: TIntegrationSteps) => void; diff --git a/apps/web/core/components/integration/github/import-data.tsx b/apps/web/core/components/integration/github/import-data.tsx index a03c3f706..a5f72f9ea 100644 --- a/apps/web/core/components/integration/github/import-data.tsx +++ b/apps/web/core/components/integration/github/import-data.tsx @@ -1,15 +1,17 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; -import { Control, Controller, UseFormWatch } from "react-hook-form"; +import type { Control, UseFormWatch } from "react-hook-form"; +import { Controller } from "react-hook-form"; import { Button } from "@plane/propel/button"; -import { IWorkspaceIntegration } from "@plane/types"; +import type { IWorkspaceIntegration } from "@plane/types"; // hooks // components import { CustomSearchSelect, ToggleSwitch } from "@plane/ui"; import { truncateText } from "@plane/utils"; -import { SelectRepository, TFormValues, TIntegrationSteps } from "@/components/integration"; +import type { TFormValues, TIntegrationSteps } from "@/components/integration"; +import { SelectRepository } from "@/components/integration"; // ui // helpers import { useProject } from "@/hooks/store/use-project"; diff --git a/apps/web/core/components/integration/github/import-users.tsx b/apps/web/core/components/integration/github/import-users.tsx index 2a61a6f8f..2057af739 100644 --- a/apps/web/core/components/integration/github/import-users.tsx +++ b/apps/web/core/components/integration/github/import-users.tsx @@ -1,13 +1,14 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; // react-hook-form -import { UseFormWatch } from "react-hook-form"; +import type { UseFormWatch } from "react-hook-form"; // ui import { Button } from "@plane/propel/button"; // types -import { IUserDetails, SingleUserSelect, TFormValues, TIntegrationSteps } from "@/components/integration"; +import type { IUserDetails, TFormValues, TIntegrationSteps } from "@/components/integration"; +import { SingleUserSelect } from "@/components/integration"; type Props = { handleStepChange: (value: TIntegrationSteps) => void; diff --git a/apps/web/core/components/integration/github/repo-details.tsx b/apps/web/core/components/integration/github/repo-details.tsx index 0ce25bd11..73ae1dae8 100644 --- a/apps/web/core/components/integration/github/repo-details.tsx +++ b/apps/web/core/components/integration/github/repo-details.tsx @@ -1,18 +1,19 @@ "use client"; -import { FC, useEffect } from "react"; +import type { FC } from "react"; +import { useEffect } from "react"; import { useParams } from "next/navigation"; // react-hook-form -import { UseFormSetValue } from "react-hook-form"; +import type { UseFormSetValue } from "react-hook-form"; import useSWR from "swr"; // services // ui import { Button } from "@plane/propel/button"; import { Loader } from "@plane/ui"; // types -import { IUserDetails, TFormValues, TIntegrationSteps } from "@/components/integration"; +import type { IUserDetails, TFormValues, TIntegrationSteps } from "@/components/integration"; // fetch-keys import { GITHUB_REPOSITORY_INFO } from "@/constants/fetch-keys"; import { GithubIntegrationService } from "@/services/integrations"; diff --git a/apps/web/core/components/integration/github/root.tsx b/apps/web/core/components/integration/github/root.tsx index 3f58b2118..1a8fbb472 100644 --- a/apps/web/core/components/integration/github/root.tsx +++ b/apps/web/core/components/integration/github/root.tsx @@ -9,7 +9,7 @@ import useSWR, { mutate } from "swr"; import { ArrowLeft, Check, List, Settings, UploadCloud, Users } from "lucide-react"; // types import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IGithubRepoCollaborator, IGithubServiceImportFormData } from "@plane/types"; +import type { IGithubRepoCollaborator, IGithubServiceImportFormData } from "@plane/types"; // ui // components import { diff --git a/apps/web/core/components/integration/github/select-repository.tsx b/apps/web/core/components/integration/github/select-repository.tsx index 2d8042f2a..a294eb0a9 100644 --- a/apps/web/core/components/integration/github/select-repository.tsx +++ b/apps/web/core/components/integration/github/select-repository.tsx @@ -3,7 +3,7 @@ import React from "react"; import { useParams } from "next/navigation"; import useSWRInfinite from "swr/infinite"; -import { IWorkspaceIntegration } from "@plane/types"; +import type { IWorkspaceIntegration } from "@plane/types"; // services // ui import { CustomSearchSelect } from "@plane/ui"; diff --git a/apps/web/core/components/integration/github/single-user-select.tsx b/apps/web/core/components/integration/github/single-user-select.tsx index d8332dfc1..04212ccdd 100644 --- a/apps/web/core/components/integration/github/single-user-select.tsx +++ b/apps/web/core/components/integration/github/single-user-select.tsx @@ -3,7 +3,7 @@ import { useParams } from "next/navigation"; import useSWR from "swr"; // plane types -import { IGithubRepoCollaborator } from "@plane/types"; +import type { IGithubRepoCollaborator } from "@plane/types"; // plane ui import { Avatar, CustomSelect, CustomSearchSelect, Input } from "@plane/ui"; // constants @@ -13,7 +13,7 @@ import { WORKSPACE_MEMBERS } from "@/constants/fetch-keys"; // plane web services import { WorkspaceService } from "@/plane-web/services"; // types -import { IUserDetails } from "./root"; +import type { IUserDetails } from "./root"; type Props = { collaborator: IGithubRepoCollaborator; diff --git a/apps/web/core/components/integration/guide.tsx b/apps/web/core/components/integration/guide.tsx index fa9b4e4d1..d5ef4625b 100644 --- a/apps/web/core/components/integration/guide.tsx +++ b/apps/web/core/components/integration/guide.tsx @@ -13,7 +13,7 @@ import { IMPORTERS_LIST } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // types import { Button } from "@plane/propel/button"; -import { IImporterService } from "@plane/types"; +import type { IImporterService } from "@plane/types"; // ui // components import { DeleteImportModal, GithubImporterRoot, JiraImporterRoot, SingleImport } from "@/components/integration"; diff --git a/apps/web/core/components/integration/jira/confirm-import.tsx b/apps/web/core/components/integration/jira/confirm-import.tsx index efb26afe1..a2f493db0 100644 --- a/apps/web/core/components/integration/jira/confirm-import.tsx +++ b/apps/web/core/components/integration/jira/confirm-import.tsx @@ -2,7 +2,7 @@ import React from "react"; // react hook form import { useFormContext } from "react-hook-form"; -import { IJiraImporterForm } from "@plane/types"; +import type { IJiraImporterForm } from "@plane/types"; // types diff --git a/apps/web/core/components/integration/jira/give-details.tsx b/apps/web/core/components/integration/jira/give-details.tsx index 293a5c871..5067dc816 100644 --- a/apps/web/core/components/integration/jira/give-details.tsx +++ b/apps/web/core/components/integration/jira/give-details.tsx @@ -6,7 +6,7 @@ import Link from "next/link"; import { useFormContext, Controller } from "react-hook-form"; import { Plus } from "lucide-react"; import { PROJECT_TRACKER_ELEMENTS } from "@plane/constants"; -import { IJiraImporterForm } from "@plane/types"; +import type { IJiraImporterForm } from "@plane/types"; // hooks // components import { CustomSelect, Input } from "@plane/ui"; diff --git a/apps/web/core/components/integration/jira/import-users.tsx b/apps/web/core/components/integration/jira/import-users.tsx index f14be78d6..f9c543646 100644 --- a/apps/web/core/components/integration/jira/import-users.tsx +++ b/apps/web/core/components/integration/jira/import-users.tsx @@ -1,11 +1,11 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { useParams } from "next/navigation"; import { useFormContext, useFieldArray, Controller } from "react-hook-form"; import useSWR from "swr"; // plane types -import { IJiraImporterForm } from "@plane/types"; +import type { IJiraImporterForm } from "@plane/types"; // plane ui import { Avatar, CustomSelect, CustomSearchSelect, Input, ToggleSwitch } from "@plane/ui"; // constants diff --git a/apps/web/core/components/integration/jira/index.ts b/apps/web/core/components/integration/jira/index.ts index e3ba5d685..bc22a8246 100644 --- a/apps/web/core/components/integration/jira/index.ts +++ b/apps/web/core/components/integration/jira/index.ts @@ -4,7 +4,7 @@ export * from "./jira-project-detail"; export * from "./import-users"; export * from "./confirm-import"; -import { IJiraImporterForm } from "@plane/types"; +import type { IJiraImporterForm } from "@plane/types"; export type TJiraIntegrationSteps = | "import-configure" diff --git a/apps/web/core/components/integration/jira/jira-project-detail.tsx b/apps/web/core/components/integration/jira/jira-project-detail.tsx index e1808ccac..56384276f 100644 --- a/apps/web/core/components/integration/jira/jira-project-detail.tsx +++ b/apps/web/core/components/integration/jira/jira-project-detail.tsx @@ -8,7 +8,7 @@ import { useParams } from "next/navigation"; // swr import { useFormContext, Controller } from "react-hook-form"; import useSWR from "swr"; -import { IJiraImporterForm, IJiraMetadata } from "@plane/types"; +import type { IJiraImporterForm, IJiraMetadata } from "@plane/types"; // react hook form diff --git a/apps/web/core/components/integration/jira/root.tsx b/apps/web/core/components/integration/jira/root.tsx index cdfe74e4c..ed9fa09ba 100644 --- a/apps/web/core/components/integration/jira/root.tsx +++ b/apps/web/core/components/integration/jira/root.tsx @@ -10,7 +10,7 @@ import { mutate } from "swr"; import { ArrowLeft, Check, List, Settings, Users } from "lucide-react"; // types import { Button } from "@plane/propel/button"; -import { IJiraImporterForm } from "@plane/types"; +import type { IJiraImporterForm } from "@plane/types"; // ui // fetch keys import { IMPORTER_SERVICES_LIST } from "@/constants/fetch-keys"; @@ -21,15 +21,8 @@ import JiraLogo from "@/public/services/jira.svg"; // services import { JiraImporterService } from "@/services/integrations"; // components -import { - JiraGetImportDetail, - JiraProjectDetail, - JiraImportUsers, - JiraConfirmImport, - jiraFormDefaultValues, - TJiraIntegrationSteps, - IJiraIntegrationData, -} from "."; +import type { TJiraIntegrationSteps, IJiraIntegrationData } from "."; +import { JiraGetImportDetail, JiraProjectDetail, JiraImportUsers, JiraConfirmImport, jiraFormDefaultValues } from "."; const integrationWorkflowData: Array<{ title: string; diff --git a/apps/web/core/components/integration/single-import.tsx b/apps/web/core/components/integration/single-import.tsx index 247fb0f8e..ae8c6b01b 100644 --- a/apps/web/core/components/integration/single-import.tsx +++ b/apps/web/core/components/integration/single-import.tsx @@ -5,7 +5,7 @@ import { Trash2 } from "lucide-react"; // plane imports import { IMPORTERS_LIST } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { IImporterService } from "@plane/types"; +import type { IImporterService } from "@plane/types"; import { CustomMenu } from "@plane/ui"; // icons // helpers diff --git a/apps/web/core/components/integration/single-integration-card.tsx b/apps/web/core/components/integration/single-integration-card.tsx index 705006858..b6169d83d 100644 --- a/apps/web/core/components/integration/single-integration-card.tsx +++ b/apps/web/core/components/integration/single-integration-card.tsx @@ -10,7 +10,7 @@ import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { IAppIntegration, IWorkspaceIntegration } from "@plane/types"; +import type { IAppIntegration, IWorkspaceIntegration } from "@plane/types"; // ui import { Loader } from "@plane/ui"; // constants diff --git a/apps/web/core/components/integration/slack/select-channel.tsx b/apps/web/core/components/integration/slack/select-channel.tsx index 4a762a2c0..fb51f4a1b 100644 --- a/apps/web/core/components/integration/slack/select-channel.tsx +++ b/apps/web/core/components/integration/slack/select-channel.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import useSWR, { mutate } from "swr"; // types -import { IWorkspaceIntegration, ISlackIntegration } from "@plane/types"; +import type { IWorkspaceIntegration, ISlackIntegration } from "@plane/types"; // ui import { Loader } from "@plane/ui"; // fetch-keys diff --git a/apps/web/core/components/issues/archive-issue-modal.tsx b/apps/web/core/components/issues/archive-issue-modal.tsx index 3514bb712..98204aa18 100644 --- a/apps/web/core/components/issues/archive-issue-modal.tsx +++ b/apps/web/core/components/issues/archive-issue-modal.tsx @@ -7,7 +7,7 @@ import { useTranslation } from "@plane/i18n"; // types import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { TDeDupeIssue, TIssue } from "@plane/types"; +import type { TDeDupeIssue, TIssue } from "@plane/types"; // hooks import { useIssues } from "@/hooks/store/use-issues"; import { useProject } from "@/hooks/store/use-project"; diff --git a/apps/web/core/components/issues/archived-issues-header.tsx b/apps/web/core/components/issues/archived-issues-header.tsx index ec325d4e3..324130573 100644 --- a/apps/web/core/components/issues/archived-issues-header.tsx +++ b/apps/web/core/components/issues/archived-issues-header.tsx @@ -1,10 +1,11 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports import { EIssueFilterType, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EIssuesStoreType, IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { EHeaderVariant, Header } from "@plane/ui"; // components import { ArchiveTabsList } from "@/components/archives"; diff --git a/apps/web/core/components/issues/attachment/attachment-detail.tsx b/apps/web/core/components/issues/attachment/attachment-detail.tsx index eede3c1ff..cfd1869c7 100644 --- a/apps/web/core/components/issues/attachment/attachment-detail.tsx +++ b/apps/web/core/components/issues/attachment/attachment-detail.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { AlertCircle, X } from "lucide-react"; @@ -25,7 +26,7 @@ import { useIssueDetail } from "@/hooks/store/use-issue-detail"; import { useMember } from "@/hooks/store/use-member"; import { usePlatformOS } from "@/hooks/use-platform-os"; // types -import { TAttachmentHelpers } from "../issue-detail-widgets/attachments/helper"; +import type { TAttachmentHelpers } from "../issue-detail-widgets/attachments/helper"; type TAttachmentOperationsRemoveModal = Exclude; diff --git a/apps/web/core/components/issues/attachment/attachment-item-list.tsx b/apps/web/core/components/issues/attachment/attachment-item-list.tsx index a12db0030..25da16388 100644 --- a/apps/web/core/components/issues/attachment/attachment-item-list.tsx +++ b/apps/web/core/components/issues/attachment/attachment-item-list.tsx @@ -1,16 +1,19 @@ -import { FC, useCallback, useState } from "react"; +import type { FC } from "react"; +import { useCallback, useState } from "react"; import { observer } from "mobx-react"; -import { FileRejection, useDropzone } from "react-dropzone"; +import type { FileRejection } from "react-dropzone"; +import { useDropzone } from "react-dropzone"; import { UploadCloud } from "lucide-react"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssueServiceType, TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // plane web hooks import { useFileSize } from "@/plane-web/hooks/use-file-size"; // types -import { TAttachmentHelpers } from "../issue-detail-widgets/attachments/helper"; +import type { TAttachmentHelpers } from "../issue-detail-widgets/attachments/helper"; // components import { IssueAttachmentsListItem } from "./attachment-list-item"; import { IssueAttachmentsUploadItem } from "./attachment-list-upload-item"; diff --git a/apps/web/core/components/issues/attachment/attachment-list-item.tsx b/apps/web/core/components/issues/attachment/attachment-list-item.tsx index d5c24c25f..d4610ff0a 100644 --- a/apps/web/core/components/issues/attachment/attachment-list-item.tsx +++ b/apps/web/core/components/issues/attachment/attachment-list-item.tsx @@ -1,11 +1,12 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { Trash } from "lucide-react"; import { useTranslation } from "@plane/i18n"; import { Tooltip } from "@plane/propel/tooltip"; -import { EIssueServiceType, TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // ui import { CustomMenu } from "@plane/ui"; import { convertBytesToSize, getFileExtension, getFileName, getFileURL, renderFormattedDate } from "@plane/utils"; diff --git a/apps/web/core/components/issues/attachment/attachment-list-upload-item.tsx b/apps/web/core/components/issues/attachment/attachment-list-upload-item.tsx index 710689635..af7b092e1 100644 --- a/apps/web/core/components/issues/attachment/attachment-list-upload-item.tsx +++ b/apps/web/core/components/issues/attachment/attachment-list-upload-item.tsx @@ -11,7 +11,7 @@ import { getFileIcon } from "@/components/icons"; // hooks import { usePlatformOS } from "@/hooks/use-platform-os"; // types -import { TAttachmentUploadStatus } from "@/store/issue/issue-details/attachment.store"; +import type { TAttachmentUploadStatus } from "@/store/issue/issue-details/attachment.store"; type Props = { uploadStatus: TAttachmentUploadStatus; diff --git a/apps/web/core/components/issues/attachment/attachment-upload-details.tsx b/apps/web/core/components/issues/attachment/attachment-upload-details.tsx index ea868c8d2..adee71737 100644 --- a/apps/web/core/components/issues/attachment/attachment-upload-details.tsx +++ b/apps/web/core/components/issues/attachment/attachment-upload-details.tsx @@ -11,7 +11,7 @@ import { getFileIcon } from "@/components/icons"; // hooks import { usePlatformOS } from "@/hooks/use-platform-os"; // types -import { TAttachmentUploadStatus } from "@/store/issue/issue-details/attachment.store"; +import type { TAttachmentUploadStatus } from "@/store/issue/issue-details/attachment.store"; type Props = { uploadStatus: TAttachmentUploadStatus; diff --git a/apps/web/core/components/issues/attachment/attachment-upload.tsx b/apps/web/core/components/issues/attachment/attachment-upload.tsx index 2de55ac00..959a07d5d 100644 --- a/apps/web/core/components/issues/attachment/attachment-upload.tsx +++ b/apps/web/core/components/issues/attachment/attachment-upload.tsx @@ -4,7 +4,7 @@ import { useDropzone } from "react-dropzone"; // plane web hooks import { useFileSize } from "@/plane-web/hooks/use-file-size"; // types -import { TAttachmentOperations } from "../issue-detail-widgets/attachments/helper"; +import type { TAttachmentOperations } from "../issue-detail-widgets/attachments/helper"; type TAttachmentOperationsModal = Pick; diff --git a/apps/web/core/components/issues/attachment/attachments-list.tsx b/apps/web/core/components/issues/attachment/attachments-list.tsx index b4f74c691..3ce00e0e1 100644 --- a/apps/web/core/components/issues/attachment/attachments-list.tsx +++ b/apps/web/core/components/issues/attachment/attachments-list.tsx @@ -1,9 +1,9 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // types -import { TAttachmentHelpers } from "../issue-detail-widgets/attachments/helper"; +import type { TAttachmentHelpers } from "../issue-detail-widgets/attachments/helper"; // components import { IssueAttachmentsDetail } from "./attachment-detail"; import { IssueAttachmentsUploadDetails } from "./attachment-upload-details"; diff --git a/apps/web/core/components/issues/attachment/delete-attachment-modal.tsx b/apps/web/core/components/issues/attachment/delete-attachment-modal.tsx index f06b83941..4eb79fc39 100644 --- a/apps/web/core/components/issues/attachment/delete-attachment-modal.tsx +++ b/apps/web/core/components/issues/attachment/delete-attachment-modal.tsx @@ -1,9 +1,11 @@ -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; // plane-i18n import { useTranslation } from "@plane/i18n"; // types -import { EIssueServiceType, TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // ui import { AlertModalCore } from "@plane/ui"; // helper @@ -11,7 +13,7 @@ import { getFileName } from "@plane/utils"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // types -import { TAttachmentOperations } from "../issue-detail-widgets/attachments/helper"; +import type { TAttachmentOperations } from "../issue-detail-widgets/attachments/helper"; export type TAttachmentOperationsRemoveModal = Pick; diff --git a/apps/web/core/components/issues/attachment/root.tsx b/apps/web/core/components/issues/attachment/root.tsx index 700b35bb8..a0bc00241 100644 --- a/apps/web/core/components/issues/attachment/root.tsx +++ b/apps/web/core/components/issues/attachment/root.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // hooks import { useAttachmentOperations } from "../issue-detail-widgets/attachments/helper"; diff --git a/apps/web/core/components/issues/create-issue-toast-action-items.tsx b/apps/web/core/components/issues/create-issue-toast-action-items.tsx index 1695ede70..4c2d05163 100644 --- a/apps/web/core/components/issues/create-issue-toast-action-items.tsx +++ b/apps/web/core/components/issues/create-issue-toast-action-items.tsx @@ -1,5 +1,6 @@ "use client"; -import React, { FC, useState } from "react"; +import type { FC } from "react"; +import React, { useState } from "react"; import { observer } from "mobx-react"; import { copyUrlToClipboard, generateWorkItemLink } from "@plane/utils"; // plane imports diff --git a/apps/web/core/components/issues/delete-issue-modal.tsx b/apps/web/core/components/issues/delete-issue-modal.tsx index 7cf807f68..b23fd0d6b 100644 --- a/apps/web/core/components/issues/delete-issue-modal.tsx +++ b/apps/web/core/components/issues/delete-issue-modal.tsx @@ -7,7 +7,7 @@ import { useParams } from "next/navigation"; import { PROJECT_ERROR_MESSAGES, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { TDeDupeIssue, TIssue } from "@plane/types"; +import type { TDeDupeIssue, TIssue } from "@plane/types"; // ui import { AlertModalCore } from "@plane/ui"; // constants diff --git a/apps/web/core/components/issues/description-input.tsx b/apps/web/core/components/issues/description-input.tsx index 6d7c5eebb..dca9623c7 100644 --- a/apps/web/core/components/issues/description-input.tsx +++ b/apps/web/core/components/issues/description-input.tsx @@ -1,18 +1,20 @@ "use client"; -import { FC, useCallback, useEffect, useRef, useState } from "react"; +import type { FC } from "react"; +import { useCallback, useEffect, useRef, useState } from "react"; import { debounce } from "lodash-es"; import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; // plane imports import type { EditorRefApi } from "@plane/editor"; import { useTranslation } from "@plane/i18n"; -import { EFileAssetType, TIssue, TNameDescriptionLoader } from "@plane/types"; +import type { TIssue, TNameDescriptionLoader } from "@plane/types"; +import { EFileAssetType } from "@plane/types"; import { Loader } from "@plane/ui"; // components import { getDescriptionPlaceholderI18n } from "@plane/utils"; import { RichTextEditor } from "@/components/editor/rich-text"; -import { TIssueOperations } from "@/components/issues/issue-detail"; +import type { TIssueOperations } from "@/components/issues/issue-detail"; // helpers // hooks import { useEditorAsset } from "@/hooks/store/use-editor-asset"; diff --git a/apps/web/core/components/issues/filters.tsx b/apps/web/core/components/issues/filters.tsx index fcf0ad24e..55abf99df 100644 --- a/apps/web/core/components/issues/filters.tsx +++ b/apps/web/core/components/issues/filters.tsx @@ -7,11 +7,12 @@ import { ChartNoAxesColumn, SlidersHorizontal } from "lucide-react"; import { EIssueFilterType, ISSUE_STORE_TO_FILTERS_MAP } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; -import { EIssueLayoutTypes, EIssuesStoreType, IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; +import { EIssueLayoutTypes, EIssuesStoreType } from "@plane/types"; // hooks import { useIssues } from "@/hooks/store/use-issues"; // plane web imports -import { TProject } from "@/plane-web/types"; +import type { TProject } from "@/plane-web/types"; // local imports import { WorkItemsModal } from "../analytics/work-items/modal"; import { WorkItemFiltersToggle } from "../work-item-filters/filters-toggle"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/action-buttons.tsx b/apps/web/core/components/issues/issue-detail-widgets/action-buttons.tsx index de5a4e313..ae8387efc 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/action-buttons.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/action-buttons.tsx @@ -1,11 +1,12 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { Link, Paperclip, Waypoints } from "lucide-react"; import { useTranslation } from "@plane/i18n"; import { ViewsIcon } from "@plane/propel/icons"; // plane imports -import { TIssueServiceType, TWorkItemWidgets } from "@plane/types"; +import type { TIssueServiceType, TWorkItemWidgets } from "@plane/types"; // plane web imports import { WorkItemAdditionalWidgetActionButtons } from "@/plane-web/components/issues/issue-detail-widgets/action-buttons"; // local imports diff --git a/apps/web/core/components/issues/issue-detail-widgets/attachments/content.tsx b/apps/web/core/components/issues/issue-detail-widgets/attachments/content.tsx index b62de354b..ff986df04 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/attachments/content.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/attachments/content.tsx @@ -1,7 +1,9 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; -import { EIssueServiceType, TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // local imports import { IssueAttachmentItemList } from "../../attachment/attachment-item-list"; import { useAttachmentOperations } from "./helper"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/attachments/helper.tsx b/apps/web/core/components/issues/issue-detail-widgets/attachments/helper.tsx index 5410d1d75..4f2c0d35f 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/attachments/helper.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/attachments/helper.tsx @@ -2,12 +2,13 @@ import { useMemo } from "react"; import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; import { setPromiseToast, TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssueServiceType, TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // hooks import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // types -import { TAttachmentUploadStatus } from "@/store/issue/issue-details/attachment.store"; +import type { TAttachmentUploadStatus } from "@/store/issue/issue-details/attachment.store"; export type TAttachmentOperations = { create: (file: File) => Promise; diff --git a/apps/web/core/components/issues/issue-detail-widgets/attachments/quick-action-button.tsx b/apps/web/core/components/issues/issue-detail-widgets/attachments/quick-action-button.tsx index e9edb5642..423045df7 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/attachments/quick-action-button.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/attachments/quick-action-button.tsx @@ -1,12 +1,14 @@ "use client"; -import React, { FC, useCallback, useState } from "react"; +import type { FC } from "react"; +import React, { useCallback, useState } from "react"; import { observer } from "mobx-react"; -import { FileRejection, useDropzone } from "react-dropzone"; +import type { FileRejection } from "react-dropzone"; +import { useDropzone } from "react-dropzone"; import { Plus } from "lucide-react"; // plane imports import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // plane web hooks diff --git a/apps/web/core/components/issues/issue-detail-widgets/attachments/root.tsx b/apps/web/core/components/issues/issue-detail-widgets/attachments/root.tsx index 22a79a29c..a40fc909e 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/attachments/root.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/attachments/root.tsx @@ -1,8 +1,9 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; // plane imports -import { TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; import { Collapsible } from "@plane/ui"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/attachments/title.tsx b/apps/web/core/components/issues/issue-detail-widgets/attachments/title.tsx index ef436f25d..fc3a03030 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/attachments/title.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/attachments/title.tsx @@ -1,8 +1,10 @@ "use client"; -import React, { FC, useMemo } from "react"; +import type { FC } from "react"; +import React, { useMemo } from "react"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; -import { EIssueServiceType, TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; import { CollapsibleButton } from "@plane/ui"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-collapsibles.tsx b/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-collapsibles.tsx index f9fb24372..1e138f854 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-collapsibles.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-collapsibles.tsx @@ -1,8 +1,9 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; // plane imports -import { TIssueServiceType, TWorkItemWidgets } from "@plane/types"; +import type { TIssueServiceType, TWorkItemWidgets } from "@plane/types"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // Plane-web diff --git a/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-modals.tsx b/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-modals.tsx index a25eaf107..c2cdc0c57 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-modals.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-modals.tsx @@ -1,7 +1,8 @@ -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { ISearchIssueResponse, TIssue, TIssueServiceType, TWorkItemWidgets } from "@plane/types"; +import type { ISearchIssueResponse, TIssue, TIssueServiceType, TWorkItemWidgets } from "@plane/types"; // components import { ExistingIssuesListModal } from "@/components/core/modals/existing-issues-list-modal"; // hooks diff --git a/apps/web/core/components/issues/issue-detail-widgets/links/content.tsx b/apps/web/core/components/issues/issue-detail-widgets/links/content.tsx index 014cf7c02..3b1bc20bb 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/links/content.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/links/content.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC } from "react"; -import { TIssueServiceType } from "@plane/types"; +import type { FC } from "react"; +import React from "react"; +import type { TIssueServiceType } from "@plane/types"; // components import { LinkList } from "../../issue-detail/links"; // helper diff --git a/apps/web/core/components/issues/issue-detail-widgets/links/helper.tsx b/apps/web/core/components/issues/issue-detail-widgets/links/helper.tsx index 27a6513d4..5bf6c6821 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/links/helper.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/links/helper.tsx @@ -3,11 +3,11 @@ import { useMemo } from "react"; // plane imports import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { TIssueLink, TIssueServiceType } from "@plane/types"; +import type { TIssueLink, TIssueServiceType } from "@plane/types"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // local imports -import { TLinkOperations } from "../../issue-detail/links"; +import type { TLinkOperations } from "../../issue-detail/links"; export const useLinkOperations = ( workspaceSlug: string, diff --git a/apps/web/core/components/issues/issue-detail-widgets/links/quick-action-button.tsx b/apps/web/core/components/issues/issue-detail-widgets/links/quick-action-button.tsx index 25ffc02ad..ee068640d 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/links/quick-action-button.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/links/quick-action-button.tsx @@ -1,9 +1,10 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { Plus } from "lucide-react"; // plane imports -import { TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/links/root.tsx b/apps/web/core/components/issues/issue-detail-widgets/links/root.tsx index 3cd211a04..8fb3cc069 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/links/root.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/links/root.tsx @@ -1,8 +1,9 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; // plane imports -import { TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; import { Collapsible } from "@plane/ui"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/links/title.tsx b/apps/web/core/components/issues/issue-detail-widgets/links/title.tsx index e1aa75b43..0e9eec1f5 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/links/title.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/links/title.tsx @@ -1,9 +1,10 @@ "use client"; -import React, { FC, useMemo } from "react"; +import type { FC } from "react"; +import React, { useMemo } from "react"; import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; import { CollapsibleButton } from "@plane/ui"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/relations/content.tsx b/apps/web/core/components/issues/issue-detail-widgets/relations/content.tsx index 048f1bbd0..01fea1d60 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/relations/content.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/relations/content.tsx @@ -1,9 +1,11 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { EIssueServiceType, TIssue, TIssueServiceType } from "@plane/types"; +import type { TIssue, TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; import { Collapsible } from "@plane/ui"; // components import { CreateUpdateIssueModal } from "@/components/issues/issue-modal/modal"; @@ -12,7 +14,7 @@ import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // Plane-web import { CreateUpdateEpicModal } from "@/plane-web/components/epics/epic-modal"; import { useTimeLineRelationOptions } from "@/plane-web/components/relations"; -import { TIssueRelationTypes } from "@/plane-web/types"; +import type { TIssueRelationTypes } from "@/plane-web/types"; // helper import { DeleteIssueModal } from "../../delete-issue-modal"; import { RelationIssueList } from "../../relations/issue-list"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/relations/helper.tsx b/apps/web/core/components/issues/issue-detail-widgets/relations/helper.tsx index a7fc8bdaf..f351cef79 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/relations/helper.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/relations/helper.tsx @@ -4,7 +4,8 @@ import { useMemo } from "react"; import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssueServiceType, TIssue, TIssueServiceType } from "@plane/types"; +import type { TIssue, TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; import { copyUrlToClipboard } from "@plane/utils"; // hooks import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/relations/quick-action-button.tsx b/apps/web/core/components/issues/issue-detail-widgets/relations/quick-action-button.tsx index 0390d6eaa..8de45b38e 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/relations/quick-action-button.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/relations/quick-action-button.tsx @@ -1,16 +1,17 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { Plus } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; import { CustomMenu } from "@plane/ui"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // Plane-web import { useTimeLineRelationOptions } from "@/plane-web/components/relations"; -import { TIssueRelationTypes } from "@/plane-web/types"; +import type { TIssueRelationTypes } from "@/plane-web/types"; type Props = { issueId: string; diff --git a/apps/web/core/components/issues/issue-detail-widgets/relations/root.tsx b/apps/web/core/components/issues/issue-detail-widgets/relations/root.tsx index 576e1e8f7..3305cff94 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/relations/root.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/relations/root.tsx @@ -1,8 +1,9 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; // plane imports -import { TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; import { Collapsible } from "@plane/ui"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/relations/title.tsx b/apps/web/core/components/issues/issue-detail-widgets/relations/title.tsx index 3f6365e6b..abe06701f 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/relations/title.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/relations/title.tsx @@ -1,8 +1,10 @@ "use client"; -import React, { FC, useMemo } from "react"; +import type { FC } from "react"; +import React, { useMemo } from "react"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; -import { EIssueServiceType, TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; import { CollapsibleButton } from "@plane/ui"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/root.tsx b/apps/web/core/components/issues/issue-detail-widgets/root.tsx index 4f4473088..12ac49744 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/root.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/root.tsx @@ -1,8 +1,9 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; // plane imports -import { TIssueServiceType, TWorkItemWidgets } from "@plane/types"; +import type { TIssueServiceType, TWorkItemWidgets } from "@plane/types"; // local imports import { IssueDetailWidgetActionButtons } from "./action-buttons"; import { IssueDetailWidgetCollapsibles } from "./issue-detail-widget-collapsibles"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx index 64d591738..ad76e6fe2 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx @@ -1,7 +1,9 @@ "use client"; -import React, { FC, useEffect, useState, useCallback } from "react"; +import type { FC } from "react"; +import React, { useEffect, useState, useCallback } from "react"; import { observer } from "mobx-react"; -import { EIssueServiceType, EIssuesStoreType, TIssue, TIssueServiceType } from "@plane/types"; +import type { TIssue, TIssueServiceType } from "@plane/types"; +import { EIssueServiceType, EIssuesStoreType } from "@plane/types"; // components import { DeleteIssueModal } from "@/components/issues/delete-issue-modal"; // hooks diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/display-filters.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/display-filters.tsx index a71ff6786..a1c15187f 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/display-filters.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/display-filters.tsx @@ -1,9 +1,10 @@ -import { FC, useMemo } from "react"; +import type { FC } from "react"; +import { useMemo } from "react"; import { isEmpty } from "lodash-es"; import { observer } from "mobx-react"; import { SlidersHorizontal } from "lucide-react"; // plane imports -import { IIssueDisplayFilterOptions, ILayoutDisplayFiltersOptions, IIssueDisplayProperties } from "@plane/types"; +import type { IIssueDisplayFilterOptions, ILayoutDisplayFiltersOptions, IIssueDisplayProperties } from "@plane/types"; import { cn } from "@plane/utils"; // components import { diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/filters.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/filters.tsx index 86270dd72..82135efb4 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/filters.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/filters.tsx @@ -1,8 +1,9 @@ -import { FC, useMemo, useState } from "react"; +import type { FC } from "react"; +import { useMemo, useState } from "react"; import { observer } from "mobx-react"; import { ListFilter, Search, X } from "lucide-react"; import { useTranslation } from "@plane/i18n"; -import { IIssueFilterOptions, IState } from "@plane/types"; +import type { IIssueFilterOptions, IState } from "@plane/types"; import { cn } from "@plane/utils"; import { FilterAssignees, diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/helper.ts b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/helper.ts index 685753e36..61129d4f2 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/helper.ts +++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/helper.ts @@ -6,7 +6,8 @@ import { useParams } from "next/navigation"; import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssueServiceType, TIssueServiceType, TSubIssueOperations } from "@plane/types"; +import type { TIssueServiceType, TSubIssueOperations } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; import { copyUrlToClipboard } from "@plane/utils"; // hooks import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-group.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-group.tsx index 11f8dc808..b5e3a0603 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-group.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-group.tsx @@ -1,8 +1,10 @@ -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { ChevronRight, CircleDashed } from "lucide-react"; import { ALL_ISSUES } from "@plane/constants"; -import { EIssuesStoreType, IGroupByColumn, TIssue, TIssueServiceType, TSubIssueOperations } from "@plane/types"; +import type { IGroupByColumn, TIssue, TIssueServiceType, TSubIssueOperations } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { Collapsible } from "@plane/ui"; import { cn } from "@plane/utils"; import { SubIssuesListItem } from "./list-item"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-item.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-item.tsx index 6ffda87db..2d6cc6852 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-item.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-item.tsx @@ -5,7 +5,8 @@ import { ChevronRight, X, Pencil, Trash, Link as LinkIcon, Loader } from "lucide // plane imports import { useTranslation } from "@plane/i18n"; import { Tooltip } from "@plane/propel/tooltip"; -import { EIssueServiceType, EIssuesStoreType, TIssue, TIssueServiceType, TSubIssueOperations } from "@plane/types"; +import type { TIssue, TIssueServiceType, TSubIssueOperations } from "@plane/types"; +import { EIssueServiceType, EIssuesStoreType } from "@plane/types"; import { ControlLink, CustomMenu } from "@plane/ui"; import { cn, generateWorkItemLink } from "@plane/utils"; // helpers diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/properties.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/properties.tsx index 4a167af01..6295c8538 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/properties.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/properties.tsx @@ -1,9 +1,10 @@ // plane imports -import { SyntheticEvent, useMemo } from "react"; +import type { SyntheticEvent } from "react"; +import { useMemo } from "react"; import { observer } from "mobx-react"; import { CalendarCheck2, CalendarClock } from "lucide-react"; import { useTranslation } from "@plane/i18n"; -import { IIssueDisplayProperties, TIssue } from "@plane/types"; +import type { IIssueDisplayProperties, TIssue } from "@plane/types"; import { getDate, renderFormattedPayloadDate, shouldHighlightIssueDueDate } from "@plane/utils"; // components import { DateDropdown } from "@/components/dropdowns/date"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx index 773d3ca2e..aa1b152cb 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx @@ -4,14 +4,8 @@ import { observer } from "mobx-react"; import { ListFilter } from "lucide-react"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; -import { - EIssueServiceType, - EIssuesStoreType, - GroupByColumnTypes, - TIssue, - TIssueServiceType, - TSubIssueOperations, -} from "@plane/types"; +import type { GroupByColumnTypes, TIssue, TIssueServiceType, TSubIssueOperations } from "@plane/types"; +import { EIssueServiceType, EIssuesStoreType } from "@plane/types"; // hooks import { SectionEmptyState } from "@/components/empty-state/section-empty-state-root"; import { getGroupByColumns, isWorkspaceLevel } from "@/components/issues/issue-layouts/utils"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/quick-action-button.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/quick-action-button.tsx index 46c227264..e8a64735d 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/quick-action-button.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/quick-action-button.tsx @@ -1,12 +1,13 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { Plus } from "lucide-react"; // plane imports import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { WorkItemsIcon } from "@plane/propel/icons"; -import { TIssue, TIssueServiceType } from "@plane/types"; +import type { TIssue, TIssueServiceType } from "@plane/types"; import { CustomMenu } from "@plane/ui"; // hooks import { captureClick } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/root.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/root.tsx index 738414e80..8830750e5 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/root.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/root.tsx @@ -1,8 +1,9 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; // plane imports -import { TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; import { Collapsible } from "@plane/ui"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title-actions.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title-actions.tsx index 9899b216c..b5d4e7ea0 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title-actions.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title-actions.tsx @@ -1,4 +1,5 @@ -import { FC, useCallback } from "react"; +import type { FC } from "react"; +import { useCallback } from "react"; import { cloneDeep } from "lodash-es"; import { observer } from "mobx-react"; import { @@ -6,13 +7,13 @@ import { ISSUE_DISPLAY_FILTERS_BY_PAGE, SUB_WORK_ITEM_AVAILABLE_FILTERS_FOR_WORK_ITEM_PAGE, } from "@plane/constants"; -import { - EIssueServiceType, +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions, TIssueServiceType, } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; import { useIssueDetail } from "@/hooks/store/use-issue-detail"; import { useMember } from "@/hooks/store/use-member"; import { useProjectState } from "@/hooks/store/use-project-state"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title.tsx index 56a29d525..c3e57dea8 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title.tsx @@ -1,10 +1,11 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { EIssueServiceType, TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; import { CircularProgressIndicator, CollapsibleButton } from "@plane/ui"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/widget-button.tsx b/apps/web/core/components/issues/issue-detail-widgets/widget-button.tsx index cded28d30..725ab475f 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/widget-button.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/widget-button.tsx @@ -1,5 +1,6 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity-comment-root.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity-comment-root.tsx index 8dd4e681b..08e25be42 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity-comment-root.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity-comment-root.tsx @@ -1,8 +1,9 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports -import { E_SORT_ORDER, TActivityFilters, filterActivityOnSelectedFilters } from "@plane/constants"; -import { TCommentsOperations } from "@plane/types"; +import type { E_SORT_ORDER, TActivityFilters } from "@plane/constants"; +import { filterActivityOnSelectedFilters } from "@plane/constants"; +import type { TCommentsOperations } from "@plane/types"; // components import { CommentCard } from "@/components/comments/card/root"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity-filter.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity-filter.tsx index 3ac354db9..6b7657eff 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity-filter.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity-filter.tsx @@ -1,7 +1,8 @@ -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { Check, ListFilter } from "lucide-react"; -import { TActivityFilters, TActivityFilterOption } from "@plane/constants"; +import type { TActivityFilters, TActivityFilterOption } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { PopoverMenu } from "@plane/ui"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/archived-at.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/archived-at.tsx index 2c0cc96fd..a722bcbe2 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/archived-at.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/archived-at.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { RotateCcw } from "lucide-react"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/assignee.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/assignee.tsx index e69837104..97294839f 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/assignee.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/assignee.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // icons import { Users } from "lucide-react"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/attachment.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/attachment.tsx index e210d75f4..f1b363159 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/attachment.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/attachment.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { Paperclip } from "lucide-react"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/cycle.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/cycle.tsx index 53c3a4d68..657611f14 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/cycle.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/cycle.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // hooks import { CycleIcon } from "@plane/propel/icons"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/default.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/default.tsx index a2f3d7fe9..bdc52e482 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/default.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/default.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { WorkItemsIcon } from "@plane/propel/icons"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/description.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/description.tsx index 7ff3bb523..919c00132 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/description.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/description.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { AlignLeft } from "lucide-react"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/estimate.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/estimate.tsx index a97b4eb40..8c43a2171 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/estimate.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/estimate.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { Triangle } from "lucide-react"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/activity-block.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/activity-block.tsx index 4543f8196..1b780c577 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/activity-block.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/activity-block.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC, ReactNode } from "react"; +import type { FC, ReactNode } from "react"; import { Network } from "lucide-react"; // plane imports import { Tooltip } from "@plane/propel/tooltip"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/issue-link.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/issue-link.tsx index 4bbe31dfe..42bc60021 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/issue-link.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/issue-link.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; // hooks import { Tooltip } from "@plane/propel/tooltip"; import { generateWorkItemLink } from "@plane/utils"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/issue-user.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/issue-user.tsx index 7d8e64236..022d5aa50 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/issue-user.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/issue-user.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import Link from "next/link"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/inbox.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/inbox.tsx index 589ec0e87..74785c276 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/inbox.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/inbox.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // hooks import { IntakeIcon } from "@plane/propel/icons"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/label-activity-chip.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/label-activity-chip.tsx index 9d9a26363..53eed215f 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/label-activity-chip.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/label-activity-chip.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { Tooltip } from "@plane/propel/tooltip"; type TIssueLabelPill = { name?: string; color?: string }; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/label.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/label.tsx index 919265638..46dc609da 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/label.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/label.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { Tag } from "lucide-react"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/link.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/link.tsx index 596d1a404..36a2ff98d 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/link.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/link.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { MessageSquare } from "lucide-react"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/module.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/module.tsx index 09981a149..149b6516d 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/module.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/module.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // hooks import { ModuleIcon } from "@plane/propel/icons"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/name.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/name.tsx index a655bf4e9..ebccf2824 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/name.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/name.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { Type } from "lucide-react"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/parent.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/parent.tsx index a4ea65439..3ce56af96 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/parent.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/parent.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { LayoutPanelTop } from "lucide-react"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/priority.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/priority.tsx index bb605e522..d6f5aba44 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/priority.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/priority.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { Signal } from "lucide-react"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/relation.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/relation.tsx index 534d0dbb3..b9c429fbe 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/relation.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/relation.tsx @@ -1,10 +1,10 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // Plane-web import { getRelationActivityContent, useTimeLineRelationOptions } from "@/plane-web/components/relations"; -import { TIssueRelationTypes } from "@/plane-web/types"; +import type { TIssueRelationTypes } from "@/plane-web/types"; // import { IssueActivityBlockComponent } from "./"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/start_date.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/start_date.tsx index e89ffa333..2b1ed27ac 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/start_date.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/start_date.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { CalendarDays } from "lucide-react"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/state.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/state.tsx index 5af66eede..961429642 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/state.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/state.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // hooks import { DoubleCircleIcon } from "@plane/propel/icons"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/target_date.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/target_date.tsx index d1efd7aa6..9d51f9fdd 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/target_date.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/target_date.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { CalendarDays } from "lucide-react"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/activity-list.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/activity-list.tsx index a2050a20a..e41d6bdf9 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/activity-list.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/activity-list.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // helpers import { getValidKeysFromObject } from "@plane/utils"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/helper.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/helper.tsx index 412acd344..54ef0f717 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/helper.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/helper.tsx @@ -1,7 +1,8 @@ import { useMemo } from "react"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EFileAssetType, type TCommentsOperations } from "@plane/types"; +import { EFileAssetType } from "@plane/types"; +import type { TCommentsOperations } from "@plane/types"; import { copyUrlToClipboard, formatTextList, generateWorkItemLink } from "@plane/utils"; import { useEditorAsset } from "@/hooks/store/use-editor-asset"; import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/root.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/root.tsx index 4f2cee9fd..6197c18c0 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/root.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/root.tsx @@ -1,14 +1,16 @@ "use client"; -import { FC, useMemo } from "react"; +import type { FC } from "react"; +import { useMemo } from "react"; import { observer } from "mobx-react"; // plane package imports -import { E_SORT_ORDER, TActivityFilters, defaultActivityFilters, EUserPermissions } from "@plane/constants"; +import type { TActivityFilters } from "@plane/constants"; +import { E_SORT_ORDER, defaultActivityFilters, EUserPermissions } from "@plane/constants"; import { useLocalStorage } from "@plane/hooks"; // i18n import { useTranslation } from "@plane/i18n"; //types -import { TFileSignedURLResponse, TIssueComment } from "@plane/types"; +import type { TFileSignedURLResponse, TIssueComment } from "@plane/types"; // components import { CommentCreate } from "@/components/comments/comment-create"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/sort-root.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/sort-root.tsx index a46564b46..8a06e2ef6 100644 --- a/apps/web/core/components/issues/issue-detail/issue-activity/sort-root.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-activity/sort-root.tsx @@ -1,9 +1,10 @@ "use client"; -import { FC, memo } from "react"; +import type { FC } from "react"; +import { memo } from "react"; import { ArrowUpWideNarrow, ArrowDownWideNarrow } from "lucide-react"; // plane package imports -import { E_SORT_ORDER } from "@plane/constants"; +import type { E_SORT_ORDER } from "@plane/constants"; import { getButtonStyling } from "@plane/propel/button"; import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/issues/issue-detail/issue-detail-quick-actions.tsx b/apps/web/core/components/issues/issue-detail/issue-detail-quick-actions.tsx index 62cf0c22b..42a1ca327 100644 --- a/apps/web/core/components/issues/issue-detail/issue-detail-quick-actions.tsx +++ b/apps/web/core/components/issues/issue-detail/issue-detail-quick-actions.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC, useRef } from "react"; +import type { FC } from "react"; +import React, { useRef } from "react"; import { observer } from "mobx-react"; import { LinkIcon } from "lucide-react"; // plane imports diff --git a/apps/web/core/components/issues/issue-detail/label/create-label.tsx b/apps/web/core/components/issues/issue-detail/label/create-label.tsx index f3175e5e6..d6e523faf 100644 --- a/apps/web/core/components/issues/issue-detail/label/create-label.tsx +++ b/apps/web/core/components/issues/issue-detail/label/create-label.tsx @@ -1,17 +1,18 @@ "use client"; -import { FC, useState, Fragment, useEffect } from "react"; +import type { FC } from "react"; +import { useState, Fragment, useEffect } from "react"; import { TwitterPicker } from "react-color"; import { Controller, useForm } from "react-hook-form"; import { usePopper } from "react-popper"; import { Plus, X, Loader } from "lucide-react"; import { Popover } from "@headlessui/react"; -import { IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; // hooks import { Input } from "@plane/ui"; // ui // types -import { TLabelOperations } from "./root"; +import type { TLabelOperations } from "./root"; type ILabelCreate = { workspaceSlug: string; diff --git a/apps/web/core/components/issues/issue-detail/label/label-list-item.tsx b/apps/web/core/components/issues/issue-detail/label/label-list-item.tsx index 4d99eb2ed..eeb26f439 100644 --- a/apps/web/core/components/issues/issue-detail/label/label-list-item.tsx +++ b/apps/web/core/components/issues/issue-detail/label/label-list-item.tsx @@ -1,9 +1,9 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { X } from "lucide-react"; // types import { useLabel } from "@/hooks/store/use-label"; -import { TLabelOperations } from "./root"; +import type { TLabelOperations } from "./root"; type TLabelListItem = { workspaceSlug: string; diff --git a/apps/web/core/components/issues/issue-detail/label/label-list.tsx b/apps/web/core/components/issues/issue-detail/label/label-list.tsx index e6ec6e05c..f2091ecd2 100644 --- a/apps/web/core/components/issues/issue-detail/label/label-list.tsx +++ b/apps/web/core/components/issues/issue-detail/label/label-list.tsx @@ -1,9 +1,9 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // components import { LabelListItem } from "./label-list-item"; // types -import { TLabelOperations } from "./root"; +import type { TLabelOperations } from "./root"; type TLabelList = { workspaceSlug: string; diff --git a/apps/web/core/components/issues/issue-detail/label/root.tsx b/apps/web/core/components/issues/issue-detail/label/root.tsx index 8f1b8c992..5511eb0a6 100644 --- a/apps/web/core/components/issues/issue-detail/label/root.tsx +++ b/apps/web/core/components/issues/issue-detail/label/root.tsx @@ -1,10 +1,12 @@ "use client"; -import { FC, useMemo } from "react"; +import type { FC } from "react"; +import { useMemo } from "react"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssueServiceType, IIssueLabel, TIssue, TIssueServiceType } from "@plane/types"; +import type { IIssueLabel, TIssue, TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // components // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/issues/issue-detail/label/select/label-select.tsx b/apps/web/core/components/issues/issue-detail/label/select/label-select.tsx index e08414bb7..9277e54f9 100644 --- a/apps/web/core/components/issues/issue-detail/label/select/label-select.tsx +++ b/apps/web/core/components/issues/issue-detail/label/select/label-select.tsx @@ -6,7 +6,8 @@ import { Combobox } from "@headlessui/react"; // plane imports import { EUserPermissionsLevel, getRandomLabelColor } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EUserProjectRoles, IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; +import { EUserProjectRoles } from "@plane/types"; // helpers import { getTabIndex } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/label/select/root.tsx b/apps/web/core/components/issues/issue-detail/label/select/root.tsx index a57a58742..3393e8cc5 100644 --- a/apps/web/core/components/issues/issue-detail/label/select/root.tsx +++ b/apps/web/core/components/issues/issue-detail/label/select/root.tsx @@ -1,6 +1,6 @@ -import { FC } from "react"; +import type { FC } from "react"; // components -import { TLabelOperations } from "../root"; +import type { TLabelOperations } from "../root"; import { IssueLabelSelect } from "./label-select"; // types diff --git a/apps/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx b/apps/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx index 39b370ed7..d19b11458 100644 --- a/apps/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx +++ b/apps/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useEffect } from "react"; +import type { FC } from "react"; +import { useEffect } from "react"; import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; import { useTranslation } from "@plane/i18n"; @@ -12,7 +13,7 @@ import { Input, ModalCore } from "@plane/ui"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // types -import { TLinkOperations } from "./root"; +import type { TLinkOperations } from "./root"; export type TLinkOperationsModal = Exclude; diff --git a/apps/web/core/components/issues/issue-detail/links/link-detail.tsx b/apps/web/core/components/issues/issue-detail/links/link-detail.tsx index 907120330..0db28e8be 100644 --- a/apps/web/core/components/issues/issue-detail/links/link-detail.tsx +++ b/apps/web/core/components/issues/issue-detail/links/link-detail.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; // hooks // ui import { Pencil, Trash2, ExternalLink } from "lucide-react"; @@ -14,7 +14,7 @@ import { getIconForLink, copyTextToClipboard, calculateTimeAgo } from "@plane/ut import { useIssueDetail } from "@/hooks/store/use-issue-detail"; import { useMember } from "@/hooks/store/use-member"; import { usePlatformOS } from "@/hooks/use-platform-os"; -import { TLinkOperationsModal } from "./create-update-link-modal"; +import type { TLinkOperationsModal } from "./create-update-link-modal"; export type TIssueLinkDetail = { linkId: string; diff --git a/apps/web/core/components/issues/issue-detail/links/link-item.tsx b/apps/web/core/components/issues/issue-detail/links/link-item.tsx index 50ce5ee4c..182b7bca4 100644 --- a/apps/web/core/components/issues/issue-detail/links/link-item.tsx +++ b/apps/web/core/components/issues/issue-detail/links/link-item.tsx @@ -1,12 +1,13 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { Pencil, Trash2, Copy, Link } from "lucide-react"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { EIssueServiceType, TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // ui import { CustomMenu } from "@plane/ui"; import { calculateTimeAgo, copyTextToClipboard } from "@plane/utils"; @@ -14,7 +15,7 @@ import { calculateTimeAgo, copyTextToClipboard } from "@plane/utils"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; import { usePlatformOS } from "@/hooks/use-platform-os"; -import { TLinkOperationsModal } from "./create-update-link-modal"; +import type { TLinkOperationsModal } from "./create-update-link-modal"; type TIssueLinkItem = { linkId: string; diff --git a/apps/web/core/components/issues/issue-detail/links/link-list.tsx b/apps/web/core/components/issues/issue-detail/links/link-list.tsx index 200f1c38c..8a6230dc0 100644 --- a/apps/web/core/components/issues/issue-detail/links/link-list.tsx +++ b/apps/web/core/components/issues/issue-detail/links/link-list.tsx @@ -1,12 +1,12 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports -import { TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; // computed import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // local imports import { IssueLinkItem } from "./link-item"; -import { TLinkOperations } from "./root"; +import type { TLinkOperations } from "./root"; type TLinkOperationsModal = Exclude; diff --git a/apps/web/core/components/issues/issue-detail/links/links.tsx b/apps/web/core/components/issues/issue-detail/links/links.tsx index 36a41de2f..db85a9eb0 100644 --- a/apps/web/core/components/issues/issue-detail/links/links.tsx +++ b/apps/web/core/components/issues/issue-detail/links/links.tsx @@ -1,10 +1,10 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // computed import { useIssueDetail } from "@/hooks/store/use-issue-detail"; import { IssueLinkDetail } from "./link-detail"; // hooks -import { TLinkOperations } from "./root"; +import type { TLinkOperations } from "./root"; export type TLinkOperationsModal = Exclude; diff --git a/apps/web/core/components/issues/issue-detail/links/root.tsx b/apps/web/core/components/issues/issue-detail/links/root.tsx index 9e2e04bd8..6223ecbae 100644 --- a/apps/web/core/components/issues/issue-detail/links/root.tsx +++ b/apps/web/core/components/issues/issue-detail/links/root.tsx @@ -1,10 +1,12 @@ "use client"; -import { FC, useCallback, useMemo, useState } from "react"; +import type { FC } from "react"; +import { useCallback, useMemo, useState } from "react"; import { Plus } from "lucide-react"; // plane imports import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssueServiceType, TIssueLink } from "@plane/types"; +import type { TIssueLink } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // local imports diff --git a/apps/web/core/components/issues/issue-detail/main-content.tsx b/apps/web/core/components/issues/issue-detail/main-content.tsx index 8535cc4d8..963e6f647 100644 --- a/apps/web/core/components/issues/issue-detail/main-content.tsx +++ b/apps/web/core/components/issues/issue-detail/main-content.tsx @@ -4,7 +4,8 @@ import { useEffect, useRef, useState } from "react"; import { observer } from "mobx-react"; // plane imports import type { EditorRefApi } from "@plane/editor"; -import { EIssueServiceType, TNameDescriptionLoader } from "@plane/types"; +import type { TNameDescriptionLoader } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; import { getTextContent } from "@plane/utils"; // components import { DescriptionVersionsRoot } from "@/components/core/description-versions"; @@ -30,7 +31,7 @@ import { IssueTitleInput } from "../title-input"; import { IssueActivity } from "./issue-activity"; import { IssueParentDetail } from "./parent"; import { IssueReaction } from "./reactions"; -import { TIssueOperations } from "./root"; +import type { TIssueOperations } from "./root"; // services init const workItemVersionService = new WorkItemVersionService(); diff --git a/apps/web/core/components/issues/issue-detail/parent/root.tsx b/apps/web/core/components/issues/issue-detail/parent/root.tsx index 4c48a1407..24a84d06c 100644 --- a/apps/web/core/components/issues/issue-detail/parent/root.tsx +++ b/apps/web/core/components/issues/issue-detail/parent/root.tsx @@ -1,11 +1,11 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { useRouter } from "next/navigation"; import { MinusCircle } from "lucide-react"; import { useTranslation } from "@plane/i18n"; -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // component // ui import { ControlLink, CustomMenu } from "@plane/ui"; @@ -20,7 +20,7 @@ import { usePlatformOS } from "@/hooks/use-platform-os"; // plane web components import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier"; // types -import { TIssueOperations } from "../root"; +import type { TIssueOperations } from "../root"; import { IssueParentSiblings } from "./siblings"; export type TIssueParentDetail = { diff --git a/apps/web/core/components/issues/issue-detail/parent/sibling-item.tsx b/apps/web/core/components/issues/issue-detail/parent/sibling-item.tsx index 667b22a94..8e8f20e3d 100644 --- a/apps/web/core/components/issues/issue-detail/parent/sibling-item.tsx +++ b/apps/web/core/components/issues/issue-detail/parent/sibling-item.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // ui import { CustomMenu } from "@plane/ui"; diff --git a/apps/web/core/components/issues/issue-detail/parent/siblings.tsx b/apps/web/core/components/issues/issue-detail/parent/siblings.tsx index b26cff1a5..0784a8b32 100644 --- a/apps/web/core/components/issues/issue-detail/parent/siblings.tsx +++ b/apps/web/core/components/issues/issue-detail/parent/siblings.tsx @@ -1,7 +1,7 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import useSWR from "swr"; -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // components // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; diff --git a/apps/web/core/components/issues/issue-detail/reactions/issue-comment.tsx b/apps/web/core/components/issues/issue-detail/reactions/issue-comment.tsx index e1ef51c0c..4077bcc0a 100644 --- a/apps/web/core/components/issues/issue-detail/reactions/issue-comment.tsx +++ b/apps/web/core/components/issues/issue-detail/reactions/issue-comment.tsx @@ -1,10 +1,11 @@ "use client"; -import { FC, useMemo } from "react"; +import type { FC } from "react"; +import { useMemo } from "react"; import { observer } from "mobx-react"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { IUser } from "@plane/types"; +import type { IUser } from "@plane/types"; // components import { cn, formatTextList } from "@plane/utils"; // helper diff --git a/apps/web/core/components/issues/issue-detail/reactions/issue.tsx b/apps/web/core/components/issues/issue-detail/reactions/issue.tsx index f9448c793..56b70ba53 100644 --- a/apps/web/core/components/issues/issue-detail/reactions/issue.tsx +++ b/apps/web/core/components/issues/issue-detail/reactions/issue.tsx @@ -1,10 +1,11 @@ "use client"; -import { FC, useMemo } from "react"; +import type { FC } from "react"; +import { useMemo } from "react"; import { observer } from "mobx-react"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { IUser } from "@plane/types"; +import type { IUser } from "@plane/types"; // hooks // ui import { cn, formatTextList } from "@plane/utils"; diff --git a/apps/web/core/components/issues/issue-detail/relation-select.tsx b/apps/web/core/components/issues/issue-detail/relation-select.tsx index 5cda4e60c..7f84e13a1 100644 --- a/apps/web/core/components/issues/issue-detail/relation-select.tsx +++ b/apps/web/core/components/issues/issue-detail/relation-select.tsx @@ -7,7 +7,7 @@ import { Pencil, X } from "lucide-react"; // Plane import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { ISearchIssueResponse } from "@plane/types"; +import type { ISearchIssueResponse } from "@plane/types"; import { cn, generateWorkItemLink } from "@plane/utils"; // components import { ExistingIssuesListModal } from "@/components/core/modals/existing-issues-list-modal"; diff --git a/apps/web/core/components/issues/issue-detail/root.tsx b/apps/web/core/components/issues/issue-detail/root.tsx index a9ca5930a..10c77beb5 100644 --- a/apps/web/core/components/issues/issue-detail/root.tsx +++ b/apps/web/core/components/issues/issue-detail/root.tsx @@ -1,12 +1,14 @@ "use client"; -import { FC, useMemo } from "react"; +import type { FC } from "react"; +import { useMemo } from "react"; import { observer } from "mobx-react"; // plane imports import { EUserPermissions, EUserPermissionsLevel, WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/propel/toast"; -import { EIssuesStoreType, TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; // components import { EmptyState } from "@/components/common/empty-state"; // hooks diff --git a/apps/web/core/components/issues/issue-detail/subscription.tsx b/apps/web/core/components/issues/issue-detail/subscription.tsx index 79ed2c1cb..d98e1b17a 100644 --- a/apps/web/core/components/issues/issue-detail/subscription.tsx +++ b/apps/web/core/components/issues/issue-detail/subscription.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { isNil } from "lodash-es"; import { observer } from "mobx-react"; import { Bell, BellOff } from "lucide-react"; diff --git a/apps/web/core/components/issues/issue-layouts/calendar/base-calendar-root.tsx b/apps/web/core/components/issues/issue-layouts/calendar/base-calendar-root.tsx index d55c31dc9..575d01241 100644 --- a/apps/web/core/components/issues/issue-layouts/calendar/base-calendar-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/calendar/base-calendar-root.tsx @@ -1,12 +1,14 @@ "use client"; -import { FC, useCallback, useEffect } from "react"; +import type { FC } from "react"; +import { useCallback, useEffect } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports import { EIssueGroupByToServerOptions, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssuesStoreType, TGroupedIssues } from "@plane/types"; +import type { TGroupedIssues } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; // hooks import { useCalendarView } from "@/hooks/store/use-calendar-view"; import { useIssues } from "@/hooks/store/use-issues"; @@ -14,7 +16,7 @@ import { useUserPermissions } from "@/hooks/store/user"; import { useIssueStoreType } from "@/hooks/use-issue-layout-store"; import { useIssuesActions } from "@/hooks/use-issues-actions"; // types -import { IQuickActionProps } from "../list/list-view-types"; +import type { IQuickActionProps } from "../list/list-view-types"; import { CalendarChart } from "./calendar"; import { handleDragDrop } from "./utils"; diff --git a/apps/web/core/components/issues/issue-layouts/calendar/calendar.tsx b/apps/web/core/components/issues/issue-layouts/calendar/calendar.tsx index 9a387743c..347d2252b 100644 --- a/apps/web/core/components/issues/issue-layouts/calendar/calendar.tsx +++ b/apps/web/core/components/issues/issue-layouts/calendar/calendar.tsx @@ -5,18 +5,17 @@ import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; import { autoScrollForElements } from "@atlaskit/pragmatic-drag-and-drop-auto-scroll/element"; import { observer } from "mobx-react"; // plane constants -import { TSupportedFilterTypeForUpdate } from "@plane/constants"; +import type { TSupportedFilterTypeForUpdate } from "@plane/constants"; // types -import { - EIssuesStoreType, +import type { TGroupedIssues, TIssue, TIssueMap, TPaginationData, ICalendarWeek, - EIssueLayoutTypes, TSupportedFilterForUpdate, } from "@plane/types"; +import { EIssuesStoreType, EIssueLayoutTypes } from "@plane/types"; // ui import { Spinner } from "@plane/ui"; import { renderFormattedPayloadDate, cn } from "@plane/utils"; @@ -27,15 +26,15 @@ import { MONTHS_LIST } from "@/constants/calendar"; import { useIssues } from "@/hooks/store/use-issues"; import useSize from "@/hooks/use-window-size"; // store -import { IProjectEpicsFilter } from "@/plane-web/store/issue/epic"; -import { ICycleIssuesFilter } from "@/store/issue/cycle"; -import { ICalendarStore } from "@/store/issue/issue_calendar_view.store"; -import { IModuleIssuesFilter } from "@/store/issue/module"; -import { IProjectIssuesFilter } from "@/store/issue/project"; -import { IProjectViewIssuesFilter } from "@/store/issue/project-views"; +import type { IProjectEpicsFilter } from "@/plane-web/store/issue/epic"; +import type { ICycleIssuesFilter } from "@/store/issue/cycle"; +import type { ICalendarStore } from "@/store/issue/issue_calendar_view.store"; +import type { IModuleIssuesFilter } from "@/store/issue/module"; +import type { IProjectIssuesFilter } from "@/store/issue/project"; +import type { IProjectViewIssuesFilter } from "@/store/issue/project-views"; // local imports import { IssueLayoutHOC } from "../issue-layout-HOC"; -import { TRenderQuickActions } from "../list/list-view-types"; +import type { TRenderQuickActions } from "../list/list-view-types"; import { CalendarHeader } from "./header"; import { CalendarIssueBlocks } from "./issue-blocks"; import { CalendarWeekDays } from "./week-days"; diff --git a/apps/web/core/components/issues/issue-layouts/calendar/day-tile.tsx b/apps/web/core/components/issues/issue-layouts/calendar/day-tile.tsx index 968122a1c..52ccf37e4 100644 --- a/apps/web/core/components/issues/issue-layouts/calendar/day-tile.tsx +++ b/apps/web/core/components/issues/issue-layouts/calendar/day-tile.tsx @@ -6,7 +6,7 @@ import { dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element import { differenceInCalendarDays } from "date-fns/differenceInCalendarDays"; import { observer } from "mobx-react"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { TGroupedIssues, TIssue, TIssueMap, TPaginationData, ICalendarDate } from "@plane/types"; +import type { TGroupedIssues, TIssue, TIssueMap, TPaginationData, ICalendarDate } from "@plane/types"; // types // ui // components @@ -16,12 +16,12 @@ import { highlightIssueOnDrop } from "@/components/issues/issue-layouts/utils"; import { MONTHS_LIST } from "@/constants/calendar"; // helpers // types -import { IProjectEpicsFilter } from "@/plane-web/store/issue/epic"; -import { ICycleIssuesFilter } from "@/store/issue/cycle"; -import { IModuleIssuesFilter } from "@/store/issue/module"; -import { IProjectIssuesFilter } from "@/store/issue/project"; -import { IProjectViewIssuesFilter } from "@/store/issue/project-views"; -import { TRenderQuickActions } from "../list/list-view-types"; +import type { IProjectEpicsFilter } from "@/plane-web/store/issue/epic"; +import type { ICycleIssuesFilter } from "@/store/issue/cycle"; +import type { IModuleIssuesFilter } from "@/store/issue/module"; +import type { IProjectIssuesFilter } from "@/store/issue/project"; +import type { IProjectViewIssuesFilter } from "@/store/issue/project-views"; +import type { TRenderQuickActions } from "../list/list-view-types"; import { CalendarIssueBlocks } from "./issue-blocks"; type Props = { diff --git a/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/months-dropdown.tsx b/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/months-dropdown.tsx index 4d0ad5bc9..890aee149 100644 --- a/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/months-dropdown.tsx +++ b/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/months-dropdown.tsx @@ -9,11 +9,11 @@ import { Popover, Transition } from "@headlessui/react"; import { getDate } from "@plane/utils"; import { MONTHS_LIST } from "@/constants/calendar"; import { useCalendarView } from "@/hooks/store/use-calendar-view"; -import { IProjectEpicsFilter } from "@/plane-web/store/issue/epic"; -import { ICycleIssuesFilter } from "@/store/issue/cycle"; -import { IModuleIssuesFilter } from "@/store/issue/module"; -import { IProjectIssuesFilter } from "@/store/issue/project"; -import { IProjectViewIssuesFilter } from "@/store/issue/project-views"; +import type { IProjectEpicsFilter } from "@/plane-web/store/issue/epic"; +import type { ICycleIssuesFilter } from "@/store/issue/cycle"; +import type { IModuleIssuesFilter } from "@/store/issue/module"; +import type { IProjectIssuesFilter } from "@/store/issue/project"; +import type { IProjectViewIssuesFilter } from "@/store/issue/project-views"; // helpers interface Props { diff --git a/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/options-dropdown.tsx b/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/options-dropdown.tsx index da3322683..c9d74490d 100644 --- a/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/options-dropdown.tsx +++ b/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/options-dropdown.tsx @@ -9,20 +9,21 @@ import { Popover, Transition } from "@headlessui/react"; // hooks // ui // icons -import { EIssueFilterType, TSupportedFilterTypeForUpdate } from "@plane/constants"; +import type { TSupportedFilterTypeForUpdate } from "@plane/constants"; +import { EIssueFilterType } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TCalendarLayouts, TSupportedFilterForUpdate } from "@plane/types"; +import type { TCalendarLayouts, TSupportedFilterForUpdate } from "@plane/types"; import { ToggleSwitch } from "@plane/ui"; // types // constants import { CALENDAR_LAYOUTS } from "@/constants/calendar"; import { useCalendarView } from "@/hooks/store/use-calendar-view"; import useSize from "@/hooks/use-window-size"; -import { IProjectEpicsFilter } from "@/plane-web/store/issue/epic"; -import { ICycleIssuesFilter } from "@/store/issue/cycle"; -import { IModuleIssuesFilter } from "@/store/issue/module"; -import { IProjectIssuesFilter } from "@/store/issue/project"; -import { IProjectViewIssuesFilter } from "@/store/issue/project-views"; +import type { IProjectEpicsFilter } from "@/plane-web/store/issue/epic"; +import type { ICycleIssuesFilter } from "@/store/issue/cycle"; +import type { IModuleIssuesFilter } from "@/store/issue/module"; +import type { IProjectIssuesFilter } from "@/store/issue/project"; +import type { IProjectViewIssuesFilter } from "@/store/issue/project-views"; interface ICalendarHeader { issuesFilterStore: diff --git a/apps/web/core/components/issues/issue-layouts/calendar/header.tsx b/apps/web/core/components/issues/issue-layouts/calendar/header.tsx index 7622fe61f..ecc46cc2e 100644 --- a/apps/web/core/components/issues/issue-layouts/calendar/header.tsx +++ b/apps/web/core/components/issues/issue-layouts/calendar/header.tsx @@ -2,17 +2,17 @@ import { observer } from "mobx-react"; // components import { ChevronLeft, ChevronRight } from "lucide-react"; -import { TSupportedFilterTypeForUpdate } from "@plane/constants"; +import type { TSupportedFilterTypeForUpdate } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TSupportedFilterForUpdate } from "@plane/types"; +import type { TSupportedFilterForUpdate } from "@plane/types"; import { Row } from "@plane/ui"; // icons import { useCalendarView } from "@/hooks/store/use-calendar-view"; -import { IProjectEpicsFilter } from "@/plane-web/store/issue/epic"; -import { ICycleIssuesFilter } from "@/store/issue/cycle"; -import { IModuleIssuesFilter } from "@/store/issue/module"; -import { IProjectIssuesFilter } from "@/store/issue/project"; -import { IProjectViewIssuesFilter } from "@/store/issue/project-views"; +import type { IProjectEpicsFilter } from "@/plane-web/store/issue/epic"; +import type { ICycleIssuesFilter } from "@/store/issue/cycle"; +import type { IModuleIssuesFilter } from "@/store/issue/module"; +import type { IProjectIssuesFilter } from "@/store/issue/project"; +import type { IProjectViewIssuesFilter } from "@/store/issue/project-views"; import { CalendarMonthsDropdown, CalendarOptionsDropdown } from "./dropdowns"; interface ICalendarHeader { diff --git a/apps/web/core/components/issues/issue-layouts/calendar/issue-block-root.tsx b/apps/web/core/components/issues/issue-layouts/calendar/issue-block-root.tsx index 10a965378..d2c1c927f 100644 --- a/apps/web/core/components/issues/issue-layouts/calendar/issue-block-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/calendar/issue-block-root.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; import { useOutsideClickDetector } from "@plane/hooks"; // components import { useIssueDetail } from "@/hooks/store/use-issue-detail"; -import { TRenderQuickActions } from "../list/list-view-types"; +import type { TRenderQuickActions } from "../list/list-view-types"; import { HIGHLIGHT_CLASS } from "../utils"; import { CalendarIssueBlock } from "./issue-block"; // types diff --git a/apps/web/core/components/issues/issue-layouts/calendar/issue-block.tsx b/apps/web/core/components/issues/issue-layouts/calendar/issue-block.tsx index e5ea1c0cf..d4cbda1c8 100644 --- a/apps/web/core/components/issues/issue-layouts/calendar/issue-block.tsx +++ b/apps/web/core/components/issues/issue-layouts/calendar/issue-block.tsx @@ -9,7 +9,7 @@ import { MoreHorizontal } from "lucide-react"; import { useOutsideClickDetector } from "@plane/hooks"; // types import { Tooltip } from "@plane/propel/tooltip"; -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // ui import { ControlLink } from "@plane/ui"; import { cn, generateWorkItemLink } from "@plane/utils"; @@ -25,8 +25,8 @@ import { usePlatformOS } from "@/hooks/use-platform-os"; // plane web components import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier"; // local components -import { TRenderQuickActions } from "../list/list-view-types"; -import { CalendarStoreType } from "./base-calendar-root"; +import type { TRenderQuickActions } from "../list/list-view-types"; +import type { CalendarStoreType } from "./base-calendar-root"; type Props = { issue: TIssue; diff --git a/apps/web/core/components/issues/issue-layouts/calendar/issue-blocks.tsx b/apps/web/core/components/issues/issue-layouts/calendar/issue-blocks.tsx index dceb7a714..b4af6296a 100644 --- a/apps/web/core/components/issues/issue-layouts/calendar/issue-blocks.tsx +++ b/apps/web/core/components/issues/issue-layouts/calendar/issue-blocks.tsx @@ -1,11 +1,11 @@ import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; -import { TIssue, TPaginationData } from "@plane/types"; +import type { TIssue, TPaginationData } from "@plane/types"; // components import { renderFormattedPayloadDate } from "@plane/utils"; // helpers import { useIssuesStore } from "@/hooks/use-issue-layout-store"; -import { TRenderQuickActions } from "../list/list-view-types"; +import type { TRenderQuickActions } from "../list/list-view-types"; import { CalendarIssueBlockRoot } from "./issue-block-root"; import { CalendarQuickAddIssueActions } from "./quick-add-issue-actions"; // types diff --git a/apps/web/core/components/issues/issue-layouts/calendar/quick-add-issue-actions.tsx b/apps/web/core/components/issues/issue-layouts/calendar/quick-add-issue-actions.tsx index 3e86f10e6..3b8d7660a 100644 --- a/apps/web/core/components/issues/issue-layouts/calendar/quick-add-issue-actions.tsx +++ b/apps/web/core/components/issues/issue-layouts/calendar/quick-add-issue-actions.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { differenceInCalendarDays } from "date-fns/differenceInCalendarDays"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; @@ -8,7 +9,8 @@ import { PlusIcon } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; import { setPromiseToast } from "@plane/propel/toast"; -import { ISearchIssueResponse, TIssue, EIssueLayoutTypes } from "@plane/types"; +import type { ISearchIssueResponse, TIssue } from "@plane/types"; +import { EIssueLayoutTypes } from "@plane/types"; import { CustomMenu } from "@plane/ui"; import { cn } from "@plane/utils"; // components diff --git a/apps/web/core/components/issues/issue-layouts/calendar/utils.ts b/apps/web/core/components/issues/issue-layouts/calendar/utils.ts index acba413f8..bab8c863b 100644 --- a/apps/web/core/components/issues/issue-layouts/calendar/utils.ts +++ b/apps/web/core/components/issues/issue-layouts/calendar/utils.ts @@ -1,4 +1,4 @@ -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; export const handleDragDrop = async ( issueId: string, diff --git a/apps/web/core/components/issues/issue-layouts/calendar/week-days.tsx b/apps/web/core/components/issues/issue-layouts/calendar/week-days.tsx index b9f2b2448..f234e0987 100644 --- a/apps/web/core/components/issues/issue-layouts/calendar/week-days.tsx +++ b/apps/web/core/components/issues/issue-layouts/calendar/week-days.tsx @@ -5,12 +5,12 @@ import { cn, getOrderedDays, renderFormattedPayloadDate } from "@plane/utils"; // hooks import { useUserProfile } from "@/hooks/store/user"; // types -import { IProjectEpicsFilter } from "@/plane-web/store/issue/epic"; -import { ICycleIssuesFilter } from "@/store/issue/cycle"; -import { IModuleIssuesFilter } from "@/store/issue/module"; -import { IProjectIssuesFilter } from "@/store/issue/project"; -import { IProjectViewIssuesFilter } from "@/store/issue/project-views"; -import { TRenderQuickActions } from "../list/list-view-types"; +import type { IProjectEpicsFilter } from "@/plane-web/store/issue/epic"; +import type { ICycleIssuesFilter } from "@/store/issue/cycle"; +import type { IModuleIssuesFilter } from "@/store/issue/module"; +import type { IProjectIssuesFilter } from "@/store/issue/project"; +import type { IProjectViewIssuesFilter } from "@/store/issue/project-views"; +import type { TRenderQuickActions } from "../list/list-view-types"; import { CalendarDayTile } from "./day-tile"; type Props = { diff --git a/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx b/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx index 8c5ffd41a..30a82d476 100644 --- a/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx +++ b/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx @@ -8,7 +8,8 @@ import { useParams } from "next/navigation"; import { EUserPermissionsLevel, WORK_ITEM_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssuesStoreType, EUserProjectRoles, ISearchIssueResponse } from "@plane/types"; +import type { ISearchIssueResponse } from "@plane/types"; +import { EIssuesStoreType, EUserProjectRoles } from "@plane/types"; // components import { ExistingIssuesListModal } from "@/components/core/modals/existing-issues-list-modal"; import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root"; diff --git a/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx b/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx index 0f6da4513..2510f5b5d 100644 --- a/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx +++ b/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx @@ -7,7 +7,8 @@ import { useParams } from "next/navigation"; import { EUserPermissionsLevel, WORK_ITEM_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssuesStoreType, EUserProjectRoles, ISearchIssueResponse } from "@plane/types"; +import type { ISearchIssueResponse } from "@plane/types"; +import { EIssuesStoreType, EUserProjectRoles } from "@plane/types"; // components import { ExistingIssuesListModal } from "@/components/core/modals/existing-issues-list-modal"; import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root"; diff --git a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/cycle.tsx b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/cycle.tsx index 3be676baf..6ff6c8d43 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/cycle.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/cycle.tsx @@ -3,7 +3,7 @@ import { observer } from "mobx-react"; import { X } from "lucide-react"; import { CycleGroupIcon } from "@plane/propel/icons"; -import { TCycleGroups } from "@plane/types"; +import type { TCycleGroups } from "@plane/types"; // hooks import { useCycle } from "@/hooks/store/use-cycle"; // ui diff --git a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/label.tsx b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/label.tsx index 44d5cb0e0..5c0e59b32 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/label.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/label.tsx @@ -2,7 +2,7 @@ import { observer } from "mobx-react"; // icons import { X } from "lucide-react"; -import { IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; // types type Props = { diff --git a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/priority.tsx b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/priority.tsx index 2dc81c2e9..0b5075424 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/priority.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/priority.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; // icons import { X } from "lucide-react"; import { PriorityIcon } from "@plane/propel/icons"; -import { TIssuePriorities } from "@plane/types"; +import type { TIssuePriorities } from "@plane/types"; // types type Props = { diff --git a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state-group.tsx b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state-group.tsx index 6072bc92b..21519d359 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state-group.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state-group.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; import { X } from "lucide-react"; import { EIconSize } from "@plane/constants"; import { StateGroupIcon } from "@plane/propel/icons"; -import { TStateGroups } from "@plane/types"; +import type { TStateGroups } from "@plane/types"; type Props = { handleRemove: (val: string) => void; diff --git a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state.tsx b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state.tsx index c04713d65..58a7fdd47 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/applied-filters/state.tsx @@ -6,7 +6,7 @@ import { X } from "lucide-react"; // plane imports import { EIconSize } from "@plane/constants"; import { StateGroupIcon } from "@plane/propel/icons"; -import { IState } from "@plane/types"; +import type { IState } from "@plane/types"; type Props = { handleRemove: (val: string) => void; diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/display-filters-selection.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/display-filters-selection.tsx index b93765e19..7625914db 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/display-filters-selection.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/display-filters-selection.tsx @@ -1,7 +1,7 @@ import React from "react"; import { isEmpty } from "lodash-es"; import { observer } from "mobx-react"; -import { +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, ILayoutDisplayFiltersOptions, diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/display-properties.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/display-properties.tsx index 023a5c34b..c6a75c3df 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/display-properties.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/display-properties.tsx @@ -6,7 +6,7 @@ import { ISSUE_DISPLAY_PROPERTIES } from "@plane/constants"; // plane i18n import { useTranslation } from "@plane/i18n"; // types -import { IIssueDisplayProperties } from "@plane/types"; +import type { IIssueDisplayProperties } from "@plane/types"; // plane web helpers import { shouldRenderDisplayProperty } from "@/plane-web/helpers/issue-filter.helper"; // components diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/extra-options.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/extra-options.tsx index c3eba13a4..a495c732c 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/extra-options.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/extra-options.tsx @@ -1,7 +1,7 @@ import React from "react"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; -import { IIssueDisplayFilterOptions, TIssueExtraOptions } from "@plane/types"; +import type { IIssueDisplayFilterOptions, TIssueExtraOptions } from "@plane/types"; // components import { FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/group-by.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/group-by.tsx index 29a270a65..30c149835 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/group-by.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/group-by.tsx @@ -2,7 +2,7 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; import { ISSUE_GROUP_BY_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { IIssueDisplayFilterOptions, TIssueGroupByOptions } from "@plane/types"; +import type { IIssueDisplayFilterOptions, TIssueGroupByOptions } from "@plane/types"; // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/order-by.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/order-by.tsx index 511e6536d..1d13a00de 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/order-by.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/order-by.tsx @@ -2,7 +2,7 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; import { ISSUE_ORDER_BY_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TIssueOrderByOptions } from "@plane/types"; +import type { TIssueOrderByOptions } from "@plane/types"; // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/sub-group-by.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/sub-group-by.tsx index 032d28d29..427e50cb2 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/sub-group-by.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/display-filters/sub-group-by.tsx @@ -2,7 +2,7 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; import { ISSUE_GROUP_BY_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { IIssueDisplayFilterOptions, TIssueGroupByOptions } from "@plane/types"; +import type { IIssueDisplayFilterOptions, TIssueGroupByOptions } from "@plane/types"; // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; // constants diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/filters/cycle.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/filters/cycle.tsx index 9cf42e0eb..b20c7e166 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/filters/cycle.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/filters/cycle.tsx @@ -5,7 +5,7 @@ import { sortBy } from "lodash-es"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { CycleGroupIcon } from "@plane/propel/icons"; -import { TCycleGroups } from "@plane/types"; +import type { TCycleGroups } from "@plane/types"; // components import { Loader } from "@plane/ui"; import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/filters/labels.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/filters/labels.tsx index e5e15c3cd..bd152097c 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/filters/labels.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/filters/labels.tsx @@ -3,7 +3,7 @@ import React, { useMemo, useState } from "react"; import { sortBy } from "lodash-es"; import { observer } from "mobx-react"; -import { IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; // components import { Loader } from "@plane/ui"; import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/filters/state.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/filters/state.tsx index 1821a0bff..5d1ac42d7 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/filters/state.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/filters/state.tsx @@ -5,7 +5,7 @@ import { sortBy } from "lodash-es"; import { observer } from "mobx-react"; import { EIconSize } from "@plane/constants"; import { StateGroupIcon } from "@plane/propel/icons"; -import { IState } from "@plane/types"; +import type { IState } from "@plane/types"; // components import { Loader } from "@plane/ui"; import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx index 7d1c72697..5bf0da8cf 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx @@ -1,7 +1,7 @@ "use client"; import React, { Fragment, useState } from "react"; -import { Placement } from "@popperjs/core"; +import type { Placement } from "@popperjs/core"; import { usePopper } from "react-popper"; // icons import { ChevronUp } from "lucide-react"; diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/layout-selection.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/layout-selection.tsx index 2bd88c262..36c024e14 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/layout-selection.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/layout-selection.tsx @@ -5,7 +5,7 @@ import React from "react"; import { ISSUE_LAYOUTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Tooltip } from "@plane/propel/tooltip"; -import { EIssueLayoutTypes } from "@plane/types"; +import type { EIssueLayoutTypes } from "@plane/types"; // ui // types import { IssueLayoutIcon } from "@/components/issues/issue-layouts/layout-icon"; diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/mobile-layout-selection.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/mobile-layout-selection.tsx index bd3354fc4..e7f63f51a 100644 --- a/apps/web/core/components/issues/issue-layouts/filters/header/mobile-layout-selection.tsx +++ b/apps/web/core/components/issues/issue-layouts/filters/header/mobile-layout-selection.tsx @@ -2,7 +2,7 @@ import { ChevronDown } from "lucide-react"; import { ISSUE_LAYOUTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; -import { EIssueLayoutTypes } from "@plane/types"; +import type { EIssueLayoutTypes } from "@plane/types"; import { CustomMenu } from "@plane/ui"; import { IssueLayoutIcon } from "../../layout-icon"; diff --git a/apps/web/core/components/issues/issue-layouts/gantt/base-gantt-root.tsx b/apps/web/core/components/issues/issue-layouts/gantt/base-gantt-root.tsx index e27e0f72b..2cd0ace94 100644 --- a/apps/web/core/components/issues/issue-layouts/gantt/base-gantt-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/gantt/base-gantt-root.tsx @@ -5,7 +5,8 @@ import { useParams } from "next/navigation"; import { ALL_ISSUES, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssuesStoreType, IBlockUpdateData, TIssue, EIssueLayoutTypes } from "@plane/types"; +import type { EIssuesStoreType, IBlockUpdateData, TIssue } from "@plane/types"; +import { EIssueLayoutTypes } from "@plane/types"; import { renderFormattedPayloadDate } from "@plane/utils"; // components import { ETimeLineTypeType, TimeLineTypeContext } from "@/components/gantt-chart/contexts"; diff --git a/apps/web/core/components/issues/issue-layouts/gantt/blocks.tsx b/apps/web/core/components/issues/issue-layouts/gantt/blocks.tsx index 7f2991f89..19bef233d 100644 --- a/apps/web/core/components/issues/issue-layouts/gantt/blocks.tsx +++ b/apps/web/core/components/issues/issue-layouts/gantt/blocks.tsx @@ -22,7 +22,7 @@ import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/iss // import { IssueStats } from "@/plane-web/components/issues/issue-layouts/issue-stats"; import { getBlockViewDetails } from "../utils"; -import { GanttStoreType } from "./base-gantt-root"; +import type { GanttStoreType } from "./base-gantt-root"; type Props = { issueId: string; diff --git a/apps/web/core/components/issues/issue-layouts/group-drag-overlay.tsx b/apps/web/core/components/issues/issue-layouts/group-drag-overlay.tsx index eee5f5a3a..25540f2dd 100644 --- a/apps/web/core/components/issues/issue-layouts/group-drag-overlay.tsx +++ b/apps/web/core/components/issues/issue-layouts/group-drag-overlay.tsx @@ -3,7 +3,7 @@ import { AlertCircle } from "lucide-react"; // plane imports import { ISSUE_ORDER_BY_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TIssueOrderByOptions } from "@plane/types"; +import type { TIssueOrderByOptions } from "@plane/types"; // helpers import { cn } from "@plane/utils"; // plane web imports diff --git a/apps/web/core/components/issues/issue-layouts/kanban/base-kanban-root.tsx b/apps/web/core/components/issues/issue-layouts/kanban/base-kanban-root.tsx index f853f17df..2d27abc82 100644 --- a/apps/web/core/components/issues/issue-layouts/kanban/base-kanban-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/kanban/base-kanban-root.tsx @@ -1,13 +1,15 @@ "use client"; -import { FC, useCallback, useEffect, useRef, useState } from "react"; +import type { FC } from "react"; +import { useCallback, useEffect, useRef, useState } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; import { dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; import { autoScrollForElements } from "@atlaskit/pragmatic-drag-and-drop-auto-scroll/element"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { EIssueFilterType, EUserPermissions, EUserPermissionsLevel, WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; -import { EIssueServiceType, EIssuesStoreType, EIssueLayoutTypes } from "@plane/types"; +import type { EIssuesStoreType } from "@plane/types"; +import { EIssueServiceType, EIssueLayoutTypes } from "@plane/types"; //constants //hooks import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; @@ -23,7 +25,7 @@ import { useIssuesActions } from "@/hooks/use-issues-actions"; // types import { DeleteIssueModal } from "../../delete-issue-modal"; import { IssueLayoutHOC } from "../issue-layout-HOC"; -import { IQuickActionProps, TRenderQuickActions } from "../list/list-view-types"; +import type { IQuickActionProps, TRenderQuickActions } from "../list/list-view-types"; //components import { getSourceFromDropPayload } from "../utils"; import { KanBan } from "./default"; diff --git a/apps/web/core/components/issues/issue-layouts/kanban/block.tsx b/apps/web/core/components/issues/issue-layouts/kanban/block.tsx index b1d51dd3c..94b4a8d61 100644 --- a/apps/web/core/components/issues/issue-layouts/kanban/block.tsx +++ b/apps/web/core/components/issues/issue-layouts/kanban/block.tsx @@ -1,6 +1,7 @@ "use client"; -import { MutableRefObject, useEffect, useRef, useState } from "react"; +import type { MutableRefObject } from "react"; +import { useEffect, useRef, useState } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; import { draggable, dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; import { observer } from "mobx-react"; @@ -11,13 +12,14 @@ import { useOutsideClickDetector } from "@plane/hooks"; // types import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { EIssueServiceType, TIssue, IIssueDisplayProperties, IIssueMap } from "@plane/types"; +import type { TIssue, IIssueDisplayProperties, IIssueMap } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // ui import { ControlLink, DropIndicator } from "@plane/ui"; import { cn, generateWorkItemLink } from "@plane/utils"; // components import RenderIfVisible from "@/components/core/render-if-visible-HOC"; -import { HIGHLIGHT_CLASS } from "@/components/issues/issue-layouts/utils"; +import { HIGHLIGHT_CLASS, getIssueBlockId } from "@/components/issues/issue-layouts/utils"; // helpers // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; @@ -29,10 +31,9 @@ import { usePlatformOS } from "@/hooks/use-platform-os"; import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier"; // local components import { IssueStats } from "@/plane-web/components/issues/issue-layouts/issue-stats"; -import { TRenderQuickActions } from "../list/list-view-types"; +import type { TRenderQuickActions } from "../list/list-view-types"; import { IssueProperties } from "../properties/all-properties"; import { WithDisplayPropertiesHOC } from "../properties/with-display-properties-HOC"; -import { getIssueBlockId } from "../utils"; interface IssueBlockProps { issueId: string; diff --git a/apps/web/core/components/issues/issue-layouts/kanban/blocks-list.tsx b/apps/web/core/components/issues/issue-layouts/kanban/blocks-list.tsx index b6f5603e2..401516d4c 100644 --- a/apps/web/core/components/issues/issue-layouts/kanban/blocks-list.tsx +++ b/apps/web/core/components/issues/issue-layouts/kanban/blocks-list.tsx @@ -1,9 +1,9 @@ -import { MutableRefObject } from "react"; +import type { MutableRefObject } from "react"; import { observer } from "mobx-react"; // plane imports -import { TIssue, IIssueDisplayProperties, IIssueMap } from "@plane/types"; +import type { TIssue, IIssueDisplayProperties, IIssueMap } from "@plane/types"; // local imports -import { TRenderQuickActions } from "../list/list-view-types"; +import type { TRenderQuickActions } from "../list/list-view-types"; import { KanbanIssueBlock } from "./block"; interface IssueBlocksListProps { diff --git a/apps/web/core/components/issues/issue-layouts/kanban/default.tsx b/apps/web/core/components/issues/issue-layouts/kanban/default.tsx index def5e5924..7aa468c3d 100644 --- a/apps/web/core/components/issues/issue-layouts/kanban/default.tsx +++ b/apps/web/core/components/issues/issue-layouts/kanban/default.tsx @@ -1,8 +1,8 @@ -import { MutableRefObject } from "react"; +import type { MutableRefObject } from "react"; import { observer } from "mobx-react"; // i18n import { useTranslation } from "@plane/i18n"; -import { +import type { GroupByColumnTypes, IGroupByColumn, TGroupedIssues, @@ -25,8 +25,9 @@ import { useIssueStoreType } from "@/hooks/use-issue-layout-store"; // types // parent components import { useWorkFlowFDragNDrop } from "@/plane-web/components/workflow"; -import { TRenderQuickActions } from "../list/list-view-types"; -import { getGroupByColumns, isWorkspaceLevel, GroupDropLocation, getApproximateCardHeight } from "../utils"; +import type { TRenderQuickActions } from "../list/list-view-types"; +import type { GroupDropLocation } from "../utils"; +import { getGroupByColumns, isWorkspaceLevel, getApproximateCardHeight } from "../utils"; // components import { HeaderGroupByCard } from "./headers/group-by-card"; import { KanbanGroup } from "./kanban-group"; diff --git a/apps/web/core/components/issues/issue-layouts/kanban/headers/group-by-card.tsx b/apps/web/core/components/issues/issue-layouts/kanban/headers/group-by-card.tsx index 999b32526..666473d80 100644 --- a/apps/web/core/components/issues/issue-layouts/kanban/headers/group-by-card.tsx +++ b/apps/web/core/components/issues/issue-layouts/kanban/headers/group-by-card.tsx @@ -1,13 +1,14 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // lucide icons import { Minimize2, Maximize2, Circle, Plus } from "lucide-react"; import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { TIssue, ISearchIssueResponse, TIssueKanbanFilters, TIssueGroupByOptions } from "@plane/types"; +import type { TIssue, ISearchIssueResponse, TIssueKanbanFilters, TIssueGroupByOptions } from "@plane/types"; // ui import { CustomMenu } from "@plane/ui"; // components diff --git a/apps/web/core/components/issues/issue-layouts/kanban/headers/sub-group-by-card.tsx b/apps/web/core/components/issues/issue-layouts/kanban/headers/sub-group-by-card.tsx index 08620d40d..56f950af1 100644 --- a/apps/web/core/components/issues/issue-layouts/kanban/headers/sub-group-by-card.tsx +++ b/apps/web/core/components/issues/issue-layouts/kanban/headers/sub-group-by-card.tsx @@ -1,8 +1,9 @@ -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { Circle, ChevronDown, ChevronUp } from "lucide-react"; // Plane -import { TIssueGroupByOptions, TIssueKanbanFilters } from "@plane/types"; +import type { TIssueGroupByOptions, TIssueKanbanFilters } from "@plane/types"; // Plane-web import { WorkFlowGroupTree } from "@/plane-web/components/workflow"; // mobx diff --git a/apps/web/core/components/issues/issue-layouts/kanban/kanban-group.tsx b/apps/web/core/components/issues/issue-layouts/kanban/kanban-group.tsx index 0c7998280..b94227c93 100644 --- a/apps/web/core/components/issues/issue-layouts/kanban/kanban-group.tsx +++ b/apps/web/core/components/issues/issue-layouts/kanban/kanban-group.tsx @@ -1,6 +1,7 @@ "use client"; -import { MutableRefObject, useCallback, useEffect, useRef, useState } from "react"; +import type { MutableRefObject } from "react"; +import { useCallback, useEffect, useRef, useState } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; import { dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; import { autoScrollForElements } from "@atlaskit/pragmatic-drag-and-drop-auto-scroll/element"; @@ -11,7 +12,7 @@ import { DRAG_ALLOWED_GROUPS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; //types import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { +import type { TGroupedIssues, TIssue, IIssueDisplayProperties, @@ -19,10 +20,16 @@ import { TSubGroupedIssues, TIssueGroupByOptions, TIssueOrderByOptions, - EIssueLayoutTypes, } from "@plane/types"; +import { EIssueLayoutTypes } from "@plane/types"; import { cn } from "@plane/utils"; -import { highlightIssueOnDrop } from "@/components/issues/issue-layouts/utils"; +import type { GroupDropLocation } from "@/components/issues/issue-layouts/utils"; +import { + highlightIssueOnDrop, + getSourceFromDropPayload, + getDestinationFromDropPayload, + getIssueBlockId, +} from "@/components/issues/issue-layouts/utils"; import { KanbanIssueBlockLoader } from "@/components/ui/loader/layouts/kanban-layout-loader"; // hooks import { useProjectState } from "@/hooks/store/use-project-state"; @@ -32,9 +39,8 @@ import { useIssuesStore } from "@/hooks/use-issue-layout-store"; import { useWorkFlowFDragNDrop } from "@/plane-web/components/workflow"; // import { GroupDragOverlay } from "../group-drag-overlay"; -import { TRenderQuickActions } from "../list/list-view-types"; +import type { TRenderQuickActions } from "../list/list-view-types"; import { KanbanQuickAddIssueButton, QuickAddIssueRoot } from "../quick-add"; -import { GroupDropLocation, getSourceFromDropPayload, getDestinationFromDropPayload, getIssueBlockId } from "../utils"; import { KanbanIssueBlocksList } from "./blocks-list"; interface IKanbanGroup { diff --git a/apps/web/core/components/issues/issue-layouts/kanban/swimlanes.tsx b/apps/web/core/components/issues/issue-layouts/kanban/swimlanes.tsx index d1397c559..5892ea3dd 100644 --- a/apps/web/core/components/issues/issue-layouts/kanban/swimlanes.tsx +++ b/apps/web/core/components/issues/issue-layouts/kanban/swimlanes.tsx @@ -1,6 +1,6 @@ -import { MutableRefObject } from "react"; +import type { MutableRefObject } from "react"; import { observer } from "mobx-react"; -import { +import type { GroupByColumnTypes, IGroupByColumn, TGroupedIssues, @@ -18,8 +18,9 @@ import { Row } from "@plane/ui"; import { useIssueStoreType } from "@/hooks/use-issue-layout-store"; // components import { useWorkFlowFDragNDrop } from "@/plane-web/components/workflow"; -import { TRenderQuickActions } from "../list/list-view-types"; -import { getGroupByColumns, isWorkspaceLevel, GroupDropLocation } from "../utils"; +import type { TRenderQuickActions } from "../list/list-view-types"; +import type { GroupDropLocation } from "../utils"; +import { getGroupByColumns, isWorkspaceLevel } from "../utils"; import { KanBan } from "./default"; import { HeaderGroupByCard } from "./headers/group-by-card"; import { HeaderSubGroupByCard } from "./headers/sub-group-by-card"; diff --git a/apps/web/core/components/issues/issue-layouts/layout-icon.tsx b/apps/web/core/components/issues/issue-layouts/layout-icon.tsx index edf0a78ed..e4f7f0004 100644 --- a/apps/web/core/components/issues/issue-layouts/layout-icon.tsx +++ b/apps/web/core/components/issues/issue-layouts/layout-icon.tsx @@ -1,4 +1,5 @@ -import { List, Kanban, Calendar, Sheet, GanttChartSquare, LucideProps } from "lucide-react"; +import type { LucideProps } from "lucide-react"; +import { List, Kanban, Calendar, Sheet, GanttChartSquare } from "lucide-react"; import { EIssueLayoutTypes } from "@plane/types"; export const IssueLayoutIcon = ({ layout, ...props }: { layout: EIssueLayoutTypes } & LucideProps) => { diff --git a/apps/web/core/components/issues/issue-layouts/list/base-list-root.tsx b/apps/web/core/components/issues/issue-layouts/list/base-list-root.tsx index 5de56c347..19d548186 100644 --- a/apps/web/core/components/issues/issue-layouts/list/base-list-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/list/base-list-root.tsx @@ -1,16 +1,12 @@ -import { FC, useCallback, useEffect } from "react"; +import type { FC } from "react"; +import { useCallback, useEffect } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane constants import { EIssueFilterType, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; // types -import { - EIssuesStoreType, - GroupByColumnTypes, - TGroupedIssues, - TIssueKanbanFilters, - EIssueLayoutTypes, -} from "@plane/types"; +import type { EIssuesStoreType, GroupByColumnTypes, TGroupedIssues, TIssueKanbanFilters } from "@plane/types"; +import { EIssueLayoutTypes } from "@plane/types"; // constants // hooks import { useIssues } from "@/hooks/store/use-issues"; @@ -23,7 +19,7 @@ import { useIssuesActions } from "@/hooks/use-issues-actions"; import { IssueLayoutHOC } from "../issue-layout-HOC"; import { List } from "./default"; // types -import { IQuickActionProps, TRenderQuickActions } from "./list-view-types"; +import type { IQuickActionProps, TRenderQuickActions } from "./list-view-types"; type ListStoreType = | EIssuesStoreType.PROJECT diff --git a/apps/web/core/components/issues/issue-layouts/list/block-root.tsx b/apps/web/core/components/issues/issue-layouts/list/block-root.tsx index 67a001233..62942731b 100644 --- a/apps/web/core/components/issues/issue-layouts/list/block-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/list/block-root.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC, MutableRefObject, useEffect, useRef, useState } from "react"; +import type { FC, MutableRefObject } from "react"; +import React, { useEffect, useRef, useState } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; import { dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; import { attachInstruction, extractInstruction } from "@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item"; @@ -8,19 +9,20 @@ import { observer } from "mobx-react"; // plane helpers import { useOutsideClickDetector } from "@plane/hooks"; // types -import { EIssueServiceType, IIssueDisplayProperties, TIssue, TIssueMap } from "@plane/types"; +import type { IIssueDisplayProperties, TIssue, TIssueMap } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // components import { DropIndicator } from "@plane/ui"; import RenderIfVisible from "@/components/core/render-if-visible-HOC"; import { ListLoaderItemRow } from "@/components/ui/loader/layouts/list-layout-loader"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; import { usePlatformOS } from "@/hooks/use-platform-os"; // types import { HIGHLIGHT_CLASS, getIssueBlockId, isIssueNew } from "../utils"; import { IssueBlock } from "./block"; -import { TRenderQuickActions } from "./list-view-types"; +import type { TRenderQuickActions } from "./list-view-types"; type Props = { issueId: string; diff --git a/apps/web/core/components/issues/issue-layouts/list/block.tsx b/apps/web/core/components/issues/issue-layouts/list/block.tsx index 1cb44c10a..360c96f64 100644 --- a/apps/web/core/components/issues/issue-layouts/list/block.tsx +++ b/apps/web/core/components/issues/issue-layouts/list/block.tsx @@ -1,6 +1,7 @@ "use client"; -import { Dispatch, MouseEvent, SetStateAction, useEffect, useRef } from "react"; +import type { Dispatch, MouseEvent, SetStateAction } from "react"; +import { useEffect, useRef } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; import { draggable } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; import { observer } from "mobx-react"; @@ -9,7 +10,8 @@ import { ChevronRight } from "lucide-react"; // types import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { EIssueServiceType, TIssue, IIssueDisplayProperties, TIssueMap } from "@plane/types"; +import type { TIssue, IIssueDisplayProperties, TIssueMap } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // ui import { Spinner, ControlLink, Row } from "@plane/ui"; import { cn, generateWorkItemLink } from "@plane/utils"; @@ -21,14 +23,14 @@ import { IssueProperties } from "@/components/issues/issue-layouts/properties"; import { useAppTheme } from "@/hooks/store/use-app-theme"; import { useIssueDetail } from "@/hooks/store/use-issue-detail"; import { useProject } from "@/hooks/store/use-project"; -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; import { usePlatformOS } from "@/hooks/use-platform-os"; // plane web components import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier"; import { IssueStats } from "@/plane-web/components/issues/issue-layouts/issue-stats"; // types import { WithDisplayPropertiesHOC } from "../properties/with-display-properties-HOC"; -import { TRenderQuickActions } from "./list-view-types"; +import type { TRenderQuickActions } from "./list-view-types"; interface IssueBlockProps { issueId: string; diff --git a/apps/web/core/components/issues/issue-layouts/list/blocks-list.tsx b/apps/web/core/components/issues/issue-layouts/list/blocks-list.tsx index 0157fbdf3..090e988ca 100644 --- a/apps/web/core/components/issues/issue-layouts/list/blocks-list.tsx +++ b/apps/web/core/components/issues/issue-layouts/list/blocks-list.tsx @@ -1,11 +1,11 @@ -import { FC, MutableRefObject } from "react"; +import type { FC, MutableRefObject } from "react"; // components -import { TIssue, IIssueDisplayProperties, TIssueMap, TGroupedIssues } from "@plane/types"; +import type { TIssue, IIssueDisplayProperties, TIssueMap, TGroupedIssues } from "@plane/types"; // hooks -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; // types import { IssueBlockRoot } from "./block-root"; -import { TRenderQuickActions } from "./list-view-types"; +import type { TRenderQuickActions } from "./list-view-types"; interface Props { issueIds: TGroupedIssues | any; diff --git a/apps/web/core/components/issues/issue-layouts/list/default.tsx b/apps/web/core/components/issues/issue-layouts/list/default.tsx index ab00e40c3..4d1411212 100644 --- a/apps/web/core/components/issues/issue-layouts/list/default.tsx +++ b/apps/web/core/components/issues/issue-layouts/list/default.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; // plane constants import { ALL_ISSUES } from "@plane/constants"; // types -import { +import type { GroupByColumnTypes, TGroupedIssues, TIssue, @@ -25,9 +25,10 @@ import { IssueBulkOperationsRoot } from "@/plane-web/components/issues/bulk-oper // plane web hooks import { useBulkOperationStatus } from "@/plane-web/hooks/use-bulk-operation-status"; // utils -import { getGroupByColumns, isWorkspaceLevel, GroupDropLocation, isSubGrouped } from "../utils"; +import type { GroupDropLocation } from "../utils"; +import { getGroupByColumns, isWorkspaceLevel, isSubGrouped } from "../utils"; import { ListGroup } from "./list-group"; -import { TRenderQuickActions } from "./list-view-types"; +import type { TRenderQuickActions } from "./list-view-types"; export interface IList { groupedIssueIds: TGroupedIssues; diff --git a/apps/web/core/components/issues/issue-layouts/list/headers/group-by-card.tsx b/apps/web/core/components/issues/issue-layouts/list/headers/group-by-card.tsx index 7cf4555c8..9853c03b8 100644 --- a/apps/web/core/components/issues/issue-layouts/list/headers/group-by-card.tsx +++ b/apps/web/core/components/issues/issue-layouts/list/headers/group-by-card.tsx @@ -7,7 +7,7 @@ import { CircleDashed, Plus } from "lucide-react"; // types import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { TIssue, ISearchIssueResponse, TIssueGroupByOptions } from "@plane/types"; +import type { TIssue, ISearchIssueResponse, TIssueGroupByOptions } from "@plane/types"; // ui import { CustomMenu } from "@plane/ui"; // components @@ -18,7 +18,7 @@ import { CreateUpdateIssueModal } from "@/components/issues/issue-modal/modal"; // constants import { captureClick } from "@/helpers/event-tracker.helper"; import { useIssueStoreType } from "@/hooks/use-issue-layout-store"; -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; // plane-web import { CreateUpdateEpicModal } from "@/plane-web/components/epics/epic-modal"; // Plane-web diff --git a/apps/web/core/components/issues/issue-layouts/list/list-group.tsx b/apps/web/core/components/issues/issue-layouts/list/list-group.tsx index 0800a7d81..19acd3b92 100644 --- a/apps/web/core/components/issues/issue-layouts/list/list-group.tsx +++ b/apps/web/core/components/issues/issue-layouts/list/list-group.tsx @@ -1,6 +1,7 @@ "use client"; -import { MutableRefObject, useEffect, useRef, useState } from "react"; +import type { MutableRefObject } from "react"; +import { useEffect, useRef, useState } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; import { dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; import { observer } from "mobx-react"; @@ -8,7 +9,7 @@ import { observer } from "mobx-react"; import { DRAG_ALLOWED_GROUPS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { +import type { IGroupByColumn, TIssueMap, TIssueGroupByOptions, @@ -16,8 +17,8 @@ import { TIssue, IIssueDisplayProperties, TIssueKanbanFilters, - EIssueLayoutTypes, } from "@plane/types"; +import { EIssueLayoutTypes } from "@plane/types"; import { Row } from "@plane/ui"; import { cn } from "@plane/utils"; // components @@ -26,14 +27,14 @@ import { ListLoaderItemRow } from "@/components/ui/loader/layouts/list-layout-lo import { useProjectState } from "@/hooks/store/use-project-state"; import { useIntersectionObserver } from "@/hooks/use-intersection-observer"; import { useIssuesStore } from "@/hooks/use-issue-layout-store"; -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; // Plane-web import { useWorkFlowFDragNDrop } from "@/plane-web/components/workflow"; // import { GroupDragOverlay } from "../group-drag-overlay"; import { ListQuickAddIssueButton, QuickAddIssueRoot } from "../quick-add"; +import type { GroupDropLocation } from "../utils"; import { - GroupDropLocation, getDestinationFromDropPayload, getIssueBlockId, getSourceFromDropPayload, @@ -41,7 +42,7 @@ import { } from "../utils"; import { IssueBlocksList } from "./blocks-list"; import { HeaderGroupByCard } from "./headers/group-by-card"; -import { TRenderQuickActions } from "./list-view-types"; +import type { TRenderQuickActions } from "./list-view-types"; interface Props { groupIssueIds: string[] | undefined; diff --git a/apps/web/core/components/issues/issue-layouts/list/list-view-types.d.ts b/apps/web/core/components/issues/issue-layouts/list/list-view-types.d.ts index 500ac1a89..5de43cb67 100644 --- a/apps/web/core/components/issues/issue-layouts/list/list-view-types.d.ts +++ b/apps/web/core/components/issues/issue-layouts/list/list-view-types.d.ts @@ -1,5 +1,5 @@ -import { TPlacement } from "@plane/propel/utils/placement"; -import { TIssue } from "@plane/types"; +import type { TPlacement } from "@plane/propel/utils/placement"; +import type { TIssue } from "@plane/types"; export interface IQuickActionProps { parentRef: React.RefObject; diff --git a/apps/web/core/components/issues/issue-layouts/list/roots/archived-issue-root.tsx b/apps/web/core/components/issues/issue-layouts/list/roots/archived-issue-root.tsx index 8724f4959..17f68d8b4 100644 --- a/apps/web/core/components/issues/issue-layouts/list/roots/archived-issue-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/list/roots/archived-issue-root.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // local imports import { ArchivedIssueQuickActions } from "../../quick-action-dropdowns"; diff --git a/apps/web/core/components/issues/issue-layouts/list/roots/profile-issues-root.tsx b/apps/web/core/components/issues/issue-layouts/list/roots/profile-issues-root.tsx index f3ec22595..afc212d3e 100644 --- a/apps/web/core/components/issues/issue-layouts/list/roots/profile-issues-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/list/roots/profile-issues-root.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; diff --git a/apps/web/core/components/issues/issue-layouts/list/roots/project-root.tsx b/apps/web/core/components/issues/issue-layouts/list/roots/project-root.tsx index f976a57a2..39d5c0e4e 100644 --- a/apps/web/core/components/issues/issue-layouts/list/roots/project-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/list/roots/project-root.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports diff --git a/apps/web/core/components/issues/issue-layouts/properties/all-properties.tsx b/apps/web/core/components/issues/issue-layouts/properties/all-properties.tsx index eae95aaf7..0a5f0a392 100644 --- a/apps/web/core/components/issues/issue-layouts/properties/all-properties.tsx +++ b/apps/web/core/components/issues/issue-layouts/properties/all-properties.tsx @@ -1,6 +1,7 @@ "use client"; -import { useCallback, useMemo, SyntheticEvent } from "react"; +import type { SyntheticEvent } from "react"; +import { useCallback, useMemo } from "react"; import { xor } from "lodash-es"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; @@ -12,7 +13,7 @@ import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { ViewsIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { TIssue, IIssueDisplayProperties, TIssuePriorities } from "@plane/types"; +import type { TIssue, IIssueDisplayProperties, TIssuePriorities } from "@plane/types"; // ui import { cn, diff --git a/apps/web/core/components/issues/issue-layouts/properties/label-dropdown.tsx b/apps/web/core/components/issues/issue-layouts/properties/label-dropdown.tsx index 357423e04..ea8603cdb 100644 --- a/apps/web/core/components/issues/issue-layouts/properties/label-dropdown.tsx +++ b/apps/web/core/components/issues/issue-layouts/properties/label-dropdown.tsx @@ -1,5 +1,5 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react"; -import { Placement } from "@popperjs/core"; +import type { Placement } from "@popperjs/core"; import { useParams } from "next/navigation"; import { usePopper } from "react-popper"; import { Check, ChevronDown, Loader, Search } from "lucide-react"; @@ -9,7 +9,8 @@ import { EUserPermissionsLevel, getRandomLabelColor } from "@plane/constants"; import { useOutsideClickDetector } from "@plane/hooks"; import { useTranslation } from "@plane/i18n"; // types -import { EUserProjectRoles, IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; +import { EUserProjectRoles } from "@plane/types"; // components import { ComboDropDown } from "@plane/ui"; // hooks diff --git a/apps/web/core/components/issues/issue-layouts/properties/labels.tsx b/apps/web/core/components/issues/issue-layouts/properties/labels.tsx index efa955145..eb02435e0 100644 --- a/apps/web/core/components/issues/issue-layouts/properties/labels.tsx +++ b/apps/web/core/components/issues/issue-layouts/properties/labels.tsx @@ -1,7 +1,7 @@ "use client"; import { useCallback, useEffect, useMemo, useRef, useState } from "react"; -import { Placement } from "@popperjs/core"; +import type { Placement } from "@popperjs/core"; import { observer } from "mobx-react"; import { Tags } from "lucide-react"; // plane helpers @@ -10,7 +10,7 @@ import { useOutsideClickDetector } from "@plane/hooks"; import { useTranslation } from "@plane/i18n"; // types import { Tooltip } from "@plane/propel/tooltip"; -import { IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; // ui // hooks import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/issues/issue-layouts/properties/with-display-properties-HOC.tsx b/apps/web/core/components/issues/issue-layouts/properties/with-display-properties-HOC.tsx index 51ce71a77..24896f960 100644 --- a/apps/web/core/components/issues/issue-layouts/properties/with-display-properties-HOC.tsx +++ b/apps/web/core/components/issues/issue-layouts/properties/with-display-properties-HOC.tsx @@ -1,6 +1,6 @@ -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { observer } from "mobx-react"; -import { IIssueDisplayProperties } from "@plane/types"; +import type { IIssueDisplayProperties } from "@plane/types"; interface IWithDisplayPropertiesHOC { displayProperties: IIssueDisplayProperties; diff --git a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/all-issue.tsx b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/all-issue.tsx index 770a69d2d..5d8ab87be 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/all-issue.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/all-issue.tsx @@ -6,8 +6,10 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports import { ARCHIVABLE_STATE_GROUPS, WORK_ITEM_TRACKER_ELEMENTS } from "@plane/constants"; -import { EIssuesStoreType, TIssue } from "@plane/types"; -import { ContextMenu, CustomMenu, TContextMenuItem } from "@plane/ui"; +import type { TIssue } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; +import type { TContextMenuItem } from "@plane/ui"; +import { ContextMenu, CustomMenu } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { captureClick } from "@/helpers/event-tracker.helper"; @@ -19,8 +21,9 @@ import { DuplicateWorkItemModal } from "@/plane-web/components/issues/issue-layo import { ArchiveIssueModal } from "../../archive-issue-modal"; import { DeleteIssueModal } from "../../delete-issue-modal"; import { CreateUpdateIssueModal } from "../../issue-modal/modal"; -import { IQuickActionProps } from "../list/list-view-types"; -import { useAllIssueMenuItems, MenuItemFactoryProps } from "./helper"; +import type { IQuickActionProps } from "../list/list-view-types"; +import type { MenuItemFactoryProps } from "./helper"; +import { useAllIssueMenuItems } from "./helper"; export const AllIssueQuickActions: React.FC = observer((props) => { const { diff --git a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/archived-issue.tsx b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/archived-issue.tsx index 15169358d..43102767b 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/archived-issue.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/archived-issue.tsx @@ -6,7 +6,8 @@ import { useParams } from "next/navigation"; // ui import { EUserPermissions, EUserPermissionsLevel, WORK_ITEM_TRACKER_ELEMENTS } from "@plane/constants"; import { EIssuesStoreType } from "@plane/types"; -import { ContextMenu, CustomMenu, TContextMenuItem } from "@plane/ui"; +import type { TContextMenuItem } from "@plane/ui"; +import { ContextMenu, CustomMenu } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { captureClick } from "@/helpers/event-tracker.helper"; @@ -14,8 +15,9 @@ import { useIssues } from "@/hooks/store/use-issues"; import { useUserPermissions } from "@/hooks/store/user"; // local imports import { DeleteIssueModal } from "../../delete-issue-modal"; -import { IQuickActionProps } from "../list/list-view-types"; -import { useArchivedIssueMenuItems, MenuItemFactoryProps } from "./helper"; +import type { IQuickActionProps } from "../list/list-view-types"; +import type { MenuItemFactoryProps } from "./helper"; +import { useArchivedIssueMenuItems } from "./helper"; export const ArchivedIssueQuickActions: React.FC = observer((props) => { const { diff --git a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/cycle-issue.tsx b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/cycle-issue.tsx index 54536f343..17bd91556 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/cycle-issue.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/cycle-issue.tsx @@ -11,8 +11,10 @@ import { EUserPermissionsLevel, WORK_ITEM_TRACKER_ELEMENTS, } from "@plane/constants"; -import { EIssuesStoreType, TIssue } from "@plane/types"; -import { ContextMenu, CustomMenu, TContextMenuItem } from "@plane/ui"; +import type { TIssue } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; +import type { TContextMenuItem } from "@plane/ui"; +import { ContextMenu, CustomMenu } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { captureClick } from "@/helpers/event-tracker.helper"; @@ -27,8 +29,9 @@ import { DuplicateWorkItemModal } from "@/plane-web/components/issues/issue-layo import { ArchiveIssueModal } from "../../archive-issue-modal"; import { DeleteIssueModal } from "../../delete-issue-modal"; import { CreateUpdateIssueModal } from "../../issue-modal/modal"; -import { IQuickActionProps } from "../list/list-view-types"; -import { useCycleIssueMenuItems, MenuItemFactoryProps } from "./helper"; +import type { IQuickActionProps } from "../list/list-view-types"; +import type { MenuItemFactoryProps } from "./helper"; +import { useCycleIssueMenuItems } from "./helper"; export const CycleIssueQuickActions: React.FC = observer((props) => { const { diff --git a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/helper.tsx b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/helper.tsx index 003e3d20c..56affbdf0 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/helper.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/helper.tsx @@ -4,8 +4,8 @@ import { Copy, ExternalLink, Link, Pencil, Trash2, XCircle, ArchiveRestoreIcon } import { useTranslation } from "@plane/i18n"; import { ArchiveIcon } from "@plane/propel/icons"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssuesStoreType, TIssue } from "@plane/types"; -import { TContextMenuItem } from "@plane/ui"; +import type { EIssuesStoreType, TIssue } from "@plane/types"; +import type { TContextMenuItem } from "@plane/ui"; import { copyUrlToClipboard, generateWorkItemLink } from "@plane/utils"; // types import { createCopyMenuWithDuplication } from "@/plane-web/components/issues/issue-layouts/quick-action-dropdowns"; diff --git a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/issue-detail.tsx b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/issue-detail.tsx index 084db5a22..b90ed2d10 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/issue-detail.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/issue-detail.tsx @@ -11,8 +11,10 @@ import { EUserPermissionsLevel, WORK_ITEM_TRACKER_ELEMENTS, } from "@plane/constants"; -import { EIssuesStoreType, TIssue } from "@plane/types"; -import { ContextMenu, CustomMenu, TContextMenuItem } from "@plane/ui"; +import type { TIssue } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; +import type { TContextMenuItem } from "@plane/ui"; +import { ContextMenu, CustomMenu } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { captureClick } from "@/helpers/event-tracker.helper"; @@ -26,8 +28,9 @@ import { DuplicateWorkItemModal } from "@/plane-web/components/issues/issue-layo import { ArchiveIssueModal } from "../../archive-issue-modal"; import { DeleteIssueModal } from "../../delete-issue-modal"; import { CreateUpdateIssueModal } from "../../issue-modal/modal"; -import { IQuickActionProps } from "../list/list-view-types"; -import { MenuItemFactoryProps, useWorkItemDetailMenuItems } from "./helper"; +import type { IQuickActionProps } from "../list/list-view-types"; +import type { MenuItemFactoryProps } from "./helper"; +import { useWorkItemDetailMenuItems } from "./helper"; type TWorkItemDetailQuickActionProps = IQuickActionProps & { toggleEditIssueModal?: (value: boolean) => void; diff --git a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/module-issue.tsx b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/module-issue.tsx index 1bc8ccbab..c0ce09751 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/module-issue.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/module-issue.tsx @@ -11,8 +11,10 @@ import { EUserPermissionsLevel, WORK_ITEM_TRACKER_ELEMENTS, } from "@plane/constants"; -import { EIssuesStoreType, TIssue } from "@plane/types"; -import { ContextMenu, CustomMenu, TContextMenuItem } from "@plane/ui"; +import type { TIssue } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; +import type { TContextMenuItem } from "@plane/ui"; +import { ContextMenu, CustomMenu } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { captureClick } from "@/helpers/event-tracker.helper"; @@ -26,8 +28,9 @@ import { DuplicateWorkItemModal } from "@/plane-web/components/issues/issue-layo import { ArchiveIssueModal } from "../../archive-issue-modal"; import { DeleteIssueModal } from "../../delete-issue-modal"; import { CreateUpdateIssueModal } from "../../issue-modal/modal"; -import { IQuickActionProps } from "../list/list-view-types"; -import { useModuleIssueMenuItems, MenuItemFactoryProps } from "./helper"; +import type { IQuickActionProps } from "../list/list-view-types"; +import type { MenuItemFactoryProps } from "./helper"; +import { useModuleIssueMenuItems } from "./helper"; export const ModuleIssueQuickActions: React.FC = observer((props) => { const { diff --git a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/project-issue.tsx b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/project-issue.tsx index 5b70c05cc..978d77291 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/project-issue.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/project-issue.tsx @@ -11,8 +11,10 @@ import { EUserPermissionsLevel, WORK_ITEM_TRACKER_ELEMENTS, } from "@plane/constants"; -import { EIssuesStoreType, TIssue } from "@plane/types"; -import { ContextMenu, CustomMenu, TContextMenuItem } from "@plane/ui"; +import type { TIssue } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; +import type { TContextMenuItem } from "@plane/ui"; +import { ContextMenu, CustomMenu } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { captureClick } from "@/helpers/event-tracker.helper"; @@ -26,8 +28,9 @@ import { DuplicateWorkItemModal } from "@/plane-web/components/issues/issue-layo import { ArchiveIssueModal } from "../../archive-issue-modal"; import { DeleteIssueModal } from "../../delete-issue-modal"; import { CreateUpdateIssueModal } from "../../issue-modal/modal"; -import { IQuickActionProps } from "../list/list-view-types"; -import { useProjectIssueMenuItems, MenuItemFactoryProps } from "./helper"; +import type { IQuickActionProps } from "../list/list-view-types"; +import type { MenuItemFactoryProps } from "./helper"; +import { useProjectIssueMenuItems } from "./helper"; export const ProjectIssueQuickActions: React.FC = observer((props) => { const { diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/button/gantt.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/button/gantt.tsx index af96c0a91..bd57939c2 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-add/button/gantt.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-add/button/gantt.tsx @@ -1,9 +1,9 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { PlusIcon } from "lucide-react"; import { useTranslation } from "@plane/i18n"; import { Row } from "@plane/ui"; -import { TQuickAddIssueButton } from "../root"; +import type { TQuickAddIssueButton } from "../root"; export const GanttQuickAddIssueButton: FC = observer((props) => { const { onClick, isEpic = false } = props; diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/button/kanban.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/button/kanban.tsx index deadd9e4c..7565ea4b9 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-add/button/kanban.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-add/button/kanban.tsx @@ -1,8 +1,8 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { PlusIcon } from "lucide-react"; import { useTranslation } from "@plane/i18n"; -import { TQuickAddIssueButton } from "../root"; +import type { TQuickAddIssueButton } from "../root"; export const KanbanQuickAddIssueButton: FC = observer((props) => { const { onClick, isEpic = false } = props; diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/button/list.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/button/list.tsx index 1b09e8e3c..3f77cd47c 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-add/button/list.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-add/button/list.tsx @@ -1,9 +1,9 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { PlusIcon } from "lucide-react"; import { useTranslation } from "@plane/i18n"; import { Row } from "@plane/ui"; -import { TQuickAddIssueButton } from "../root"; +import type { TQuickAddIssueButton } from "../root"; export const ListQuickAddIssueButton: FC = observer((props) => { const { onClick, isEpic = false } = props; diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/button/spreadsheet.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/button/spreadsheet.tsx index 1a0bb7d46..accd23c7a 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-add/button/spreadsheet.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-add/button/spreadsheet.tsx @@ -1,8 +1,8 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { PlusIcon } from "lucide-react"; import { useTranslation } from "@plane/i18n"; -import { TQuickAddIssueButton } from "../root"; +import type { TQuickAddIssueButton } from "../root"; export const SpreadsheetAddIssueButton: FC = observer((props) => { const { onClick, isEpic = false } = props; diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/form/calendar.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/form/calendar.tsx index 765a54af7..bba1a5f77 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-add/form/calendar.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-add/form/calendar.tsx @@ -1,6 +1,6 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; -import { TQuickAddIssueForm } from "../root"; +import type { TQuickAddIssueForm } from "../root"; export const CalendarQuickAddIssueForm: FC = observer((props) => { const { ref, isOpen, projectDetail, register, onSubmit, isEpic } = props; diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/form/gantt.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/form/gantt.tsx index e5f27e0c5..c09bae8e1 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-add/form/gantt.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-add/form/gantt.tsx @@ -1,8 +1,8 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; import { cn } from "@plane/utils"; -import { TQuickAddIssueForm } from "../root"; +import type { TQuickAddIssueForm } from "../root"; export const GanttQuickAddIssueForm: FC = observer((props) => { const { ref, projectDetail, hasError, register, onSubmit, isEpic } = props; diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/form/kanban.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/form/kanban.tsx index 92e1811b3..c81c36f38 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-add/form/kanban.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-add/form/kanban.tsx @@ -1,7 +1,7 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; -import { TQuickAddIssueForm } from "../root"; +import type { TQuickAddIssueForm } from "../root"; export const KanbanQuickAddIssueForm: FC = observer((props) => { const { ref, projectDetail, register, onSubmit, isEpic } = props; diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/form/list.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/form/list.tsx index a977a2918..1187f2764 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-add/form/list.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-add/form/list.tsx @@ -1,7 +1,7 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; -import { TQuickAddIssueForm } from "../root"; +import type { TQuickAddIssueForm } from "../root"; export const ListQuickAddIssueForm: FC = observer((props) => { const { ref, projectDetail, register, onSubmit, isEpic } = props; diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/form/spreadsheet.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/form/spreadsheet.tsx index 494f2c636..abb735b0e 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-add/form/spreadsheet.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-add/form/spreadsheet.tsx @@ -1,7 +1,7 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; -import { TQuickAddIssueForm } from "../root"; +import type { TQuickAddIssueForm } from "../root"; export const SpreadsheetQuickAddIssueForm: FC = observer((props) => { const { ref, projectDetail, register, onSubmit, isEpic } = props; diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/root.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/root.tsx index 933c9db56..f26a3f4fe 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-add/root.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-add/root.tsx @@ -1,15 +1,17 @@ "use client"; -import { FC, useEffect, useState } from "react"; +import type { FC } from "react"; +import { useEffect, useState } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; -import { useForm, UseFormRegister } from "react-hook-form"; +import type { UseFormRegister } from "react-hook-form"; +import { useForm } from "react-hook-form"; import { PlusIcon } from "lucide-react"; // plane imports import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { setPromiseToast } from "@plane/propel/toast"; -import { IProject, TIssue, EIssueLayoutTypes } from "@plane/types"; +import type { IProject, TIssue, EIssueLayoutTypes } from "@plane/types"; import { cn, createIssuePayload } from "@plane/utils"; // helpers import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/components/issues/issue-layouts/roots/all-issue-layout-root.tsx b/apps/web/core/components/issues/issue-layouts/roots/all-issue-layout-root.tsx index bbfbd4c0d..ee58183a7 100644 --- a/apps/web/core/components/issues/issue-layouts/roots/all-issue-layout-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/roots/all-issue-layout-root.tsx @@ -4,7 +4,8 @@ import { useParams, useSearchParams } from "next/navigation"; import useSWR from "swr"; // plane imports import { GLOBAL_VIEW_TRACKER_ELEMENTS, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants"; -import { EIssuesStoreType, EIssueLayoutTypes, STATIC_VIEW_TYPES } from "@plane/types"; +import type { EIssueLayoutTypes } from "@plane/types"; +import { EIssuesStoreType, STATIC_VIEW_TYPES } from "@plane/types"; // components import { EmptyState } from "@/components/common/empty-state"; import { IssuePeekOverview } from "@/components/issues/peek-overview"; diff --git a/apps/web/core/components/issues/issue-layouts/roots/project-layout-root.tsx b/apps/web/core/components/issues/issue-layouts/roots/project-layout-root.tsx index cc9959574..7705a2a2f 100644 --- a/apps/web/core/components/issues/issue-layouts/roots/project-layout-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/roots/project-layout-root.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import useSWR from "swr"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/base-spreadsheet-root.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/base-spreadsheet-root.tsx index 63d2e1ed3..c91fb02ec 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/base-spreadsheet-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/base-spreadsheet-root.tsx @@ -1,9 +1,11 @@ -import { FC, useCallback, useEffect } from "react"; +import type { FC } from "react"; +import { useCallback, useEffect } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports import { ALL_ISSUES, EIssueFilterType, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; -import { EIssuesStoreType, IIssueDisplayFilterOptions, EIssueLayoutTypes } from "@plane/types"; +import type { EIssuesStoreType, IIssueDisplayFilterOptions } from "@plane/types"; +import { EIssueLayoutTypes } from "@plane/types"; // hooks import { useIssues } from "@/hooks/store/use-issues"; import { useUserPermissions } from "@/hooks/store/user"; @@ -11,7 +13,7 @@ import { useIssueStoreType } from "@/hooks/use-issue-layout-store"; import { useIssuesActions } from "@/hooks/use-issues-actions"; // local imports import { IssueLayoutHOC } from "../issue-layout-HOC"; -import { IQuickActionProps, TRenderQuickActions } from "../list/list-view-types"; +import type { IQuickActionProps, TRenderQuickActions } from "../list/list-view-types"; import { SpreadsheetView } from "./spreadsheet-view"; export type SpreadsheetStoreType = diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/assignee-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/assignee-column.tsx index 4b91e74a5..c99d0b7dc 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/assignee-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/assignee-column.tsx @@ -1,7 +1,7 @@ import React from "react"; import { observer } from "mobx-react"; // types -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // components import { MemberDropdown } from "@/components/dropdowns/member/dropdown"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/attachment-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/attachment-column.tsx index 526c8d35c..610c7528f 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/attachment-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/attachment-column.tsx @@ -1,7 +1,7 @@ import React from "react"; import { observer } from "mobx-react"; // types -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; import { Row } from "@plane/ui"; type Props = { diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/created-on-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/created-on-column.tsx index d1e2b4b54..d7713d26f 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/created-on-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/created-on-column.tsx @@ -1,7 +1,7 @@ import React from "react"; import { observer } from "mobx-react"; // types -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // helpers import { Row } from "@plane/ui"; import { renderFormattedDate } from "@plane/utils"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/cycle-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/cycle-column.tsx index adbc221fc..5c7445bc6 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/cycle-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/cycle-column.tsx @@ -3,7 +3,7 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // types import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // components import { CycleDropdown } from "@/components/dropdowns/cycle"; // hooks diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/due-date-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/due-date-column.tsx index 5d8246b70..1d793c320 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/due-date-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/due-date-column.tsx @@ -2,7 +2,7 @@ import React from "react"; import { observer } from "mobx-react"; import { CalendarCheck2 } from "lucide-react"; // types -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; import { cn, getDate, renderFormattedPayloadDate, shouldHighlightIssueDueDate } from "@plane/utils"; // components import { DateDropdown } from "@/components/dropdowns/date"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/estimate-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/estimate-column.tsx index 47633a7c1..b324f105a 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/estimate-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/estimate-column.tsx @@ -1,6 +1,6 @@ import { observer } from "mobx-react"; // types -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // components import { EstimateDropdown } from "@/components/dropdowns/estimate"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/header-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/header-column.tsx index 532824977..52807a313 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/header-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/header-column.tsx @@ -6,7 +6,7 @@ import { SPREADSHEET_PROPERTY_DETAILS } from "@plane/constants"; // i18n import { useTranslation } from "@plane/i18n"; // types -import { IIssueDisplayFilterOptions, IIssueDisplayProperties, TIssueOrderByOptions } from "@plane/types"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, TIssueOrderByOptions } from "@plane/types"; import { CustomMenu, Row } from "@plane/ui"; import useLocalStorage from "@/hooks/use-local-storage"; import { SpreadSheetPropertyIcon } from "../../utils"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/label-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/label-column.tsx index 2b1608adc..9f1a5c007 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/label-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/label-column.tsx @@ -1,7 +1,7 @@ import React from "react"; import { observer } from "mobx-react"; // types -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // hooks import { useLabel } from "@/hooks/store/use-label"; // components diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/link-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/link-column.tsx index 91ad1c03f..09fd881c9 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/link-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/link-column.tsx @@ -1,7 +1,7 @@ import React from "react"; import { observer } from "mobx-react"; // types -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; import { Row } from "@plane/ui"; type Props = { diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/module-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/module-column.tsx index 45c30c02b..518b644f6 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/module-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/module-column.tsx @@ -4,7 +4,7 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // types import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // components import { ModuleDropdown } from "@/components/dropdowns/module/dropdown"; // constants diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/priority-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/priority-column.tsx index 89f594cea..d2385cdd2 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/priority-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/priority-column.tsx @@ -1,7 +1,7 @@ import React from "react"; import { observer } from "mobx-react"; // types -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // components import { PriorityDropdown } from "@/components/dropdowns/priority"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/start-date-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/start-date-column.tsx index fac7bfdc3..f1c35a4b5 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/start-date-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/start-date-column.tsx @@ -2,7 +2,7 @@ import React from "react"; import { observer } from "mobx-react"; import { CalendarClock } from "lucide-react"; // types -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // components import { getDate, renderFormattedPayloadDate } from "@plane/utils"; import { DateDropdown } from "@/components/dropdowns/date"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/state-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/state-column.tsx index e3c64df45..9a772eb07 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/state-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/state-column.tsx @@ -1,7 +1,7 @@ import React from "react"; import { observer } from "mobx-react"; // types -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // components import { StateDropdown } from "@/components/dropdowns/state/dropdown"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/sub-issue-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/sub-issue-column.tsx index 21e171445..9f0f8a46d 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/sub-issue-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/sub-issue-column.tsx @@ -2,7 +2,7 @@ import React from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // types -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // helpers import { Row } from "@plane/ui"; import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/updated-on-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/updated-on-column.tsx index 9cdf79720..c25329e9c 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/updated-on-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/columns/updated-on-column.tsx @@ -1,7 +1,7 @@ import React from "react"; import { observer } from "mobx-react"; // types -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // helpers import { Row } from "@plane/ui"; import { renderFormattedDate } from "@plane/utils"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-column.tsx index 4ae88af38..851bef4c7 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-column.tsx @@ -2,7 +2,7 @@ import { useRef } from "react"; import { observer } from "mobx-react"; // types import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; -import { IIssueDisplayProperties, TIssue } from "@plane/types"; +import type { IIssueDisplayProperties, TIssue } from "@plane/types"; // hooks import { captureSuccess } from "@/helpers/event-tracker.helper"; // components diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx index 08b43884a..cf31e078e 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx @@ -1,6 +1,7 @@ "use client"; -import { Dispatch, MouseEvent, MutableRefObject, SetStateAction, useRef, useState } from "react"; +import type { Dispatch, MouseEvent, MutableRefObject, SetStateAction } from "react"; +import { useRef, useState } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { ChevronRight, MoreHorizontal } from "lucide-react"; @@ -9,7 +10,8 @@ import { SPREADSHEET_SELECT_GROUP } from "@plane/constants"; import { useOutsideClickDetector } from "@plane/hooks"; // types import { Tooltip } from "@plane/propel/tooltip"; -import { EIssueServiceType, IIssueDisplayProperties, TIssue } from "@plane/types"; +import type { IIssueDisplayProperties, TIssue } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // ui import { ControlLink, Row } from "@plane/ui"; import { cn, generateWorkItemLink } from "@plane/utils"; @@ -22,12 +24,12 @@ import { useIssueDetail } from "@/hooks/store/use-issue-detail"; import { useIssues } from "@/hooks/store/use-issues"; import { useProject } from "@/hooks/store/use-project"; import useIssuePeekOverviewRedirection from "@/hooks/use-issue-peek-overview-redirection"; -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; import { usePlatformOS } from "@/hooks/use-platform-os"; // plane web components import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier"; // local components -import { TRenderQuickActions } from "../list/list-view-types"; +import type { TRenderQuickActions } from "../list/list-view-types"; import { isIssueNew } from "../utils"; import { IssueColumn } from "./issue-column"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/roots/workspace-root.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/roots/workspace-root.tsx index 7fc4b3af5..8f9311713 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/roots/workspace-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/roots/workspace-root.tsx @@ -2,7 +2,8 @@ import React, { useCallback } from "react"; import { observer } from "mobx-react"; // plane constants import { ALL_ISSUES, EIssueFilterType, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; -import { IIssueDisplayFilterOptions, EIssuesStoreType, EIssueLayoutTypes } from "@plane/types"; +import type { IIssueDisplayFilterOptions } from "@plane/types"; +import { EIssuesStoreType, EIssueLayoutTypes } from "@plane/types"; // components import { AllIssueQuickActions } from "@/components/issues/issue-layouts/quick-action-dropdowns"; import { SpreadsheetLayoutLoader } from "@/components/ui/loader/layouts/spreadsheet-layout-loader"; @@ -13,7 +14,7 @@ import { useIssuesActions } from "@/hooks/use-issues-actions"; import { useWorkspaceIssueProperties } from "@/hooks/use-workspace-issue-properties"; // store import { IssueLayoutHOC } from "../../issue-layout-HOC"; -import { TRenderQuickActions } from "../../list/list-view-types"; +import type { TRenderQuickActions } from "../../list/list-view-types"; import { SpreadsheetView } from "../spreadsheet-view"; type Props = { diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header-column.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header-column.tsx index 62cb26356..94bdbdf42 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header-column.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header-column.tsx @@ -1,7 +1,7 @@ import { useRef } from "react"; //types import { observer } from "mobx-react"; -import { IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; //components import { shouldRenderColumn } from "@/plane-web/helpers/issue-filter.helper"; import { WithDisplayPropertiesHOC } from "../properties/with-display-properties-HOC"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx index ef809f7e7..9c3e7242f 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx @@ -3,13 +3,13 @@ import { useParams } from "next/navigation"; // constants import { SPREADSHEET_SELECT_GROUP } from "@plane/constants"; // ui -import { IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; // components import { Row } from "@plane/ui"; import { cn } from "@plane/utils"; import { MultipleSelectGroupAction } from "@/components/core/multiple-select"; // hooks -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; import { SpreadsheetHeaderColumn } from "./spreadsheet-header-column"; interface Props { diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-table.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-table.tsx index 61c995529..dfd3c1347 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-table.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-table.tsx @@ -1,16 +1,17 @@ -import { MutableRefObject, useCallback, useEffect, useRef, useState } from "react"; +import type { MutableRefObject } from "react"; +import { useCallback, useEffect, useRef, useState } from "react"; import { observer } from "mobx-react"; // plane imports -import { IIssueDisplayFilterOptions, IIssueDisplayProperties, TIssue } from "@plane/types"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, TIssue } from "@plane/types"; // components import { SpreadsheetIssueRowLoader } from "@/components/ui/loader/layouts/spreadsheet-layout-loader"; // hooks import { useIntersectionObserver } from "@/hooks/use-intersection-observer"; import { useIssuesStore } from "@/hooks/use-issue-layout-store"; -import { TSelectionHelper } from "@/hooks/use-multiple-select"; +import type { TSelectionHelper } from "@/hooks/use-multiple-select"; import { useTableKeyboardNavigation } from "@/hooks/use-table-keyboard-navigation"; // local imports -import { TRenderQuickActions } from "../list/list-view-types"; +import type { TRenderQuickActions } from "../list/list-view-types"; import { getDisplayPropertiesCount } from "../utils"; import { SpreadsheetIssueRow } from "./issue-row"; import { SpreadsheetHeader } from "./spreadsheet-header"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-view.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-view.tsx index 6794a04d9..3b3696980 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-view.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-view.tsx @@ -3,7 +3,8 @@ import { observer } from "mobx-react"; // plane constants import { SPREADSHEET_SELECT_GROUP, SPREADSHEET_PROPERTY_LIST } from "@plane/constants"; // types -import { TIssue, IIssueDisplayFilterOptions, IIssueDisplayProperties, EIssueLayoutTypes } from "@plane/types"; +import type { TIssue, IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; +import { EIssueLayoutTypes } from "@plane/types"; // components import { LogoSpinner } from "@/components/common/logo-spinner"; import { MultipleSelectGroup } from "@/components/core/multiple-select"; diff --git a/apps/web/core/components/issues/issue-layouts/utils.tsx b/apps/web/core/components/issues/issue-layouts/utils.tsx index 7ce92b1e9..10ef1875c 100644 --- a/apps/web/core/components/issues/issue-layouts/utils.tsx +++ b/apps/web/core/components/issues/issue-layouts/utils.tsx @@ -1,14 +1,14 @@ "use client"; -import { CSSProperties, FC } from "react"; +import type { CSSProperties, FC } from "react"; import { extractInstruction } from "@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item"; import { clone, isNil, pull, uniq, concat } from "lodash-es"; import scrollIntoView from "smooth-scroll-into-view-if-needed"; // plane types import { EIconSize, ISSUE_PRIORITIES, STATE_GROUPS } from "@plane/constants"; -import { CycleGroupIcon, CycleIcon, ISvgIcons, ModuleIcon, PriorityIcon, StateGroupIcon } from "@plane/propel/icons"; -import { - EIssuesStoreType, +import type { ISvgIcons } from "@plane/propel/icons"; +import { CycleGroupIcon, CycleIcon, ModuleIcon, PriorityIcon, StateGroupIcon } from "@plane/propel/icons"; +import type { GroupByColumnTypes, IGroupByColumn, TCycleGroups, @@ -22,6 +22,7 @@ import { IIssueDisplayFilterOptions, TGetColumns, } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; // plane ui import { Avatar } from "@plane/ui"; import { renderFormattedDate, getFileURL } from "@plane/utils"; diff --git a/apps/web/core/components/issues/issue-modal/base.tsx b/apps/web/core/components/issues/issue-modal/base.tsx index 2f7b9d74f..5de90bba4 100644 --- a/apps/web/core/components/issues/issue-modal/base.tsx +++ b/apps/web/core/components/issues/issue-modal/base.tsx @@ -7,7 +7,8 @@ import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; // Plane imports import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssuesStoreType, TBaseIssue, TIssue } from "@plane/types"; +import type { TBaseIssue, TIssue } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; // hooks import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; @@ -25,7 +26,8 @@ const fileService = new FileService(); // local imports import { CreateIssueToastActionItems } from "../create-issue-toast-action-items"; import { DraftIssueLayout } from "./draft-issue-layout"; -import { type IssueFormProps, IssueFormRoot } from "./form"; +import { IssueFormRoot } from "./form"; +import type { IssueFormProps } from "./form"; import type { IssuesModalProps } from "./modal"; export const CreateUpdateIssueModalBase: React.FC = observer((props) => { diff --git a/apps/web/core/components/issues/issue-modal/components/default-properties.tsx b/apps/web/core/components/issues/issue-modal/components/default-properties.tsx index 53abf7bd8..f7bba82d3 100644 --- a/apps/web/core/components/issues/issue-modal/components/default-properties.tsx +++ b/apps/web/core/components/issues/issue-modal/components/default-properties.tsx @@ -2,13 +2,14 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; -import { Control, Controller } from "react-hook-form"; +import type { Control } from "react-hook-form"; +import { Controller } from "react-hook-form"; import { LayoutPanelTop } from "lucide-react"; // plane imports import { ETabIndices, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // types -import { ISearchIssueResponse, TIssue } from "@plane/types"; +import type { ISearchIssueResponse, TIssue } from "@plane/types"; // ui import { CustomMenu } from "@plane/ui"; import { getDate, renderFormattedPayloadDate, getTabIndex } from "@plane/utils"; diff --git a/apps/web/core/components/issues/issue-modal/components/description-editor.tsx b/apps/web/core/components/issues/issue-modal/components/description-editor.tsx index 08ea615f3..40b6fac4d 100644 --- a/apps/web/core/components/issues/issue-modal/components/description-editor.tsx +++ b/apps/web/core/components/issues/issue-modal/components/description-editor.tsx @@ -2,14 +2,16 @@ import React, { useEffect, useState } from "react"; import { observer } from "mobx-react"; -import { Control, Controller } from "react-hook-form"; +import type { Control } from "react-hook-form"; +import { Controller } from "react-hook-form"; import { Sparkle } from "lucide-react"; // plane imports import { ETabIndices } from "@plane/constants"; import type { EditorRefApi } from "@plane/editor"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EFileAssetType, TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; +import { EFileAssetType } from "@plane/types"; import { Loader } from "@plane/ui"; import { getDescriptionPlaceholderI18n, getTabIndex } from "@plane/utils"; // components diff --git a/apps/web/core/components/issues/issue-modal/components/parent-tag.tsx b/apps/web/core/components/issues/issue-modal/components/parent-tag.tsx index 6c9953104..08be8f9ab 100644 --- a/apps/web/core/components/issues/issue-modal/components/parent-tag.tsx +++ b/apps/web/core/components/issues/issue-modal/components/parent-tag.tsx @@ -2,12 +2,13 @@ import React from "react"; import { observer } from "mobx-react"; -import { Control, Controller } from "react-hook-form"; +import type { Control } from "react-hook-form"; +import { Controller } from "react-hook-form"; import { X } from "lucide-react"; // plane imports import { ETabIndices } from "@plane/constants"; // types -import { ISearchIssueResponse, TIssue } from "@plane/types"; +import type { ISearchIssueResponse, TIssue } from "@plane/types"; // helpers import { getTabIndex } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/issues/issue-modal/components/project-select.tsx b/apps/web/core/components/issues/issue-modal/components/project-select.tsx index e68910610..13849b93e 100644 --- a/apps/web/core/components/issues/issue-modal/components/project-select.tsx +++ b/apps/web/core/components/issues/issue-modal/components/project-select.tsx @@ -2,11 +2,12 @@ import React from "react"; import { observer } from "mobx-react"; -import { Control, Controller } from "react-hook-form"; +import type { Control } from "react-hook-form"; +import { Controller } from "react-hook-form"; // plane imports import { ETabIndices } from "@plane/constants"; // types -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; import { getTabIndex } from "@plane/utils"; // components import { ProjectDropdown } from "@/components/dropdowns/project/dropdown"; diff --git a/apps/web/core/components/issues/issue-modal/components/title-input.tsx b/apps/web/core/components/issues/issue-modal/components/title-input.tsx index 11c07eaae..b60df5947 100644 --- a/apps/web/core/components/issues/issue-modal/components/title-input.tsx +++ b/apps/web/core/components/issues/issue-modal/components/title-input.tsx @@ -2,12 +2,13 @@ import React from "react"; import { observer } from "mobx-react"; -import { Control, Controller, FormState } from "react-hook-form"; +import type { Control, FormState } from "react-hook-form"; +import { Controller } from "react-hook-form"; // plane imports import { ETabIndices } from "@plane/constants"; // types import { useTranslation } from "@plane/i18n"; -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // ui import { Input } from "@plane/ui"; // helpers diff --git a/apps/web/core/components/issues/issue-modal/context/issue-modal-context.tsx b/apps/web/core/components/issues/issue-modal/context/issue-modal-context.tsx index c470df60c..fab55cee6 100644 --- a/apps/web/core/components/issues/issue-modal/context/issue-modal-context.tsx +++ b/apps/web/core/components/issues/issue-modal/context/issue-modal-context.tsx @@ -1,12 +1,12 @@ import { createContext } from "react"; // ce imports -import { UseFormReset, UseFormWatch } from "react-hook-form"; +import type { UseFormReset, UseFormWatch } from "react-hook-form"; // plane imports import type { EditorRefApi } from "@plane/editor"; import type { ISearchIssueResponse, TIssue } from "@plane/types"; // plane web imports -import { TIssuePropertyValues, TIssuePropertyValueErrors } from "@/plane-web/types/issue-types"; -import { TIssueFields } from "ce/components/issues/issue-modal"; +import type { TIssuePropertyValues, TIssuePropertyValueErrors } from "@/plane-web/types/issue-types"; +import type { TIssueFields } from "ce/components/issues/issue-modal"; export type TPropertyValuesValidationProps = { projectId: string | null; diff --git a/apps/web/core/components/issues/issue-modal/draft-issue-layout.tsx b/apps/web/core/components/issues/issue-modal/draft-issue-layout.tsx index dc6ca1e23..3a232b563 100644 --- a/apps/web/core/components/issues/issue-modal/draft-issue-layout.tsx +++ b/apps/web/core/components/issues/issue-modal/draft-issue-layout.tsx @@ -19,7 +19,8 @@ import { useIssueModal } from "@/hooks/context/use-issue-modal"; import { useWorkspaceDraftIssues } from "@/hooks/store/workspace-draft"; // local imports import { ConfirmIssueDiscard } from "../confirm-issue-discard"; -import { IssueFormRoot, type IssueFormProps } from "./form"; +import { IssueFormRoot } from "./form"; +import type { IssueFormProps } from "./form"; export interface DraftIssueProps extends IssueFormProps { changesMade: Partial | null; diff --git a/apps/web/core/components/issues/issue-modal/form.tsx b/apps/web/core/components/issues/issue-modal/form.tsx index e914ad55f..5ae351c4b 100644 --- a/apps/web/core/components/issues/issue-modal/form.tsx +++ b/apps/web/core/components/issues/issue-modal/form.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC, useState, useRef, useEffect } from "react"; +import type { FC } from "react"; +import React, { useState, useRef, useEffect } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { FormProvider, useForm } from "react-hook-form"; @@ -11,7 +12,8 @@ import type { EditorRefApi } from "@plane/editor"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssuesStoreType, TIssue, TWorkspaceDraftIssue } from "@plane/types"; +import type { TIssue, TWorkspaceDraftIssue } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; // hooks import { ToggleSwitch } from "@plane/ui"; import { diff --git a/apps/web/core/components/issues/issue-modal/modal.tsx b/apps/web/core/components/issues/issue-modal/modal.tsx index cec18f871..9366d8d09 100644 --- a/apps/web/core/components/issues/issue-modal/modal.tsx +++ b/apps/web/core/components/issues/issue-modal/modal.tsx @@ -4,7 +4,7 @@ import React from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports -import { EIssuesStoreType, TIssue } from "@plane/types"; +import type { EIssuesStoreType, TIssue } from "@plane/types"; // plane web imports import { IssueModalProvider } from "@/plane-web/components/issues/issue-modal/provider"; import { CreateUpdateIssueModalBase } from "./base"; diff --git a/apps/web/core/components/issues/issue-update-status.tsx b/apps/web/core/components/issues/issue-update-status.tsx index 37c4bf19a..66bdbe8cb 100644 --- a/apps/web/core/components/issues/issue-update-status.tsx +++ b/apps/web/core/components/issues/issue-update-status.tsx @@ -2,7 +2,7 @@ import React from "react"; import { observer } from "mobx-react"; import { RefreshCw } from "lucide-react"; // types -import { TNameDescriptionLoader } from "@plane/types"; +import type { TNameDescriptionLoader } from "@plane/types"; type Props = { isSubmitting: TNameDescriptionLoader; diff --git a/apps/web/core/components/issues/parent-issues-list-modal.tsx b/apps/web/core/components/issues/parent-issues-list-modal.tsx index a0c39a0f5..988c72d10 100644 --- a/apps/web/core/components/issues/parent-issues-list-modal.tsx +++ b/apps/web/core/components/issues/parent-issues-list-modal.tsx @@ -9,7 +9,7 @@ import { Combobox, Dialog, Transition } from "@headlessui/react"; // i18n import { useTranslation } from "@plane/i18n"; // types -import { ISearchIssueResponse } from "@plane/types"; +import type { ISearchIssueResponse } from "@plane/types"; // ui import { Loader } from "@plane/ui"; import { generateWorkItemLink, getTabIndex } from "@plane/utils"; diff --git a/apps/web/core/components/issues/peek-overview/error.tsx b/apps/web/core/components/issues/peek-overview/error.tsx index ec6f57d9c..8c87912cf 100644 --- a/apps/web/core/components/issues/peek-overview/error.tsx +++ b/apps/web/core/components/issues/peek-overview/error.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { MoveRight } from "lucide-react"; import { Tooltip } from "@plane/propel/tooltip"; // components diff --git a/apps/web/core/components/issues/peek-overview/header.tsx b/apps/web/core/components/issues/peek-overview/header.tsx index 94bf394b0..101605a73 100644 --- a/apps/web/core/components/issues/peek-overview/header.tsx +++ b/apps/web/core/components/issues/peek-overview/header.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useRef } from "react"; +import type { FC } from "react"; +import { useRef } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { Link2, MoveDiagonal, MoveRight } from "lucide-react"; @@ -10,7 +11,8 @@ import { useTranslation } from "@plane/i18n"; import { CenterPanelIcon, FullScreenPanelIcon, SidePanelIcon } from "@plane/propel/icons"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { EIssuesStoreType, TNameDescriptionLoader } from "@plane/types"; +import type { TNameDescriptionLoader } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { CustomSelect } from "@plane/ui"; import { copyUrlToClipboard, generateWorkItemLink } from "@plane/utils"; // helpers diff --git a/apps/web/core/components/issues/peek-overview/issue-detail.tsx b/apps/web/core/components/issues/peek-overview/issue-detail.tsx index 20d89a78f..5d93e2d70 100644 --- a/apps/web/core/components/issues/peek-overview/issue-detail.tsx +++ b/apps/web/core/components/issues/peek-overview/issue-detail.tsx @@ -1,9 +1,10 @@ "use-client"; -import { FC, useEffect, useRef } from "react"; +import type { FC } from "react"; +import { useEffect, useRef } from "react"; import { observer } from "mobx-react"; // plane imports import type { EditorRefApi } from "@plane/editor"; -import { TNameDescriptionLoader } from "@plane/types"; +import type { TNameDescriptionLoader } from "@plane/types"; // components import { getTextContent } from "@plane/utils"; import { DescriptionVersionsRoot } from "@/components/core/description-versions"; diff --git a/apps/web/core/components/issues/peek-overview/loader.tsx b/apps/web/core/components/issues/peek-overview/loader.tsx index 73240f758..e16479e39 100644 --- a/apps/web/core/components/issues/peek-overview/loader.tsx +++ b/apps/web/core/components/issues/peek-overview/loader.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { MoveRight } from "lucide-react"; import { Tooltip } from "@plane/propel/tooltip"; import { Loader } from "@plane/ui"; diff --git a/apps/web/core/components/issues/peek-overview/properties.tsx b/apps/web/core/components/issues/peek-overview/properties.tsx index d29a77f88..bd6a727ea 100644 --- a/apps/web/core/components/issues/peek-overview/properties.tsx +++ b/apps/web/core/components/issues/peek-overview/properties.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { Signal, Tag, Triangle, LayoutPanelTop, CalendarClock, CalendarCheck2, Users, UserCircle2 } from "lucide-react"; // i18n diff --git a/apps/web/core/components/issues/peek-overview/root.tsx b/apps/web/core/components/issues/peek-overview/root.tsx index 2ed26fcad..12f300f81 100644 --- a/apps/web/core/components/issues/peek-overview/root.tsx +++ b/apps/web/core/components/issues/peek-overview/root.tsx @@ -1,13 +1,15 @@ "use client"; -import { FC, useEffect, useState, useMemo, useCallback } from "react"; +import type { FC } from "react"; +import { useEffect, useState, useMemo, useCallback } from "react"; import { observer } from "mobx-react"; import { usePathname } from "next/navigation"; // Plane imports import { EUserPermissions, EUserPermissionsLevel, WORK_ITEM_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/propel/toast"; -import { EIssueServiceType, EIssuesStoreType, IWorkItemPeekOverview, TIssue } from "@plane/types"; +import type { IWorkItemPeekOverview, TIssue } from "@plane/types"; +import { EIssueServiceType, EIssuesStoreType } from "@plane/types"; // hooks import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; import { useIssueDetail } from "@/hooks/store/use-issue-detail"; @@ -16,7 +18,7 @@ import { useUserPermissions } from "@/hooks/store/user"; import { useIssueStoreType } from "@/hooks/use-issue-layout-store"; import { useWorkItemProperties } from "@/plane-web/hooks/use-issue-properties"; // local imports -import { TIssueOperations } from "../issue-detail"; +import type { TIssueOperations } from "../issue-detail"; import { IssueView } from "./view"; export const IssuePeekOverview: FC = observer((props) => { diff --git a/apps/web/core/components/issues/peek-overview/view.tsx b/apps/web/core/components/issues/peek-overview/view.tsx index 9840de4ce..fa4f51431 100644 --- a/apps/web/core/components/issues/peek-overview/view.tsx +++ b/apps/web/core/components/issues/peek-overview/view.tsx @@ -1,9 +1,11 @@ -import { FC, useRef, useState } from "react"; +import type { FC } from "react"; +import { useRef, useState } from "react"; import { observer } from "mobx-react"; import { createPortal } from "react-dom"; // plane imports import type { EditorRefApi } from "@plane/editor"; -import { EIssueServiceType, TNameDescriptionLoader } from "@plane/types"; +import type { TNameDescriptionLoader } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; import { cn } from "@plane/utils"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; @@ -14,7 +16,8 @@ import type { TIssueOperations } from "../issue-detail"; import { IssueActivity } from "../issue-detail/issue-activity"; import { IssueDetailWidgets } from "../issue-detail-widgets"; import { IssuePeekOverviewError } from "./error"; -import { IssuePeekOverviewHeader, TPeekModes } from "./header"; +import type { TPeekModes } from "./header"; +import { IssuePeekOverviewHeader } from "./header"; import { PeekOverviewIssueDetails } from "./issue-detail"; import { IssuePeekOverviewLoader } from "./loader"; import { PeekOverviewProperties } from "./properties"; diff --git a/apps/web/core/components/issues/relations/issue-list-item.tsx b/apps/web/core/components/issues/relations/issue-list-item.tsx index b15546e7d..e95967a79 100644 --- a/apps/web/core/components/issues/relations/issue-list-item.tsx +++ b/apps/web/core/components/issues/relations/issue-list-item.tsx @@ -1,12 +1,14 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { X, Pencil, Trash, Link as LinkIcon } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; import { Tooltip } from "@plane/propel/tooltip"; -import { EIssueServiceType, TIssue, TIssueServiceType } from "@plane/types"; +import type { TIssue, TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; import { ControlLink, CustomMenu } from "@plane/ui"; import { generateWorkItemLink } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/issues/relations/issue-list.tsx b/apps/web/core/components/issues/relations/issue-list.tsx index f7f8133dc..3b30cdb98 100644 --- a/apps/web/core/components/issues/relations/issue-list.tsx +++ b/apps/web/core/components/issues/relations/issue-list.tsx @@ -1,10 +1,12 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; // plane imports -import { EIssueServiceType, TIssue, TIssueServiceType } from "@plane/types"; +import type { TIssue, TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // Plane-web imports -import { TIssueRelationTypes } from "@/plane-web/types"; +import type { TIssueRelationTypes } from "@/plane-web/types"; // local imports import { RelationIssueListItem } from "./issue-list-item"; diff --git a/apps/web/core/components/issues/relations/properties.tsx b/apps/web/core/components/issues/relations/properties.tsx index c826a9df3..686b2e2c2 100644 --- a/apps/web/core/components/issues/relations/properties.tsx +++ b/apps/web/core/components/issues/relations/properties.tsx @@ -1,15 +1,17 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; // components -import { EIssueServiceType, TIssuePriorities, TIssueServiceType } from "@plane/types"; +import type { TIssuePriorities, TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; import { MemberDropdown } from "@/components/dropdowns/member/dropdown"; import { PriorityDropdown } from "@/components/dropdowns/priority"; import { StateDropdown } from "@/components/dropdowns/state/dropdown"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // types -import { TRelationIssueOperations } from "../issue-detail-widgets/relations/helper"; +import type { TRelationIssueOperations } from "../issue-detail-widgets/relations/helper"; type Props = { workspaceSlug: string; diff --git a/apps/web/core/components/issues/select/base.tsx b/apps/web/core/components/issues/select/base.tsx index 07ee8d917..eb0bb02c7 100644 --- a/apps/web/core/components/issues/select/base.tsx +++ b/apps/web/core/components/issues/select/base.tsx @@ -1,5 +1,5 @@ import React, { useEffect, useRef, useState } from "react"; -import { Placement } from "@popperjs/core"; +import type { Placement } from "@popperjs/core"; import { observer } from "mobx-react"; import { usePopper } from "react-popper"; import { Check, Component, Loader, Search, Tag } from "lucide-react"; @@ -8,7 +8,7 @@ import { getRandomLabelColor } from "@plane/constants"; // plane imports import { useOutsideClickDetector } from "@plane/hooks"; import { useTranslation } from "@plane/i18n"; -import { IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; import { cn } from "@plane/utils"; // components import { IssueLabelsList } from "@/components/ui/labels-list"; diff --git a/apps/web/core/components/issues/select/dropdown.tsx b/apps/web/core/components/issues/select/dropdown.tsx index 08d792b77..2606a563b 100644 --- a/apps/web/core/components/issues/select/dropdown.tsx +++ b/apps/web/core/components/issues/select/dropdown.tsx @@ -2,12 +2,14 @@ import React from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { EUserPermissionsLevel } from "@plane/constants"; -import { EUserPermissions, IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; +import { EUserPermissions } from "@plane/types"; // hooks import { useLabel } from "@/hooks/store/use-label"; import { useUserPermissions } from "@/hooks/store/user"; // local imports -import { TWorkItemLabelSelectBaseProps, WorkItemLabelSelectBase } from "./base"; +import type { TWorkItemLabelSelectBaseProps } from "./base"; +import { WorkItemLabelSelectBase } from "./base"; type TWorkItemLabelSelectProps = Omit & { projectId: string | undefined; diff --git a/apps/web/core/components/issues/title-input.tsx b/apps/web/core/components/issues/title-input.tsx index e2b4be881..30d555517 100644 --- a/apps/web/core/components/issues/title-input.tsx +++ b/apps/web/core/components/issues/title-input.tsx @@ -1,15 +1,16 @@ "use client"; -import { FC, useState, useEffect, useCallback, useRef } from "react"; +import type { FC } from "react"; +import { useState, useEffect, useCallback, useRef } from "react"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; -import { TNameDescriptionLoader } from "@plane/types"; +import type { TNameDescriptionLoader } from "@plane/types"; // components import { TextArea } from "@plane/ui"; // types import { cn } from "@plane/utils"; import useDebounce from "@/hooks/use-debounce"; -import { TIssueOperations } from "./issue-detail"; +import type { TIssueOperations } from "./issue-detail"; // hooks export type IssueTitleInputProps = { diff --git a/apps/web/core/components/issues/workspace-draft/delete-modal.tsx b/apps/web/core/components/issues/workspace-draft/delete-modal.tsx index 90db8b5b0..fee797304 100644 --- a/apps/web/core/components/issues/workspace-draft/delete-modal.tsx +++ b/apps/web/core/components/issues/workspace-draft/delete-modal.tsx @@ -5,7 +5,7 @@ import { useEffect, useState } from "react"; import { PROJECT_ERROR_MESSAGES, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { TWorkspaceDraftIssue } from "@plane/types"; +import type { TWorkspaceDraftIssue } from "@plane/types"; // ui import { AlertModalCore } from "@plane/ui"; // constants diff --git a/apps/web/core/components/issues/workspace-draft/draft-issue-block.tsx b/apps/web/core/components/issues/workspace-draft/draft-issue-block.tsx index 2c185c087..137767953 100644 --- a/apps/web/core/components/issues/workspace-draft/draft-issue-block.tsx +++ b/apps/web/core/components/issues/workspace-draft/draft-issue-block.tsx @@ -1,12 +1,15 @@ "use client"; -import React, { FC, useRef, useState } from "react"; +import type { FC } from "react"; +import React, { useRef, useState } from "react"; import { omit } from "lodash-es"; import { observer } from "mobx-react"; import { Copy, Pencil, SquareStackIcon, Trash2 } from "lucide-react"; // plane utils import { Tooltip } from "@plane/propel/tooltip"; -import { EIssuesStoreType, TWorkspaceDraftIssue } from "@plane/types"; -import { Row, TContextMenuItem } from "@plane/ui"; +import type { TWorkspaceDraftIssue } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; +import type { TContextMenuItem } from "@plane/ui"; +import { Row } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { useAppTheme } from "@/hooks/store/use-app-theme"; diff --git a/apps/web/core/components/issues/workspace-draft/draft-issue-properties.tsx b/apps/web/core/components/issues/workspace-draft/draft-issue-properties.tsx index f14aaeee9..04ca1b82d 100644 --- a/apps/web/core/components/issues/workspace-draft/draft-issue-properties.tsx +++ b/apps/web/core/components/issues/workspace-draft/draft-issue-properties.tsx @@ -6,7 +6,7 @@ import { useParams } from "next/navigation"; // icons import { CalendarCheck2, CalendarClock } from "lucide-react"; // types -import { TIssuePriorities, TWorkspaceDraftIssue } from "@plane/types"; +import type { TIssuePriorities, TWorkspaceDraftIssue } from "@plane/types"; import { getDate, renderFormattedPayloadDate, shouldHighlightIssueDueDate } from "@plane/utils"; // components import { CycleDropdown } from "@/components/dropdowns/cycle"; diff --git a/apps/web/core/components/issues/workspace-draft/empty-state.tsx b/apps/web/core/components/issues/workspace-draft/empty-state.tsx index a5c16cf7f..4d6a195a5 100644 --- a/apps/web/core/components/issues/workspace-draft/empty-state.tsx +++ b/apps/web/core/components/issues/workspace-draft/empty-state.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, Fragment, useState } from "react"; +import type { FC } from "react"; +import { Fragment, useState } from "react"; // components import { observer } from "mobx-react"; import { EUserPermissionsLevel } from "@plane/constants"; diff --git a/apps/web/core/components/issues/workspace-draft/loader.tsx b/apps/web/core/components/issues/workspace-draft/loader.tsx index 849eb382b..95aa0a2a1 100644 --- a/apps/web/core/components/issues/workspace-draft/loader.tsx +++ b/apps/web/core/components/issues/workspace-draft/loader.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { range } from "lodash-es"; // components import { ListLoaderItemRow } from "@/components/ui/loader/layouts/list-layout-loader"; diff --git a/apps/web/core/components/issues/workspace-draft/quick-action.tsx b/apps/web/core/components/issues/workspace-draft/quick-action.tsx index 41fc1e5e2..2f5697522 100644 --- a/apps/web/core/components/issues/workspace-draft/quick-action.tsx +++ b/apps/web/core/components/issues/workspace-draft/quick-action.tsx @@ -3,7 +3,8 @@ import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; // ui -import { ContextMenu, CustomMenu, TContextMenuItem } from "@plane/ui"; +import type { TContextMenuItem } from "@plane/ui"; +import { ContextMenu, CustomMenu } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/issues/workspace-draft/root.tsx b/apps/web/core/components/issues/workspace-draft/root.tsx index abf67d2fe..cf74383a9 100644 --- a/apps/web/core/components/issues/workspace-draft/root.tsx +++ b/apps/web/core/components/issues/workspace-draft/root.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, Fragment } from "react"; +import type { FC } from "react"; +import { Fragment } from "react"; import { observer } from "mobx-react"; import useSWR from "swr"; // plane imports diff --git a/apps/web/core/components/labels/create-update-label-inline.tsx b/apps/web/core/components/labels/create-update-label-inline.tsx index 947a5b51b..cedc8bb90 100644 --- a/apps/web/core/components/labels/create-update-label-inline.tsx +++ b/apps/web/core/components/labels/create-update-label-inline.tsx @@ -3,14 +3,15 @@ import React, { forwardRef, useEffect } from "react"; import { observer } from "mobx-react"; import { TwitterPicker } from "react-color"; -import { Controller, SubmitHandler, useForm } from "react-hook-form"; +import type { SubmitHandler } from "react-hook-form"; +import { Controller, useForm } from "react-hook-form"; import { Popover, Transition } from "@headlessui/react"; // plane imports import { getRandomLabelColor, LABEL_COLOR_OPTIONS, PROJECT_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; import { Input } from "@plane/ui"; import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/components/labels/label-block/label-item-block.tsx b/apps/web/core/components/labels/label-block/label-item-block.tsx index 06350275a..b55850408 100644 --- a/apps/web/core/components/labels/label-block/label-item-block.tsx +++ b/apps/web/core/components/labels/label-block/label-item-block.tsx @@ -1,12 +1,14 @@ "use client"; -import { MutableRefObject, useRef, useState } from "react"; -import { LucideIcon, X } from "lucide-react"; +import type { MutableRefObject } from "react"; +import { useRef, useState } from "react"; +import type { LucideIcon } from "lucide-react"; +import { X } from "lucide-react"; // plane helpers import { PROJECT_SETTINGS_TRACKER_ELEMENTS } from "@plane/constants"; import { useOutsideClickDetector } from "@plane/hooks"; // types -import { IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; // ui import { CustomMenu, DragHandle } from "@plane/ui"; // helpers diff --git a/apps/web/core/components/labels/label-drag-n-drop-HOC.tsx b/apps/web/core/components/labels/label-drag-n-drop-HOC.tsx index db49f6966..624675f26 100644 --- a/apps/web/core/components/labels/label-drag-n-drop-HOC.tsx +++ b/apps/web/core/components/labels/label-drag-n-drop-HOC.tsx @@ -1,6 +1,7 @@ "use client"; -import { MutableRefObject, useEffect, useRef, useState } from "react"; +import type { MutableRefObject } from "react"; +import { useEffect, useRef, useState } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; import { draggable, dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; import { pointerOutsideOfPreview } from "@atlaskit/pragmatic-drag-and-drop/element/pointer-outside-of-preview"; @@ -10,13 +11,14 @@ import { observer } from "mobx-react"; import { createRoot } from "react-dom/client"; // types import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; -import { IIssueLabel, InstructionType } from "@plane/types"; +import type { IIssueLabel, InstructionType } from "@plane/types"; // ui import { DropIndicator } from "@plane/ui"; // components import { useUserPermissions } from "@/hooks/store/user"; import { LabelName } from "./label-block/label-name"; -import { TargetData, getCanDrop, getInstructionFromPayload } from "./label-utils"; +import type { TargetData } from "./label-utils"; +import { getCanDrop, getInstructionFromPayload } from "./label-utils"; type LabelDragPreviewProps = { label: IIssueLabel; diff --git a/apps/web/core/components/labels/label-utils.ts b/apps/web/core/components/labels/label-utils.ts index 1919e53f3..7181a899b 100644 --- a/apps/web/core/components/labels/label-utils.ts +++ b/apps/web/core/components/labels/label-utils.ts @@ -1,5 +1,5 @@ import { extractInstruction } from "@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item"; -import { IIssueLabel, IPragmaticPayloadLocation, InstructionType, TDropTarget } from "@plane/types"; +import type { IIssueLabel, IPragmaticPayloadLocation, InstructionType, TDropTarget } from "@plane/types"; export type TargetData = { id: string; diff --git a/apps/web/core/components/labels/project-setting-label-group.tsx b/apps/web/core/components/labels/project-setting-label-group.tsx index f224c8fc9..cd2372a87 100644 --- a/apps/web/core/components/labels/project-setting-label-group.tsx +++ b/apps/web/core/components/labels/project-setting-label-group.tsx @@ -1,4 +1,5 @@ -import React, { Dispatch, SetStateAction, useState } from "react"; +import type { Dispatch, SetStateAction } from "react"; +import React, { useState } from "react"; import { observer } from "mobx-react"; import { ChevronDown, Pencil, Trash2 } from "lucide-react"; import { Disclosure, Transition } from "@headlessui/react"; @@ -6,11 +7,13 @@ import { Disclosure, Transition } from "@headlessui/react"; // icons // types import { PROJECT_SETTINGS_TRACKER_ELEMENTS } from "@plane/constants"; -import { IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; // components import { captureClick } from "@/helpers/event-tracker.helper"; -import { CreateUpdateLabelInline, TLabelOperationsCallbacks } from "./create-update-label-inline"; -import { ICustomMenuItem, LabelItemBlock } from "./label-block/label-item-block"; +import type { TLabelOperationsCallbacks } from "./create-update-label-inline"; +import { CreateUpdateLabelInline } from "./create-update-label-inline"; +import type { ICustomMenuItem } from "./label-block/label-item-block"; +import { LabelItemBlock } from "./label-block/label-item-block"; import { LabelDndHOC } from "./label-drag-n-drop-HOC"; import { ProjectSettingLabelItem } from "./project-setting-label-item"; diff --git a/apps/web/core/components/labels/project-setting-label-item.tsx b/apps/web/core/components/labels/project-setting-label-item.tsx index df59f8f1a..5bc748f79 100644 --- a/apps/web/core/components/labels/project-setting-label-item.tsx +++ b/apps/web/core/components/labels/project-setting-label-item.tsx @@ -1,15 +1,18 @@ -import React, { Dispatch, SetStateAction, useState } from "react"; +import type { Dispatch, SetStateAction } from "react"; +import React, { useState } from "react"; import { useParams } from "next/navigation"; import { X, Pencil } from "lucide-react"; // types import { PROJECT_SETTINGS_TRACKER_ELEMENTS } from "@plane/constants"; -import { IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; // hooks import { captureClick } from "@/helpers/event-tracker.helper"; import { useLabel } from "@/hooks/store/use-label"; // components -import { CreateUpdateLabelInline, TLabelOperationsCallbacks } from "./create-update-label-inline"; -import { ICustomMenuItem, LabelItemBlock } from "./label-block/label-item-block"; +import type { TLabelOperationsCallbacks } from "./create-update-label-inline"; +import { CreateUpdateLabelInline } from "./create-update-label-inline"; +import type { ICustomMenuItem } from "./label-block/label-item-block"; +import { LabelItemBlock } from "./label-block/label-item-block"; import { LabelDndHOC } from "./label-drag-n-drop-HOC"; type Props = { diff --git a/apps/web/core/components/labels/project-setting-label-list.tsx b/apps/web/core/components/labels/project-setting-label-list.tsx index 8d9c6a51f..d634e248b 100644 --- a/apps/web/core/components/labels/project-setting-label-list.tsx +++ b/apps/web/core/components/labels/project-setting-label-list.tsx @@ -6,15 +6,15 @@ import { useParams } from "next/navigation"; // plane imports import { EUserPermissions, EUserPermissionsLevel, PROJECT_SETTINGS_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; import { Loader } from "@plane/ui"; import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root"; +import type { TLabelOperationsCallbacks } from "@/components/labels"; import { CreateUpdateLabelInline, DeleteLabelModal, ProjectSettingLabelGroup, ProjectSettingLabelItem, - TLabelOperationsCallbacks, } from "@/components/labels"; // hooks import { captureClick } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/components/license/modal/card/base-paid-plan-card.tsx b/apps/web/core/components/license/modal/card/base-paid-plan-card.tsx index 340042427..4c151d9f0 100644 --- a/apps/web/core/components/license/modal/card/base-paid-plan-card.tsx +++ b/apps/web/core/components/license/modal/card/base-paid-plan-card.tsx @@ -1,12 +1,13 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { CheckCircle } from "lucide-react"; import { Tab } from "@headlessui/react"; // plane imports // helpers -import { EProductSubscriptionEnum, TBillingFrequency, TSubscriptionPrice } from "@plane/types"; +import type { EProductSubscriptionEnum, TBillingFrequency, TSubscriptionPrice } from "@plane/types"; import { getSubscriptionBackgroundColor, getUpgradeCardVariantStyle } from "@plane/ui"; import { cn, getBaseSubscriptionName, getSubscriptionName } from "@plane/utils"; diff --git a/apps/web/core/components/license/modal/card/checkout-button.tsx b/apps/web/core/components/license/modal/card/checkout-button.tsx index 9a6b9d613..7976e14c5 100644 --- a/apps/web/core/components/license/modal/card/checkout-button.tsx +++ b/apps/web/core/components/license/modal/card/checkout-button.tsx @@ -1,9 +1,9 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { getButtonStyling } from "@plane/propel/button"; -import { EProductSubscriptionEnum, IPaymentProduct, TSubscriptionPrice } from "@plane/types"; +import type { EProductSubscriptionEnum, IPaymentProduct, TSubscriptionPrice } from "@plane/types"; import { getUpgradeButtonStyle, Loader } from "@plane/ui"; import { cn } from "@plane/utils"; // local imports diff --git a/apps/web/core/components/license/modal/card/discount-info.tsx b/apps/web/core/components/license/modal/card/discount-info.tsx index 3b5695cee..8ac259454 100644 --- a/apps/web/core/components/license/modal/card/discount-info.tsx +++ b/apps/web/core/components/license/modal/card/discount-info.tsx @@ -1,6 +1,7 @@ import { useTheme } from "next-themes"; // plane imports -import { EProductSubscriptionEnum, TBillingFrequency } from "@plane/types"; +import type { TBillingFrequency } from "@plane/types"; +import { EProductSubscriptionEnum } from "@plane/types"; import { cn } from "@plane/utils"; type TDiscountInfoProps = { diff --git a/apps/web/core/components/license/modal/card/plan-upgrade.tsx b/apps/web/core/components/license/modal/card/plan-upgrade.tsx index 0c9abc011..623afd22f 100644 --- a/apps/web/core/components/license/modal/card/plan-upgrade.tsx +++ b/apps/web/core/components/license/modal/card/plan-upgrade.tsx @@ -1,16 +1,17 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { TALK_TO_SALES_URL } from "@plane/constants"; -import { EProductSubscriptionEnum, IPaymentProduct, TSubscriptionPrice } from "@plane/types"; +import type { EProductSubscriptionEnum, IPaymentProduct, TSubscriptionPrice } from "@plane/types"; import { getDiscountPillStyle } from "@plane/ui"; import { calculateYearlyDiscount, cn, getSubscriptionName, getSubscriptionPriceDetails } from "@plane/utils"; // components import { BasePaidPlanCard, TalkToSalesCard } from "@/components/license"; // local components -import { PlanCheckoutButton, TCheckoutParams } from "./checkout-button"; +import type { TCheckoutParams } from "./checkout-button"; +import { PlanCheckoutButton } from "./checkout-button"; export type PlanUpgradeCardProps = { planVariant: EProductSubscriptionEnum; diff --git a/apps/web/core/components/license/modal/card/talk-to-sales.tsx b/apps/web/core/components/license/modal/card/talk-to-sales.tsx index 85dac6224..e77606ae6 100644 --- a/apps/web/core/components/license/modal/card/talk-to-sales.tsx +++ b/apps/web/core/components/license/modal/card/talk-to-sales.tsx @@ -1,11 +1,11 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // types // plane imports import { getButtonStyling } from "@plane/propel/button"; -import { EProductSubscriptionEnum, IPaymentProduct, TSubscriptionPrice } from "@plane/types"; +import type { EProductSubscriptionEnum, IPaymentProduct, TSubscriptionPrice } from "@plane/types"; import { getUpgradeButtonStyle, Loader } from "@plane/ui"; import { cn } from "@plane/utils"; // local imports diff --git a/apps/web/core/components/modules/analytics-sidebar/issue-progress.tsx b/apps/web/core/components/modules/analytics-sidebar/issue-progress.tsx index 7854298c2..2a033c7d2 100644 --- a/apps/web/core/components/modules/analytics-sidebar/issue-progress.tsx +++ b/apps/web/core/components/modules/analytics-sidebar/issue-progress.tsx @@ -1,13 +1,15 @@ "use client"; -import { FC, Fragment, useMemo, useState } from "react"; +import type { FC } from "react"; +import { Fragment, useMemo, useState } from "react"; import { observer } from "mobx-react"; import { useSearchParams } from "next/navigation"; import { AlertCircle, ChevronUp, ChevronDown } from "lucide-react"; import { Disclosure, Transition } from "@headlessui/react"; import { EEstimateSystem } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EIssuesStoreType, TModulePlotType } from "@plane/types"; +import type { TModulePlotType } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { CustomSelect, Spinner } from "@plane/ui"; // components // constants diff --git a/apps/web/core/components/modules/analytics-sidebar/progress-stats.tsx b/apps/web/core/components/modules/analytics-sidebar/progress-stats.tsx index ceb11e3ea..7ef16ae02 100644 --- a/apps/web/core/components/modules/analytics-sidebar/progress-stats.tsx +++ b/apps/web/core/components/modules/analytics-sidebar/progress-stats.tsx @@ -1,21 +1,21 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { Tab } from "@headlessui/react"; import { useTranslation } from "@plane/i18n"; -import { TWorkItemFilterCondition } from "@plane/shared-state"; -import { TModuleDistribution, TModuleEstimateDistribution, TModulePlotType } from "@plane/types"; +import type { TWorkItemFilterCondition } from "@plane/shared-state"; +import type { TModuleDistribution, TModuleEstimateDistribution, TModulePlotType } from "@plane/types"; import { cn, toFilterArray } from "@plane/utils"; // components -import { AssigneeStatComponent, TAssigneeData } from "@/components/core/sidebar/progress-stats/assignee"; -import { LabelStatComponent, TLabelData } from "@/components/core/sidebar/progress-stats/label"; -import { - createFilterUpdateHandler, - PROGRESS_STATS, - TSelectedFilterProgressStats, -} from "@/components/core/sidebar/progress-stats/shared"; -import { StateGroupStatComponent, TStateGroupData } from "@/components/core/sidebar/progress-stats/state_group"; +import type { TAssigneeData } from "@/components/core/sidebar/progress-stats/assignee"; +import { AssigneeStatComponent } from "@/components/core/sidebar/progress-stats/assignee"; +import type { TLabelData } from "@/components/core/sidebar/progress-stats/label"; +import { LabelStatComponent } from "@/components/core/sidebar/progress-stats/label"; +import type { TSelectedFilterProgressStats } from "@/components/core/sidebar/progress-stats/shared"; +import { createFilterUpdateHandler, PROGRESS_STATS } from "@/components/core/sidebar/progress-stats/shared"; +import type { TStateGroupData } from "@/components/core/sidebar/progress-stats/state_group"; +import { StateGroupStatComponent } from "@/components/core/sidebar/progress-stats/state_group"; // hooks import useLocalStorage from "@/hooks/use-local-storage"; diff --git a/apps/web/core/components/modules/analytics-sidebar/root.tsx b/apps/web/core/components/modules/analytics-sidebar/root.tsx index 36c5d8764..fa47aa146 100644 --- a/apps/web/core/components/modules/analytics-sidebar/root.tsx +++ b/apps/web/core/components/modules/analytics-sidebar/root.tsx @@ -18,7 +18,7 @@ import { import { useTranslation } from "@plane/i18n"; import { ModuleStatusIcon, WorkItemsIcon } from "@plane/propel/icons"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { ILinkDetails, IModule, ModuleLink } from "@plane/types"; +import type { ILinkDetails, IModule, ModuleLink } from "@plane/types"; // plane ui import { Loader, CustomSelect, TextArea } from "@plane/ui"; // components diff --git a/apps/web/core/components/modules/applied-filters/root.tsx b/apps/web/core/components/modules/applied-filters/root.tsx index 2ba2765e2..ad55953b4 100644 --- a/apps/web/core/components/modules/applied-filters/root.tsx +++ b/apps/web/core/components/modules/applied-filters/root.tsx @@ -1,6 +1,6 @@ import { X } from "lucide-react"; import { useTranslation } from "@plane/i18n"; -import { TModuleDisplayFilters, TModuleFilters } from "@plane/types"; +import type { TModuleDisplayFilters, TModuleFilters } from "@plane/types"; // components import { Header, EHeaderVariant, Tag } from "@plane/ui"; import { replaceUnderscoreIfSnakeCase } from "@plane/utils"; diff --git a/apps/web/core/components/modules/archived-modules/header.tsx b/apps/web/core/components/modules/archived-modules/header.tsx index 058889b9a..cf19018b3 100644 --- a/apps/web/core/components/modules/archived-modules/header.tsx +++ b/apps/web/core/components/modules/archived-modules/header.tsx @@ -1,4 +1,5 @@ -import { FC, useCallback, useRef, useState } from "react"; +import type { FC } from "react"; +import { useCallback, useRef, useState } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // icons diff --git a/apps/web/core/components/modules/archived-modules/root.tsx b/apps/web/core/components/modules/archived-modules/root.tsx index 0e4c6b70b..1628192a9 100644 --- a/apps/web/core/components/modules/archived-modules/root.tsx +++ b/apps/web/core/components/modules/archived-modules/root.tsx @@ -4,7 +4,7 @@ import { useParams } from "next/navigation"; import useSWR from "swr"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TModuleFilters } from "@plane/types"; +import type { TModuleFilters } from "@plane/types"; // components import { calculateTotalFilters } from "@plane/utils"; import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root"; diff --git a/apps/web/core/components/modules/archived-modules/view.tsx b/apps/web/core/components/modules/archived-modules/view.tsx index b29def574..bc1d82640 100644 --- a/apps/web/core/components/modules/archived-modules/view.tsx +++ b/apps/web/core/components/modules/archived-modules/view.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import Image from "next/image"; // components diff --git a/apps/web/core/components/modules/dropdowns/filters/root.tsx b/apps/web/core/components/modules/dropdowns/filters/root.tsx index df2f52dbf..065735188 100644 --- a/apps/web/core/components/modules/dropdowns/filters/root.tsx +++ b/apps/web/core/components/modules/dropdowns/filters/root.tsx @@ -4,8 +4,8 @@ import { useState } from "react"; import { observer } from "mobx-react"; import { Search, X } from "lucide-react"; // plane imports -import { TModuleStatus } from "@plane/propel/icons"; -import { TModuleDisplayFilters, TModuleFilters } from "@plane/types"; +import type { TModuleStatus } from "@plane/propel/icons"; +import type { TModuleDisplayFilters, TModuleFilters } from "@plane/types"; // components import { FilterOption } from "@/components/issues/issue-layouts/filters"; import { FilterLead, FilterMembers, FilterStartDate, FilterStatus, FilterTargetDate } from "@/components/modules"; diff --git a/apps/web/core/components/modules/dropdowns/filters/status.tsx b/apps/web/core/components/modules/dropdowns/filters/status.tsx index 09ee9e494..50df70673 100644 --- a/apps/web/core/components/modules/dropdowns/filters/status.tsx +++ b/apps/web/core/components/modules/dropdowns/filters/status.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; import { MODULE_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { ModuleStatusIcon } from "@plane/propel/icons"; -import { TModuleStatus } from "@plane/types"; +import type { TModuleStatus } from "@plane/types"; // components import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/modules/dropdowns/order-by.tsx b/apps/web/core/components/modules/dropdowns/order-by.tsx index dd73cb889..64cc770e8 100644 --- a/apps/web/core/components/modules/dropdowns/order-by.tsx +++ b/apps/web/core/components/modules/dropdowns/order-by.tsx @@ -4,7 +4,7 @@ import { ArrowDownWideNarrow, ArrowUpWideNarrow, Check, ChevronDown } from "luci import { MODULE_ORDER_BY_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { getButtonStyling } from "@plane/propel/button"; -import { TModuleOrderByOptions } from "@plane/types"; +import type { TModuleOrderByOptions } from "@plane/types"; // ui import { CustomMenu } from "@plane/ui"; // helpers diff --git a/apps/web/core/components/modules/form.tsx b/apps/web/core/components/modules/form.tsx index ff4d5d295..4be31cbb2 100644 --- a/apps/web/core/components/modules/form.tsx +++ b/apps/web/core/components/modules/form.tsx @@ -6,7 +6,7 @@ import { Controller, useForm } from "react-hook-form"; import { ETabIndices } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; -import { IModule } from "@plane/types"; +import type { IModule } from "@plane/types"; // ui import { Input, TextArea } from "@plane/ui"; import { getDate, renderFormattedPayloadDate, getTabIndex } from "@plane/utils"; diff --git a/apps/web/core/components/modules/gantt-chart/modules-list-layout.tsx b/apps/web/core/components/modules/gantt-chart/modules-list-layout.tsx index d15c727c1..cde82fc35 100644 --- a/apps/web/core/components/modules/gantt-chart/modules-list-layout.tsx +++ b/apps/web/core/components/modules/gantt-chart/modules-list-layout.tsx @@ -1,7 +1,7 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // PLane -import { IBlockUpdateData, IBlockUpdateDependencyData, IModule } from "@plane/types"; +import type { IBlockUpdateData, IBlockUpdateDependencyData, IModule } from "@plane/types"; // components import { GanttChartRoot, ModuleGanttSidebar } from "@/components/gantt-chart"; import { ETimeLineTypeType, TimeLineTypeContext } from "@/components/gantt-chart/contexts"; diff --git a/apps/web/core/components/modules/links/create-update-modal.tsx b/apps/web/core/components/modules/links/create-update-modal.tsx index 0279f150e..102b79d74 100644 --- a/apps/web/core/components/modules/links/create-update-modal.tsx +++ b/apps/web/core/components/modules/links/create-update-modal.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useEffect } from "react"; +import type { FC } from "react"; +import { useEffect } from "react"; import { Controller, useForm } from "react-hook-form"; // plane types import { Button } from "@plane/propel/button"; diff --git a/apps/web/core/components/modules/links/list-item.tsx b/apps/web/core/components/modules/links/list-item.tsx index 3090c8062..3db6d8498 100644 --- a/apps/web/core/components/modules/links/list-item.tsx +++ b/apps/web/core/components/modules/links/list-item.tsx @@ -4,7 +4,7 @@ import { Copy, Pencil, Trash2 } from "lucide-react"; import { MODULE_TRACKER_ELEMENTS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { ILinkDetails } from "@plane/types"; +import type { ILinkDetails } from "@plane/types"; // plane ui import { getIconForLink, copyTextToClipboard, calculateTimeAgo } from "@plane/utils"; // helpers diff --git a/apps/web/core/components/modules/links/list.tsx b/apps/web/core/components/modules/links/list.tsx index 4ae7de5cc..fac215e59 100644 --- a/apps/web/core/components/modules/links/list.tsx +++ b/apps/web/core/components/modules/links/list.tsx @@ -2,7 +2,7 @@ import { useCallback } from "react"; import { observer } from "mobx-react"; // plane types -import { ILinkDetails } from "@plane/types"; +import type { ILinkDetails } from "@plane/types"; // components import { ModulesLinksListItem } from "@/components/modules"; // hooks diff --git a/apps/web/core/components/modules/module-card-item.tsx b/apps/web/core/components/modules/module-card-item.tsx index f9f3ec2be..088de2ac4 100644 --- a/apps/web/core/components/modules/module-card-item.tsx +++ b/apps/web/core/components/modules/module-card-item.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { SyntheticEvent, useRef } from "react"; +import type { SyntheticEvent } from "react"; +import React, { useRef } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { useParams, usePathname, useSearchParams } from "next/navigation"; @@ -19,7 +20,7 @@ import { useLocalStorage } from "@plane/hooks"; import { WorkItemsIcon } from "@plane/propel/icons"; import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { IModule } from "@plane/types"; +import type { IModule } from "@plane/types"; import { Card, FavoriteStar, LinearProgressIndicator } from "@plane/ui"; import { getDate, renderFormattedPayloadDate, generateQueryParams } from "@plane/utils"; // components diff --git a/apps/web/core/components/modules/module-layout-icon.tsx b/apps/web/core/components/modules/module-layout-icon.tsx index a53fa92b9..ac81f5245 100644 --- a/apps/web/core/components/modules/module-layout-icon.tsx +++ b/apps/web/core/components/modules/module-layout-icon.tsx @@ -1,6 +1,6 @@ import * as React from "react"; import { GanttChartSquare, LayoutGrid, List } from "lucide-react"; -import { TModuleLayoutOptions } from "@plane/types"; +import type { TModuleLayoutOptions } from "@plane/types"; import { cn } from "@plane/utils"; interface ILayoutIcon { diff --git a/apps/web/core/components/modules/module-list-item-action.tsx b/apps/web/core/components/modules/module-list-item-action.tsx index e0a98fbec..a6a0b34eb 100644 --- a/apps/web/core/components/modules/module-list-item-action.tsx +++ b/apps/web/core/components/modules/module-list-item-action.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // icons @@ -18,7 +19,7 @@ import { useLocalStorage } from "@plane/hooks"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { IModule } from "@plane/types"; +import type { IModule } from "@plane/types"; // ui import { FavoriteStar } from "@plane/ui"; // components diff --git a/apps/web/core/components/modules/module-status-dropdown.tsx b/apps/web/core/components/modules/module-status-dropdown.tsx index fa7be76fc..c0f193073 100644 --- a/apps/web/core/components/modules/module-status-dropdown.tsx +++ b/apps/web/core/components/modules/module-status-dropdown.tsx @@ -1,9 +1,11 @@ -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { MODULE_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { ModuleStatusIcon, TModuleStatus } from "@plane/propel/icons"; -import { IModule } from "@plane/types"; +import type { TModuleStatus } from "@plane/propel/icons"; +import { ModuleStatusIcon } from "@plane/propel/icons"; +import type { IModule } from "@plane/types"; import { CustomSelect } from "@plane/ui"; type Props = { diff --git a/apps/web/core/components/modules/module-view-header.tsx b/apps/web/core/components/modules/module-view-header.tsx index 2a6bafec3..6ceba6905 100644 --- a/apps/web/core/components/modules/module-view-header.tsx +++ b/apps/web/core/components/modules/module-view-header.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC, useCallback, useEffect, useRef, useState } from "react"; +import type { FC } from "react"; +import React, { useCallback, useEffect, useRef, useState } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { ListFilter, Search, X } from "lucide-react"; @@ -10,7 +11,7 @@ import { useOutsideClickDetector } from "@plane/hooks"; // types import { useTranslation } from "@plane/i18n"; import { Tooltip } from "@plane/propel/tooltip"; -import { TModuleFilters } from "@plane/types"; +import type { TModuleFilters } from "@plane/types"; // ui import { cn, calculateTotalFilters } from "@plane/utils"; // plane utils diff --git a/apps/web/core/components/modules/quick-actions.tsx b/apps/web/core/components/modules/quick-actions.tsx index cc320511b..cc7c470a5 100644 --- a/apps/web/core/components/modules/quick-actions.tsx +++ b/apps/web/core/components/modules/quick-actions.tsx @@ -16,7 +16,8 @@ import { useTranslation } from "@plane/i18n"; // ui import { ArchiveIcon } from "@plane/propel/icons"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { ContextMenu, CustomMenu, TContextMenuItem } from "@plane/ui"; +import type { TContextMenuItem } from "@plane/ui"; +import { ContextMenu, CustomMenu } from "@plane/ui"; import { copyUrlToClipboard, cn } from "@plane/utils"; // components import { ArchiveModuleModal, CreateUpdateModuleModal, DeleteModuleModal } from "@/components/modules"; diff --git a/apps/web/core/components/modules/select/status.tsx b/apps/web/core/components/modules/select/status.tsx index 38aee57a1..e93f557b7 100644 --- a/apps/web/core/components/modules/select/status.tsx +++ b/apps/web/core/components/modules/select/status.tsx @@ -3,7 +3,8 @@ import React from "react"; // react hook form -import { Controller, FieldError, Control } from "react-hook-form"; +import type { FieldError, Control } from "react-hook-form"; +import { Controller } from "react-hook-form"; import { MODULE_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { DoubleCircleIcon, ModuleStatusIcon } from "@plane/propel/icons"; diff --git a/apps/web/core/components/modules/sidebar-select/select-status.tsx b/apps/web/core/components/modules/sidebar-select/select-status.tsx index c1bf48c07..90d18409b 100644 --- a/apps/web/core/components/modules/sidebar-select/select-status.tsx +++ b/apps/web/core/components/modules/sidebar-select/select-status.tsx @@ -3,11 +3,12 @@ // react import React from "react"; // react-hook-form -import { Control, Controller, UseFormWatch } from "react-hook-form"; +import type { Control, UseFormWatch } from "react-hook-form"; +import { Controller } from "react-hook-form"; import { MODULE_STATUS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { DoubleCircleIcon } from "@plane/propel/icons"; -import { IModule } from "@plane/types"; +import type { IModule } from "@plane/types"; // ui import { CustomSelect } from "@plane/ui"; // types diff --git a/apps/web/core/components/onboarding/create-or-join-workspaces.tsx b/apps/web/core/components/onboarding/create-or-join-workspaces.tsx index bf07cc2ed..1472fb087 100644 --- a/apps/web/core/components/onboarding/create-or-join-workspaces.tsx +++ b/apps/web/core/components/onboarding/create-or-join-workspaces.tsx @@ -2,7 +2,7 @@ import React, { useEffect, useState } from "react"; import { observer } from "mobx-react"; import { OctagonAlert } from "lucide-react"; // plane imports -import { IWorkspaceMemberInvitation, TOnboardingSteps } from "@plane/types"; +import type { IWorkspaceMemberInvitation, TOnboardingSteps } from "@plane/types"; // components import { LogoSpinner } from "@/components/common/logo-spinner"; // hooks diff --git a/apps/web/core/components/onboarding/create-workspace.tsx b/apps/web/core/components/onboarding/create-workspace.tsx index a7db34bbf..31863a7aa 100644 --- a/apps/web/core/components/onboarding/create-workspace.tsx +++ b/apps/web/core/components/onboarding/create-workspace.tsx @@ -14,7 +14,7 @@ import { import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IUser, IWorkspace, TOnboardingSteps } from "@plane/types"; +import type { IUser, IWorkspace, TOnboardingSteps } from "@plane/types"; // ui import { CustomSelect, Input, Spinner } from "@plane/ui"; // hooks diff --git a/apps/web/core/components/onboarding/header.tsx b/apps/web/core/components/onboarding/header.tsx index bdba2cc00..433d1d2f2 100644 --- a/apps/web/core/components/onboarding/header.tsx +++ b/apps/web/core/components/onboarding/header.tsx @@ -1,12 +1,13 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { ChevronLeft } from "lucide-react"; // plane imports import { PlaneLockup } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { EOnboardingSteps, TOnboardingStep } from "@plane/types"; +import type { TOnboardingStep } from "@plane/types"; +import { EOnboardingSteps } from "@plane/types"; import { cn } from "@plane/utils"; // hooks import { useUser } from "@/hooks/store/user"; diff --git a/apps/web/core/components/onboarding/invitations.tsx b/apps/web/core/components/onboarding/invitations.tsx index f7922a692..d66af6c39 100644 --- a/apps/web/core/components/onboarding/invitations.tsx +++ b/apps/web/core/components/onboarding/invitations.tsx @@ -5,7 +5,7 @@ import React, { useState } from "react"; import { ROLE, MEMBER_TRACKER_EVENTS, MEMBER_TRACKER_ELEMENTS } from "@plane/constants"; // types import { Button } from "@plane/propel/button"; -import { IWorkspaceMemberInvitation } from "@plane/types"; +import type { IWorkspaceMemberInvitation } from "@plane/types"; // ui import { Checkbox, Spinner } from "@plane/ui"; import { truncateText } from "@plane/utils"; diff --git a/apps/web/core/components/onboarding/invite-members.tsx b/apps/web/core/components/onboarding/invite-members.tsx index 9db4aed98..d693ba738 100644 --- a/apps/web/core/components/onboarding/invite-members.tsx +++ b/apps/web/core/components/onboarding/invite-members.tsx @@ -2,28 +2,27 @@ import React, { useEffect, useState } from "react"; import { observer } from "mobx-react"; -import { +import type { Control, - Controller, FieldArrayWithId, UseFieldArrayRemove, UseFormGetValues, UseFormSetValue, UseFormWatch, - useFieldArray, - useForm, } from "react-hook-form"; +import { Controller, useFieldArray, useForm } from "react-hook-form"; // icons import { usePopper } from "react-popper"; import { Check, ChevronDown, Plus, XCircle } from "lucide-react"; import { Listbox } from "@headlessui/react"; // plane imports -import { ROLE, ROLE_DETAILS, EUserPermissions, MEMBER_TRACKER_EVENTS, MEMBER_TRACKER_ELEMENTS } from "@plane/constants"; +import type { EUserPermissions } from "@plane/constants"; +import { ROLE, ROLE_DETAILS, MEMBER_TRACKER_EVENTS, MEMBER_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // types import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IUser, IWorkspace } from "@plane/types"; +import type { IUser, IWorkspace } from "@plane/types"; // ui import { Input, Spinner } from "@plane/ui"; // helpers diff --git a/apps/web/core/components/onboarding/profile-setup.tsx b/apps/web/core/components/onboarding/profile-setup.tsx index a3d091caf..1dc8c716c 100644 --- a/apps/web/core/components/onboarding/profile-setup.tsx +++ b/apps/web/core/components/onboarding/profile-setup.tsx @@ -14,7 +14,7 @@ import { import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IUser, TUserProfile, TOnboardingSteps } from "@plane/types"; +import type { IUser, TUserProfile, TOnboardingSteps } from "@plane/types"; // ui import { Input, PasswordStrengthIndicator, Spinner } from "@plane/ui"; // components diff --git a/apps/web/core/components/onboarding/root.tsx b/apps/web/core/components/onboarding/root.tsx index a530ce3b9..37fa6a518 100644 --- a/apps/web/core/components/onboarding/root.tsx +++ b/apps/web/core/components/onboarding/root.tsx @@ -1,17 +1,13 @@ "use client"; -import { FC, useCallback, useEffect, useState } from "react"; +import type { FC } from "react"; +import { useCallback, useEffect, useState } from "react"; import { observer } from "mobx-react"; // plane imports import { USER_TRACKER_EVENTS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { - EOnboardingSteps, - IWorkspaceMemberInvitation, - TOnboardingStep, - TOnboardingSteps, - TUserProfile, -} from "@plane/types"; +import type { IWorkspaceMemberInvitation, TOnboardingStep, TOnboardingSteps, TUserProfile } from "@plane/types"; +import { EOnboardingSteps } from "@plane/types"; // helpers import { captureSuccess } from "@/helpers/event-tracker.helper"; // hooks diff --git a/apps/web/core/components/onboarding/steps/common/header.tsx b/apps/web/core/components/onboarding/steps/common/header.tsx index 8c241257e..429becddb 100644 --- a/apps/web/core/components/onboarding/steps/common/header.tsx +++ b/apps/web/core/components/onboarding/steps/common/header.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; type Props = { title: string; diff --git a/apps/web/core/components/onboarding/steps/profile/consent.tsx b/apps/web/core/components/onboarding/steps/profile/consent.tsx index a8428c48f..c66298590 100644 --- a/apps/web/core/components/onboarding/steps/profile/consent.tsx +++ b/apps/web/core/components/onboarding/steps/profile/consent.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { Check } from "lucide-react"; type Props = { diff --git a/apps/web/core/components/onboarding/steps/profile/root.tsx b/apps/web/core/components/onboarding/steps/profile/root.tsx index 672e8aa8d..e2ad3f3a0 100644 --- a/apps/web/core/components/onboarding/steps/profile/root.tsx +++ b/apps/web/core/components/onboarding/steps/profile/root.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useMemo, useState } from "react"; +import type { FC } from "react"; +import { useMemo, useState } from "react"; import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; import { ImageIcon } from "lucide-react"; @@ -8,7 +9,8 @@ import { ImageIcon } from "lucide-react"; import { E_PASSWORD_STRENGTH, ONBOARDING_TRACKER_ELEMENTS, USER_TRACKER_EVENTS } from "@plane/constants"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EOnboardingSteps, IUser } from "@plane/types"; +import type { IUser } from "@plane/types"; +import { EOnboardingSteps } from "@plane/types"; import { cn, getFileURL, getPasswordStrength } from "@plane/utils"; // components import { UserImageUploadModal } from "@/components/core/modals/user-image-upload-modal"; diff --git a/apps/web/core/components/onboarding/steps/role/root.tsx b/apps/web/core/components/onboarding/steps/role/root.tsx index e056b51ef..8cf8acb6b 100644 --- a/apps/web/core/components/onboarding/steps/role/root.tsx +++ b/apps/web/core/components/onboarding/steps/role/root.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; import { Box, Check, PenTool, Rocket, Monitor, RefreshCw } from "lucide-react"; @@ -9,14 +9,15 @@ import { ONBOARDING_TRACKER_ELEMENTS, USER_TRACKER_EVENTS } from "@plane/constan import { Button } from "@plane/propel/button"; import { ViewsIcon } from "@plane/propel/icons"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EOnboardingSteps, TUserProfile } from "@plane/types"; +import type { TUserProfile } from "@plane/types"; +import { EOnboardingSteps } from "@plane/types"; // helpers import { captureError, captureSuccess, captureView } from "@/helpers/event-tracker.helper"; // hooks import { useUserProfile } from "@/hooks/store/user"; // local components import { CommonOnboardingHeader } from "../common"; -import { TProfileSetupFormValues } from "../profile/root"; +import type { TProfileSetupFormValues } from "../profile/root"; type Props = { handleStepChange: (step: EOnboardingSteps, skipInvites?: boolean) => void; diff --git a/apps/web/core/components/onboarding/steps/root.tsx b/apps/web/core/components/onboarding/steps/root.tsx index 0ea7e77dd..adb1e80ac 100644 --- a/apps/web/core/components/onboarding/steps/root.tsx +++ b/apps/web/core/components/onboarding/steps/root.tsx @@ -1,8 +1,10 @@ "use client"; -import { FC, useEffect, useMemo, useRef } from "react"; +import type { FC } from "react"; +import { useEffect, useMemo, useRef } from "react"; // plane imports -import { EOnboardingSteps, IWorkspaceMemberInvitation } from "@plane/types"; +import type { IWorkspaceMemberInvitation } from "@plane/types"; +import { EOnboardingSteps } from "@plane/types"; // local components import { ProfileSetupStep } from "./profile"; import { RoleSetupStep } from "./role"; diff --git a/apps/web/core/components/onboarding/steps/team/root.tsx b/apps/web/core/components/onboarding/steps/team/root.tsx index a5b411a17..c8481aa85 100644 --- a/apps/web/core/components/onboarding/steps/team/root.tsx +++ b/apps/web/core/components/onboarding/steps/team/root.tsx @@ -2,23 +2,22 @@ import React, { useEffect, useState } from "react"; import { observer } from "mobx-react"; -import { +import type { Control, - Controller, FieldArrayWithId, UseFieldArrayRemove, UseFormGetValues, UseFormSetValue, UseFormWatch, - useFieldArray, - useForm, } from "react-hook-form"; +import { Controller, useFieldArray, useForm } from "react-hook-form"; // icons import { usePopper } from "react-popper"; import { Check, ChevronDown, Plus, XCircle } from "lucide-react"; import { Listbox } from "@headlessui/react"; // plane imports -import { ROLE, ROLE_DETAILS, EUserPermissions, MEMBER_TRACKER_EVENTS, MEMBER_TRACKER_ELEMENTS } from "@plane/constants"; +import type { EUserPermissions } from "@plane/constants"; +import { ROLE, ROLE_DETAILS, MEMBER_TRACKER_EVENTS, MEMBER_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; diff --git a/apps/web/core/components/onboarding/steps/usecase/root.tsx b/apps/web/core/components/onboarding/steps/usecase/root.tsx index f0646897b..19ba706d0 100644 --- a/apps/web/core/components/onboarding/steps/usecase/root.tsx +++ b/apps/web/core/components/onboarding/steps/usecase/root.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; import { Check } from "lucide-react"; @@ -8,7 +8,8 @@ import { Check } from "lucide-react"; import { ONBOARDING_TRACKER_ELEMENTS, USER_TRACKER_EVENTS, USE_CASES } from "@plane/constants"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EOnboardingSteps, TUserProfile } from "@plane/types"; +import type { TUserProfile } from "@plane/types"; +import { EOnboardingSteps } from "@plane/types"; import { cn } from "@plane/utils"; // helpers import { captureError, captureSuccess, captureView } from "@/helpers/event-tracker.helper"; @@ -16,7 +17,7 @@ import { captureError, captureSuccess, captureView } from "@/helpers/event-track import { useUserProfile } from "@/hooks/store/user"; // local imports import { CommonOnboardingHeader } from "../common"; -import { TProfileSetupFormValues } from "../profile/root"; +import type { TProfileSetupFormValues } from "../profile/root"; type Props = { handleStepChange: (step: EOnboardingSteps, skipInvites?: boolean) => void; diff --git a/apps/web/core/components/onboarding/steps/workspace/create.tsx b/apps/web/core/components/onboarding/steps/workspace/create.tsx index cec82bd01..2419f67ce 100644 --- a/apps/web/core/components/onboarding/steps/workspace/create.tsx +++ b/apps/web/core/components/onboarding/steps/workspace/create.tsx @@ -14,7 +14,7 @@ import { import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IUser, IWorkspace } from "@plane/types"; +import type { IUser, IWorkspace } from "@plane/types"; import { Spinner } from "@plane/ui"; import { cn } from "@plane/utils"; // helpers diff --git a/apps/web/core/components/onboarding/steps/workspace/join-invites.tsx b/apps/web/core/components/onboarding/steps/workspace/join-invites.tsx index c30adc5ec..70d0c6b61 100644 --- a/apps/web/core/components/onboarding/steps/workspace/join-invites.tsx +++ b/apps/web/core/components/onboarding/steps/workspace/join-invites.tsx @@ -4,7 +4,7 @@ import React, { useState } from "react"; // plane imports import { MEMBER_TRACKER_ELEMENTS, MEMBER_TRACKER_EVENTS, ROLE } from "@plane/constants"; import { Button } from "@plane/propel/button"; -import { IWorkspaceMemberInvitation } from "@plane/types"; +import type { IWorkspaceMemberInvitation } from "@plane/types"; import { Checkbox, Spinner } from "@plane/ui"; import { truncateText } from "@plane/utils"; // constants diff --git a/apps/web/core/components/onboarding/steps/workspace/root.tsx b/apps/web/core/components/onboarding/steps/workspace/root.tsx index 665f63aee..949d84e67 100644 --- a/apps/web/core/components/onboarding/steps/workspace/root.tsx +++ b/apps/web/core/components/onboarding/steps/workspace/root.tsx @@ -3,7 +3,8 @@ import React, { useEffect, useState } from "react"; import { observer } from "mobx-react"; // plane imports -import { ECreateOrJoinWorkspaceViews, EOnboardingSteps, IWorkspaceMemberInvitation } from "@plane/types"; +import type { IWorkspaceMemberInvitation } from "@plane/types"; +import { ECreateOrJoinWorkspaceViews, EOnboardingSteps } from "@plane/types"; // hooks import { useUser } from "@/hooks/store/user"; // local components diff --git a/apps/web/core/components/onboarding/switch-account-dropdown.tsx b/apps/web/core/components/onboarding/switch-account-dropdown.tsx index 0ce44a9bb..48770f135 100644 --- a/apps/web/core/components/onboarding/switch-account-dropdown.tsx +++ b/apps/web/core/components/onboarding/switch-account-dropdown.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { Menu, Transition } from "@headlessui/react"; // ui diff --git a/apps/web/core/components/onboarding/tour/root.tsx b/apps/web/core/components/onboarding/tour/root.tsx index 3769851cb..ffa3eefe3 100644 --- a/apps/web/core/components/onboarding/tour/root.tsx +++ b/apps/web/core/components/onboarding/tour/root.tsx @@ -2,7 +2,8 @@ import { useState } from "react"; import { observer } from "mobx-react"; -import Image, { StaticImageData } from "next/image"; +import type { StaticImageData } from "next/image"; +import Image from "next/image"; import { X } from "lucide-react"; // plane imports import { PRODUCT_TOUR_TRACKER_ELEMENTS } from "@plane/constants"; diff --git a/apps/web/core/components/onboarding/tour/sidebar.tsx b/apps/web/core/components/onboarding/tour/sidebar.tsx index b1ca0d71b..61462ea44 100644 --- a/apps/web/core/components/onboarding/tour/sidebar.tsx +++ b/apps/web/core/components/onboarding/tour/sidebar.tsx @@ -3,7 +3,7 @@ // icons import { CycleIcon, ModuleIcon, PageIcon, ViewsIcon, WorkItemsIcon } from "@plane/propel/icons"; // types -import { TTourSteps } from "./root"; +import type { TTourSteps } from "./root"; const sidebarOptions: { key: TTourSteps; diff --git a/apps/web/core/components/pages/dropdowns/actions.tsx b/apps/web/core/components/pages/dropdowns/actions.tsx index 67642c57c..b6f92bb6a 100644 --- a/apps/web/core/components/pages/dropdowns/actions.tsx +++ b/apps/web/core/components/pages/dropdowns/actions.tsx @@ -21,7 +21,8 @@ import { EPageAccess, PROJECT_PAGE_TRACKER_ELEMENTS } from "@plane/constants"; import type { EditorRefApi } from "@plane/editor"; // plane ui import { ArchiveIcon } from "@plane/propel/icons"; -import { ContextMenu, CustomMenu, TContextMenuItem } from "@plane/ui"; +import type { TContextMenuItem } from "@plane/ui"; +import { ContextMenu, CustomMenu } from "@plane/ui"; // components import { cn } from "@plane/utils"; import { DeletePageModal } from "@/components/pages/modals/delete-page-modal"; @@ -32,7 +33,7 @@ import { usePageOperations } from "@/hooks/use-page-operations"; // plane web components import { MovePageModal } from "@/plane-web/components/pages"; // plane web hooks -import { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; import { usePageFlag } from "@/plane-web/hooks/use-page-flag"; // store types import type { TPageInstance } from "@/store/pages/base-page"; diff --git a/apps/web/core/components/pages/editor/editor-body.tsx b/apps/web/core/components/pages/editor/editor-body.tsx index 64c907275..476917252 100644 --- a/apps/web/core/components/pages/editor/editor-body.tsx +++ b/apps/web/core/components/pages/editor/editor-body.tsx @@ -1,18 +1,19 @@ -import { Dispatch, SetStateAction, useCallback, useMemo } from "react"; +import type { Dispatch, SetStateAction } from "react"; +import { useCallback, useMemo } from "react"; import { observer } from "mobx-react"; // plane imports import { LIVE_BASE_PATH, LIVE_BASE_URL } from "@plane/constants"; -import { - CollaborativeDocumentEditorWithRef, - type EditorRefApi, - type TAIMenuProps, - type TDisplayConfig, - type TFileHandler, - type TRealtimeConfig, - type TServerHandler, +import { CollaborativeDocumentEditorWithRef } from "@plane/editor"; +import type { + EditorRefApi, + TAIMenuProps, + TDisplayConfig, + TFileHandler, + TRealtimeConfig, + TServerHandler, } from "@plane/editor"; import { useTranslation } from "@plane/i18n"; -import { TSearchEntityRequestPayload, TSearchResponse, TWebhookConnectionQueryParams } from "@plane/types"; +import type { TSearchEntityRequestPayload, TSearchResponse, TWebhookConnectionQueryParams } from "@plane/types"; import { ERowVariant, Row } from "@plane/ui"; import { cn, generateRandomColor, hslToHex } from "@plane/utils"; // components @@ -26,7 +27,7 @@ import { usePageFilters } from "@/hooks/use-page-filters"; // plane web imports import { EditorAIMenu } from "@/plane-web/components/pages"; import type { TExtendedEditorExtensionsConfig } from "@/plane-web/hooks/pages"; -import { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; import { useEditorFlagging } from "@/plane-web/hooks/use-editor-flagging"; // store import type { TPageInstance } from "@/store/pages/base-page"; diff --git a/apps/web/core/components/pages/editor/page-root.tsx b/apps/web/core/components/pages/editor/page-root.tsx index 487592b01..7d7d74a00 100644 --- a/apps/web/core/components/pages/editor/page-root.tsx +++ b/apps/web/core/components/pages/editor/page-root.tsx @@ -9,14 +9,15 @@ import { usePageFallback } from "@/hooks/use-page-fallback"; // plane web import import { PageModals } from "@/plane-web/components/pages"; import { usePagesPaneExtensions, useExtendedEditorProps } from "@/plane-web/hooks/pages"; -import { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; // store import type { TPageInstance } from "@/store/pages/base-page"; // local imports import { PageNavigationPaneRoot } from "../navigation-pane"; import { PageVersionsOverlay } from "../version"; import { PagesVersionEditor } from "../version/editor"; -import { PageEditorBody, type TEditorBodyConfig, type TEditorBodyHandlers } from "./editor-body"; +import { PageEditorBody } from "./editor-body"; +import type { TEditorBodyConfig, TEditorBodyHandlers } from "./editor-body"; import { PageEditorToolbarRoot } from "./toolbar"; export type TPageRootHandlers = { diff --git a/apps/web/core/components/pages/editor/summary/content-browser.tsx b/apps/web/core/components/pages/editor/summary/content-browser.tsx index 04d31f6b2..50aeda7b7 100644 --- a/apps/web/core/components/pages/editor/summary/content-browser.tsx +++ b/apps/web/core/components/pages/editor/summary/content-browser.tsx @@ -3,7 +3,8 @@ import { useState, useEffect, useCallback } from "react"; import type { EditorRefApi, IMarking } from "@plane/editor"; import { cn } from "@plane/utils"; // components -import { OutlineHeading1, OutlineHeading2, OutlineHeading3, THeadingComponentProps } from "./heading-components"; +import type { THeadingComponentProps } from "./heading-components"; +import { OutlineHeading1, OutlineHeading2, OutlineHeading3 } from "./heading-components"; type Props = { className?: string; diff --git a/apps/web/core/components/pages/editor/toolbar/color-dropdown.tsx b/apps/web/core/components/pages/editor/toolbar/color-dropdown.tsx index bc89c2a8a..e2fbe1bd8 100644 --- a/apps/web/core/components/pages/editor/toolbar/color-dropdown.tsx +++ b/apps/web/core/components/pages/editor/toolbar/color-dropdown.tsx @@ -4,7 +4,8 @@ import { memo } from "react"; import { ALargeSmall, Ban } from "lucide-react"; import { Popover } from "@headlessui/react"; // plane editor -import { COLORS_LIST, type TEditorCommands } from "@plane/editor"; +import { COLORS_LIST } from "@plane/editor"; +import type { TEditorCommands } from "@plane/editor"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx b/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx index f95faae98..762054a2c 100644 --- a/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx +++ b/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx @@ -5,19 +5,21 @@ import { observer } from "mobx-react"; import { ArrowUpToLine, Clipboard, History } from "lucide-react"; // plane imports import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { TContextMenuItem, ToggleSwitch } from "@plane/ui"; +import type { TContextMenuItem } from "@plane/ui"; +import { ToggleSwitch } from "@plane/ui"; import { copyTextToClipboard } from "@plane/utils"; // hooks import { useAppRouter } from "@/hooks/use-app-router"; import { usePageFilters } from "@/hooks/use-page-filters"; import { useQueryParams } from "@/hooks/use-query-params"; // plane web imports -import { TPageNavigationPaneTab } from "@/plane-web/components/pages/navigation-pane"; -import { EPageStoreType } from "@/plane-web/hooks/store"; +import type { TPageNavigationPaneTab } from "@/plane-web/components/pages/navigation-pane"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; // store import type { TPageInstance } from "@/store/pages/base-page"; // local imports -import { PageActions, TPageActions } from "../../dropdowns"; +import type { TPageActions } from "../../dropdowns"; +import { PageActions } from "../../dropdowns"; import { ExportPageModal } from "../../modals/export-page-modal"; import { PAGE_NAVIGATION_PANE_TABS_QUERY_PARAM } from "../../navigation-pane"; diff --git a/apps/web/core/components/pages/editor/toolbar/toolbar.tsx b/apps/web/core/components/pages/editor/toolbar/toolbar.tsx index 34c548ca0..f2cedaa5b 100644 --- a/apps/web/core/components/pages/editor/toolbar/toolbar.tsx +++ b/apps/web/core/components/pages/editor/toolbar/toolbar.tsx @@ -8,7 +8,8 @@ import { Tooltip } from "@plane/propel/tooltip"; import { CustomMenu } from "@plane/ui"; import { cn } from "@plane/utils"; // constants -import { TOOLBAR_ITEMS, TYPOGRAPHY_ITEMS, ToolbarMenuItem } from "@/constants/editor"; +import type { ToolbarMenuItem } from "@/constants/editor"; +import { TOOLBAR_ITEMS, TYPOGRAPHY_ITEMS } from "@/constants/editor"; // local imports import { ColorDropdown } from "./color-dropdown"; diff --git a/apps/web/core/components/pages/header/actions.tsx b/apps/web/core/components/pages/header/actions.tsx index 6b56a72d8..6da331520 100644 --- a/apps/web/core/components/pages/header/actions.tsx +++ b/apps/web/core/components/pages/header/actions.tsx @@ -6,7 +6,7 @@ import { PageLockControl } from "@/plane-web/components/pages/header/lock-contro import { PageMoveControl } from "@/plane-web/components/pages/header/move-control"; import { PageShareControl } from "@/plane-web/components/pages/header/share-control"; // plane web hooks -import { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; // store import type { TPageInstance } from "@/store/pages/base-page"; // local imports diff --git a/apps/web/core/components/pages/header/root.tsx b/apps/web/core/components/pages/header/root.tsx index bd4012846..6f9b0c3a6 100644 --- a/apps/web/core/components/pages/header/root.tsx +++ b/apps/web/core/components/pages/header/root.tsx @@ -3,7 +3,7 @@ import { observer } from "mobx-react"; import { ListFilter } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TPageFilterProps, TPageNavigationTabs } from "@plane/types"; +import type { TPageFilterProps, TPageNavigationTabs } from "@plane/types"; import { Header, EHeaderVariant } from "@plane/ui"; import { calculateTotalFilters } from "@plane/utils"; // components @@ -11,7 +11,8 @@ import { FiltersDropdown } from "@/components/issues/issue-layouts/filters"; // hooks import { useMember } from "@/hooks/store/use-member"; // plane web hooks -import { EPageStoreType, usePageStore } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; +import { usePageStore } from "@/plane-web/hooks/store"; // local imports import { PageAppliedFiltersList } from "../list/applied-filters"; import { PageFiltersSelection } from "../list/filters"; diff --git a/apps/web/core/components/pages/list/applied-filters/root.tsx b/apps/web/core/components/pages/list/applied-filters/root.tsx index 6db9e9e3f..2fa5ad779 100644 --- a/apps/web/core/components/pages/list/applied-filters/root.tsx +++ b/apps/web/core/components/pages/list/applied-filters/root.tsx @@ -1,7 +1,7 @@ import { X } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TPageFilterProps } from "@plane/types"; +import type { TPageFilterProps } from "@plane/types"; import { Tag } from "@plane/ui"; import { replaceUnderscoreIfSnakeCase } from "@plane/utils"; // components diff --git a/apps/web/core/components/pages/list/block-item-action.tsx b/apps/web/core/components/pages/list/block-item-action.tsx index bf9b095fe..3969e7363 100644 --- a/apps/web/core/components/pages/list/block-item-action.tsx +++ b/apps/web/core/components/pages/list/block-item-action.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { Earth, Info, Lock, Minus } from "lucide-react"; // plane imports @@ -14,7 +15,7 @@ import { captureClick } from "@/helpers/event-tracker.helper"; import { useMember } from "@/hooks/store/use-member"; import { usePageOperations } from "@/hooks/use-page-operations"; // plane web hooks -import { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; // store import type { TPageInstance } from "@/store/pages/base-page"; // local imports diff --git a/apps/web/core/components/pages/list/block.tsx b/apps/web/core/components/pages/list/block.tsx index f6e8ff5ec..5cf055d28 100644 --- a/apps/web/core/components/pages/list/block.tsx +++ b/apps/web/core/components/pages/list/block.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useRef } from "react"; +import type { FC } from "react"; +import { useRef } from "react"; import { observer } from "mobx-react"; import { PageIcon } from "@plane/propel/icons"; // plane imports @@ -12,7 +13,8 @@ import { BlockItemAction } from "@/components/pages/list/block-item-action"; // hooks import { usePlatformOS } from "@/hooks/use-platform-os"; // plane web hooks -import { EPageStoreType, usePage } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; +import { usePage } from "@/plane-web/hooks/store"; type TPageListBlock = { pageId: string; diff --git a/apps/web/core/components/pages/list/filters/root.tsx b/apps/web/core/components/pages/list/filters/root.tsx index 2c9f6f103..c8d4c313a 100644 --- a/apps/web/core/components/pages/list/filters/root.tsx +++ b/apps/web/core/components/pages/list/filters/root.tsx @@ -1,7 +1,7 @@ import { useState } from "react"; import { observer } from "mobx-react"; import { Search, X } from "lucide-react"; -import { TPageFilterProps, TPageFilters } from "@plane/types"; +import type { TPageFilterProps, TPageFilters } from "@plane/types"; // components import { FilterCreatedDate } from "@/components/common/filters/created-at"; import { FilterCreatedBy } from "@/components/common/filters/created-by"; diff --git a/apps/web/core/components/pages/list/order-by.tsx b/apps/web/core/components/pages/list/order-by.tsx index f2c19f3a7..75b911682 100644 --- a/apps/web/core/components/pages/list/order-by.tsx +++ b/apps/web/core/components/pages/list/order-by.tsx @@ -3,7 +3,7 @@ import { ArrowDownWideNarrow, ArrowUpWideNarrow, Check, ChevronDown } from "lucide-react"; // types import { getButtonStyling } from "@plane/propel/button"; -import { TPageFiltersSortBy, TPageFiltersSortKey } from "@plane/types"; +import type { TPageFiltersSortBy, TPageFiltersSortKey } from "@plane/types"; // ui import { CustomMenu } from "@plane/ui"; // helpers diff --git a/apps/web/core/components/pages/list/root.tsx b/apps/web/core/components/pages/list/root.tsx index 85fccdb59..2ed9f6791 100644 --- a/apps/web/core/components/pages/list/root.tsx +++ b/apps/web/core/components/pages/list/root.tsx @@ -1,11 +1,12 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // types -import { TPageNavigationTabs } from "@plane/types"; +import type { TPageNavigationTabs } from "@plane/types"; // components import { ListLayout } from "@/components/core/list"; // plane web hooks -import { EPageStoreType, usePageStore } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; +import { usePageStore } from "@/plane-web/hooks/store"; // local imports import { PageListBlock } from "./block"; diff --git a/apps/web/core/components/pages/list/search-input.tsx b/apps/web/core/components/pages/list/search-input.tsx index f7be11f76..65c13e38e 100644 --- a/apps/web/core/components/pages/list/search-input.tsx +++ b/apps/web/core/components/pages/list/search-input.tsx @@ -1,4 +1,5 @@ -import { FC, useState, useRef, useEffect } from "react"; +import type { FC } from "react"; +import { useState, useRef, useEffect } from "react"; import { Search, X } from "lucide-react"; // plane helpers import { useOutsideClickDetector } from "@plane/hooks"; diff --git a/apps/web/core/components/pages/list/tab-navigation.tsx b/apps/web/core/components/pages/list/tab-navigation.tsx index 35d6d1b94..c2cf4bff4 100644 --- a/apps/web/core/components/pages/list/tab-navigation.tsx +++ b/apps/web/core/components/pages/list/tab-navigation.tsx @@ -1,7 +1,7 @@ -import { FC } from "react"; +import type { FC } from "react"; import Link from "next/link"; // types -import { TPageNavigationTabs } from "@plane/types"; +import type { TPageNavigationTabs } from "@plane/types"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/pages/modals/create-page-modal.tsx b/apps/web/core/components/pages/modals/create-page-modal.tsx index b0b180a70..33e547551 100644 --- a/apps/web/core/components/pages/modals/create-page-modal.tsx +++ b/apps/web/core/components/pages/modals/create-page-modal.tsx @@ -1,14 +1,17 @@ -import { FC, useEffect, useState } from "react"; +import type { FC } from "react"; +import { useEffect, useState } from "react"; // constants -import { EPageAccess, PROJECT_PAGE_TRACKER_EVENTS } from "@plane/constants"; -import { TPage } from "@plane/types"; +import type { EPageAccess } from "@plane/constants"; +import { PROJECT_PAGE_TRACKER_EVENTS } from "@plane/constants"; +import type { TPage } from "@plane/types"; // ui import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; // hooks import { captureSuccess, captureError } from "@/helpers/event-tracker.helper"; import { useAppRouter } from "@/hooks/use-app-router"; // plane web hooks -import { EPageStoreType, usePageStore } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; +import { usePageStore } from "@/plane-web/hooks/store"; // local imports import { PageForm } from "./page-form"; diff --git a/apps/web/core/components/pages/modals/delete-page-modal.tsx b/apps/web/core/components/pages/modals/delete-page-modal.tsx index 8e03a7df9..7dfc3a569 100644 --- a/apps/web/core/components/pages/modals/delete-page-modal.tsx +++ b/apps/web/core/components/pages/modals/delete-page-modal.tsx @@ -12,7 +12,8 @@ import { AlertModalCore } from "@plane/ui"; import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; // plane web hooks import { useAppRouter } from "@/hooks/use-app-router"; -import { EPageStoreType, usePageStore } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; +import { usePageStore } from "@/plane-web/hooks/store"; // store import type { TPageInstance } from "@/store/pages/base-page"; diff --git a/apps/web/core/components/pages/modals/export-page-modal.tsx b/apps/web/core/components/pages/modals/export-page-modal.tsx index 99687851f..1f179723e 100644 --- a/apps/web/core/components/pages/modals/export-page-modal.tsx +++ b/apps/web/core/components/pages/modals/export-page-modal.tsx @@ -1,7 +1,8 @@ "use client"; import { useState } from "react"; -import { PageProps, pdf } from "@react-pdf/renderer"; +import type { PageProps } from "@react-pdf/renderer"; +import { pdf } from "@react-pdf/renderer"; import { Controller, useForm } from "react-hook-form"; // plane editor import type { EditorRefApi } from "@plane/editor"; diff --git a/apps/web/core/components/pages/modals/page-form.tsx b/apps/web/core/components/pages/modals/page-form.tsx index dd0f0b2ba..9005e33a8 100644 --- a/apps/web/core/components/pages/modals/page-form.tsx +++ b/apps/web/core/components/pages/modals/page-form.tsx @@ -1,7 +1,9 @@ "use client"; -import { FormEvent, useState } from "react"; -import { Globe2, Lock, LucideIcon } from "lucide-react"; +import type { FormEvent } from "react"; +import { useState } from "react"; +import type { LucideIcon } from "lucide-react"; +import { Globe2, Lock } from "lucide-react"; // plane imports import { ETabIndices, EPageAccess } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; diff --git a/apps/web/core/components/pages/navigation-pane/root.tsx b/apps/web/core/components/pages/navigation-pane/root.tsx index 9a0884b8b..29088f832 100644 --- a/apps/web/core/components/pages/navigation-pane/root.tsx +++ b/apps/web/core/components/pages/navigation-pane/root.tsx @@ -9,15 +9,15 @@ import { Tooltip } from "@plane/propel/tooltip"; // hooks import { useQueryParams } from "@/hooks/use-query-params"; // plane web components -import { TPageNavigationPaneTab } from "@/plane-web/components/pages/navigation-pane"; +import type { TPageNavigationPaneTab } from "@/plane-web/components/pages/navigation-pane"; // store -import { type EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; import type { TPageInstance } from "@/store/pages/base-page"; // local imports -import { TPageRootHandlers } from "../editor/page-root"; +import type { TPageRootHandlers } from "../editor/page-root"; import { PageNavigationPaneTabPanelsRoot } from "./tab-panels/root"; import { PageNavigationPaneTabsList } from "./tabs-list"; -import { INavigationPaneExtension } from "./types/extensions"; +import type { INavigationPaneExtension } from "./types/extensions"; import { PAGE_NAVIGATION_PANE_TAB_KEYS, diff --git a/apps/web/core/components/pages/navigation-pane/tab-panels/assets.tsx b/apps/web/core/components/pages/navigation-pane/tab-panels/assets.tsx index f551f07c6..aa23e10de 100644 --- a/apps/web/core/components/pages/navigation-pane/tab-panels/assets.tsx +++ b/apps/web/core/components/pages/navigation-pane/tab-panels/assets.tsx @@ -3,7 +3,8 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { Download } from "lucide-react"; // plane imports -import { CORE_EXTENSIONS, type TEditorAsset } from "@plane/editor"; +import { CORE_EXTENSIONS } from "@plane/editor"; +import type { TEditorAsset } from "@plane/editor"; import { useTranslation } from "@plane/i18n"; import { getEditorAssetDownloadSrc, getEditorAssetSrc } from "@plane/utils"; // plane web imports diff --git a/apps/web/core/components/pages/navigation-pane/tab-panels/info/version-history.tsx b/apps/web/core/components/pages/navigation-pane/tab-panels/info/version-history.tsx index 2eb918309..c6c6860ab 100644 --- a/apps/web/core/components/pages/navigation-pane/tab-panels/info/version-history.tsx +++ b/apps/web/core/components/pages/navigation-pane/tab-panels/info/version-history.tsx @@ -5,7 +5,7 @@ import { useSearchParams } from "next/navigation"; import useSWR from "swr"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TPageVersion } from "@plane/types"; +import type { TPageVersion } from "@plane/types"; import { Avatar } from "@plane/ui"; import { cn, getFileURL, renderFormattedDate, renderFormattedTime } from "@plane/utils"; // components diff --git a/apps/web/core/components/pages/navigation-pane/types/extensions.ts b/apps/web/core/components/pages/navigation-pane/types/extensions.ts index 7460483b9..2d3cf84e3 100644 --- a/apps/web/core/components/pages/navigation-pane/types/extensions.ts +++ b/apps/web/core/components/pages/navigation-pane/types/extensions.ts @@ -1,6 +1,6 @@ -import { ReactNode } from "react"; -import { EPageStoreType } from "@/plane-web/hooks/store"; -import { TPageInstance } from "@/store/pages/base-page"; +import type { ReactNode } from "react"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { TPageInstance } from "@/store/pages/base-page"; export interface INavigationPaneExtensionProps { page: TPageInstance; diff --git a/apps/web/core/components/pages/pages-list-main-content.tsx b/apps/web/core/components/pages/pages-list-main-content.tsx index ad992ab25..ee39f38c0 100644 --- a/apps/web/core/components/pages/pages-list-main-content.tsx +++ b/apps/web/core/components/pages/pages-list-main-content.tsx @@ -12,7 +12,8 @@ import { } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EUserProjectRoles, TPage, TPageNavigationTabs } from "@plane/types"; +import type { TPage, TPageNavigationTabs } from "@plane/types"; +import { EUserProjectRoles } from "@plane/types"; // components import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root"; import { PageLoader } from "@/components/pages/loaders/page-loader"; diff --git a/apps/web/core/components/pages/pages-list-view.tsx b/apps/web/core/components/pages/pages-list-view.tsx index d4d4b6157..4223c540a 100644 --- a/apps/web/core/components/pages/pages-list-view.tsx +++ b/apps/web/core/components/pages/pages-list-view.tsx @@ -1,8 +1,9 @@ import { observer } from "mobx-react"; import useSWR from "swr"; -import { TPageNavigationTabs } from "@plane/types"; +import type { TPageNavigationTabs } from "@plane/types"; // plane web hooks -import { EPageStoreType, usePageStore } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; +import { usePageStore } from "@/plane-web/hooks/store"; // local imports import { PagesListHeaderRoot } from "./header"; import { PagesListMainContent } from "./pages-list-main-content"; diff --git a/apps/web/core/components/pages/version/editor.tsx b/apps/web/core/components/pages/version/editor.tsx index c484a4ee5..0bf851b81 100644 --- a/apps/web/core/components/pages/version/editor.tsx +++ b/apps/web/core/components/pages/version/editor.tsx @@ -11,7 +11,7 @@ import { DocumentEditor } from "@/components/editor/document/editor"; import { useWorkspace } from "@/hooks/store/use-workspace"; import { usePageFilters } from "@/hooks/use-page-filters"; // plane web hooks -import { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; export type TVersionEditorProps = { activeVersion: string | null; diff --git a/apps/web/core/components/pages/version/main-content.tsx b/apps/web/core/components/pages/version/main-content.tsx index e7af0a38b..3000960bb 100644 --- a/apps/web/core/components/pages/version/main-content.tsx +++ b/apps/web/core/components/pages/version/main-content.tsx @@ -5,12 +5,12 @@ import { EyeIcon, TriangleAlert } from "lucide-react"; // plane imports import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { TPageVersion } from "@plane/types"; +import type { TPageVersion } from "@plane/types"; import { renderFormattedDate, renderFormattedTime } from "@plane/utils"; // helpers -import { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; // local imports -import { TVersionEditorProps } from "./editor"; +import type { TVersionEditorProps } from "./editor"; type Props = { activeVersion: string | null; diff --git a/apps/web/core/components/pages/version/root.tsx b/apps/web/core/components/pages/version/root.tsx index 4ad00f3cc..8d0180c90 100644 --- a/apps/web/core/components/pages/version/root.tsx +++ b/apps/web/core/components/pages/version/root.tsx @@ -2,15 +2,15 @@ import { useCallback } from "react"; import { observer } from "mobx-react"; import { useRouter, useSearchParams } from "next/navigation"; // plane imports -import { TPageVersion } from "@plane/types"; +import type { TPageVersion } from "@plane/types"; import { cn } from "@plane/utils"; // hooks import { useQueryParams } from "@/hooks/use-query-params"; // plane web imports -import { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/plane-web/hooks/store"; // local imports import { PAGE_NAVIGATION_PANE_VERSION_QUERY_PARAM, PAGE_NAVIGATION_PANE_WIDTH } from "../navigation-pane"; -import { TVersionEditorProps } from "./editor"; +import type { TVersionEditorProps } from "./editor"; import { PageVersionsMainContent } from "./main-content"; type Props = { diff --git a/apps/web/core/components/profile/activity/activity-list.tsx b/apps/web/core/components/profile/activity/activity-list.tsx index ff033e272..a72eb308e 100644 --- a/apps/web/core/components/profile/activity/activity-list.tsx +++ b/apps/web/core/components/profile/activity/activity-list.tsx @@ -3,7 +3,7 @@ import Link from "next/link"; import { useParams } from "next/navigation"; import { History, MessageSquare } from "lucide-react"; // plane imports -import { IUserActivityResponse } from "@plane/types"; +import type { IUserActivityResponse } from "@plane/types"; import { calculateTimeAgo, getFileURL } from "@plane/utils"; // components import { ActivityIcon, ActivityMessage, IssueLink } from "@/components/core/activity"; diff --git a/apps/web/core/components/profile/notification/email-notification-form.tsx b/apps/web/core/components/profile/notification/email-notification-form.tsx index f01b9f07f..f7e76f1b0 100644 --- a/apps/web/core/components/profile/notification/email-notification-form.tsx +++ b/apps/web/core/components/profile/notification/email-notification-form.tsx @@ -1,11 +1,12 @@ "use client"; -import React, { FC, useEffect } from "react"; +import type { FC } from "react"; +import React, { useEffect } from "react"; import { Controller, useForm } from "react-hook-form"; import { PROFILE_SETTINGS_TRACKER_ELEMENTS, PROFILE_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IUserEmailNotificationSettings } from "@plane/types"; +import type { IUserEmailNotificationSettings } from "@plane/types"; // ui import { ToggleSwitch } from "@plane/ui"; // services diff --git a/apps/web/core/components/profile/overview/priority-distribution.tsx b/apps/web/core/components/profile/overview/priority-distribution.tsx index bf75c91eb..d97a68732 100644 --- a/apps/web/core/components/profile/overview/priority-distribution.tsx +++ b/apps/web/core/components/profile/overview/priority-distribution.tsx @@ -3,7 +3,7 @@ // plane imports import { useTranslation } from "@plane/i18n"; import { BarChart } from "@plane/propel/charts/bar-chart"; -import { IUserProfileData } from "@plane/types"; +import type { IUserProfileData } from "@plane/types"; import { Loader, Card } from "@plane/ui"; import { capitalizeFirstLetter } from "@plane/utils"; // components diff --git a/apps/web/core/components/profile/overview/state-distribution.tsx b/apps/web/core/components/profile/overview/state-distribution.tsx index 16bf9c63f..9b7c15f42 100644 --- a/apps/web/core/components/profile/overview/state-distribution.tsx +++ b/apps/web/core/components/profile/overview/state-distribution.tsx @@ -2,7 +2,7 @@ import { STATE_GROUPS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { PieChart } from "@plane/propel/charts/pie-chart"; -import { IUserProfileData, IUserStateDistribution } from "@plane/types"; +import type { IUserProfileData, IUserStateDistribution } from "@plane/types"; import { Card } from "@plane/ui"; import { capitalizeFirstLetter } from "@plane/utils"; // components diff --git a/apps/web/core/components/profile/overview/stats.tsx b/apps/web/core/components/profile/overview/stats.tsx index 34da37fd3..5998b9a7a 100644 --- a/apps/web/core/components/profile/overview/stats.tsx +++ b/apps/web/core/components/profile/overview/stats.tsx @@ -7,7 +7,7 @@ import { useParams } from "next/navigation"; import { UserCircle2 } from "lucide-react"; import { useTranslation } from "@plane/i18n"; import { CreateIcon, LayerStackIcon } from "@plane/propel/icons"; -import { IUserProfileData } from "@plane/types"; +import type { IUserProfileData } from "@plane/types"; import { Loader, Card, ECardSpacing, ECardDirection } from "@plane/ui"; // types diff --git a/apps/web/core/components/profile/overview/workload.tsx b/apps/web/core/components/profile/overview/workload.tsx index 158136269..d4b6a5d9e 100644 --- a/apps/web/core/components/profile/overview/workload.tsx +++ b/apps/web/core/components/profile/overview/workload.tsx @@ -2,7 +2,7 @@ import { STATE_GROUPS } from "@plane/constants"; // types import { useTranslation } from "@plane/i18n"; -import { IUserStateDistribution } from "@plane/types"; +import type { IUserStateDistribution } from "@plane/types"; import { Card, ECardDirection, ECardSpacing } from "@plane/ui"; // constants diff --git a/apps/web/core/components/profile/profile-issues-filter.tsx b/apps/web/core/components/profile/profile-issues-filter.tsx index 00e351136..43f08a82b 100644 --- a/apps/web/core/components/profile/profile-issues-filter.tsx +++ b/apps/web/core/components/profile/profile-issues-filter.tsx @@ -6,7 +6,8 @@ import { EIssueFilterType, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constant // i18n import { useTranslation } from "@plane/i18n"; // types -import { EIssuesStoreType, IIssueDisplayFilterOptions, IIssueDisplayProperties, EIssueLayoutTypes } from "@plane/types"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; +import { EIssuesStoreType, EIssueLayoutTypes } from "@plane/types"; // components import { DisplayFiltersSelection, FiltersDropdown, LayoutSelection } from "@/components/issues/issue-layouts/filters"; import { WorkItemFiltersToggle } from "@/components/work-item-filters/filters-toggle"; diff --git a/apps/web/core/components/profile/profile-setting-content-header.tsx b/apps/web/core/components/profile/profile-setting-content-header.tsx index f37e2aeb2..4fded0def 100644 --- a/apps/web/core/components/profile/profile-setting-content-header.tsx +++ b/apps/web/core/components/profile/profile-setting-content-header.tsx @@ -1,5 +1,6 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; type Props = { title: string; diff --git a/apps/web/core/components/profile/profile-setting-content-wrapper.tsx b/apps/web/core/components/profile/profile-setting-content-wrapper.tsx index 1c7e240e7..1a77e19d6 100644 --- a/apps/web/core/components/profile/profile-setting-content-wrapper.tsx +++ b/apps/web/core/components/profile/profile-setting-content-wrapper.tsx @@ -1,5 +1,6 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; // helpers import { cn } from "@plane/utils"; import { SidebarHamburgerToggle } from "@/components/core/sidebar/sidebar-menu-hamburger-toggle"; diff --git a/apps/web/core/components/profile/sidebar.tsx b/apps/web/core/components/profile/sidebar.tsx index 5d63850c8..6db83dc0e 100644 --- a/apps/web/core/components/profile/sidebar.tsx +++ b/apps/web/core/components/profile/sidebar.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useEffect, useRef } from "react"; +import type { FC } from "react"; +import { useEffect, useRef } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { useParams } from "next/navigation"; @@ -13,7 +14,7 @@ import { useOutsideClickDetector } from "@plane/hooks"; // types import { useTranslation } from "@plane/i18n"; import { Tooltip } from "@plane/propel/tooltip"; -import { IUserProfileProjectSegregation } from "@plane/types"; +import type { IUserProfileProjectSegregation } from "@plane/types"; // plane ui import { Loader } from "@plane/ui"; import { cn, renderFormattedDate, getFileURL } from "@plane/utils"; diff --git a/apps/web/core/components/profile/start-of-week-preference.tsx b/apps/web/core/components/profile/start-of-week-preference.tsx index ef17e5493..3574da9b3 100644 --- a/apps/web/core/components/profile/start-of-week-preference.tsx +++ b/apps/web/core/components/profile/start-of-week-preference.tsx @@ -9,7 +9,7 @@ import { START_OF_THE_WEEK_OPTIONS, } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EStartOfTheWeek } from "@plane/types"; +import type { EStartOfTheWeek } from "@plane/types"; import { CustomSelect } from "@plane/ui"; // hooks import { captureElementAndEvent } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/components/project-states/create-update/create.tsx b/apps/web/core/components/project-states/create-update/create.tsx index 35af52f2c..ff516c64f 100644 --- a/apps/web/core/components/project-states/create-update/create.tsx +++ b/apps/web/core/components/project-states/create-update/create.tsx @@ -1,10 +1,11 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { STATE_TRACKER_EVENTS, STATE_GROUPS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IState, TStateGroups, TStateOperationsCallbacks } from "@plane/types"; +import type { IState, TStateGroups, TStateOperationsCallbacks } from "@plane/types"; // components import { StateForm } from "@/components/project-states"; // hooks diff --git a/apps/web/core/components/project-states/create-update/form.tsx b/apps/web/core/components/project-states/create-update/form.tsx index 588e6c9b6..7ae08cfa1 100644 --- a/apps/web/core/components/project-states/create-update/form.tsx +++ b/apps/web/core/components/project-states/create-update/form.tsx @@ -1,9 +1,10 @@ "use client"; -import { FC, useEffect, useState, useMemo } from "react"; +import type { FC } from "react"; +import { useEffect, useState, useMemo } from "react"; import { TwitterPicker } from "react-color"; import { Button } from "@plane/propel/button"; -import { IState } from "@plane/types"; +import type { IState } from "@plane/types"; import { Popover, Input, TextArea } from "@plane/ui"; type TStateForm = { diff --git a/apps/web/core/components/project-states/create-update/update.tsx b/apps/web/core/components/project-states/create-update/update.tsx index e4d1a8f0b..29b82ea55 100644 --- a/apps/web/core/components/project-states/create-update/update.tsx +++ b/apps/web/core/components/project-states/create-update/update.tsx @@ -1,10 +1,11 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { STATE_TRACKER_EVENTS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IState, TStateOperationsCallbacks } from "@plane/types"; +import type { IState, TStateOperationsCallbacks } from "@plane/types"; // components import { StateForm } from "@/components/project-states"; // hooks diff --git a/apps/web/core/components/project-states/group-item.tsx b/apps/web/core/components/project-states/group-item.tsx index 459863197..cb95f28dd 100644 --- a/apps/web/core/components/project-states/group-item.tsx +++ b/apps/web/core/components/project-states/group-item.tsx @@ -1,13 +1,14 @@ "use client"; -import { FC, useState, useRef } from "react"; +import type { FC } from "react"; +import { useState, useRef } from "react"; import { observer } from "mobx-react"; import { ChevronDown, Plus } from "lucide-react"; // plane imports import { EIconSize, STATE_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { StateGroupIcon } from "@plane/propel/icons"; -import { IState, TStateGroups, TStateOperationsCallbacks } from "@plane/types"; +import type { IState, TStateGroups, TStateOperationsCallbacks } from "@plane/types"; import { cn } from "@plane/utils"; // components import { StateList, StateCreate } from "@/components/project-states"; diff --git a/apps/web/core/components/project-states/group-list.tsx b/apps/web/core/components/project-states/group-list.tsx index 6f621335e..b45897034 100644 --- a/apps/web/core/components/project-states/group-list.tsx +++ b/apps/web/core/components/project-states/group-list.tsx @@ -1,9 +1,10 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; // plane imports -import { IState, TStateGroups, TStateOperationsCallbacks } from "@plane/types"; +import type { IState, TStateGroups, TStateOperationsCallbacks } from "@plane/types"; import { cn } from "@plane/utils"; // components import { GroupItem } from "@/components/project-states"; diff --git a/apps/web/core/components/project-states/options/delete.tsx b/apps/web/core/components/project-states/options/delete.tsx index 400e6361d..e95c26cb4 100644 --- a/apps/web/core/components/project-states/options/delete.tsx +++ b/apps/web/core/components/project-states/options/delete.tsx @@ -1,13 +1,14 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { Loader, X } from "lucide-react"; // plane imports import { STATE_TRACKER_EVENTS, STATE_TRACKER_ELEMENTS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { IState, TStateOperationsCallbacks } from "@plane/types"; +import type { IState, TStateOperationsCallbacks } from "@plane/types"; import { AlertModalCore } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/project-states/options/mark-as-default.tsx b/apps/web/core/components/project-states/options/mark-as-default.tsx index 591d68be5..5ac4cf95f 100644 --- a/apps/web/core/components/project-states/options/mark-as-default.tsx +++ b/apps/web/core/components/project-states/options/mark-as-default.tsx @@ -1,9 +1,10 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; // plane imports -import { TStateOperationsCallbacks } from "@plane/types"; +import type { TStateOperationsCallbacks } from "@plane/types"; import { cn } from "@plane/utils"; type TStateMarksAsDefault = { diff --git a/apps/web/core/components/project-states/root.tsx b/apps/web/core/components/project-states/root.tsx index efcf2c66d..55b5bc4ce 100644 --- a/apps/web/core/components/project-states/root.tsx +++ b/apps/web/core/components/project-states/root.tsx @@ -1,11 +1,13 @@ "use client"; -import { FC, useMemo } from "react"; +import type { FC } from "react"; +import { useMemo } from "react"; import { observer } from "mobx-react"; import useSWR from "swr"; // components import { EUserPermissionsLevel } from "@plane/constants"; -import { EUserProjectRoles, IState, TStateOperationsCallbacks } from "@plane/types"; +import type { IState, TStateOperationsCallbacks } from "@plane/types"; +import { EUserProjectRoles } from "@plane/types"; import { ProjectStateLoader, GroupList } from "@/components/project-states"; // hooks import { useProjectState } from "@/hooks/store/use-project-state"; diff --git a/apps/web/core/components/project-states/state-item-title.tsx b/apps/web/core/components/project-states/state-item-title.tsx index 80027cee7..714d34ff7 100644 --- a/apps/web/core/components/project-states/state-item-title.tsx +++ b/apps/web/core/components/project-states/state-item-title.tsx @@ -1,10 +1,10 @@ -import { SetStateAction } from "react"; +import type { SetStateAction } from "react"; import { observer } from "mobx-react"; import { GripVertical, Pencil } from "lucide-react"; // plane imports import { EIconSize, STATE_TRACKER_ELEMENTS } from "@plane/constants"; import { StateGroupIcon } from "@plane/propel/icons"; -import { IState, TStateOperationsCallbacks } from "@plane/types"; +import type { IState, TStateOperationsCallbacks } from "@plane/types"; // local imports import { useProjectState } from "@/hooks/store/use-project-state"; import { StateDelete, StateMarksAsDefault } from "./options"; diff --git a/apps/web/core/components/project-states/state-item.tsx b/apps/web/core/components/project-states/state-item.tsx index b8359c208..c8a1cfca2 100644 --- a/apps/web/core/components/project-states/state-item.tsx +++ b/apps/web/core/components/project-states/state-item.tsx @@ -1,13 +1,14 @@ "use client"; -import { FC, Fragment, useCallback, useEffect, useRef, useState } from "react"; +import type { FC } from "react"; +import { Fragment, useCallback, useEffect, useRef, useState } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; import { draggable, dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; import { attachClosestEdge, extractClosestEdge } from "@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge"; import { observer } from "mobx-react"; // Plane -import { TDraggableData } from "@plane/constants"; -import { IState, TStateGroups, TStateOperationsCallbacks } from "@plane/types"; +import type { TDraggableData } from "@plane/constants"; +import type { IState, TStateGroups, TStateOperationsCallbacks } from "@plane/types"; import { DropIndicator } from "@plane/ui"; import { cn, getCurrentStateSequence } from "@plane/utils"; // components diff --git a/apps/web/core/components/project-states/state-list.tsx b/apps/web/core/components/project-states/state-list.tsx index 537985aeb..03ffd7b8d 100644 --- a/apps/web/core/components/project-states/state-list.tsx +++ b/apps/web/core/components/project-states/state-list.tsx @@ -1,8 +1,8 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; -import { IState, TStateGroups, TStateOperationsCallbacks } from "@plane/types"; +import type { IState, TStateGroups, TStateOperationsCallbacks } from "@plane/types"; // components import { StateItem } from "@/components/project-states"; diff --git a/apps/web/core/components/project/applied-filters/project-display-filters.tsx b/apps/web/core/components/project/applied-filters/project-display-filters.tsx index ef0d583bb..fb17c0a4c 100644 --- a/apps/web/core/components/project/applied-filters/project-display-filters.tsx +++ b/apps/web/core/components/project/applied-filters/project-display-filters.tsx @@ -4,7 +4,7 @@ import { X } from "lucide-react"; // types import { PROJECT_DISPLAY_FILTER_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { TProjectAppliedDisplayFilterKeys } from "@plane/types"; +import type { TProjectAppliedDisplayFilterKeys } from "@plane/types"; // constants type Props = { diff --git a/apps/web/core/components/project/applied-filters/root.tsx b/apps/web/core/components/project/applied-filters/root.tsx index ec2607fb5..3f280d5ba 100644 --- a/apps/web/core/components/project/applied-filters/root.tsx +++ b/apps/web/core/components/project/applied-filters/root.tsx @@ -4,7 +4,7 @@ import { X } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; import { Tooltip } from "@plane/propel/tooltip"; -import { TProjectAppliedDisplayFilterKeys, TProjectFilters } from "@plane/types"; +import type { TProjectAppliedDisplayFilterKeys, TProjectFilters } from "@plane/types"; import { EHeaderVariant, Header, Tag } from "@plane/ui"; import { replaceUnderscoreIfSnakeCase } from "@plane/utils"; // local imports diff --git a/apps/web/core/components/project/card.tsx b/apps/web/core/components/project/card.tsx index 1c4f63121..d4ba496f0 100644 --- a/apps/web/core/components/project/card.tsx +++ b/apps/web/core/components/project/card.tsx @@ -12,7 +12,8 @@ import { Button } from "@plane/propel/button"; import { setPromiseToast, setToast, TOAST_TYPE } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; import type { IProject } from "@plane/types"; -import { Avatar, AvatarGroup, ContextMenu, TContextMenuItem, FavoriteStar } from "@plane/ui"; +import type { TContextMenuItem } from "@plane/ui"; +import { Avatar, AvatarGroup, ContextMenu, FavoriteStar } from "@plane/ui"; import { copyUrlToClipboard, cn, getFileURL, renderFormattedDate } from "@plane/utils"; // components import { Logo } from "@/components/common/logo"; diff --git a/apps/web/core/components/project/confirm-project-member-remove.tsx b/apps/web/core/components/project/confirm-project-member-remove.tsx index eb2231e2e..34443c28d 100644 --- a/apps/web/core/components/project/confirm-project-member-remove.tsx +++ b/apps/web/core/components/project/confirm-project-member-remove.tsx @@ -8,7 +8,7 @@ import { AlertTriangle } from "lucide-react"; import { Dialog, Transition } from "@headlessui/react"; // types import { Button } from "@plane/propel/button"; -import { IUserLite } from "@plane/types"; +import type { IUserLite } from "@plane/types"; // ui // hooks import { useProject } from "@/hooks/store/use-project"; diff --git a/apps/web/core/components/project/create-project-modal.tsx b/apps/web/core/components/project/create-project-modal.tsx index 716f3ef4e..bd5938c19 100644 --- a/apps/web/core/components/project/create-project-modal.tsx +++ b/apps/web/core/components/project/create-project-modal.tsx @@ -1,4 +1,5 @@ -import { useEffect, FC, useState } from "react"; +import type { FC } from "react"; +import { useEffect, useState } from "react"; import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; import { getAssetIdFromUrl, checkURLValidity } from "@plane/utils"; // plane ui @@ -8,7 +9,7 @@ import useKeypress from "@/hooks/use-keypress"; // plane web components import { CreateProjectForm } from "@/plane-web/components/projects/create/root"; // plane web types -import { TProject } from "@/plane-web/types/projects"; +import type { TProject } from "@/plane-web/types/projects"; // services import { FileService } from "@/services/file.service"; const fileService = new FileService(); diff --git a/apps/web/core/components/project/create/common-attributes.tsx b/apps/web/core/components/project/create/common-attributes.tsx index ba6b1cc6a..aebe7033b 100644 --- a/apps/web/core/components/project/create/common-attributes.tsx +++ b/apps/web/core/components/project/create/common-attributes.tsx @@ -1,5 +1,6 @@ -import { ChangeEvent } from "react"; -import { Controller, useFormContext, UseFormSetValue } from "react-hook-form"; +import type { ChangeEvent } from "react"; +import type { UseFormSetValue } from "react-hook-form"; +import { Controller, useFormContext } from "react-hook-form"; import { Info } from "lucide-react"; // plane imports import { ETabIndices } from "@plane/constants"; @@ -11,7 +12,7 @@ import { cn, projectIdentifierSanitizer, getTabIndex } from "@plane/utils"; // plane utils // helpers // plane-web types -import { TProject } from "@/plane-web/types/projects"; +import type { TProject } from "@/plane-web/types/projects"; type Props = { setValue: UseFormSetValue; diff --git a/apps/web/core/components/project/create/header.tsx b/apps/web/core/components/project/create/header.tsx index b3a71bd02..e22c1565b 100644 --- a/apps/web/core/components/project/create/header.tsx +++ b/apps/web/core/components/project/create/header.tsx @@ -6,7 +6,7 @@ import { ETabIndices } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { EmojiPicker, EmojiIconPickerTypes } from "@plane/propel/emoji-icon-picker"; // plane types -import { IProject } from "@plane/types"; +import type { IProject } from "@plane/types"; // plane ui import { getFileURL, getTabIndex } from "@plane/utils"; // components diff --git a/apps/web/core/components/project/create/project-create-buttons.tsx b/apps/web/core/components/project/create/project-create-buttons.tsx index 5b4f988ec..fb85c65da 100644 --- a/apps/web/core/components/project/create/project-create-buttons.tsx +++ b/apps/web/core/components/project/create/project-create-buttons.tsx @@ -3,7 +3,7 @@ import { useFormContext } from "react-hook-form"; import { ETabIndices } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; -import { IProject } from "@plane/types"; +import type { IProject } from "@plane/types"; // ui // helpers import { getTabIndex } from "@plane/utils"; diff --git a/apps/web/core/components/project/dropdowns/order-by.tsx b/apps/web/core/components/project/dropdowns/order-by.tsx index 71dd9cac1..b244253ec 100644 --- a/apps/web/core/components/project/dropdowns/order-by.tsx +++ b/apps/web/core/components/project/dropdowns/order-by.tsx @@ -4,7 +4,7 @@ import { ArrowDownWideNarrow, Check, ChevronDown } from "lucide-react"; import { PROJECT_ORDER_BY_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { getButtonStyling } from "@plane/propel/button"; -import { TProjectOrderByOptions } from "@plane/types"; +import type { TProjectOrderByOptions } from "@plane/types"; // ui import { CustomMenu } from "@plane/ui"; // helpers diff --git a/apps/web/core/components/project/filters.tsx b/apps/web/core/components/project/filters.tsx index 7ef46222e..da2e7db29 100644 --- a/apps/web/core/components/project/filters.tsx +++ b/apps/web/core/components/project/filters.tsx @@ -4,7 +4,7 @@ import { useParams } from "next/navigation"; import { ListFilter } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TProjectFilters } from "@plane/types"; +import type { TProjectFilters } from "@plane/types"; import { cn, calculateTotalFilters } from "@plane/utils"; // components import { FiltersDropdown } from "@/components/issues/issue-layouts/filters"; diff --git a/apps/web/core/components/project/form-loader.tsx b/apps/web/core/components/project/form-loader.tsx index 4d2c4c38f..433a5beef 100644 --- a/apps/web/core/components/project/form-loader.tsx +++ b/apps/web/core/components/project/form-loader.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; // components import { Loader } from "@plane/ui"; diff --git a/apps/web/core/components/project/form.tsx b/apps/web/core/components/project/form.tsx index 52c4fd611..1af37a636 100644 --- a/apps/web/core/components/project/form.tsx +++ b/apps/web/core/components/project/form.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useEffect, useState } from "react"; +import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Controller, useForm } from "react-hook-form"; import { Info, Lock } from "lucide-react"; import { NETWORK_CHOICES, PROJECT_TRACKER_ELEMENTS, PROJECT_TRACKER_EVENTS } from "@plane/constants"; @@ -10,7 +11,7 @@ import { Button } from "@plane/propel/button"; import { EmojiPicker } from "@plane/propel/emoji-icon-picker"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { IProject, IWorkspace } from "@plane/types"; +import type { IProject, IWorkspace } from "@plane/types"; import { CustomSelect, Input, TextArea, EmojiIconPickerTypes } from "@plane/ui"; import { renderFormattedDate, getFileURL } from "@plane/utils"; // components diff --git a/apps/web/core/components/project/integration-card.tsx b/apps/web/core/components/project/integration-card.tsx index a066a49bb..87e3519a5 100644 --- a/apps/web/core/components/project/integration-card.tsx +++ b/apps/web/core/components/project/integration-card.tsx @@ -5,7 +5,7 @@ import Image from "next/image"; import { useParams } from "next/navigation"; import useSWR, { mutate } from "swr"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IWorkspaceIntegration } from "@plane/types"; +import type { IWorkspaceIntegration } from "@plane/types"; // components import { SelectRepository, SelectChannel } from "@/components/integration"; // constants diff --git a/apps/web/core/components/project/leave-project-modal.tsx b/apps/web/core/components/project/leave-project-modal.tsx index 1985f5a52..436927a43 100644 --- a/apps/web/core/components/project/leave-project-modal.tsx +++ b/apps/web/core/components/project/leave-project-modal.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, Fragment } from "react"; +import type { FC } from "react"; +import { Fragment } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { Controller, useForm } from "react-hook-form"; @@ -11,7 +12,7 @@ import { Dialog, Transition } from "@headlessui/react"; import { MEMBER_TRACKER_EVENTS } from "@plane/constants"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IProject } from "@plane/types"; +import type { IProject } from "@plane/types"; // ui import { Input } from "@plane/ui"; // constants diff --git a/apps/web/core/components/project/member-header-column.tsx b/apps/web/core/components/project/member-header-column.tsx index 045d46547..63b4464e2 100644 --- a/apps/web/core/components/project/member-header-column.tsx +++ b/apps/web/core/components/project/member-header-column.tsx @@ -2,12 +2,13 @@ import { observer } from "mobx-react"; import { ArrowDownWideNarrow, ArrowUpNarrowWide, CheckIcon, ChevronDownIcon, Eraser, MoveRight } from "lucide-react"; // constants -import { MEMBER_PROPERTY_DETAILS, IProjectMemberDisplayProperties, TMemberOrderByOptions } from "@plane/constants"; +import type { IProjectMemberDisplayProperties, TMemberOrderByOptions } from "@plane/constants"; +import { MEMBER_PROPERTY_DETAILS } from "@plane/constants"; // i18n import { useTranslation } from "@plane/i18n"; // types import { CustomMenu } from "@plane/ui"; -import { IMemberFilters } from "@/store/member/utils"; +import type { IMemberFilters } from "@/store/member/utils"; interface Props { property: keyof IProjectMemberDisplayProperties; diff --git a/apps/web/core/components/project/member-list-item.tsx b/apps/web/core/components/project/member-list-item.tsx index 1130670bc..2d3a23516 100644 --- a/apps/web/core/components/project/member-list-item.tsx +++ b/apps/web/core/components/project/member-list-item.tsx @@ -14,7 +14,7 @@ import { useAppRouter } from "@/hooks/use-app-router"; // plane web imports import { useProjectColumns } from "@/plane-web/components/projects/settings/useProjectColumns"; // store -import { IProjectMemberDetails } from "@/store/member/project/base-project-member.store"; +import type { IProjectMemberDetails } from "@/store/member/project/base-project-member.store"; // local imports import { ConfirmProjectMemberRemove } from "./confirm-project-member-remove"; diff --git a/apps/web/core/components/project/project-feature-update.tsx b/apps/web/core/components/project/project-feature-update.tsx index ca43e2851..602f2e530 100644 --- a/apps/web/core/components/project/project-feature-update.tsx +++ b/apps/web/core/components/project/project-feature-update.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { useTranslation } from "@plane/i18n"; diff --git a/apps/web/core/components/project/project-network-icon.tsx b/apps/web/core/components/project/project-network-icon.tsx index 4133c44c0..d6f99972b 100644 --- a/apps/web/core/components/project/project-network-icon.tsx +++ b/apps/web/core/components/project/project-network-icon.tsx @@ -1,6 +1,6 @@ import { Lock, Globe2 } from "lucide-react"; // plane imports -import { TNetworkChoiceIconKey } from "@plane/constants"; +import type { TNetworkChoiceIconKey } from "@plane/constants"; import { cn } from "@plane/utils"; type Props = { diff --git a/apps/web/core/components/project/project-settings-member-defaults.tsx b/apps/web/core/components/project/project-settings-member-defaults.tsx index 072a38100..f20b1f16c 100644 --- a/apps/web/core/components/project/project-settings-member-defaults.tsx +++ b/apps/web/core/components/project/project-settings-member-defaults.tsx @@ -1,6 +1,7 @@ "use client"; -import { useEffect, ReactNode } from "react"; +import type { ReactNode } from "react"; +import { useEffect } from "react"; import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; import useSWR from "swr"; @@ -8,7 +9,7 @@ import useSWR from "swr"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IProject, IUserLite, IWorkspace } from "@plane/types"; +import type { IProject, IUserLite, IWorkspace } from "@plane/types"; import { Loader, ToggleSwitch } from "@plane/ui"; // constants import { PROJECT_MEMBERS } from "@/constants/fetch-keys"; diff --git a/apps/web/core/components/project/publish-project/modal.tsx b/apps/web/core/components/project/publish-project/modal.tsx index 89f04c491..a69a419f2 100644 --- a/apps/web/core/components/project/publish-project/modal.tsx +++ b/apps/web/core/components/project/publish-project/modal.tsx @@ -9,7 +9,7 @@ import { Check, ExternalLink, Globe2 } from "lucide-react"; import { SPACE_BASE_PATH, SPACE_BASE_URL } from "@plane/constants"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { TProjectPublishLayouts, TProjectPublishSettings } from "@plane/types"; +import type { TProjectPublishLayouts, TProjectPublishSettings } from "@plane/types"; // ui import { Loader, ToggleSwitch, CustomSelect, ModalCore, EModalWidth } from "@plane/ui"; // helpers diff --git a/apps/web/core/components/project/root.tsx b/apps/web/core/components/project/root.tsx index f95b47078..e917ecc4a 100644 --- a/apps/web/core/components/project/root.tsx +++ b/apps/web/core/components/project/root.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; import { useParams, usePathname } from "next/navigation"; // plane imports import { useTranslation } from "@plane/i18n"; -import { TProjectAppliedDisplayFilterKeys, TProjectFilters } from "@plane/types"; +import type { TProjectAppliedDisplayFilterKeys, TProjectFilters } from "@plane/types"; import { calculateTotalFilters } from "@plane/utils"; // components import { PageHead } from "@/components/core/page-title"; diff --git a/apps/web/core/components/project/search-projects.tsx b/apps/web/core/components/project/search-projects.tsx index 8a0df46cd..7d01521a9 100644 --- a/apps/web/core/components/project/search-projects.tsx +++ b/apps/web/core/components/project/search-projects.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useRef, useState } from "react"; +import type { FC } from "react"; +import { useRef, useState } from "react"; import { observer } from "mobx-react"; import { Search, X } from "lucide-react"; // plane hooks diff --git a/apps/web/core/components/project/settings/archive-project/selection.tsx b/apps/web/core/components/project/settings/archive-project/selection.tsx index 954833841..e542396f4 100644 --- a/apps/web/core/components/project/settings/archive-project/selection.tsx +++ b/apps/web/core/components/project/settings/archive-project/selection.tsx @@ -5,7 +5,7 @@ import { ChevronRight, ChevronUp } from "lucide-react"; import { Disclosure, Transition } from "@headlessui/react"; // types import { Button } from "@plane/propel/button"; -import { IProject } from "@plane/types"; +import type { IProject } from "@plane/types"; // ui import { Loader } from "@plane/ui"; diff --git a/apps/web/core/components/project/settings/delete-project-section.tsx b/apps/web/core/components/project/settings/delete-project-section.tsx index 5fb3eeba9..ce397fb6f 100644 --- a/apps/web/core/components/project/settings/delete-project-section.tsx +++ b/apps/web/core/components/project/settings/delete-project-section.tsx @@ -6,7 +6,7 @@ import { Disclosure, Transition } from "@headlessui/react"; // types import { PROJECT_TRACKER_ELEMENTS } from "@plane/constants"; import { Button } from "@plane/propel/button"; -import { IProject } from "@plane/types"; +import type { IProject } from "@plane/types"; // ui import { Loader } from "@plane/ui"; diff --git a/apps/web/core/components/project/settings/features-list.tsx b/apps/web/core/components/project/settings/features-list.tsx index bdcde5cde..c919b7c9e 100644 --- a/apps/web/core/components/project/settings/features-list.tsx +++ b/apps/web/core/components/project/settings/features-list.tsx @@ -1,13 +1,13 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { PROJECT_TRACKER_ELEMENTS, PROJECT_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { setPromiseToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { IProject } from "@plane/types"; +import type { IProject } from "@plane/types"; import { ToggleSwitch } from "@plane/ui"; // components import { SettingsHeading } from "@/components/settings/heading"; diff --git a/apps/web/core/components/project/settings/member-columns.tsx b/apps/web/core/components/project/settings/member-columns.tsx index c82875111..298b9a38b 100644 --- a/apps/web/core/components/project/settings/member-columns.tsx +++ b/apps/web/core/components/project/settings/member-columns.tsx @@ -6,7 +6,7 @@ import { Disclosure } from "@headlessui/react"; // plane imports import { ROLE, EUserPermissions, MEMBER_TRACKER_ELEMENTS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EUserProjectRoles, IUser, IWorkspaceMember, TProjectMembership } from "@plane/types"; +import type { EUserProjectRoles, IUser, IWorkspaceMember, TProjectMembership } from "@plane/types"; import { CustomMenu, CustomSelect } from "@plane/ui"; import { getFileURL } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/readonly/member.tsx b/apps/web/core/components/readonly/member.tsx index 4ad288352..ff9198e03 100644 --- a/apps/web/core/components/readonly/member.tsx +++ b/apps/web/core/components/readonly/member.tsx @@ -1,7 +1,7 @@ "use client"; import { observer } from "mobx-react"; -import { LucideIcon } from "lucide-react"; +import type { LucideIcon } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/readonly/priority.tsx b/apps/web/core/components/readonly/priority.tsx index cac1b2de2..f7a75e51e 100644 --- a/apps/web/core/components/readonly/priority.tsx +++ b/apps/web/core/components/readonly/priority.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; import { ISSUE_PRIORITIES } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { PriorityIcon } from "@plane/propel/icons"; -import { TIssuePriorities } from "@plane/types"; +import type { TIssuePriorities } from "@plane/types"; import { cn } from "@plane/utils"; export type TReadonlyPriorityProps = { diff --git a/apps/web/core/components/rich-filters/add-filters/button.tsx b/apps/web/core/components/rich-filters/add-filters/button.tsx index a9f6581d9..cef5e7145 100644 --- a/apps/web/core/components/rich-filters/add-filters/button.tsx +++ b/apps/web/core/components/rich-filters/add-filters/button.tsx @@ -2,9 +2,11 @@ import React from "react"; import { observer } from "mobx-react"; import { ListFilter } from "lucide-react"; // plane imports -import { IFilterInstance } from "@plane/shared-state"; -import { LOGICAL_OPERATOR, TExternalFilter, TFilterProperty, TSupportedOperators } from "@plane/types"; -import { cn, getButtonStyling, TButtonVariant } from "@plane/ui"; +import type { IFilterInstance } from "@plane/shared-state"; +import type { TExternalFilter, TFilterProperty, TSupportedOperators } from "@plane/types"; +import { LOGICAL_OPERATOR } from "@plane/types"; +import type { TButtonVariant } from "@plane/ui"; +import { cn, getButtonStyling } from "@plane/ui"; // local imports import { AddFilterDropdown } from "./dropdown"; diff --git a/apps/web/core/components/rich-filters/add-filters/dropdown.tsx b/apps/web/core/components/rich-filters/add-filters/dropdown.tsx index 25f138a00..0704daff6 100644 --- a/apps/web/core/components/rich-filters/add-filters/dropdown.tsx +++ b/apps/web/core/components/rich-filters/add-filters/dropdown.tsx @@ -2,8 +2,8 @@ import React from "react"; import { observer } from "mobx-react"; // plane imports import { setToast, TOAST_TYPE } from "@plane/propel/toast"; -import { IFilterInstance } from "@plane/shared-state"; -import { TExternalFilter, TFilterProperty, TSupportedOperators } from "@plane/types"; +import type { IFilterInstance } from "@plane/shared-state"; +import type { TExternalFilter, TFilterProperty, TSupportedOperators } from "@plane/types"; import { CustomSearchSelect } from "@plane/ui"; import { getOperatorForPayload } from "@plane/utils"; diff --git a/apps/web/core/components/rich-filters/filter-item/close-button.tsx b/apps/web/core/components/rich-filters/filter-item/close-button.tsx index e53026850..768d7eaa1 100644 --- a/apps/web/core/components/rich-filters/filter-item/close-button.tsx +++ b/apps/web/core/components/rich-filters/filter-item/close-button.tsx @@ -2,8 +2,8 @@ import React from "react"; import { observer } from "mobx-react"; import { X } from "lucide-react"; // plane imports -import { IFilterInstance } from "@plane/shared-state"; -import { TExternalFilter, TFilterProperty } from "@plane/types"; +import type { IFilterInstance } from "@plane/shared-state"; +import type { TExternalFilter, TFilterProperty } from "@plane/types"; interface FilterItemCloseButtonProps

{ conditionId: string; diff --git a/apps/web/core/components/rich-filters/filter-item/container.tsx b/apps/web/core/components/rich-filters/filter-item/container.tsx index f044c1b32..ecafbf4f3 100644 --- a/apps/web/core/components/rich-filters/filter-item/container.tsx +++ b/apps/web/core/components/rich-filters/filter-item/container.tsx @@ -2,7 +2,7 @@ import { useEffect, useRef } from "react"; // plane imports import { Tooltip } from "@plane/propel/tooltip"; import { cn } from "@plane/propel/utils"; -import { SingleOrArray, TFilterValue } from "@plane/types"; +import type { SingleOrArray, TFilterValue } from "@plane/types"; import { hasValidValue } from "@plane/utils"; interface FilterItemContainerProps { diff --git a/apps/web/core/components/rich-filters/filter-item/invalid.tsx b/apps/web/core/components/rich-filters/filter-item/invalid.tsx index 18c9711a7..18d0605f5 100644 --- a/apps/web/core/components/rich-filters/filter-item/invalid.tsx +++ b/apps/web/core/components/rich-filters/filter-item/invalid.tsx @@ -2,12 +2,12 @@ import React from "react"; import { observer } from "mobx-react"; import { CircleAlert } from "lucide-react"; // plane imports -import { TExternalFilter, TFilterProperty } from "@plane/types"; +import type { TExternalFilter, TFilterProperty } from "@plane/types"; // local imports import { FilterItemCloseButton } from "./close-button"; import { FilterItemContainer } from "./container"; import { FilterItemProperty } from "./property"; -import { IFilterItemProps } from "./root"; +import type { IFilterItemProps } from "./root"; export const InvalidFilterItem = observer(

(props: IFilterItemProps) => { diff --git a/apps/web/core/components/rich-filters/filter-item/property.tsx b/apps/web/core/components/rich-filters/filter-item/property.tsx index 9999a4fb4..36d1848b6 100644 --- a/apps/web/core/components/rich-filters/filter-item/property.tsx +++ b/apps/web/core/components/rich-filters/filter-item/property.tsx @@ -2,8 +2,8 @@ import { observer } from "mobx-react"; // plane imports import { Tooltip } from "@plane/propel/tooltip"; import { cn } from "@plane/propel/utils"; -import { IFilterInstance } from "@plane/shared-state"; -import { TExternalFilter, TFilterProperty, TSupportedOperators } from "@plane/types"; +import type { IFilterInstance } from "@plane/shared-state"; +import type { TExternalFilter, TFilterProperty, TSupportedOperators } from "@plane/types"; // local imports import { AddFilterDropdown } from "../add-filters/dropdown"; import { COMMON_FILTER_ITEM_BORDER_CLASSNAME } from "../shared"; diff --git a/apps/web/core/components/rich-filters/filter-item/root.tsx b/apps/web/core/components/rich-filters/filter-item/root.tsx index 9fa373efd..aa9c9d7bc 100644 --- a/apps/web/core/components/rich-filters/filter-item/root.tsx +++ b/apps/web/core/components/rich-filters/filter-item/root.tsx @@ -1,8 +1,8 @@ import React from "react"; import { observer } from "mobx-react"; // plane imports -import { IFilterInstance } from "@plane/shared-state"; -import { +import type { IFilterInstance } from "@plane/shared-state"; +import type { SingleOrArray, TExternalFilter, TFilterProperty, diff --git a/apps/web/core/components/rich-filters/filter-value-input/date/range.tsx b/apps/web/core/components/rich-filters/filter-value-input/date/range.tsx index 10616b023..0f4ea1e52 100644 --- a/apps/web/core/components/rich-filters/filter-value-input/date/range.tsx +++ b/apps/web/core/components/rich-filters/filter-value-input/date/range.tsx @@ -1,7 +1,7 @@ import React from "react"; import { observer } from "mobx-react"; // plane imports -import { TDateRangeFilterFieldConfig, TFilterConditionNodeForDisplay, TFilterProperty } from "@plane/types"; +import type { TDateRangeFilterFieldConfig, TFilterConditionNodeForDisplay, TFilterProperty } from "@plane/types"; import { cn, isValidDate, renderFormattedPayloadDate, toFilterArray } from "@plane/utils"; // components import { DateRangeDropdown } from "@/components/dropdowns/date-range"; diff --git a/apps/web/core/components/rich-filters/filter-value-input/date/single.tsx b/apps/web/core/components/rich-filters/filter-value-input/date/single.tsx index 5fd60d7a2..70da02cf1 100644 --- a/apps/web/core/components/rich-filters/filter-value-input/date/single.tsx +++ b/apps/web/core/components/rich-filters/filter-value-input/date/single.tsx @@ -1,7 +1,7 @@ import React from "react"; import { observer } from "mobx-react"; // plane imports -import { TDateFilterFieldConfig, TFilterConditionNodeForDisplay, TFilterProperty } from "@plane/types"; +import type { TDateFilterFieldConfig, TFilterConditionNodeForDisplay, TFilterProperty } from "@plane/types"; import { cn, renderFormattedPayloadDate } from "@plane/utils"; import { DateDropdown } from "@/components/dropdowns/date"; import { COMMON_FILTER_ITEM_BORDER_CLASSNAME, EMPTY_FILTER_PLACEHOLDER_TEXT } from "../../shared"; diff --git a/apps/web/core/components/rich-filters/filter-value-input/root.tsx b/apps/web/core/components/rich-filters/filter-value-input/root.tsx index a13640e88..be90b30d9 100644 --- a/apps/web/core/components/rich-filters/filter-value-input/root.tsx +++ b/apps/web/core/components/rich-filters/filter-value-input/root.tsx @@ -2,8 +2,7 @@ import React from "react"; import { observer } from "mobx-react"; // plane imports -import { - FILTER_FIELD_TYPE, +import type { TFilterConditionNode, TFilterValue, TFilterProperty, @@ -14,9 +13,10 @@ import { TDateRangeFilterFieldConfig, TFilterConditionNodeForDisplay, } from "@plane/types"; +import { FILTER_FIELD_TYPE } from "@plane/types"; // local imports import { AdditionalFilterValueInput } from "@/plane-web/components/rich-filters/filter-value-input/root"; -import { TFilterValueInputProps } from "../shared"; +import type { TFilterValueInputProps } from "../shared"; import { DateRangeFilterValueInput } from "./date/range"; import { SingleDateFilterValueInput } from "./date/single"; import { MultiSelectFilterValueInput } from "./select/multi"; diff --git a/apps/web/core/components/rich-filters/filter-value-input/select/multi.tsx b/apps/web/core/components/rich-filters/filter-value-input/select/multi.tsx index 1302cd50b..488e34c5b 100644 --- a/apps/web/core/components/rich-filters/filter-value-input/select/multi.tsx +++ b/apps/web/core/components/rich-filters/filter-value-input/select/multi.tsx @@ -1,7 +1,7 @@ import React, { useState, useEffect, useMemo } from "react"; import { observer } from "mobx-react"; // plane imports -import { +import type { SingleOrArray, IFilterOption, TFilterProperty, diff --git a/apps/web/core/components/rich-filters/filter-value-input/select/selected-options-display.tsx b/apps/web/core/components/rich-filters/filter-value-input/select/selected-options-display.tsx index 348171ee9..bddca2b56 100644 --- a/apps/web/core/components/rich-filters/filter-value-input/select/selected-options-display.tsx +++ b/apps/web/core/components/rich-filters/filter-value-input/select/selected-options-display.tsx @@ -1,7 +1,7 @@ import React from "react"; import { Transition } from "@headlessui/react"; // plane imports -import { SingleOrArray, IFilterOption, TFilterValue } from "@plane/types"; +import type { SingleOrArray, IFilterOption, TFilterValue } from "@plane/types"; import { cn, toFilterArray } from "@plane/utils"; import { EMPTY_FILTER_PLACEHOLDER_TEXT } from "../../shared"; diff --git a/apps/web/core/components/rich-filters/filter-value-input/select/shared.tsx b/apps/web/core/components/rich-filters/filter-value-input/select/shared.tsx index 23fae6196..d4054d845 100644 --- a/apps/web/core/components/rich-filters/filter-value-input/select/shared.tsx +++ b/apps/web/core/components/rich-filters/filter-value-input/select/shared.tsx @@ -1,5 +1,5 @@ // plane imports -import { TSupportedFilterFieldConfigs, IFilterOption, TFilterValue } from "@plane/types"; +import type { TSupportedFilterFieldConfigs, IFilterOption, TFilterValue } from "@plane/types"; import { cn } from "@plane/utils"; // local imports import { COMMON_FILTER_ITEM_BORDER_CLASSNAME } from "../../shared"; diff --git a/apps/web/core/components/rich-filters/filter-value-input/select/single.tsx b/apps/web/core/components/rich-filters/filter-value-input/select/single.tsx index ab475e8ba..0d1894ebe 100644 --- a/apps/web/core/components/rich-filters/filter-value-input/select/single.tsx +++ b/apps/web/core/components/rich-filters/filter-value-input/select/single.tsx @@ -1,7 +1,7 @@ import React, { useState, useEffect, useMemo } from "react"; import { observer } from "mobx-react"; // plane imports -import { +import type { IFilterOption, TFilterProperty, TSingleSelectFilterFieldConfig, diff --git a/apps/web/core/components/rich-filters/filters-row.tsx b/apps/web/core/components/rich-filters/filters-row.tsx index 0d1c200c9..5609ee7d8 100644 --- a/apps/web/core/components/rich-filters/filters-row.tsx +++ b/apps/web/core/components/rich-filters/filters-row.tsx @@ -4,11 +4,12 @@ import { ListFilterPlus } from "lucide-react"; import { Transition } from "@headlessui/react"; // plane imports import { Button } from "@plane/propel/button"; -import { IFilterInstance } from "@plane/shared-state"; -import { TExternalFilter, TFilterProperty } from "@plane/types"; +import type { IFilterInstance } from "@plane/shared-state"; +import type { TExternalFilter, TFilterProperty } from "@plane/types"; import { cn, EHeaderVariant, Header, Loader } from "@plane/ui"; // local imports -import { AddFilterButton, TAddFilterButtonProps } from "./add-filters/button"; +import type { TAddFilterButtonProps } from "./add-filters/button"; +import { AddFilterButton } from "./add-filters/button"; import { FilterItem } from "./filter-item/root"; export type TFiltersRowProps = { diff --git a/apps/web/core/components/rich-filters/filters-toggle.tsx b/apps/web/core/components/rich-filters/filters-toggle.tsx index a1bea1882..2f06186dd 100644 --- a/apps/web/core/components/rich-filters/filters-toggle.tsx +++ b/apps/web/core/components/rich-filters/filters-toggle.tsx @@ -1,8 +1,8 @@ import { observer } from "mobx-react"; import { ListFilter } from "lucide-react"; // plane imports -import { IFilterInstance } from "@plane/shared-state"; -import { TExternalFilter, TFilterProperty } from "@plane/types"; +import type { IFilterInstance } from "@plane/shared-state"; +import type { TExternalFilter, TFilterProperty } from "@plane/types"; import { cn } from "@plane/ui"; // components import { AddFilterButton } from "@/components/rich-filters/add-filters/button"; diff --git a/apps/web/core/components/rich-filters/shared.ts b/apps/web/core/components/rich-filters/shared.ts index 9caf23643..89b115dcf 100644 --- a/apps/web/core/components/rich-filters/shared.ts +++ b/apps/web/core/components/rich-filters/shared.ts @@ -1,4 +1,4 @@ -import { +import type { SingleOrArray, TFilterConditionNodeForDisplay, TFilterProperty, diff --git a/apps/web/core/components/settings/content-wrapper.tsx b/apps/web/core/components/settings/content-wrapper.tsx index 87a695416..6d9be9c5c 100644 --- a/apps/web/core/components/settings/content-wrapper.tsx +++ b/apps/web/core/components/settings/content-wrapper.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { observer } from "mobx-react"; import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/settings/sidebar/nav-item.tsx b/apps/web/core/components/settings/sidebar/nav-item.tsx index a2991371f..9f2b17d40 100644 --- a/apps/web/core/components/settings/sidebar/nav-item.tsx +++ b/apps/web/core/components/settings/sidebar/nav-item.tsx @@ -5,7 +5,7 @@ import { useParams } from "next/navigation"; import { Disclosure } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { EUserWorkspaceRoles } from "@plane/types"; +import type { EUserWorkspaceRoles } from "@plane/types"; import { cn, joinUrlPath } from "@plane/utils"; // hooks import { useUserSettings } from "@/hooks/store/user"; diff --git a/apps/web/core/components/settings/sidebar/root.tsx b/apps/web/core/components/settings/sidebar/root.tsx index 7dd07744f..9f243746c 100644 --- a/apps/web/core/components/settings/sidebar/root.tsx +++ b/apps/web/core/components/settings/sidebar/root.tsx @@ -2,7 +2,8 @@ import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; import { cn } from "@plane/utils"; import { SettingsSidebarHeader } from "./header"; -import SettingsSidebarNavItem, { TSettingItem } from "./nav-item"; +import type { TSettingItem } from "./nav-item"; +import SettingsSidebarNavItem from "./nav-item"; interface SettingsSidebarProps { isMobile?: boolean; diff --git a/apps/web/core/components/sidebar/resizable-sidebar.tsx b/apps/web/core/components/sidebar/resizable-sidebar.tsx index ddfd2ef9f..e3ea4384d 100644 --- a/apps/web/core/components/sidebar/resizable-sidebar.tsx +++ b/apps/web/core/components/sidebar/resizable-sidebar.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { Dispatch, ReactElement, SetStateAction, useCallback, useEffect, useState, useRef } from "react"; +import type { Dispatch, ReactElement, SetStateAction } from "react"; +import React, { useCallback, useEffect, useState, useRef } from "react"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/sidebar/sidebar-navigation.tsx b/apps/web/core/components/sidebar/sidebar-navigation.tsx index 0e52c6ef9..e2313904a 100644 --- a/apps/web/core/components/sidebar/sidebar-navigation.tsx +++ b/apps/web/core/components/sidebar/sidebar-navigation.tsx @@ -1,5 +1,6 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/sidebar/sidebar-wrapper.tsx b/apps/web/core/components/sidebar/sidebar-wrapper.tsx index 386f590cd..b79890ad9 100644 --- a/apps/web/core/components/sidebar/sidebar-wrapper.tsx +++ b/apps/web/core/components/sidebar/sidebar-wrapper.tsx @@ -1,4 +1,5 @@ -import { FC, useEffect, useRef } from "react"; +import type { FC } from "react"; +import { useEffect, useRef } from "react"; import { observer } from "mobx-react"; // plane helpers import { useOutsideClickDetector } from "@plane/hooks"; diff --git a/apps/web/core/components/stickies/layout/sticky-dnd-wrapper.tsx b/apps/web/core/components/stickies/layout/sticky-dnd-wrapper.tsx index 203b3d154..76e2ab3ab 100644 --- a/apps/web/core/components/stickies/layout/sticky-dnd-wrapper.tsx +++ b/apps/web/core/components/stickies/layout/sticky-dnd-wrapper.tsx @@ -4,11 +4,8 @@ import type { DropTargetRecord, DragLocationHistory, } from "@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types"; -import { - draggable, - dropTargetForElements, - ElementDragPayload, -} from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; +import type { ElementDragPayload } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; +import { draggable, dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; import { pointerOutsideOfPreview } from "@atlaskit/pragmatic-drag-and-drop/element/pointer-outside-of-preview"; import { setCustomNativeDragPreview } from "@atlaskit/pragmatic-drag-and-drop/element/set-custom-native-drag-preview"; import { attachInstruction } from "@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item"; @@ -16,7 +13,7 @@ import { observer } from "mobx-react"; import { usePathname } from "next/navigation"; import { createRoot } from "react-dom/client"; // plane types -import { InstructionType } from "@plane/types"; +import type { InstructionType } from "@plane/types"; // plane ui import { DropIndicator } from "@plane/ui"; // components diff --git a/apps/web/core/components/stickies/layout/sticky.helpers.ts b/apps/web/core/components/stickies/layout/sticky.helpers.ts index 930eb10aa..080788556 100644 --- a/apps/web/core/components/stickies/layout/sticky.helpers.ts +++ b/apps/web/core/components/stickies/layout/sticky.helpers.ts @@ -1,5 +1,5 @@ import { extractInstruction } from "@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item"; -import { InstructionType, IPragmaticPayloadLocation, TDropTarget } from "@plane/types"; +import type { InstructionType, IPragmaticPayloadLocation, TDropTarget } from "@plane/types"; export type TargetData = { id: string; diff --git a/apps/web/core/components/stickies/modal/search.tsx b/apps/web/core/components/stickies/modal/search.tsx index ab791c486..d8b2f8968 100644 --- a/apps/web/core/components/stickies/modal/search.tsx +++ b/apps/web/core/components/stickies/modal/search.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useCallback, useRef, useState } from "react"; +import type { FC } from "react"; +import { useCallback, useRef, useState } from "react"; import { debounce } from "lodash-es"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; diff --git a/apps/web/core/components/stickies/sticky/inputs.tsx b/apps/web/core/components/stickies/sticky/inputs.tsx index 6479d1833..dad7b4761 100644 --- a/apps/web/core/components/stickies/sticky/inputs.tsx +++ b/apps/web/core/components/stickies/sticky/inputs.tsx @@ -4,7 +4,7 @@ import { usePathname } from "next/navigation"; import { Controller, useForm } from "react-hook-form"; // plane imports import type { EditorRefApi } from "@plane/editor"; -import { TSticky } from "@plane/types"; +import type { TSticky } from "@plane/types"; import { cn, isCommentEmpty } from "@plane/utils"; import { StickyEditor } from "@/components/editor/sticky-editor"; // hooks diff --git a/apps/web/core/components/stickies/sticky/root.tsx b/apps/web/core/components/stickies/sticky/root.tsx index bbc2c2c9c..b6af634cc 100644 --- a/apps/web/core/components/stickies/sticky/root.tsx +++ b/apps/web/core/components/stickies/sticky/root.tsx @@ -3,7 +3,7 @@ import { debounce } from "lodash-es"; import { observer } from "mobx-react"; import { Minimize2 } from "lucide-react"; // plane types -import { TSticky } from "@plane/types"; +import type { TSticky } from "@plane/types"; // plane utils import { cn } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/stickies/sticky/sticky-item-drag-handle.tsx b/apps/web/core/components/stickies/sticky/sticky-item-drag-handle.tsx index 2269a9db4..40405dfa5 100644 --- a/apps/web/core/components/stickies/sticky/sticky-item-drag-handle.tsx +++ b/apps/web/core/components/stickies/sticky/sticky-item-drag-handle.tsx @@ -1,5 +1,6 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; // ui import { DragHandle } from "@plane/ui"; diff --git a/apps/web/core/components/stickies/sticky/use-operations.tsx b/apps/web/core/components/stickies/sticky/use-operations.tsx index 42c933b56..c8be71705 100644 --- a/apps/web/core/components/stickies/sticky/use-operations.tsx +++ b/apps/web/core/components/stickies/sticky/use-operations.tsx @@ -2,7 +2,7 @@ import { useMemo } from "react"; // plane types import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { InstructionType, TSticky } from "@plane/types"; +import type { InstructionType, TSticky } from "@plane/types"; // plane utils import { isCommentEmpty } from "@plane/utils"; // components diff --git a/apps/web/core/components/ui/labels-list.tsx b/apps/web/core/components/ui/labels-list.tsx index bf9626b2f..142121351 100644 --- a/apps/web/core/components/ui/labels-list.tsx +++ b/apps/web/core/components/ui/labels-list.tsx @@ -1,9 +1,9 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; // ui import { Tooltip } from "@plane/propel/tooltip"; -import { IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; // types import { usePlatformOS } from "@/hooks/use-platform-os"; // hooks diff --git a/apps/web/core/components/user/user-greetings.tsx b/apps/web/core/components/user/user-greetings.tsx index 1327d2686..99f3a3e7d 100644 --- a/apps/web/core/components/user/user-greetings.tsx +++ b/apps/web/core/components/user/user-greetings.tsx @@ -1,8 +1,8 @@ -import { FC } from "react"; +import type { FC } from "react"; // plane types import { useTranslation } from "@plane/i18n"; // hooks -import { IUser } from "@plane/types"; +import type { IUser } from "@plane/types"; import { useCurrentTime } from "@/hooks/use-current-time"; // types diff --git a/apps/web/core/components/views/applied-filters/access.tsx b/apps/web/core/components/views/applied-filters/access.tsx index d328f61e1..61be5831c 100644 --- a/apps/web/core/components/views/applied-filters/access.tsx +++ b/apps/web/core/components/views/applied-filters/access.tsx @@ -4,7 +4,7 @@ import { X } from "lucide-react"; // constants // helpers import { useTranslation } from "@plane/i18n"; -import { EViewAccess } from "@plane/types"; +import type { EViewAccess } from "@plane/types"; import { VIEW_ACCESS_SPECIFIERS } from "@/helpers/views.helper"; type Props = { diff --git a/apps/web/core/components/views/applied-filters/root.tsx b/apps/web/core/components/views/applied-filters/root.tsx index ec55cc979..ce94229e8 100644 --- a/apps/web/core/components/views/applied-filters/root.tsx +++ b/apps/web/core/components/views/applied-filters/root.tsx @@ -1,7 +1,7 @@ import { X } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { EViewAccess, TViewFilterProps } from "@plane/types"; +import type { EViewAccess, TViewFilterProps } from "@plane/types"; import { Tag } from "@plane/ui"; import { replaceUnderscoreIfSnakeCase } from "@plane/utils"; // components diff --git a/apps/web/core/components/views/delete-view-modal.tsx b/apps/web/core/components/views/delete-view-modal.tsx index 28efbcc0f..ccb32d655 100644 --- a/apps/web/core/components/views/delete-view-modal.tsx +++ b/apps/web/core/components/views/delete-view-modal.tsx @@ -6,7 +6,7 @@ import { useParams, useRouter } from "next/navigation"; // types import { PROJECT_VIEW_TRACKER_EVENTS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IProjectView } from "@plane/types"; +import type { IProjectView } from "@plane/types"; // ui import { AlertModalCore } from "@plane/ui"; // helpers diff --git a/apps/web/core/components/views/filters/filter-selection.tsx b/apps/web/core/components/views/filters/filter-selection.tsx index dbb370dd6..694adea24 100644 --- a/apps/web/core/components/views/filters/filter-selection.tsx +++ b/apps/web/core/components/views/filters/filter-selection.tsx @@ -1,7 +1,8 @@ import { useState } from "react"; import { observer } from "mobx-react"; import { Search, X } from "lucide-react"; -import { EViewAccess, TViewFilterProps, TViewFilters } from "@plane/types"; +import type { TViewFilterProps, TViewFilters } from "@plane/types"; +import { EViewAccess } from "@plane/types"; // components import { FilterCreatedDate } from "@/components/common/filters/created-at"; import { FilterCreatedBy } from "@/components/common/filters/created-by"; diff --git a/apps/web/core/components/views/filters/order-by.tsx b/apps/web/core/components/views/filters/order-by.tsx index f0cb6eff0..8b65a29b3 100644 --- a/apps/web/core/components/views/filters/order-by.tsx +++ b/apps/web/core/components/views/filters/order-by.tsx @@ -5,7 +5,7 @@ import { ArrowDownWideNarrow, ArrowUpWideNarrow, Check, ChevronDown } from "luci import { VIEW_SORT_BY_OPTIONS, VIEW_SORTING_KEY_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { getButtonStyling } from "@plane/propel/button"; -import { TViewFiltersSortBy, TViewFiltersSortKey } from "@plane/types"; +import type { TViewFiltersSortBy, TViewFiltersSortKey } from "@plane/types"; // ui import { CustomMenu } from "@plane/ui"; // constants diff --git a/apps/web/core/components/views/form.tsx b/apps/web/core/components/views/form.tsx index 40f7ab7f6..3ad92c769 100644 --- a/apps/web/core/components/views/form.tsx +++ b/apps/web/core/components/views/form.tsx @@ -9,15 +9,14 @@ import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { EmojiPicker, EmojiIconPickerTypes } from "@plane/propel/emoji-icon-picker"; import { ViewsIcon } from "@plane/propel/icons"; -import { - EViewAccess, +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, IProjectView, EIssueLayoutTypes, - EIssuesStoreType, IIssueFilters, } from "@plane/types"; +import { EViewAccess, EIssuesStoreType } from "@plane/types"; import { Input, TextArea } from "@plane/ui"; import { getComputedDisplayFilters, getComputedDisplayProperties, getTabIndex } from "@plane/utils"; // components diff --git a/apps/web/core/components/views/modal.tsx b/apps/web/core/components/views/modal.tsx index 48a75a159..a13dd97d2 100644 --- a/apps/web/core/components/views/modal.tsx +++ b/apps/web/core/components/views/modal.tsx @@ -1,11 +1,12 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // types import { PROJECT_VIEW_TRACKER_EVENTS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssuesStoreType, IProjectView } from "@plane/types"; +import type { IProjectView } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; // ui import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; // hooks diff --git a/apps/web/core/components/views/quick-actions.tsx b/apps/web/core/components/views/quick-actions.tsx index 9d98a6147..96cf8b4c3 100644 --- a/apps/web/core/components/views/quick-actions.tsx +++ b/apps/web/core/components/views/quick-actions.tsx @@ -5,9 +5,10 @@ import { observer } from "mobx-react"; // types import { EUserPermissions, EUserPermissionsLevel, PROJECT_VIEW_TRACKER_ELEMENTS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IProjectView } from "@plane/types"; +import type { IProjectView } from "@plane/types"; // ui -import { ContextMenu, CustomMenu, TContextMenuItem } from "@plane/ui"; +import type { TContextMenuItem } from "@plane/ui"; +import { ContextMenu, CustomMenu } from "@plane/ui"; import { copyUrlToClipboard, cn } from "@plane/utils"; // helpers import { captureClick } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/components/views/view-list-item-action.tsx b/apps/web/core/components/views/view-list-item-action.tsx index 181d34c0d..de1a1452e 100644 --- a/apps/web/core/components/views/view-list-item-action.tsx +++ b/apps/web/core/components/views/view-list-item-action.tsx @@ -1,4 +1,5 @@ -import React, { FC, useState } from "react"; +import type { FC } from "react"; +import React, { useState } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { Earth, Lock } from "lucide-react"; @@ -6,7 +7,8 @@ import { Earth, Lock } from "lucide-react"; import { EUserPermissions, EUserPermissionsLevel, IS_FAVORITE_MENU_OPEN } from "@plane/constants"; import { useLocalStorage } from "@plane/hooks"; import { Tooltip } from "@plane/propel/tooltip"; -import { EViewAccess, IProjectView } from "@plane/types"; +import type { IProjectView } from "@plane/types"; +import { EViewAccess } from "@plane/types"; import { FavoriteStar } from "@plane/ui"; import { getPublishViewLink } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/views/view-list-item.tsx b/apps/web/core/components/views/view-list-item.tsx index 63877adc6..2ec2db74b 100644 --- a/apps/web/core/components/views/view-list-item.tsx +++ b/apps/web/core/components/views/view-list-item.tsx @@ -1,11 +1,12 @@ "use client"; -import { FC, useRef } from "react"; +import type { FC } from "react"; +import { useRef } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { ViewsIcon } from "@plane/propel/icons"; // types -import { IProjectView } from "@plane/types"; +import type { IProjectView } from "@plane/types"; // components import { Logo } from "@/components/common/logo"; import { ListItem } from "@/components/core/list"; diff --git a/apps/web/core/components/web-hooks/create-webhook-modal.tsx b/apps/web/core/components/web-hooks/create-webhook-modal.tsx index 0b039702d..a956de428 100644 --- a/apps/web/core/components/web-hooks/create-webhook-modal.tsx +++ b/apps/web/core/components/web-hooks/create-webhook-modal.tsx @@ -6,7 +6,7 @@ import { useParams } from "next/navigation"; import { WORKSPACE_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IWebhook, IWorkspace, TWebhookEventTypes } from "@plane/types"; +import type { IWebhook, IWorkspace, TWebhookEventTypes } from "@plane/types"; // ui import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; // helpers diff --git a/apps/web/core/components/web-hooks/delete-webhook-modal.tsx b/apps/web/core/components/web-hooks/delete-webhook-modal.tsx index f7307a67f..afbad67cc 100644 --- a/apps/web/core/components/web-hooks/delete-webhook-modal.tsx +++ b/apps/web/core/components/web-hooks/delete-webhook-modal.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC, useState } from "react"; +import type { FC } from "react"; +import React, { useState } from "react"; import { useParams } from "next/navigation"; // ui import { WORKSPACE_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; diff --git a/apps/web/core/components/web-hooks/form/event-types.tsx b/apps/web/core/components/web-hooks/form/event-types.tsx index 4cff42ff9..5bb8d442d 100644 --- a/apps/web/core/components/web-hooks/form/event-types.tsx +++ b/apps/web/core/components/web-hooks/form/event-types.tsx @@ -1,6 +1,6 @@ // types import { useTranslation } from "@plane/i18n"; -import { TWebhookEventTypes } from "@plane/types"; +import type { TWebhookEventTypes } from "@plane/types"; type Props = { value: string; diff --git a/apps/web/core/components/web-hooks/form/form.tsx b/apps/web/core/components/web-hooks/form/form.tsx index ae29d910c..e2e481dad 100644 --- a/apps/web/core/components/web-hooks/form/form.tsx +++ b/apps/web/core/components/web-hooks/form/form.tsx @@ -1,12 +1,13 @@ "use client"; -import React, { FC, useEffect, useState } from "react"; +import type { FC } from "react"; +import React, { useEffect, useState } from "react"; import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; import { WORKSPACE_SETTINGS_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; -import { IWebhook, TWebhookEventTypes } from "@plane/types"; +import type { IWebhook, TWebhookEventTypes } from "@plane/types"; // hooks import { WebhookIndividualEventOptions, diff --git a/apps/web/core/components/web-hooks/form/individual-event-options.tsx b/apps/web/core/components/web-hooks/form/individual-event-options.tsx index 751d578f3..a8216c653 100644 --- a/apps/web/core/components/web-hooks/form/individual-event-options.tsx +++ b/apps/web/core/components/web-hooks/form/individual-event-options.tsx @@ -1,5 +1,6 @@ -import { Control, Controller } from "react-hook-form"; -import { IWebhook } from "@plane/types"; +import type { Control } from "react-hook-form"; +import { Controller } from "react-hook-form"; +import type { IWebhook } from "@plane/types"; export const INDIVIDUAL_WEBHOOK_OPTIONS: { key: keyof IWebhook; diff --git a/apps/web/core/components/web-hooks/form/secret-key.tsx b/apps/web/core/components/web-hooks/form/secret-key.tsx index 49acb50c2..9657d6be2 100644 --- a/apps/web/core/components/web-hooks/form/secret-key.tsx +++ b/apps/web/core/components/web-hooks/form/secret-key.tsx @@ -1,6 +1,7 @@ "use client"; -import { useState, FC } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { range } from "lodash-es"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; @@ -10,7 +11,7 @@ import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { IWebhook } from "@plane/types"; +import type { IWebhook } from "@plane/types"; // ui import { csvDownload, copyTextToClipboard } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/web-hooks/form/toggle.tsx b/apps/web/core/components/web-hooks/form/toggle.tsx index 76dfca3ed..7415cf545 100644 --- a/apps/web/core/components/web-hooks/form/toggle.tsx +++ b/apps/web/core/components/web-hooks/form/toggle.tsx @@ -1,9 +1,10 @@ "use client"; -import { Control, Controller } from "react-hook-form"; +import type { Control } from "react-hook-form"; +import { Controller } from "react-hook-form"; // constants import { WORKSPACE_SETTINGS_TRACKER_ELEMENTS } from "@plane/constants"; -import { IWebhook } from "@plane/types"; +import type { IWebhook } from "@plane/types"; // ui import { ToggleSwitch } from "@plane/ui"; // hooks diff --git a/apps/web/core/components/web-hooks/generated-hook-details.tsx b/apps/web/core/components/web-hooks/generated-hook-details.tsx index 66a916b16..9ce62cffb 100644 --- a/apps/web/core/components/web-hooks/generated-hook-details.tsx +++ b/apps/web/core/components/web-hooks/generated-hook-details.tsx @@ -4,7 +4,7 @@ // ui import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; -import { IWebhook } from "@plane/types"; +import type { IWebhook } from "@plane/types"; // types import { WebhookSecretKey } from "./form"; diff --git a/apps/web/core/components/web-hooks/utils.ts b/apps/web/core/components/web-hooks/utils.ts index 8ae441234..ea8447f57 100644 --- a/apps/web/core/components/web-hooks/utils.ts +++ b/apps/web/core/components/web-hooks/utils.ts @@ -1,5 +1,5 @@ // helpers -import { IWebhook, IWorkspace } from "@plane/types"; +import type { IWebhook, IWorkspace } from "@plane/types"; import { renderFormattedPayloadDate } from "@plane/utils"; // types diff --git a/apps/web/core/components/web-hooks/webhooks-list-item.tsx b/apps/web/core/components/web-hooks/webhooks-list-item.tsx index 7cdf4c00a..d78c002c5 100644 --- a/apps/web/core/components/web-hooks/webhooks-list-item.tsx +++ b/apps/web/core/components/web-hooks/webhooks-list-item.tsx @@ -1,10 +1,10 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import Link from "next/link"; import { useParams } from "next/navigation"; import { WORKSPACE_SETTINGS_TRACKER_ELEMENTS, WORKSPACE_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; -import { IWebhook } from "@plane/types"; +import type { IWebhook } from "@plane/types"; // hooks import { ToggleSwitch } from "@plane/ui"; import { captureElementAndEvent } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/components/work-item-filters/filters-hoc/base.tsx b/apps/web/core/components/work-item-filters/filters-hoc/base.tsx index 903e38f9b..a96b522d5 100644 --- a/apps/web/core/components/work-item-filters/filters-hoc/base.tsx +++ b/apps/web/core/components/work-item-filters/filters-hoc/base.tsx @@ -2,18 +2,16 @@ import { useEffect, useMemo } from "react"; import { observer } from "mobx-react"; import { v4 as uuidv4 } from "uuid"; // plane imports -import { TSaveViewOptions, TUpdateViewOptions } from "@plane/constants"; -import { IWorkItemFilterInstance } from "@plane/shared-state"; -import { IIssueFilters, TWorkItemFilterExpression } from "@plane/types"; +import type { TSaveViewOptions, TUpdateViewOptions } from "@plane/constants"; +import type { IWorkItemFilterInstance } from "@plane/shared-state"; +import type { IIssueFilters, TWorkItemFilterExpression } from "@plane/types"; // store hooks import { useWorkItemFilters } from "@/hooks/store/work-item-filters/use-work-item-filters"; // plane web imports -import { - TWorkItemFiltersEntityProps, - useWorkItemFiltersConfig, -} from "@/plane-web/hooks/work-item-filters/use-work-item-filters-config"; +import type { TWorkItemFiltersEntityProps } from "@/plane-web/hooks/work-item-filters/use-work-item-filters-config"; +import { useWorkItemFiltersConfig } from "@/plane-web/hooks/work-item-filters/use-work-item-filters-config"; // local imports -import { TSharedWorkItemFiltersHOCProps, TSharedWorkItemFiltersProps } from "./shared"; +import type { TSharedWorkItemFiltersHOCProps, TSharedWorkItemFiltersProps } from "./shared"; type TAdditionalWorkItemFiltersProps = { saveViewOptions?: TSaveViewOptions; diff --git a/apps/web/core/components/work-item-filters/filters-hoc/project-level.tsx b/apps/web/core/components/work-item-filters/filters-hoc/project-level.tsx index 6ef0ae8ff..9a7aa5c98 100644 --- a/apps/web/core/components/work-item-filters/filters-hoc/project-level.tsx +++ b/apps/web/core/components/work-item-filters/filters-hoc/project-level.tsx @@ -4,7 +4,8 @@ import { observer } from "mobx-react"; // plane imports import { EUserPermissionsLevel, PROJECT_VIEW_TRACKER_EVENTS } from "@plane/constants"; import { setToast, TOAST_TYPE } from "@plane/propel/toast"; -import { EUserProjectRoles, EViewAccess, IProjectView, TWorkItemFilterExpression } from "@plane/types"; +import type { IProjectView, TWorkItemFilterExpression } from "@plane/types"; +import { EUserProjectRoles, EViewAccess } from "@plane/types"; // components import { removeNillKeys } from "@/components/issues/issue-layouts/utils"; import { CreateUpdateProjectViewModal } from "@/components/views/modal"; @@ -22,7 +23,7 @@ import { useUser, useUserPermissions } from "@/hooks/store/user"; import { getAdditionalProjectLevelFiltersHOCProps } from "@/plane-web/helpers/work-item-filters/project-level"; // local imports import { WorkItemFiltersHOC } from "./base"; -import { TEnableSaveViewProps, TEnableUpdateViewProps, TSharedWorkItemFiltersHOCProps } from "./shared"; +import type { TEnableSaveViewProps, TEnableUpdateViewProps, TSharedWorkItemFiltersHOCProps } from "./shared"; type TProjectLevelWorkItemFiltersHOCProps = TSharedWorkItemFiltersHOCProps & { workspaceSlug: string; diff --git a/apps/web/core/components/work-item-filters/filters-hoc/shared.ts b/apps/web/core/components/work-item-filters/filters-hoc/shared.ts index 5d0c88e34..01d585a67 100644 --- a/apps/web/core/components/work-item-filters/filters-hoc/shared.ts +++ b/apps/web/core/components/work-item-filters/filters-hoc/shared.ts @@ -1,7 +1,7 @@ // plane imports -import { TSaveViewOptions, TUpdateViewOptions } from "@plane/constants"; -import { IWorkItemFilterInstance } from "@plane/shared-state"; -import { EIssuesStoreType, IIssueFilters, TWorkItemFilterExpression, TWorkItemFilterProperty } from "@plane/types"; +import type { TSaveViewOptions, TUpdateViewOptions } from "@plane/constants"; +import type { IWorkItemFilterInstance } from "@plane/shared-state"; +import type { EIssuesStoreType, IIssueFilters, TWorkItemFilterExpression, TWorkItemFilterProperty } from "@plane/types"; export type TSharedWorkItemFiltersProps = { entityType: EIssuesStoreType; // entity type (project, cycle, workspace, teamspace, etc) diff --git a/apps/web/core/components/work-item-filters/filters-hoc/workspace-level.tsx b/apps/web/core/components/work-item-filters/filters-hoc/workspace-level.tsx index a4b2f57cc..26520f85d 100644 --- a/apps/web/core/components/work-item-filters/filters-hoc/workspace-level.tsx +++ b/apps/web/core/components/work-item-filters/filters-hoc/workspace-level.tsx @@ -4,7 +4,8 @@ import { observer } from "mobx-react"; // plane imports import { DEFAULT_GLOBAL_VIEWS_LIST, EUserPermissionsLevel, GLOBAL_VIEW_TRACKER_EVENTS } from "@plane/constants"; import { setToast, TOAST_TYPE } from "@plane/propel/toast"; -import { EUserProjectRoles, EViewAccess, IWorkspaceView, TWorkItemFilterExpression } from "@plane/types"; +import type { IWorkspaceView, TWorkItemFilterExpression } from "@plane/types"; +import { EUserProjectRoles, EViewAccess } from "@plane/types"; // components import { removeNillKeys } from "@/components/issues/issue-layouts/utils"; import { CreateUpdateWorkspaceViewModal } from "@/components/workspace/views/modal"; @@ -17,7 +18,7 @@ import { useProject } from "@/hooks/store/use-project"; import { useUser, useUserPermissions } from "@/hooks/store/user"; // local imports import { WorkItemFiltersHOC } from "./base"; -import { TEnableSaveViewProps, TEnableUpdateViewProps, TSharedWorkItemFiltersHOCProps } from "./shared"; +import type { TEnableSaveViewProps, TEnableUpdateViewProps, TSharedWorkItemFiltersHOCProps } from "./shared"; type TWorkspaceLevelWorkItemFiltersHOCProps = TSharedWorkItemFiltersHOCProps & { workspaceSlug: string; diff --git a/apps/web/core/components/work-item-filters/filters-row.tsx b/apps/web/core/components/work-item-filters/filters-row.tsx index 6faa061a3..8eb9b6aac 100644 --- a/apps/web/core/components/work-item-filters/filters-row.tsx +++ b/apps/web/core/components/work-item-filters/filters-row.tsx @@ -1,9 +1,10 @@ import { observer } from "mobx-react"; // plane imports -import { IWorkItemFilterInstance } from "@plane/shared-state"; -import { TWorkItemFilterExpression, TWorkItemFilterProperty } from "@plane/types"; +import type { IWorkItemFilterInstance } from "@plane/shared-state"; +import type { TWorkItemFilterExpression, TWorkItemFilterProperty } from "@plane/types"; // components -import { FiltersRow, TFiltersRowProps } from "@/components/rich-filters/filters-row"; +import type { TFiltersRowProps } from "@/components/rich-filters/filters-row"; +import { FiltersRow } from "@/components/rich-filters/filters-row"; type TWorkItemFiltersRowProps = TFiltersRowProps & { filter: IWorkItemFilterInstance; diff --git a/apps/web/core/components/work-item-filters/filters-toggle.tsx b/apps/web/core/components/work-item-filters/filters-toggle.tsx index 1e839333a..b1d4bde1e 100644 --- a/apps/web/core/components/work-item-filters/filters-toggle.tsx +++ b/apps/web/core/components/work-item-filters/filters-toggle.tsx @@ -1,6 +1,6 @@ import { observer } from "mobx-react"; // plane imports -import { EIssuesStoreType } from "@plane/types"; +import type { EIssuesStoreType } from "@plane/types"; // components import { FiltersToggle } from "@/components/rich-filters/filters-toggle"; // hooks diff --git a/apps/web/core/components/workspace-notifications/notification-app-sidebar-option.tsx b/apps/web/core/components/workspace-notifications/notification-app-sidebar-option.tsx index d1397250e..5c900809f 100644 --- a/apps/web/core/components/workspace-notifications/notification-app-sidebar-option.tsx +++ b/apps/web/core/components/workspace-notifications/notification-app-sidebar-option.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import useSWR from "swr"; // plane imports diff --git a/apps/web/core/components/workspace-notifications/sidebar/empty-state.tsx b/apps/web/core/components/workspace-notifications/sidebar/empty-state.tsx index d71660892..7d61fcc6b 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/empty-state.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/empty-state.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { ENotificationTab } from "@plane/constants"; diff --git a/apps/web/core/components/workspace-notifications/sidebar/filters/applied-filter.tsx b/apps/web/core/components/workspace-notifications/sidebar/filters/applied-filter.tsx index ff2d36634..9fcf348df 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/filters/applied-filter.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/filters/applied-filter.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { X } from "lucide-react"; // plane imports diff --git a/apps/web/core/components/workspace-notifications/sidebar/filters/menu/menu-option-item.tsx b/apps/web/core/components/workspace-notifications/sidebar/filters/menu/menu-option-item.tsx index a8ed60f30..2d7c83544 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/filters/menu/menu-option-item.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/filters/menu/menu-option-item.tsx @@ -1,10 +1,10 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { Check } from "lucide-react"; // plane imports -import { ENotificationFilterType } from "@plane/constants"; +import type { ENotificationFilterType } from "@plane/constants"; // helpers import { cn } from "@plane/utils"; // hooks diff --git a/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx index dfbf82d3c..aa856b43c 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx @@ -1,10 +1,11 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { ListFilter } from "lucide-react"; // plane imports -import { ENotificationFilterType, FILTER_TYPE_OPTIONS } from "@plane/constants"; +import type { ENotificationFilterType } from "@plane/constants"; +import { FILTER_TYPE_OPTIONS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Tooltip } from "@plane/propel/tooltip"; import { PopoverMenu } from "@plane/ui"; diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/menu-item.tsx b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/menu-item.tsx index 38a33ee52..f778fe556 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/menu-item.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/menu-item.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // components import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx index fde618e70..cd9a75946 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx @@ -1,12 +1,12 @@ "use client"; -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { observer } from "mobx-react"; import { Check, CheckCircle, Clock } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; import { ArchiveIcon } from "@plane/propel/icons"; -import { TNotificationFilter } from "@plane/types"; +import type { TNotificationFilter } from "@plane/types"; import { PopoverMenu } from "@plane/ui"; // hooks import { useWorkspaceNotifications } from "@/hooks/store/notifications"; diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx index 91a265285..2ceb20389 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { CheckCheck, RefreshCw } from "lucide-react"; // plane imports diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/header/root.tsx index 160f697e9..63e47a374 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/header/root.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/header/root.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; // plane imports import { useTranslation } from "@plane/i18n"; diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/content.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/content.tsx index 141e9ad5b..44e0e7b74 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/content.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/content.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; // plane imports import type { TNotification } from "@plane/types"; import { diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/item.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/item.tsx index c23b8c462..eb94f3954 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/item.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/item.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { Clock } from "lucide-react"; // plane imports diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/archive.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/archive.tsx index 38ab6767a..b77ae7689 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/archive.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/archive.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { ArchiveRestore } from "lucide-react"; // plane imports @@ -13,7 +13,7 @@ import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; // hooks import { useWorkspaceNotifications } from "@/hooks/store/notifications"; // store -import { INotification } from "@/store/notifications/notification"; +import type { INotification } from "@/store/notifications/notification"; // local imports import { NotificationItemOptionButton } from "./button"; diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/button.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/button.tsx index 3aa2a33ff..3c45a4690 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/button.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/button.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC, ReactNode } from "react"; +import type { FC, ReactNode } from "react"; import { Tooltip } from "@plane/propel/tooltip"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/read.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/read.tsx index b2ff86b90..490338209 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/read.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/read.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { MessageSquare } from "lucide-react"; // plane imports @@ -12,7 +12,7 @@ import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; // hooks import { useWorkspaceNotifications } from "@/hooks/store/notifications"; // store -import { INotification } from "@/store/notifications/notification"; +import type { INotification } from "@/store/notifications/notification"; // local imports import { NotificationItemOptionButton } from "./button"; diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/root.tsx index c20664d54..981763b36 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/root.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/root.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC, Dispatch, SetStateAction } from "react"; +import type { FC, Dispatch, SetStateAction } from "react"; import { observer } from "mobx-react"; // plane imports import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/modal.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/modal.tsx index f3da6b40e..e68e09582 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/modal.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/modal.tsx @@ -1,6 +1,7 @@ "use client"; -import { Fragment, FC } from "react"; +import type { FC } from "react"; +import { Fragment } from "react"; import { useParams } from "next/navigation"; import { useForm, Controller } from "react-hook-form"; import { X } from "lucide-react"; diff --git a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/root.tsx index 0212fcfee..2ae272317 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/root.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/notification-card/options/snooze/root.tsx @@ -1,6 +1,7 @@ "use client"; -import { Dispatch, FC, Fragment, SetStateAction } from "react"; +import type { Dispatch, FC, SetStateAction } from "react"; +import { Fragment } from "react"; import { observer } from "mobx-react"; import { Clock } from "lucide-react"; import { Popover, Transition } from "@headlessui/react"; @@ -14,7 +15,7 @@ import { cn } from "@plane/utils"; import { useWorkspaceNotifications } from "@/hooks/store/notifications"; import { usePlatformOS } from "@/hooks/use-platform-os"; // store -import { INotification } from "@/store/notifications/notification"; +import type { INotification } from "@/store/notifications/notification"; // local imports import { NotificationSnoozeModal } from "./modal"; diff --git a/apps/web/core/components/workspace-notifications/sidebar/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/root.tsx index 0da31efc1..39478550c 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/root.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/root.tsx @@ -1,10 +1,12 @@ "use client"; -import { FC, useCallback } from "react"; +import type { FC } from "react"; +import { useCallback } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // plane imports -import { NOTIFICATION_TABS, TNotificationTab } from "@plane/constants"; +import type { TNotificationTab } from "@plane/constants"; +import { NOTIFICATION_TABS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Header, Row, ERowVariant, EHeaderVariant, ContentWrapper } from "@plane/ui"; import { cn, getNumberCount } from "@plane/utils"; diff --git a/apps/web/core/components/workspace/ConfirmWorkspaceMemberRemove.tsx b/apps/web/core/components/workspace/ConfirmWorkspaceMemberRemove.tsx index 2a4d30275..3674fb533 100644 --- a/apps/web/core/components/workspace/ConfirmWorkspaceMemberRemove.tsx +++ b/apps/web/core/components/workspace/ConfirmWorkspaceMemberRemove.tsx @@ -6,7 +6,7 @@ import { AlertTriangle } from "lucide-react"; import { Dialog, Transition } from "@headlessui/react"; import { Button } from "@plane/propel/button"; import { useUser } from "@/hooks/store/user"; -import { Props } from "./confirm-workspace-member-remove"; +import type { Props } from "./confirm-workspace-member-remove"; export const ConfirmWorkspaceMemberRemove: React.FC = observer((props) => { const { isOpen, onClose, onSubmit, userDetails } = props; diff --git a/apps/web/core/components/workspace/billing/comparison/base.tsx b/apps/web/core/components/workspace/billing/comparison/base.tsx index eda42d13d..3a40018e0 100644 --- a/apps/web/core/components/workspace/billing/comparison/base.tsx +++ b/apps/web/core/components/workspace/billing/comparison/base.tsx @@ -4,7 +4,8 @@ import { ArrowDown, ArrowUp } from "lucide-react"; import { Button } from "@plane/propel/button"; import { cn } from "@plane/utils"; // constants -import { ComingSoonBadge, PLANE_PLANS, PLANS_LIST, TPlanePlans } from "@/constants/plans"; +import type { TPlanePlans } from "@/constants/plans"; +import { ComingSoonBadge, PLANE_PLANS, PLANS_LIST } from "@/constants/plans"; // local imports import { PlanFeatureDetail } from "./feature-detail"; diff --git a/apps/web/core/components/workspace/billing/comparison/feature-detail.tsx b/apps/web/core/components/workspace/billing/comparison/feature-detail.tsx index 43d5a5da4..67f15421f 100644 --- a/apps/web/core/components/workspace/billing/comparison/feature-detail.tsx +++ b/apps/web/core/components/workspace/billing/comparison/feature-detail.tsx @@ -1,11 +1,11 @@ -import { FC } from "react"; +import type { FC } from "react"; import { CheckCircle2, Minus, MinusCircle } from "lucide-react"; -import { EProductSubscriptionEnum } from "@plane/types"; +import type { EProductSubscriptionEnum } from "@plane/types"; // plane imports import { getSubscriptionTextColor } from "@plane/ui"; import { cn } from "@plane/utils"; // constants -import { TPlanFeatureData } from "@/constants/plans"; +import type { TPlanFeatureData } from "@/constants/plans"; type TPlanFeatureDetailProps = { subscriptionType: EProductSubscriptionEnum; diff --git a/apps/web/core/components/workspace/create-workspace-form.tsx b/apps/web/core/components/workspace/create-workspace-form.tsx index b9e35f273..6e1d6c501 100644 --- a/apps/web/core/components/workspace/create-workspace-form.tsx +++ b/apps/web/core/components/workspace/create-workspace-form.tsx @@ -1,6 +1,7 @@ "use client"; -import { Dispatch, SetStateAction, useEffect, useState, FC } from "react"; +import type { Dispatch, SetStateAction, FC } from "react"; +import { useEffect, useState } from "react"; import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; import { @@ -12,7 +13,7 @@ import { import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IWorkspace } from "@plane/types"; +import type { IWorkspace } from "@plane/types"; // ui import { CustomSelect, Input } from "@plane/ui"; // hooks diff --git a/apps/web/core/components/workspace/invite-modal/fields.tsx b/apps/web/core/components/workspace/invite-modal/fields.tsx index 0d0337e7b..8676963c6 100644 --- a/apps/web/core/components/workspace/invite-modal/fields.tsx +++ b/apps/web/core/components/workspace/invite-modal/fields.tsx @@ -1,7 +1,8 @@ "use client"; import { observer } from "mobx-react"; -import { Control, Controller, FieldArrayWithId, FormState } from "react-hook-form"; +import type { Control, FieldArrayWithId, FormState } from "react-hook-form"; +import { Controller } from "react-hook-form"; import { X } from "lucide-react"; // plane imports import { ROLE } from "@plane/constants"; @@ -10,7 +11,7 @@ import { CustomSelect, Input } from "@plane/ui"; import { cn } from "@plane/utils"; // hooks import { useUserPermissions } from "@/hooks/store/user"; -import { InvitationFormValues } from "@/hooks/use-workspace-invitation"; +import type { InvitationFormValues } from "@/hooks/use-workspace-invitation"; type TInvitationFieldsProps = { workspaceSlug: string; diff --git a/apps/web/core/components/workspace/settings/invitations-list-item.tsx b/apps/web/core/components/workspace/settings/invitations-list-item.tsx index f28790cc7..8fe7f55fd 100644 --- a/apps/web/core/components/workspace/settings/invitations-list-item.tsx +++ b/apps/web/core/components/workspace/settings/invitations-list-item.tsx @@ -1,6 +1,7 @@ "use client"; -import { useState, FC } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { ChevronDown, LinkIcon, Trash2 } from "lucide-react"; @@ -8,7 +9,8 @@ import { ChevronDown, LinkIcon, Trash2 } from "lucide-react"; import { ROLE, EUserPermissions, EUserPermissionsLevel, MEMBER_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { CustomSelect, TContextMenuItem, CustomMenu } from "@plane/ui"; +import type { TContextMenuItem } from "@plane/ui"; +import { CustomSelect, CustomMenu } from "@plane/ui"; import { cn, copyTextToClipboard } from "@plane/utils"; // components import { ConfirmWorkspaceMemberRemove } from "@/components/workspace/confirm-workspace-member-remove"; diff --git a/apps/web/core/components/workspace/settings/member-columns.tsx b/apps/web/core/components/workspace/settings/member-columns.tsx index 8fa965b63..3973fa55a 100644 --- a/apps/web/core/components/workspace/settings/member-columns.tsx +++ b/apps/web/core/components/workspace/settings/member-columns.tsx @@ -8,7 +8,7 @@ import { ROLE, EUserPermissions, EUserPermissionsLevel, MEMBER_TRACKER_ELEMENTS import { SuspendedUserIcon } from "@plane/propel/icons"; import { Pill, EPillVariant, EPillSize } from "@plane/propel/pill"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IUser, IWorkspaceMember } from "@plane/types"; +import type { IUser, IWorkspaceMember } from "@plane/types"; // plane ui import { CustomSelect, PopoverMenu, cn } from "@plane/ui"; // helpers diff --git a/apps/web/core/components/workspace/settings/members-list-item.tsx b/apps/web/core/components/workspace/settings/members-list-item.tsx index e65c25702..8cd3b9020 100644 --- a/apps/web/core/components/workspace/settings/members-list-item.tsx +++ b/apps/web/core/components/workspace/settings/members-list-item.tsx @@ -1,13 +1,13 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { isEmpty } from "lodash-es"; import { observer } from "mobx-react"; // plane imports import { MEMBER_TRACKER_EVENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IWorkspaceMember } from "@plane/types"; +import type { IWorkspaceMember } from "@plane/types"; import { Table } from "@plane/ui"; // components import { MembersLayoutLoader } from "@/components/ui/loader/layouts/members-layout-loader"; diff --git a/apps/web/core/components/workspace/settings/members-list.tsx b/apps/web/core/components/workspace/settings/members-list.tsx index 089d2f9a2..5fa2a1c38 100644 --- a/apps/web/core/components/workspace/settings/members-list.tsx +++ b/apps/web/core/components/workspace/settings/members-list.tsx @@ -1,4 +1,5 @@ -import { FC, useState } from "react"; +import type { FC } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import useSWR from "swr"; diff --git a/apps/web/core/components/workspace/settings/workspace-details.tsx b/apps/web/core/components/workspace/settings/workspace-details.tsx index 678024282..834abe61f 100644 --- a/apps/web/core/components/workspace/settings/workspace-details.tsx +++ b/apps/web/core/components/workspace/settings/workspace-details.tsx @@ -1,6 +1,7 @@ "use client"; -import { useEffect, useState, FC } from "react"; +import type { FC } from "react"; +import { useEffect, useState } from "react"; import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; import { Pencil } from "lucide-react"; @@ -15,7 +16,7 @@ import { import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IWorkspace } from "@plane/types"; +import type { IWorkspace } from "@plane/types"; import { CustomSelect, Input } from "@plane/ui"; import { copyUrlToClipboard, getFileURL } from "@plane/utils"; // components diff --git a/apps/web/core/components/workspace/sidebar/dropdown-item.tsx b/apps/web/core/components/workspace/sidebar/dropdown-item.tsx index f9e0ea28f..180e690ca 100644 --- a/apps/web/core/components/workspace/sidebar/dropdown-item.tsx +++ b/apps/web/core/components/workspace/sidebar/dropdown-item.tsx @@ -7,7 +7,7 @@ import { Menu } from "@headlessui/react"; // plane imports import { EUserPermissions } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { IWorkspace } from "@plane/types"; +import type { IWorkspace } from "@plane/types"; import { cn, getFileURL, getUserRole } from "@plane/utils"; // plane web imports import { SubscriptionPill } from "@/plane-web/components/common/subscription/subscription-pill"; diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-folder.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-folder.tsx index a721ae930..1eb2bb977 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorite-folder.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-folder.tsx @@ -2,7 +2,7 @@ import { useEffect, useRef, useState } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; -import { +import type { DragLocationHistory, ElementDragPayload, DropTargetRecord, @@ -22,7 +22,7 @@ import { useOutsideClickDetector } from "@plane/hooks"; import { useTranslation } from "@plane/i18n"; import { DraftIcon, FavoriteFolderIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { IFavorite, InstructionType } from "@plane/types"; +import type { IFavorite, InstructionType } from "@plane/types"; import { CustomMenu, DropIndicator, DragHandle } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-drag-handle.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-drag-handle.tsx index c91da6640..b13c175de 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-drag-handle.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-drag-handle.tsx @@ -1,5 +1,6 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; // ui import { Tooltip } from "@plane/propel/tooltip"; diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx index 92bd9292e..995b26df1 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-quick-action.tsx @@ -1,10 +1,11 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { MoreHorizontal, Star } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; -import { IFavorite } from "@plane/types"; +import type { IFavorite } from "@plane/types"; import { CustomMenu } from "@plane/ui"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-title.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-title.tsx index 0f4dc0397..b408e6e86 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-title.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-title.tsx @@ -1,5 +1,6 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { Tooltip } from "@plane/propel/tooltip"; diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-wrapper.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-wrapper.tsx index 7b9606085..b04c8f02c 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-wrapper.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/favorite-item-wrapper.tsx @@ -1,5 +1,6 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/helper.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/helper.tsx index d752a854a..2f1c3a732 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/helper.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/common/helper.tsx @@ -2,7 +2,7 @@ import { PageIcon } from "@plane/propel/icons"; // plane imports -import { IFavorite, TLogoProps } from "@plane/types"; +import type { IFavorite, TLogoProps } from "@plane/types"; // components import { Logo } from "@/components/common/logo"; // plane web constants diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/root.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/root.tsx index 5e06ec574..0aa4b22e2 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorite-items/root.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/favorite-items/root.tsx @@ -1,13 +1,14 @@ "use client"; -import React, { FC, useEffect, useRef, useState } from "react"; +import type { FC } from "react"; +import React, { useEffect, useRef, useState } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; -import { DropTargetRecord, DragLocationHistory } from "@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types"; -import { - draggable, - dropTargetForElements, - ElementDragPayload, -} from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; +import type { + DropTargetRecord, + DragLocationHistory, +} from "@atlaskit/pragmatic-drag-and-drop/dist/types/internal-types"; +import type { ElementDragPayload } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; +import { draggable, dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; import { pointerOutsideOfPreview } from "@atlaskit/pragmatic-drag-and-drop/element/pointer-outside-of-preview"; import { setCustomNativeDragPreview } from "@atlaskit/pragmatic-drag-and-drop/element/set-custom-native-drag-preview"; import { attachInstruction } from "@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item"; @@ -15,7 +16,7 @@ import { observer } from "mobx-react"; import { createRoot } from "react-dom/client"; // plane imports import { useOutsideClickDetector } from "@plane/hooks"; -import { IFavorite, InstructionType } from "@plane/types"; +import type { IFavorite, InstructionType } from "@plane/types"; import { DropIndicator } from "@plane/ui"; // hooks import { useFavoriteItemDetails } from "@/hooks/use-favorite-item-details"; diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx b/apps/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx index 96c65ad74..441327e27 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx @@ -2,7 +2,7 @@ import React, { useCallback, useEffect, useRef, useState } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; -import { +import type { DragLocationHistory, DropTargetRecord, ElementDragPayload, @@ -18,7 +18,7 @@ import { useTranslation } from "@plane/i18n"; // ui import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { Tooltip } from "@plane/propel/tooltip"; -import { IFavorite } from "@plane/types"; +import type { IFavorite } from "@plane/types"; // constants // helpers @@ -29,7 +29,8 @@ import useLocalStorage from "@/hooks/use-local-storage"; // plane web components import { FavoriteFolder } from "./favorite-folder"; import { FavoriteRoot } from "./favorite-items"; -import { getInstructionFromPayload, TargetData } from "./favorites.helpers"; +import type { TargetData } from "./favorites.helpers"; +import { getInstructionFromPayload } from "./favorites.helpers"; import { NewFavoriteFolder } from "./new-fav-folder"; export const SidebarFavoritesMenu = observer(() => { diff --git a/apps/web/core/components/workspace/sidebar/favorites/favorites.helpers.ts b/apps/web/core/components/workspace/sidebar/favorites/favorites.helpers.ts index 0bad0f3df..44e1c022d 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/favorites.helpers.ts +++ b/apps/web/core/components/workspace/sidebar/favorites/favorites.helpers.ts @@ -1,5 +1,5 @@ import { extractInstruction } from "@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item"; -import { IFavorite, InstructionType, IPragmaticPayloadLocation, TDropTarget } from "@plane/types"; +import type { IFavorite, InstructionType, IPragmaticPayloadLocation, TDropTarget } from "@plane/types"; export type TargetData = { id: string; diff --git a/apps/web/core/components/workspace/sidebar/favorites/new-fav-folder.tsx b/apps/web/core/components/workspace/sidebar/favorites/new-fav-folder.tsx index 0608db927..f8be94eb6 100644 --- a/apps/web/core/components/workspace/sidebar/favorites/new-fav-folder.tsx +++ b/apps/web/core/components/workspace/sidebar/favorites/new-fav-folder.tsx @@ -1,7 +1,8 @@ import { useEffect, useRef } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; -import { Controller, SubmitHandler, useForm } from "react-hook-form"; +import type { SubmitHandler } from "react-hook-form"; +import { Controller, useForm } from "react-hook-form"; import { useOutsideClickDetector } from "@plane/hooks"; import { useTranslation } from "@plane/i18n"; // plane helpers diff --git a/apps/web/core/components/workspace/sidebar/project-navigation.tsx b/apps/web/core/components/workspace/sidebar/project-navigation.tsx index b271b9451..935eb91e0 100644 --- a/apps/web/core/components/workspace/sidebar/project-navigation.tsx +++ b/apps/web/core/components/workspace/sidebar/project-navigation.tsx @@ -1,13 +1,14 @@ "use client"; -import React, { FC, useCallback, useMemo } from "react"; +import type { FC } from "react"; +import React, { useCallback, useMemo } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { useParams, usePathname } from "next/navigation"; import { EUserPermissionsLevel, EUserPermissions } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { CycleIcon, IntakeIcon, ModuleIcon, PageIcon, ViewsIcon, WorkItemsIcon } from "@plane/propel/icons"; -import { EUserProjectRoles } from "@plane/types"; +import type { EUserProjectRoles } from "@plane/types"; // plane ui // components import { SidebarNavItem } from "@/components/sidebar/sidebar-navigation"; diff --git a/apps/web/core/components/workspace/sidebar/projects-list.tsx b/apps/web/core/components/workspace/sidebar/projects-list.tsx index a310ca954..f705e19d5 100644 --- a/apps/web/core/components/workspace/sidebar/projects-list.tsx +++ b/apps/web/core/components/workspace/sidebar/projects-list.tsx @@ -1,6 +1,7 @@ "use client"; -import { useState, FC, useRef, useEffect } from "react"; +import type { FC } from "react"; +import { useState, useRef, useEffect } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; import { autoScrollForElements } from "@atlaskit/pragmatic-drag-and-drop-auto-scroll/element"; import { observer } from "mobx-react"; @@ -21,7 +22,7 @@ import { useCommandPalette } from "@/hooks/store/use-command-palette"; import { useProject } from "@/hooks/store/use-project"; import { useUserPermissions } from "@/hooks/store/user"; // plane web imports -import { TProject } from "@/plane-web/types"; +import type { TProject } from "@/plane-web/types"; // local imports import { SidebarProjectsListItem } from "./projects-list-item"; diff --git a/apps/web/core/components/workspace/sidebar/quick-actions.tsx b/apps/web/core/components/workspace/sidebar/quick-actions.tsx index 6ad3f43a9..f83f5f7e2 100644 --- a/apps/web/core/components/workspace/sidebar/quick-actions.tsx +++ b/apps/web/core/components/workspace/sidebar/quick-actions.tsx @@ -5,7 +5,7 @@ import { useParams } from "next/navigation"; import { EUserPermissions, EUserPermissionsLevel, SIDEBAR_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { AddIcon } from "@plane/propel/icons"; -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; import { cn } from "@plane/utils"; // components import { CreateUpdateIssueModal } from "@/components/issues/issue-modal/modal"; diff --git a/apps/web/core/components/workspace/sidebar/sidebar-item.tsx b/apps/web/core/components/workspace/sidebar/sidebar-item.tsx index e2e15b4d1..1ed760ab4 100644 --- a/apps/web/core/components/workspace/sidebar/sidebar-item.tsx +++ b/apps/web/core/components/workspace/sidebar/sidebar-item.tsx @@ -1,11 +1,12 @@ // SidebarItemBase.tsx "use client"; -import { FC, ReactNode } from "react"; +import type { FC, ReactNode } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { useParams, usePathname } from "next/navigation"; // plane imports -import { EUserPermissionsLevel, IWorkspaceSidebarNavigationItem } from "@plane/constants"; +import type { IWorkspaceSidebarNavigationItem } from "@plane/constants"; +import { EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { joinUrlPath } from "@plane/utils"; // components diff --git a/apps/web/core/components/workspace/sidebar/user-menu-item.tsx b/apps/web/core/components/workspace/sidebar/user-menu-item.tsx index bd09ab928..d53a547b2 100644 --- a/apps/web/core/components/workspace/sidebar/user-menu-item.tsx +++ b/apps/web/core/components/workspace/sidebar/user-menu-item.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { useParams, usePathname } from "next/navigation"; @@ -6,7 +6,7 @@ import { useParams, usePathname } from "next/navigation"; import { EUserPermissionsLevel, SIDEBAR_TRACKER_ELEMENTS } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EUserWorkspaceRoles } from "@plane/types"; +import type { EUserWorkspaceRoles } from "@plane/types"; // components import { SidebarNavItem } from "@/components/sidebar/sidebar-navigation"; import { NotificationAppSidebarOption } from "@/components/workspace-notifications/notification-app-sidebar-option"; diff --git a/apps/web/core/components/workspace/sidebar/user-menu-root.tsx b/apps/web/core/components/workspace/sidebar/user-menu-root.tsx index 5772319ff..ae2eda14b 100644 --- a/apps/web/core/components/workspace/sidebar/user-menu-root.tsx +++ b/apps/web/core/components/workspace/sidebar/user-menu-root.tsx @@ -1,6 +1,7 @@ "use client"; -import { Fragment, Ref, useState, useEffect } from "react"; +import type { Ref } from "react"; +import { Fragment, useState, useEffect } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { useParams } from "next/navigation"; diff --git a/apps/web/core/components/workspace/sidebar/workspace-menu-header.tsx b/apps/web/core/components/workspace/sidebar/workspace-menu-header.tsx index 3adbd3789..02347201c 100644 --- a/apps/web/core/components/workspace/sidebar/workspace-menu-header.tsx +++ b/apps/web/core/components/workspace/sidebar/workspace-menu-header.tsx @@ -1,4 +1,5 @@ -import { FC, useState, useRef } from "react"; +import type { FC } from "react"; +import { useState, useRef } from "react"; import { observer } from "mobx-react"; import { useParams, useRouter } from "next/navigation"; import { MoreHorizontal, ArchiveIcon, ChevronRight, Settings } from "lucide-react"; diff --git a/apps/web/core/components/workspace/sidebar/workspace-menu-item.tsx b/apps/web/core/components/workspace/sidebar/workspace-menu-item.tsx index 2dd0f3aaa..3ae8f6401 100644 --- a/apps/web/core/components/workspace/sidebar/workspace-menu-item.tsx +++ b/apps/web/core/components/workspace/sidebar/workspace-menu-item.tsx @@ -1,11 +1,11 @@ -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { useParams, usePathname } from "next/navigation"; // plane imports import { EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; -import { EUserWorkspaceRoles } from "@plane/types"; +import type { EUserWorkspaceRoles } from "@plane/types"; import { cn } from "@plane/utils"; // components import { SidebarNavItem } from "@/components/sidebar/sidebar-navigation"; diff --git a/apps/web/core/components/workspace/sidebar/workspace-menu-root.tsx b/apps/web/core/components/workspace/sidebar/workspace-menu-root.tsx index 4770bbc3d..f8f2cbbd7 100644 --- a/apps/web/core/components/workspace/sidebar/workspace-menu-root.tsx +++ b/apps/web/core/components/workspace/sidebar/workspace-menu-root.tsx @@ -10,7 +10,7 @@ import { Menu, Transition } from "@headlessui/react"; // plane imports import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IWorkspace } from "@plane/types"; +import type { IWorkspace } from "@plane/types"; import { Loader } from "@plane/ui"; import { orderWorkspacesList, cn } from "@plane/utils"; // helpers diff --git a/apps/web/core/components/workspace/views/default-view-quick-action.tsx b/apps/web/core/components/workspace/views/default-view-quick-action.tsx index 60a8fc4aa..203de8377 100644 --- a/apps/web/core/components/workspace/views/default-view-quick-action.tsx +++ b/apps/web/core/components/workspace/views/default-view-quick-action.tsx @@ -6,8 +6,9 @@ import { ExternalLink, LinkIcon } from "lucide-react"; import { useTranslation } from "@plane/i18n"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; // ui -import { TStaticViewTypes } from "@plane/types"; -import { CustomMenu, TContextMenuItem } from "@plane/ui"; +import type { TStaticViewTypes } from "@plane/types"; +import type { TContextMenuItem } from "@plane/ui"; +import { CustomMenu } from "@plane/ui"; import { copyUrlToClipboard, cn } from "@plane/utils"; // helpers type Props = { diff --git a/apps/web/core/components/workspace/views/delete-view-modal.tsx b/apps/web/core/components/workspace/views/delete-view-modal.tsx index e1ab956d0..27fe3b961 100644 --- a/apps/web/core/components/workspace/views/delete-view-modal.tsx +++ b/apps/web/core/components/workspace/views/delete-view-modal.tsx @@ -6,7 +6,7 @@ import { useParams } from "next/navigation"; // types import { GLOBAL_VIEW_TRACKER_EVENTS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IWorkspaceView } from "@plane/types"; +import type { IWorkspaceView } from "@plane/types"; // ui import { AlertModalCore } from "@plane/ui"; // constants diff --git a/apps/web/core/components/workspace/views/form.tsx b/apps/web/core/components/workspace/views/form.tsx index fbb32edc4..a97d15ef8 100644 --- a/apps/web/core/components/workspace/views/form.tsx +++ b/apps/web/core/components/workspace/views/form.tsx @@ -6,15 +6,8 @@ import { Controller, useForm } from "react-hook-form"; import { ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { Button } from "@plane/propel/button"; -import { - EViewAccess, - IIssueDisplayFilterOptions, - IIssueDisplayProperties, - IWorkspaceView, - EIssueLayoutTypes, - EIssuesStoreType, - IIssueFilters, -} from "@plane/types"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, IWorkspaceView, IIssueFilters } from "@plane/types"; +import { EViewAccess, EIssueLayoutTypes, EIssuesStoreType } from "@plane/types"; import { Input, TextArea } from "@plane/ui"; import { getComputedDisplayFilters, getComputedDisplayProperties } from "@plane/utils"; // components diff --git a/apps/web/core/components/workspace/views/header.tsx b/apps/web/core/components/workspace/views/header.tsx index ff9d54036..0b76e0869 100644 --- a/apps/web/core/components/workspace/views/header.tsx +++ b/apps/web/core/components/workspace/views/header.tsx @@ -10,7 +10,7 @@ import { GLOBAL_VIEW_TRACKER_ELEMENTS, GLOBAL_VIEW_TRACKER_EVENTS, } from "@plane/constants"; -import { TStaticViewTypes } from "@plane/types"; +import type { TStaticViewTypes } from "@plane/types"; import { Header, EHeaderVariant } from "@plane/ui"; // helpers import { captureSuccess } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/components/workspace/views/modal.tsx b/apps/web/core/components/workspace/views/modal.tsx index baebc93ea..77bad27ab 100644 --- a/apps/web/core/components/workspace/views/modal.tsx +++ b/apps/web/core/components/workspace/views/modal.tsx @@ -6,7 +6,8 @@ import { useParams } from "next/navigation"; // plane imports import { GLOBAL_VIEW_TRACKER_EVENTS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssuesStoreType, IWorkspaceView } from "@plane/types"; +import type { IWorkspaceView } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; // helpers import { captureError, captureSuccess } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/components/workspace/views/quick-action.tsx b/apps/web/core/components/workspace/views/quick-action.tsx index 85d7dadd8..7998e7255 100644 --- a/apps/web/core/components/workspace/views/quick-action.tsx +++ b/apps/web/core/components/workspace/views/quick-action.tsx @@ -5,8 +5,9 @@ import { observer } from "mobx-react"; // plane imports import { EUserPermissions, EUserPermissionsLevel, GLOBAL_VIEW_TRACKER_ELEMENTS } from "@plane/constants"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { IWorkspaceView } from "@plane/types"; -import { CustomMenu, TContextMenuItem } from "@plane/ui"; +import type { IWorkspaceView } from "@plane/types"; +import type { TContextMenuItem } from "@plane/ui"; +import { CustomMenu } from "@plane/ui"; import { copyUrlToClipboard, cn } from "@plane/utils"; // helpers import { captureClick } from "@/helpers/event-tracker.helper"; diff --git a/apps/web/core/constants/calendar.ts b/apps/web/core/constants/calendar.ts index 9adcd4204..2fca3539d 100644 --- a/apps/web/core/constants/calendar.ts +++ b/apps/web/core/constants/calendar.ts @@ -1,4 +1,5 @@ -import { EStartOfTheWeek, TCalendarLayouts } from "@plane/types"; +import type { TCalendarLayouts } from "@plane/types"; +import { EStartOfTheWeek } from "@plane/types"; export const MONTHS_LIST: { [monthNumber: number]: { diff --git a/apps/web/core/constants/editor.ts b/apps/web/core/constants/editor.ts index c6bc2fef4..5be1075bf 100644 --- a/apps/web/core/constants/editor.ts +++ b/apps/web/core/constants/editor.ts @@ -1,4 +1,6 @@ -import { Styles, StyleSheet } from "@react-pdf/renderer"; +import type { Styles } from "@react-pdf/renderer"; +import { StyleSheet } from "@react-pdf/renderer"; +import type { LucideIcon } from "lucide-react"; import { AlignCenter, AlignLeft, @@ -17,7 +19,6 @@ import { List, ListOrdered, ListTodo, - LucideIcon, Strikethrough, Table, TextQuote, diff --git a/apps/web/core/constants/fetch-keys.ts b/apps/web/core/constants/fetch-keys.ts index 537a7e3c1..a56ec52f3 100644 --- a/apps/web/core/constants/fetch-keys.ts +++ b/apps/web/core/constants/fetch-keys.ts @@ -1,4 +1,4 @@ -import { IJiraMetadata } from "@plane/types"; +import type { IJiraMetadata } from "@plane/types"; const paramsToKey = (params: any) => { const { diff --git a/apps/web/core/hooks/context/app-rail-context.tsx b/apps/web/core/hooks/context/app-rail-context.tsx index 6fe902cdd..7303a5201 100644 --- a/apps/web/core/hooks/context/app-rail-context.tsx +++ b/apps/web/core/hooks/context/app-rail-context.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { createContext, ReactNode } from "react"; +import type { ReactNode } from "react"; +import React, { createContext } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; // hooks diff --git a/apps/web/core/hooks/context/use-issue-modal.tsx b/apps/web/core/hooks/context/use-issue-modal.tsx index 1e4c688ce..270731d8d 100644 --- a/apps/web/core/hooks/context/use-issue-modal.tsx +++ b/apps/web/core/hooks/context/use-issue-modal.tsx @@ -1,6 +1,7 @@ import { useContext } from "react"; // components -import { IssueModalContext, type TIssueModalContext } from "@/components/issues/issue-modal/context"; +import { IssueModalContext } from "@/components/issues/issue-modal/context"; +import type { TIssueModalContext } from "@/components/issues/issue-modal/context"; export const useIssueModal = (): TIssueModalContext => { const context = useContext(IssueModalContext); diff --git a/apps/web/core/hooks/editor/use-editor-mention.tsx b/apps/web/core/hooks/editor/use-editor-mention.tsx index e6c619a8e..03598191a 100644 --- a/apps/web/core/hooks/editor/use-editor-mention.tsx +++ b/apps/web/core/hooks/editor/use-editor-mention.tsx @@ -2,7 +2,7 @@ import { useCallback } from "react"; // plane editor import type { TMentionSection, TMentionSuggestion } from "@plane/editor"; // plane types -import { TSearchEntities, TSearchEntityRequestPayload, TSearchResponse, TUserSearchResponse } from "@plane/types"; +import type { TSearchEntities, TSearchEntityRequestPayload, TSearchResponse, TUserSearchResponse } from "@plane/types"; // plane ui import { Avatar } from "@plane/ui"; // helpers diff --git a/apps/web/core/hooks/store/use-issue-detail.ts b/apps/web/core/hooks/store/use-issue-detail.ts index db7a57413..d0685f6a2 100644 --- a/apps/web/core/hooks/store/use-issue-detail.ts +++ b/apps/web/core/hooks/store/use-issue-detail.ts @@ -1,5 +1,6 @@ import { useContext } from "react"; -import { EIssueServiceType, TIssueServiceType } from "@plane/types"; +import type { TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // mobx store import { StoreContext } from "@/lib/store-context"; // types diff --git a/apps/web/core/hooks/store/use-issues.ts b/apps/web/core/hooks/store/use-issues.ts index dea396108..33e6023fd 100644 --- a/apps/web/core/hooks/store/use-issues.ts +++ b/apps/web/core/hooks/store/use-issues.ts @@ -1,9 +1,10 @@ import { useContext } from "react"; import { merge } from "lodash-es"; -import { EIssuesStoreType, TIssueMap } from "@plane/types"; +import type { TIssueMap } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { StoreContext } from "@/lib/store-context"; // plane web types -import { IProjectEpics, IProjectEpicsFilter } from "@/plane-web/store/issue/epic"; +import type { IProjectEpics, IProjectEpicsFilter } from "@/plane-web/store/issue/epic"; // types import type { ITeamIssues, ITeamIssuesFilter } from "@/plane-web/store/issue/team"; import type { ITeamProjectWorkItemsFilter, ITeamProjectWorkItems } from "@/plane-web/store/issue/team-project"; diff --git a/apps/web/core/hooks/store/work-item-filters/use-work-item-filter-instance.ts b/apps/web/core/hooks/store/work-item-filters/use-work-item-filter-instance.ts index c0d78f003..0cc356f86 100644 --- a/apps/web/core/hooks/store/work-item-filters/use-work-item-filter-instance.ts +++ b/apps/web/core/hooks/store/work-item-filters/use-work-item-filter-instance.ts @@ -1,6 +1,6 @@ // plane imports -import { IWorkItemFilterInstance } from "@plane/shared-state"; -import { EIssuesStoreType } from "@plane/types"; +import type { IWorkItemFilterInstance } from "@plane/shared-state"; +import type { EIssuesStoreType } from "@plane/types"; // local imports import { useWorkItemFilters } from "./use-work-item-filters"; diff --git a/apps/web/core/hooks/store/work-item-filters/use-work-item-filters.ts b/apps/web/core/hooks/store/work-item-filters/use-work-item-filters.ts index 7de449863..3c6403321 100644 --- a/apps/web/core/hooks/store/work-item-filters/use-work-item-filters.ts +++ b/apps/web/core/hooks/store/work-item-filters/use-work-item-filters.ts @@ -1,6 +1,6 @@ import { useContext } from "react"; // plane imports -import { IWorkItemFilterStore } from "@plane/shared-state"; +import type { IWorkItemFilterStore } from "@plane/shared-state"; // context import { StoreContext } from "@/lib/store-context"; diff --git a/apps/web/core/hooks/use-auto-scroller.tsx b/apps/web/core/hooks/use-auto-scroller.tsx index 52afa534a..48a1ac2c0 100644 --- a/apps/web/core/hooks/use-auto-scroller.tsx +++ b/apps/web/core/hooks/use-auto-scroller.tsx @@ -1,4 +1,5 @@ -import { RefObject, useEffect, useRef } from "react"; +import type { RefObject } from "react"; +import { useEffect, useRef } from "react"; const SCROLL_BY = 3; diff --git a/apps/web/core/hooks/use-collaborative-page-actions.tsx b/apps/web/core/hooks/use-collaborative-page-actions.tsx index 720cdb9fb..d4bcfadab 100644 --- a/apps/web/core/hooks/use-collaborative-page-actions.tsx +++ b/apps/web/core/hooks/use-collaborative-page-actions.tsx @@ -1,6 +1,7 @@ import { useState, useEffect, useCallback, useMemo } from "react"; import type { EditorRefApi, TDocumentEventsServer } from "@plane/editor"; -import { DocumentCollaborativeEvents, TDocumentEventsClient, getServerEventName } from "@plane/editor/lib"; +import type { TDocumentEventsClient } from "@plane/editor/lib"; +import { DocumentCollaborativeEvents, getServerEventName } from "@plane/editor/lib"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; // store import type { TPageInstance } from "@/store/pages/base-page"; diff --git a/apps/web/core/hooks/use-extended-sidebar-overview-outside-click.tsx b/apps/web/core/hooks/use-extended-sidebar-overview-outside-click.tsx index 7c3705251..cb654eacf 100644 --- a/apps/web/core/hooks/use-extended-sidebar-overview-outside-click.tsx +++ b/apps/web/core/hooks/use-extended-sidebar-overview-outside-click.tsx @@ -1,4 +1,5 @@ -import React, { useEffect } from "react"; +import type React from "react"; +import { useEffect } from "react"; const useExtendedSidebarOutsideClickDetector = ( ref: React.RefObject, diff --git a/apps/web/core/hooks/use-favorite-item-details.tsx b/apps/web/core/hooks/use-favorite-item-details.tsx index 275422c4f..ae8c7638a 100644 --- a/apps/web/core/hooks/use-favorite-item-details.tsx +++ b/apps/web/core/hooks/use-favorite-item-details.tsx @@ -1,5 +1,5 @@ // plane imports -import { IFavorite } from "@plane/types"; +import type { IFavorite } from "@plane/types"; // components import { getPageName } from "@plane/utils"; import { diff --git a/apps/web/core/hooks/use-group-dragndrop.ts b/apps/web/core/hooks/use-group-dragndrop.ts index 7cd9548f4..e2dfe8563 100644 --- a/apps/web/core/hooks/use-group-dragndrop.ts +++ b/apps/web/core/hooks/use-group-dragndrop.ts @@ -2,8 +2,9 @@ import { useParams } from "next/navigation"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; -import { EIssuesStoreType, TIssue, TIssueGroupByOptions, TIssueOrderByOptions } from "@plane/types"; -import { GroupDropLocation, handleGroupDragDrop } from "@/components/issues/issue-layouts/utils"; +import type { EIssuesStoreType, TIssue, TIssueGroupByOptions, TIssueOrderByOptions } from "@plane/types"; +import type { GroupDropLocation } from "@/components/issues/issue-layouts/utils"; +import { handleGroupDragDrop } from "@/components/issues/issue-layouts/utils"; import { ISSUE_FILTER_DEFAULT_DATA } from "@/store/issue/helpers/base-issues.store"; import { useIssueDetail } from "./store/use-issue-detail"; import { useIssues } from "./store/use-issues"; diff --git a/apps/web/core/hooks/use-intersection-observer.ts b/apps/web/core/hooks/use-intersection-observer.ts index 63ab31f37..5fd2840ed 100644 --- a/apps/web/core/hooks/use-intersection-observer.ts +++ b/apps/web/core/hooks/use-intersection-observer.ts @@ -1,4 +1,5 @@ -import { RefObject, useEffect } from "react"; +import type { RefObject } from "react"; +import { useEffect } from "react"; export type UseIntersectionObserverProps = { containerRef: RefObject | undefined; diff --git a/apps/web/core/hooks/use-issue-peek-overview-redirection.tsx b/apps/web/core/hooks/use-issue-peek-overview-redirection.tsx index 5da6737e9..c1d0163d5 100644 --- a/apps/web/core/hooks/use-issue-peek-overview-redirection.tsx +++ b/apps/web/core/hooks/use-issue-peek-overview-redirection.tsx @@ -1,6 +1,7 @@ import { useRouter } from "next/navigation"; // types -import { EIssueServiceType, TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // helpers import { generateWorkItemLink } from "@plane/utils"; // hooks diff --git a/apps/web/core/hooks/use-issues-actions.tsx b/apps/web/core/hooks/use-issues-actions.tsx index eb8c45121..c14c951fa 100644 --- a/apps/web/core/hooks/use-issues-actions.tsx +++ b/apps/web/core/hooks/use-issues-actions.tsx @@ -2,9 +2,9 @@ import { useCallback, useMemo } from "react"; // types import { useParams } from "next/navigation"; -import { EDraftIssuePaginationType, TSupportedFilterTypeForUpdate } from "@plane/constants"; -import { - EIssuesStoreType, +import type { TSupportedFilterTypeForUpdate } from "@plane/constants"; +import { EDraftIssuePaginationType } from "@plane/constants"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, IssuePaginationOptions, @@ -14,6 +14,7 @@ import { TProfileViews, TSupportedFilterForUpdate, } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { useTeamIssueActions, useTeamProjectWorkItemsActions, diff --git a/apps/web/core/hooks/use-page-fallback.ts b/apps/web/core/hooks/use-page-fallback.ts index 98aa1f66c..e07a31efb 100644 --- a/apps/web/core/hooks/use-page-fallback.ts +++ b/apps/web/core/hooks/use-page-fallback.ts @@ -1,8 +1,9 @@ import { useCallback, useEffect } from "react"; // plane editor -import { type EditorRefApi, getBinaryDataFromDocumentEditorHTMLString } from "@plane/editor"; +import { getBinaryDataFromDocumentEditorHTMLString } from "@plane/editor"; +import type { EditorRefApi } from "@plane/editor"; // plane types -import { TDocumentPayload } from "@plane/types"; +import type { TDocumentPayload } from "@plane/types"; // hooks import useAutoSave from "@/hooks/use-auto-save"; diff --git a/apps/web/core/hooks/use-parse-editor-content.ts b/apps/web/core/hooks/use-parse-editor-content.ts index d362a2709..2845ba20b 100644 --- a/apps/web/core/hooks/use-parse-editor-content.ts +++ b/apps/web/core/hooks/use-parse-editor-content.ts @@ -1,7 +1,7 @@ import { useCallback } from "react"; import { useParams } from "next/navigation"; // plane types -import { TSearchEntities } from "@plane/types"; +import type { TSearchEntities } from "@plane/types"; // helpers import { getBase64Image } from "@plane/utils"; // hooks diff --git a/apps/web/core/hooks/use-peek-overview-outside-click.tsx b/apps/web/core/hooks/use-peek-overview-outside-click.tsx index 65742f816..02908ca11 100644 --- a/apps/web/core/hooks/use-peek-overview-outside-click.tsx +++ b/apps/web/core/hooks/use-peek-overview-outside-click.tsx @@ -1,4 +1,5 @@ -import React, { useEffect } from "react"; +import type React from "react"; +import { useEffect } from "react"; const usePeekOverviewOutsideClickDetector = ( ref: React.RefObject, diff --git a/apps/web/core/hooks/use-stickies.tsx b/apps/web/core/hooks/use-stickies.tsx index 614c865d1..df09a87f5 100644 --- a/apps/web/core/hooks/use-stickies.tsx +++ b/apps/web/core/hooks/use-stickies.tsx @@ -1,7 +1,7 @@ import { useContext } from "react"; // context import { StoreContext } from "@/lib/store-context"; -import { IStickyStore } from "@/store/sticky/sticky.store"; +import type { IStickyStore } from "@/store/sticky/sticky.store"; // plane web stores export const useSticky = (): IStickyStore => { diff --git a/apps/web/core/hooks/use-timeline-chart.ts b/apps/web/core/hooks/use-timeline-chart.ts index 7d0564f3c..e7e2ad0fd 100644 --- a/apps/web/core/hooks/use-timeline-chart.ts +++ b/apps/web/core/hooks/use-timeline-chart.ts @@ -2,7 +2,7 @@ import { useContext } from "react"; // lib import { StoreContext } from "@/lib/store-context"; // Plane-web -import { IBaseTimelineStore } from "@/plane-web/store/timeline/base-timeline.store"; +import type { IBaseTimelineStore } from "@/plane-web/store/timeline/base-timeline.store"; // import { ETimeLineTypeType, useTimeLineType } from "../components/gantt-chart/contexts"; diff --git a/apps/web/core/hooks/use-timezone.tsx b/apps/web/core/hooks/use-timezone.tsx index 983f99beb..488fa6940 100644 --- a/apps/web/core/hooks/use-timezone.tsx +++ b/apps/web/core/hooks/use-timezone.tsx @@ -1,5 +1,5 @@ import useSWR from "swr"; -import { TTimezoneObject } from "@plane/types"; +import type { TTimezoneObject } from "@plane/types"; // services import timezoneService from "@/services/timezone.service"; diff --git a/apps/web/core/hooks/use-workspace-invitation.tsx b/apps/web/core/hooks/use-workspace-invitation.tsx index 20d19e894..483e46e05 100644 --- a/apps/web/core/hooks/use-workspace-invitation.tsx +++ b/apps/web/core/hooks/use-workspace-invitation.tsx @@ -1,5 +1,6 @@ import { useEffect } from "react"; -import { Control, FieldArrayWithId, FormState, useFieldArray, useForm, UseFormWatch } from "react-hook-form"; +import type { Control, FieldArrayWithId, FormState, UseFormWatch } from "react-hook-form"; +import { useFieldArray, useForm } from "react-hook-form"; // plane imports import { EUserPermissions } from "@plane/constants"; diff --git a/apps/web/core/layouts/auth-layout/project-wrapper.tsx b/apps/web/core/layouts/auth-layout/project-wrapper.tsx index f447ea4e4..77d305065 100644 --- a/apps/web/core/layouts/auth-layout/project-wrapper.tsx +++ b/apps/web/core/layouts/auth-layout/project-wrapper.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, ReactNode, useEffect } from "react"; +import type { FC, ReactNode } from "react"; +import { useEffect } from "react"; import { observer } from "mobx-react"; import useSWR from "swr"; // plane imports diff --git a/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx b/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx index b7019419f..779018db0 100644 --- a/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx +++ b/apps/web/core/layouts/auth-layout/workspace-wrapper.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC, ReactNode } from "react"; +import type { FC, ReactNode } from "react"; import { observer } from "mobx-react"; import Image from "next/image"; import Link from "next/link"; diff --git a/apps/web/core/layouts/default-layout/index.tsx b/apps/web/core/layouts/default-layout/index.tsx index 4282f40a8..aca10dde5 100644 --- a/apps/web/core/layouts/default-layout/index.tsx +++ b/apps/web/core/layouts/default-layout/index.tsx @@ -1,4 +1,4 @@ -import { FC, ReactNode } from "react"; +import type { FC, ReactNode } from "react"; import { cn } from "@plane/utils"; type Props = { diff --git a/apps/web/core/lib/intercom-provider.tsx b/apps/web/core/lib/intercom-provider.tsx index 6c6bd53b3..c302a0d84 100644 --- a/apps/web/core/lib/intercom-provider.tsx +++ b/apps/web/core/lib/intercom-provider.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC, useEffect } from "react"; +import type { FC } from "react"; +import React, { useEffect } from "react"; import { Intercom, show, hide, onHide } from "@intercom/messenger-js-sdk"; import { observer } from "mobx-react"; // store hooks diff --git a/apps/web/core/lib/posthog-provider.tsx b/apps/web/core/lib/posthog-provider.tsx index ae81d96f7..7be998692 100644 --- a/apps/web/core/lib/posthog-provider.tsx +++ b/apps/web/core/lib/posthog-provider.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, ReactNode, useEffect } from "react"; +import type { FC, ReactNode } from "react"; +import { useEffect } from "react"; import { observer } from "mobx-react"; import dynamic from "next/dynamic"; import { useParams } from "next/navigation"; diff --git a/apps/web/core/lib/store-context.tsx b/apps/web/core/lib/store-context.tsx index 89fc33a47..dde0269ee 100644 --- a/apps/web/core/lib/store-context.tsx +++ b/apps/web/core/lib/store-context.tsx @@ -1,6 +1,7 @@ "use client"; -import { ReactElement, createContext } from "react"; +import type { ReactElement } from "react"; +import { createContext } from "react"; // plane web store import { RootStore } from "@/plane-web/store/root.store"; diff --git a/apps/web/core/lib/wrappers/authentication-wrapper.tsx b/apps/web/core/lib/wrappers/authentication-wrapper.tsx index 0d63cb719..c8802b311 100644 --- a/apps/web/core/lib/wrappers/authentication-wrapper.tsx +++ b/apps/web/core/lib/wrappers/authentication-wrapper.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC, ReactNode } from "react"; +import type { FC, ReactNode } from "react"; import { observer } from "mobx-react"; import { useSearchParams, usePathname } from "next/navigation"; import useSWR from "swr"; diff --git a/apps/web/core/lib/wrappers/instance-wrapper.tsx b/apps/web/core/lib/wrappers/instance-wrapper.tsx index 10df831fa..5f2590034 100644 --- a/apps/web/core/lib/wrappers/instance-wrapper.tsx +++ b/apps/web/core/lib/wrappers/instance-wrapper.tsx @@ -1,4 +1,4 @@ -import { FC, ReactNode } from "react"; +import type { FC, ReactNode } from "react"; import { observer } from "mobx-react"; import useSWR from "swr"; // components diff --git a/apps/web/core/lib/wrappers/store-wrapper.tsx b/apps/web/core/lib/wrappers/store-wrapper.tsx index f1ffbd363..a2681c9af 100644 --- a/apps/web/core/lib/wrappers/store-wrapper.tsx +++ b/apps/web/core/lib/wrappers/store-wrapper.tsx @@ -1,8 +1,10 @@ -import { ReactNode, useEffect, FC } from "react"; +import type { ReactNode, FC } from "react"; +import { useEffect } from "react"; import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { useTheme } from "next-themes"; -import { useTranslation, TLanguage } from "@plane/i18n"; +import type { TLanguage } from "@plane/i18n"; +import { useTranslation } from "@plane/i18n"; // helpers import { applyTheme, unsetCustomCssVariables } from "@plane/utils"; // hooks diff --git a/apps/web/core/local-db/storage.sqlite.ts b/apps/web/core/local-db/storage.sqlite.ts index 599cf3de1..3e926bdbe 100644 --- a/apps/web/core/local-db/storage.sqlite.ts +++ b/apps/web/core/local-db/storage.sqlite.ts @@ -2,7 +2,7 @@ import * as Comlink from "comlink"; import { set } from "lodash-es"; // plane import { EIssueGroupBYServerToProperty } from "@plane/constants"; -import { TIssue, TIssueParams } from "@plane/types"; +import type { TIssue, TIssueParams } from "@plane/types"; // lib import { rootStore } from "@/lib/store-context"; // services diff --git a/apps/web/core/local-db/utils/load-issues.ts b/apps/web/core/local-db/utils/load-issues.ts index 444c07894..a0c20fc0c 100644 --- a/apps/web/core/local-db/utils/load-issues.ts +++ b/apps/web/core/local-db/utils/load-issues.ts @@ -1,4 +1,4 @@ -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; import { rootStore } from "@/lib/store-context"; import { IssueService } from "@/services/issue"; import { persistence } from "../storage.sqlite"; diff --git a/apps/web/core/local-db/utils/load-workspace.ts b/apps/web/core/local-db/utils/load-workspace.ts index 2ac60c11c..f388ea3b3 100644 --- a/apps/web/core/local-db/utils/load-workspace.ts +++ b/apps/web/core/local-db/utils/load-workspace.ts @@ -1,5 +1,5 @@ import { difference } from "lodash-es"; -import { IEstimate, IEstimatePoint, IWorkspaceMember, TIssue } from "@plane/types"; +import type { IEstimate, IEstimatePoint, IWorkspaceMember, TIssue } from "@plane/types"; import { EstimateService } from "@/plane-web/services/project/estimate.service"; import { CycleService } from "@/services/cycle.service"; import { IssueLabelService } from "@/services/issue/issue_label.service"; @@ -8,15 +8,8 @@ import { ProjectStateService } from "@/services/project"; import { WorkspaceService } from "@/services/workspace.service"; import { persistence } from "../storage.sqlite"; import { updateIssue } from "./load-issues"; -import { - cycleSchema, - estimatePointSchema, - labelSchema, - memberSchema, - moduleSchema, - Schema, - stateSchema, -} from "./schemas"; +import type { Schema } from "./schemas"; +import { cycleSchema, estimatePointSchema, labelSchema, memberSchema, moduleSchema, stateSchema } from "./schemas"; import { log } from "./utils"; const stageInserts = async (table: string, schema: Schema, data: any) => { diff --git a/apps/web/core/local-db/utils/query-sanitizer.ts.ts b/apps/web/core/local-db/utils/query-sanitizer.ts.ts index 7a923d417..3488217da 100644 --- a/apps/web/core/local-db/utils/query-sanitizer.ts.ts +++ b/apps/web/core/local-db/utils/query-sanitizer.ts.ts @@ -1,6 +1,6 @@ // plane constants import { EUserPermissions } from "@plane/constants"; -import { TIssueParams } from "@plane/types"; +import type { TIssueParams } from "@plane/types"; // root store import { rootStore } from "@/lib/store-context"; diff --git a/apps/web/core/local-db/utils/tables.ts b/apps/web/core/local-db/utils/tables.ts index 67ada8465..6319f6e9c 100644 --- a/apps/web/core/local-db/utils/tables.ts +++ b/apps/web/core/local-db/utils/tables.ts @@ -1,8 +1,8 @@ import { persistence } from "../storage.sqlite"; +import type { Schema } from "./schemas"; import { labelSchema, moduleSchema, - Schema, issueMetaSchema, issueSchema, stateSchema, diff --git a/apps/web/core/local-db/utils/utils.ts b/apps/web/core/local-db/utils/utils.ts index 33c3f39c0..1cb44c672 100644 --- a/apps/web/core/local-db/utils/utils.ts +++ b/apps/web/core/local-db/utils/utils.ts @@ -1,5 +1,5 @@ import { pick } from "lodash-es"; -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; import { rootStore } from "@/lib/store-context"; import { persistence } from "../storage.sqlite"; import { updateIssue } from "./load-issues"; diff --git a/apps/web/core/services/ai.service.ts b/apps/web/core/services/ai.service.ts index 7588e309b..92f9d30d9 100644 --- a/apps/web/core/services/ai.service.ts +++ b/apps/web/core/services/ai.service.ts @@ -1,7 +1,7 @@ // helpers import { API_BASE_URL } from "@plane/constants"; // plane web constants -import { AI_EDITOR_TASKS } from "@/plane-web/constants/ai"; +import type { AI_EDITOR_TASKS } from "@/plane-web/constants/ai"; // services import { APIService } from "@/services/api.service"; // types diff --git a/apps/web/core/services/analytics.service.ts b/apps/web/core/services/analytics.service.ts index 1391e487f..e3ccfb500 100644 --- a/apps/web/core/services/analytics.service.ts +++ b/apps/web/core/services/analytics.service.ts @@ -1,6 +1,11 @@ // plane imports import { API_BASE_URL } from "@plane/constants"; -import { IAnalyticsResponse, TAnalyticsTabsBase, TAnalyticsGraphsBase, TAnalyticsFilterParams } from "@plane/types"; +import type { + IAnalyticsResponse, + TAnalyticsTabsBase, + TAnalyticsGraphsBase, + TAnalyticsFilterParams, +} from "@plane/types"; // services import { APIService } from "./api.service"; diff --git a/apps/web/core/services/api.service.ts b/apps/web/core/services/api.service.ts index 944990a05..7c6cd1c6e 100644 --- a/apps/web/core/services/api.service.ts +++ b/apps/web/core/services/api.service.ts @@ -1,5 +1,6 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import axios, { AxiosInstance, AxiosRequestConfig } from "axios"; +import type { AxiosInstance, AxiosRequestConfig } from "axios"; +import axios from "axios"; export abstract class APIService { protected baseURL: string; diff --git a/apps/web/core/services/auth.service.ts b/apps/web/core/services/auth.service.ts index 9e167f981..d1360f9ae 100644 --- a/apps/web/core/services/auth.service.ts +++ b/apps/web/core/services/auth.service.ts @@ -1,6 +1,6 @@ // types import { API_BASE_URL } from "@plane/constants"; -import { ICsrfTokenData, IEmailCheckData, IEmailCheckResponse } from "@plane/types"; +import type { ICsrfTokenData, IEmailCheckData, IEmailCheckResponse } from "@plane/types"; // helpers // services import { APIService } from "@/services/api.service"; diff --git a/apps/web/core/services/cycle_archive.service.ts b/apps/web/core/services/cycle_archive.service.ts index 3042b1049..22b1e9433 100644 --- a/apps/web/core/services/cycle_archive.service.ts +++ b/apps/web/core/services/cycle_archive.service.ts @@ -1,6 +1,6 @@ // type import { API_BASE_URL } from "@plane/constants"; -import { ICycle } from "@plane/types"; +import type { ICycle } from "@plane/types"; // helpers // services import { APIService } from "@/services/api.service"; diff --git a/apps/web/core/services/dashboard.service.ts b/apps/web/core/services/dashboard.service.ts index a7416b173..211b47173 100644 --- a/apps/web/core/services/dashboard.service.ts +++ b/apps/web/core/services/dashboard.service.ts @@ -1,5 +1,5 @@ import { API_BASE_URL } from "@plane/constants"; -import { THomeDashboardResponse, TWidget, TWidgetStatsResponse, TWidgetStatsRequestParams } from "@plane/types"; +import type { THomeDashboardResponse, TWidget, TWidgetStatsResponse, TWidgetStatsRequestParams } from "@plane/types"; import { APIService } from "@/services/api.service"; // helpers // types diff --git a/apps/web/core/services/file-upload.service.ts b/apps/web/core/services/file-upload.service.ts index c6421872a..1c404cb02 100644 --- a/apps/web/core/services/file-upload.service.ts +++ b/apps/web/core/services/file-upload.service.ts @@ -1,4 +1,5 @@ -import axios, { AxiosRequestConfig } from "axios"; +import type { AxiosRequestConfig } from "axios"; +import axios from "axios"; // services import { APIService } from "@/services/api.service"; diff --git a/apps/web/core/services/file.service.ts b/apps/web/core/services/file.service.ts index 47a531fc3..680772c63 100644 --- a/apps/web/core/services/file.service.ts +++ b/apps/web/core/services/file.service.ts @@ -1,8 +1,8 @@ -import { AxiosRequestConfig } from "axios"; +import type { AxiosRequestConfig } from "axios"; // plane types import { API_BASE_URL } from "@plane/constants"; import { getFileMetaDataForUpload, generateFileUploadPayload } from "@plane/services"; -import { TFileEntityInfo, TFileSignedURLResponse } from "@plane/types"; +import type { TFileEntityInfo, TFileSignedURLResponse } from "@plane/types"; import { getAssetIdFromUrl } from "@plane/utils"; // helpers // services diff --git a/apps/web/core/services/inbox/inbox-issue.service.ts b/apps/web/core/services/inbox/inbox-issue.service.ts index 2214012d9..3cdfc28fc 100644 --- a/apps/web/core/services/inbox/inbox-issue.service.ts +++ b/apps/web/core/services/inbox/inbox-issue.service.ts @@ -1,6 +1,7 @@ // plane imports import { API_BASE_URL } from "@plane/constants"; -import { EInboxIssueSource, TInboxIssue, TIssue, TInboxIssueWithPagination } from "@plane/types"; +import type { TInboxIssue, TIssue, TInboxIssueWithPagination } from "@plane/types"; +import { EInboxIssueSource } from "@plane/types"; // helpers // services import { APIService } from "@/services/api.service"; diff --git a/apps/web/core/services/inbox/intake-work_item_version.service.ts b/apps/web/core/services/inbox/intake-work_item_version.service.ts index 34c47bcd0..231ae718c 100644 --- a/apps/web/core/services/inbox/intake-work_item_version.service.ts +++ b/apps/web/core/services/inbox/intake-work_item_version.service.ts @@ -1,6 +1,6 @@ // plane imports import { API_BASE_URL } from "@plane/constants"; -import { type TDescriptionVersionsListResponse, type TDescriptionVersionDetails } from "@plane/types"; +import type { TDescriptionVersionsListResponse, TDescriptionVersionDetails } from "@plane/types"; // helpers // services import { APIService } from "@/services/api.service"; diff --git a/apps/web/core/services/integrations/github.service.ts b/apps/web/core/services/integrations/github.service.ts index 4e8129d40..11fdaf1e0 100644 --- a/apps/web/core/services/integrations/github.service.ts +++ b/apps/web/core/services/integrations/github.service.ts @@ -1,5 +1,5 @@ import { API_BASE_URL } from "@plane/constants"; -import { IGithubRepoInfo, IGithubServiceImportFormData } from "@plane/types"; +import type { IGithubRepoInfo, IGithubServiceImportFormData } from "@plane/types"; import { APIService } from "@/services/api.service"; // helpers // types diff --git a/apps/web/core/services/integrations/integration.service.ts b/apps/web/core/services/integrations/integration.service.ts index f284473fc..0f6ef6a0d 100644 --- a/apps/web/core/services/integrations/integration.service.ts +++ b/apps/web/core/services/integrations/integration.service.ts @@ -1,5 +1,5 @@ import { API_BASE_URL } from "@plane/constants"; -import { IAppIntegration, IImporterService, IWorkspaceIntegration, IExportServiceResponse } from "@plane/types"; +import type { IAppIntegration, IImporterService, IWorkspaceIntegration, IExportServiceResponse } from "@plane/types"; import { APIService } from "@/services/api.service"; // types // helper diff --git a/apps/web/core/services/integrations/jira.service.ts b/apps/web/core/services/integrations/jira.service.ts index 6be50b2ec..935b15a33 100644 --- a/apps/web/core/services/integrations/jira.service.ts +++ b/apps/web/core/services/integrations/jira.service.ts @@ -1,5 +1,5 @@ import { API_BASE_URL } from "@plane/constants"; -import { IJiraMetadata, IJiraResponse, IJiraImporterForm } from "@plane/types"; +import type { IJiraMetadata, IJiraResponse, IJiraImporterForm } from "@plane/types"; import { APIService } from "@/services/api.service"; // types diff --git a/apps/web/core/services/issue/issue.service.ts b/apps/web/core/services/issue/issue.service.ts index a0ed0a072..886e62c33 100644 --- a/apps/web/core/services/issue/issue.service.ts +++ b/apps/web/core/services/issue/issue.service.ts @@ -1,16 +1,16 @@ // plane imports import { API_BASE_URL } from "@plane/constants"; -import { - EIssueServiceType, +import { EIssueServiceType } from "@plane/types"; +import type { TIssueParams, - type IIssueDisplayProperties, - type TBulkOperationsPayload, - type TIssue, - type TIssueActivity, - type TIssueLink, - type TIssueServiceType, - type TIssuesResponse, - type TIssueSubIssues, + IIssueDisplayProperties, + TBulkOperationsPayload, + TIssue, + TIssueActivity, + TIssueLink, + TIssueServiceType, + TIssuesResponse, + TIssueSubIssues, } from "@plane/types"; import { getIssuesShouldFallbackToServer } from "@plane/utils"; // services diff --git a/apps/web/core/services/issue/issue_activity.service.ts b/apps/web/core/services/issue/issue_activity.service.ts index 0294c159c..1a31da5fd 100644 --- a/apps/web/core/services/issue/issue_activity.service.ts +++ b/apps/web/core/services/issue/issue_activity.service.ts @@ -1,5 +1,6 @@ import { API_BASE_URL } from "@plane/constants"; -import { EIssueServiceType, TIssueActivity, TIssueServiceType } from "@plane/types"; +import type { TIssueActivity, TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; import { APIService } from "@/services/api.service"; // types // helper diff --git a/apps/web/core/services/issue/issue_archive.service.ts b/apps/web/core/services/issue/issue_archive.service.ts index dd3764d59..eccd95699 100644 --- a/apps/web/core/services/issue/issue_archive.service.ts +++ b/apps/web/core/services/issue/issue_archive.service.ts @@ -1,5 +1,6 @@ import { API_BASE_URL } from "@plane/constants"; -import { EIssueServiceType, TIssue, TIssueServiceType } from "@plane/types"; +import type { TIssue, TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; import { APIService } from "@/services/api.service"; // types // constants diff --git a/apps/web/core/services/issue/issue_attachment.service.ts b/apps/web/core/services/issue/issue_attachment.service.ts index 5d512606a..f8bb1df85 100644 --- a/apps/web/core/services/issue/issue_attachment.service.ts +++ b/apps/web/core/services/issue/issue_attachment.service.ts @@ -1,8 +1,9 @@ -import { AxiosRequestConfig } from "axios"; +import type { AxiosRequestConfig } from "axios"; import { API_BASE_URL } from "@plane/constants"; // plane types import { getFileMetaDataForUpload, generateFileUploadPayload } from "@plane/services"; -import { EIssueServiceType, TIssueAttachment, TIssueAttachmentUploadResponse, TIssueServiceType } from "@plane/types"; +import type { TIssueAttachment, TIssueAttachmentUploadResponse, TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // services import { APIService } from "@/services/api.service"; import { FileUploadService } from "@/services/file-upload.service"; diff --git a/apps/web/core/services/issue/issue_comment.service.ts b/apps/web/core/services/issue/issue_comment.service.ts index f973f017f..05425f206 100644 --- a/apps/web/core/services/issue/issue_comment.service.ts +++ b/apps/web/core/services/issue/issue_comment.service.ts @@ -1,6 +1,7 @@ // plane types import { API_BASE_URL } from "@plane/constants"; -import { EIssueServiceType, TIssueComment, TIssueServiceType } from "@plane/types"; +import type { TIssueComment, TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // services import { APIService } from "@/services/api.service"; import { FileUploadService } from "@/services/file-upload.service"; diff --git a/apps/web/core/services/issue/issue_label.service.ts b/apps/web/core/services/issue/issue_label.service.ts index 21a5531fc..00971feb7 100644 --- a/apps/web/core/services/issue/issue_label.service.ts +++ b/apps/web/core/services/issue/issue_label.service.ts @@ -1,5 +1,5 @@ import { API_BASE_URL } from "@plane/constants"; -import { IIssueLabel } from "@plane/types"; +import type { IIssueLabel } from "@plane/types"; // services import { APIService } from "@/services/api.service"; // types diff --git a/apps/web/core/services/issue/issue_reaction.service.ts b/apps/web/core/services/issue/issue_reaction.service.ts index 67112dfb3..fe5752f16 100644 --- a/apps/web/core/services/issue/issue_reaction.service.ts +++ b/apps/web/core/services/issue/issue_reaction.service.ts @@ -1,10 +1,6 @@ import { API_BASE_URL } from "@plane/constants"; -import { - EIssueServiceType, - type TIssueCommentReaction, - type TIssueReaction, - type TIssueServiceType, -} from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; +import type { TIssueCommentReaction, TIssueReaction, TIssueServiceType } from "@plane/types"; // services import { APIService } from "@/services/api.service"; // types diff --git a/apps/web/core/services/issue/issue_relation.service.ts b/apps/web/core/services/issue/issue_relation.service.ts index 86aa8800b..cb9c46bc7 100644 --- a/apps/web/core/services/issue/issue_relation.service.ts +++ b/apps/web/core/services/issue/issue_relation.service.ts @@ -2,7 +2,7 @@ import { API_BASE_URL } from "@plane/constants"; import type { TIssueRelation, TIssue } from "@plane/types"; // helpers // Plane-web -import { TIssueRelationTypes } from "@/plane-web/types"; +import type { TIssueRelationTypes } from "@/plane-web/types"; // services import { APIService } from "@/services/api.service"; diff --git a/apps/web/core/services/issue/work_item_version.service.ts b/apps/web/core/services/issue/work_item_version.service.ts index 3e593a412..81802aa86 100644 --- a/apps/web/core/services/issue/work_item_version.service.ts +++ b/apps/web/core/services/issue/work_item_version.service.ts @@ -1,11 +1,7 @@ // plane imports import { API_BASE_URL } from "@plane/constants"; -import { - EIssueServiceType, - type TDescriptionVersionsListResponse, - type TDescriptionVersionDetails, - type TIssueServiceType, -} from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; +import type { TDescriptionVersionsListResponse, TDescriptionVersionDetails, TIssueServiceType } from "@plane/types"; // helpers // services import { APIService } from "@/services/api.service"; diff --git a/apps/web/core/services/issue/workspace_draft.service.ts b/apps/web/core/services/issue/workspace_draft.service.ts index bccfb213e..45626d5d1 100644 --- a/apps/web/core/services/issue/workspace_draft.service.ts +++ b/apps/web/core/services/issue/workspace_draft.service.ts @@ -1,5 +1,5 @@ import { API_BASE_URL } from "@plane/constants"; -import { TIssue, TWorkspaceDraftIssue, TWorkspaceDraftPaginationInfo } from "@plane/types"; +import type { TIssue, TWorkspaceDraftIssue, TWorkspaceDraftPaginationInfo } from "@plane/types"; // helpers // services import { APIService } from "@/services/api.service"; diff --git a/apps/web/core/services/module_archive.service.ts b/apps/web/core/services/module_archive.service.ts index a53e85aea..2a7566ec9 100644 --- a/apps/web/core/services/module_archive.service.ts +++ b/apps/web/core/services/module_archive.service.ts @@ -1,6 +1,6 @@ // type import { API_BASE_URL } from "@plane/constants"; -import { IModule } from "@plane/types"; +import type { IModule } from "@plane/types"; // helpers // services import { APIService } from "@/services/api.service"; diff --git a/apps/web/core/services/page/project-page-version.service.ts b/apps/web/core/services/page/project-page-version.service.ts index 1491cf37f..4d842785a 100644 --- a/apps/web/core/services/page/project-page-version.service.ts +++ b/apps/web/core/services/page/project-page-version.service.ts @@ -1,6 +1,6 @@ // plane types import { API_BASE_URL } from "@plane/constants"; -import { TPageVersion } from "@plane/types"; +import type { TPageVersion } from "@plane/types"; // helpers // services import { APIService } from "@/services/api.service"; diff --git a/apps/web/core/services/page/project-page.service.ts b/apps/web/core/services/page/project-page.service.ts index d5fea6e4c..16a670384 100644 --- a/apps/web/core/services/page/project-page.service.ts +++ b/apps/web/core/services/page/project-page.service.ts @@ -1,6 +1,6 @@ // types import { API_BASE_URL } from "@plane/constants"; -import { TDocumentPayload, TPage } from "@plane/types"; +import type { TDocumentPayload, TPage } from "@plane/types"; // helpers // services import { APIService } from "@/services/api.service"; diff --git a/apps/web/core/services/project/project-publish.service.ts b/apps/web/core/services/project/project-publish.service.ts index edbe3fbb8..76a931b8f 100644 --- a/apps/web/core/services/project/project-publish.service.ts +++ b/apps/web/core/services/project/project-publish.service.ts @@ -1,6 +1,6 @@ // types import { API_BASE_URL } from "@plane/constants"; -import { TProjectPublishSettings } from "@plane/types"; +import type { TProjectPublishSettings } from "@plane/types"; // helpers // services import { APIService } from "@/services/api.service"; diff --git a/apps/web/core/services/project/project.service.ts b/apps/web/core/services/project/project.service.ts index bf5a2ce2e..266ffe95d 100644 --- a/apps/web/core/services/project/project.service.ts +++ b/apps/web/core/services/project/project.service.ts @@ -8,7 +8,7 @@ import type { } from "@plane/types"; // helpers // plane web types -import { TProject, TPartialProject } from "@/plane-web/types"; +import type { TProject, TPartialProject } from "@/plane-web/types"; // services import { APIService } from "@/services/api.service"; diff --git a/apps/web/core/services/sticky.service.ts b/apps/web/core/services/sticky.service.ts index 1dfbc2c92..e3c470791 100644 --- a/apps/web/core/services/sticky.service.ts +++ b/apps/web/core/services/sticky.service.ts @@ -1,6 +1,6 @@ // helpers import { STICKIES_PER_PAGE, API_BASE_URL } from "@plane/constants"; -import { TSticky } from "@plane/types"; +import type { TSticky } from "@plane/types"; // services import { APIService } from "@/services/api.service"; diff --git a/apps/web/core/services/timezone.service.ts b/apps/web/core/services/timezone.service.ts index 4bcee3f7b..0b0854232 100644 --- a/apps/web/core/services/timezone.service.ts +++ b/apps/web/core/services/timezone.service.ts @@ -1,5 +1,5 @@ import { API_BASE_URL } from "@plane/constants"; -import { TTimezones } from "@plane/types"; +import type { TTimezones } from "@plane/types"; // helpers // api services import { APIService } from "@/services/api.service"; diff --git a/apps/web/core/services/view.service.ts b/apps/web/core/services/view.service.ts index 57db5f82f..96d4c5f31 100644 --- a/apps/web/core/services/view.service.ts +++ b/apps/web/core/services/view.service.ts @@ -1,5 +1,5 @@ import { API_BASE_URL } from "@plane/constants"; -import { IProjectView } from "@plane/types"; +import type { IProjectView } from "@plane/types"; import { APIService } from "@/services/api.service"; // types // helpers diff --git a/apps/web/core/services/webhook.service.ts b/apps/web/core/services/webhook.service.ts index 408baac80..ab0dd2fbf 100644 --- a/apps/web/core/services/webhook.service.ts +++ b/apps/web/core/services/webhook.service.ts @@ -1,6 +1,6 @@ // api services import { API_BASE_URL } from "@plane/constants"; -import { IWebhook } from "@plane/types"; +import type { IWebhook } from "@plane/types"; import { APIService } from "@/services/api.service"; // helpers // types diff --git a/apps/web/core/services/workspace.service.ts b/apps/web/core/services/workspace.service.ts index 1c1dfeea6..5531ba386 100644 --- a/apps/web/core/services/workspace.service.ts +++ b/apps/web/core/services/workspace.service.ts @@ -1,5 +1,5 @@ import { API_BASE_URL } from "@plane/constants"; -import { +import type { IWorkspace, IWorkspaceMemberMe, IWorkspaceMember, diff --git a/apps/web/core/store/analytics.store.ts b/apps/web/core/store/analytics.store.ts index 828a131b1..0a949d55e 100644 --- a/apps/web/core/store/analytics.store.ts +++ b/apps/web/core/store/analytics.store.ts @@ -1,6 +1,6 @@ import { action, computed, makeObservable, observable, runInAction } from "mobx"; import { ANALYTICS_DURATION_FILTER_OPTIONS } from "@plane/constants"; -import { TAnalyticsTabsBase } from "@plane/types"; +import type { TAnalyticsTabsBase } from "@plane/types"; type DurationType = (typeof ANALYTICS_DURATION_FILTER_OPTIONS)[number]["value"]; diff --git a/apps/web/core/store/base-command-palette.store.ts b/apps/web/core/store/base-command-palette.store.ts index f9e309814..ea414bf76 100644 --- a/apps/web/core/store/base-command-palette.store.ts +++ b/apps/web/core/store/base-command-palette.store.ts @@ -1,11 +1,7 @@ import { observable, action, makeObservable } from "mobx"; import { computedFn } from "mobx-utils"; -import { - TCreateModalStoreTypes, - DEFAULT_CREATE_PAGE_MODAL_DATA, - EPageAccess, - TCreatePageModal, -} from "@plane/constants"; +import type { TCreateModalStoreTypes, TCreatePageModal } from "@plane/constants"; +import { DEFAULT_CREATE_PAGE_MODAL_DATA, EPageAccess } from "@plane/constants"; import { EIssuesStoreType } from "@plane/types"; export interface ModalData { diff --git a/apps/web/core/store/cycle.store.ts b/apps/web/core/store/cycle.store.ts index c3c96144f..3495834ca 100644 --- a/apps/web/core/store/cycle.store.ts +++ b/apps/web/core/store/cycle.store.ts @@ -3,7 +3,7 @@ import { sortBy, set, isEmpty } from "lodash-es"; import { action, computed, observable, makeObservable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // types -import { +import type { ICycle, TCyclePlotType, TProgressSnapshot, @@ -11,7 +11,8 @@ import { TCycleDistribution, TCycleEstimateType, } from "@plane/types"; -import { orderCycles, shouldFilterCycle, getDate, DistributionUpdates, updateDistribution } from "@plane/utils"; +import type { DistributionUpdates } from "@plane/utils"; +import { orderCycles, shouldFilterCycle, getDate, updateDistribution } from "@plane/utils"; // helpers // services import { syncIssuesWithDeletedCycles } from "@/local-db/utils/load-workspace"; diff --git a/apps/web/core/store/cycle_filter.store.ts b/apps/web/core/store/cycle_filter.store.ts index 81f9d52f0..a1b0eca82 100644 --- a/apps/web/core/store/cycle_filter.store.ts +++ b/apps/web/core/store/cycle_filter.store.ts @@ -2,7 +2,7 @@ import { set } from "lodash-es"; import { action, computed, observable, makeObservable, runInAction, reaction } from "mobx"; import { computedFn } from "mobx-utils"; // types -import { TCycleDisplayFilters, TCycleFilters, TCycleFiltersByState } from "@plane/types"; +import type { TCycleDisplayFilters, TCycleFilters, TCycleFiltersByState } from "@plane/types"; // store import type { CoreRootStore } from "./root.store"; diff --git a/apps/web/core/store/editor/asset.store.ts b/apps/web/core/store/editor/asset.store.ts index 5de9c7e2e..7dd6f1c44 100644 --- a/apps/web/core/store/editor/asset.store.ts +++ b/apps/web/core/store/editor/asset.store.ts @@ -3,10 +3,10 @@ import { action, computed, makeObservable, observable, runInAction } from "mobx" import { computedFn } from "mobx-utils"; import { v4 as uuidv4 } from "uuid"; // plane types -import { TFileEntityInfo, TFileSignedURLResponse } from "@plane/types"; +import type { TFileEntityInfo, TFileSignedURLResponse } from "@plane/types"; // services import { FileService } from "@/services/file.service"; -import { TAttachmentUploadStatus } from "../issue/issue-details/attachment.store"; +import type { TAttachmentUploadStatus } from "../issue/issue-details/attachment.store"; export interface IEditorAssetStore { // computed diff --git a/apps/web/core/store/estimates/estimate-point.ts b/apps/web/core/store/estimates/estimate-point.ts index fa517e0d4..4340e50b0 100644 --- a/apps/web/core/store/estimates/estimate-point.ts +++ b/apps/web/core/store/estimates/estimate-point.ts @@ -3,7 +3,7 @@ import { set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; // types -import { IEstimate, IEstimatePoint as IEstimatePointType } from "@plane/types"; +import type { IEstimate, IEstimatePoint as IEstimatePointType } from "@plane/types"; // plane web services import estimateService from "@/plane-web/services/project/estimate.service"; // store diff --git a/apps/web/core/store/estimates/project-estimate.store.ts b/apps/web/core/store/estimates/project-estimate.store.ts index ae3e42325..8bb9184a0 100644 --- a/apps/web/core/store/estimates/project-estimate.store.ts +++ b/apps/web/core/store/estimates/project-estimate.store.ts @@ -2,11 +2,12 @@ import { unset, orderBy, set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // types -import { IEstimate as IEstimateType, IEstimateFormData, TEstimateSystemKeys } from "@plane/types"; +import type { IEstimate as IEstimateType, IEstimateFormData, TEstimateSystemKeys } from "@plane/types"; // plane web services import estimateService from "@/plane-web/services/project/estimate.service"; // plane web store -import { IEstimate, Estimate } from "@/plane-web/store/estimates/estimate"; +import type { IEstimate } from "@/plane-web/store/estimates/estimate"; +import { Estimate } from "@/plane-web/store/estimates/estimate"; // store import type { CoreRootStore } from "../root.store"; diff --git a/apps/web/core/store/favorite.store.ts b/apps/web/core/store/favorite.store.ts index dc1961d5b..2fce54b63 100644 --- a/apps/web/core/store/favorite.store.ts +++ b/apps/web/core/store/favorite.store.ts @@ -1,7 +1,7 @@ import { orderBy, uniqBy, set } from "lodash-es"; import { action, observable, makeObservable, runInAction, computed } from "mobx"; import { v4 as uuidv4 } from "uuid"; -import { IFavorite } from "@plane/types"; +import type { IFavorite } from "@plane/types"; import { FavoriteService } from "@/services/favorite"; import type { CoreRootStore } from "./root.store"; diff --git a/apps/web/core/store/global-view.store.ts b/apps/web/core/store/global-view.store.ts index c6a6f3608..eba2c4444 100644 --- a/apps/web/core/store/global-view.store.ts +++ b/apps/web/core/store/global-view.store.ts @@ -2,7 +2,7 @@ import { set, cloneDeep, isEqual } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // plane imports -import { IWorkspaceView } from "@plane/types"; +import type { IWorkspaceView } from "@plane/types"; // services import { WorkspaceService } from "@/plane-web/services"; // store diff --git a/apps/web/core/store/inbox/inbox-issue.store.ts b/apps/web/core/store/inbox/inbox-issue.store.ts index fbb101039..c555a0902 100644 --- a/apps/web/core/store/inbox/inbox-issue.store.ts +++ b/apps/web/core/store/inbox/inbox-issue.store.ts @@ -1,13 +1,13 @@ import { clone, set } from "lodash-es"; import { makeObservable, observable, runInAction, action } from "mobx"; -import { +import type { TInboxIssue, TInboxIssueStatus, EInboxIssueSource, - EInboxIssueStatus, TIssue, TInboxDuplicateIssueDetails, } from "@plane/types"; +import { EInboxIssueStatus } from "@plane/types"; // helpers // local db import { addIssueToPersistanceLayer } from "@/local-db/utils/utils"; diff --git a/apps/web/core/store/inbox/project-inbox.store.ts b/apps/web/core/store/inbox/project-inbox.store.ts index b1cf7bd9b..5d5868624 100644 --- a/apps/web/core/store/inbox/project-inbox.store.ts +++ b/apps/web/core/store/inbox/project-inbox.store.ts @@ -1,11 +1,9 @@ import { uniq, update, isEmpty, omit, set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; -import { EPastDurationFilters } from "@plane/constants"; +import type { EPastDurationFilters } from "@plane/constants"; // types -import { - EInboxIssueCurrentTab, - EInboxIssueStatus, +import type { TInboxIssue, TInboxIssueCurrentTab, TInboxIssueFilter, @@ -13,12 +11,14 @@ import { TInboxIssuePaginationInfo, TInboxIssueSortingOrderByQueryParam, } from "@plane/types"; +import { EInboxIssueCurrentTab, EInboxIssueStatus } from "@plane/types"; import { getCustomDates } from "@plane/utils"; // helpers // services import { InboxIssueService } from "@/services/inbox"; // root store -import { IInboxIssueStore, InboxIssueStore } from "@/store/inbox/inbox-issue.store"; +import type { IInboxIssueStore } from "@/store/inbox/inbox-issue.store"; +import { InboxIssueStore } from "@/store/inbox/inbox-issue.store"; import type { CoreRootStore } from "../root.store"; type TLoader = diff --git a/apps/web/core/store/instance.store.ts b/apps/web/core/store/instance.store.ts index b48cb49d7..aaa12ac37 100644 --- a/apps/web/core/store/instance.store.ts +++ b/apps/web/core/store/instance.store.ts @@ -1,6 +1,6 @@ import { observable, action, makeObservable, runInAction } from "mobx"; // types -import { IInstance, IInstanceConfig } from "@plane/types"; +import type { IInstance, IInstanceConfig } from "@plane/types"; // services import { InstanceService } from "@/services/instance.service"; diff --git a/apps/web/core/store/issue/archived/filter.store.ts b/apps/web/core/store/issue/archived/filter.store.ts index d051a858b..5d4645f7d 100644 --- a/apps/web/core/store/issue/archived/filter.store.ts +++ b/apps/web/core/store/issue/archived/filter.store.ts @@ -2,9 +2,9 @@ import { isEmpty, set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; // base class import { computedFn } from "mobx-utils"; -import { EIssueFilterType, TSupportedFilterTypeForUpdate } from "@plane/constants"; -import { - EIssuesStoreType, +import type { TSupportedFilterTypeForUpdate } from "@plane/constants"; +import { EIssueFilterType } from "@plane/constants"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, TIssueKanbanFilters, @@ -14,12 +14,14 @@ import { TWorkItemFilterExpression, TSupportedFilterForUpdate, } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { handleIssueQueryParamsByLayout } from "@plane/utils"; import { IssueFiltersService } from "@/services/issue_filter.service"; -import { IBaseIssueFilterStore, IssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; +import type { IBaseIssueFilterStore } from "../helpers/issue-filter-helper.store"; +import { IssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; // helpers // types -import { IIssueRootStore } from "../root.store"; +import type { IIssueRootStore } from "../root.store"; // constants // services diff --git a/apps/web/core/store/issue/archived/issue.store.ts b/apps/web/core/store/issue/archived/issue.store.ts index da2af7c92..72fd4f00c 100644 --- a/apps/web/core/store/issue/archived/issue.store.ts +++ b/apps/web/core/store/issue/archived/issue.store.ts @@ -1,11 +1,12 @@ import { action, makeObservable, runInAction } from "mobx"; // base class -import { TLoader, IssuePaginationOptions, TIssuesResponse, ViewFlags, TBulkOperationsPayload } from "@plane/types"; +import type { TLoader, IssuePaginationOptions, TIssuesResponse, ViewFlags, TBulkOperationsPayload } from "@plane/types"; // services // types -import { BaseIssuesStore, IBaseIssuesStore } from "../helpers/base-issues.store"; -import { IIssueRootStore } from "../root.store"; -import { IArchivedIssuesFilter } from "./filter.store"; +import type { IBaseIssuesStore } from "../helpers/base-issues.store"; +import { BaseIssuesStore } from "../helpers/base-issues.store"; +import type { IIssueRootStore } from "../root.store"; +import type { IArchivedIssuesFilter } from "./filter.store"; export interface IArchivedIssues extends IBaseIssuesStore { // observable diff --git a/apps/web/core/store/issue/cycle/filter.store.ts b/apps/web/core/store/issue/cycle/filter.store.ts index fe410a117..27b8d176e 100644 --- a/apps/web/core/store/issue/cycle/filter.store.ts +++ b/apps/web/core/store/issue/cycle/filter.store.ts @@ -2,9 +2,9 @@ import { isEmpty, set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; // base class import { computedFn } from "mobx-utils"; -import { EIssueFilterType, TSupportedFilterTypeForUpdate } from "@plane/constants"; -import { - EIssuesStoreType, +import type { TSupportedFilterTypeForUpdate } from "@plane/constants"; +import { EIssueFilterType } from "@plane/constants"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, TIssueKanbanFilters, @@ -14,12 +14,14 @@ import { TWorkItemFilterExpression, TSupportedFilterForUpdate, } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { handleIssueQueryParamsByLayout } from "@plane/utils"; import { IssueFiltersService } from "@/services/issue_filter.service"; -import { IBaseIssueFilterStore, IssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; +import type { IBaseIssueFilterStore } from "../helpers/issue-filter-helper.store"; +import { IssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; // helpers // types -import { IIssueRootStore } from "../root.store"; +import type { IIssueRootStore } from "../root.store"; // constants // services diff --git a/apps/web/core/store/issue/cycle/issue.store.ts b/apps/web/core/store/issue/cycle/issue.store.ts index d3751b819..0b739b489 100644 --- a/apps/web/core/store/issue/cycle/issue.store.ts +++ b/apps/web/core/store/issue/cycle/issue.store.ts @@ -3,7 +3,7 @@ import { action, observable, makeObservable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // plane imports import { ALL_ISSUES } from "@plane/constants"; -import { +import type { TIssue, TLoader, IssuePaginationOptions, @@ -16,10 +16,11 @@ import { getDistributionPathsPostUpdate } from "@plane/utils"; //local import { storage } from "@/lib/local-storage"; import { persistence } from "@/local-db/storage.sqlite"; -import { BaseIssuesStore, IBaseIssuesStore } from "../helpers/base-issues.store"; +import type { IBaseIssuesStore } from "../helpers/base-issues.store"; +import { BaseIssuesStore } from "../helpers/base-issues.store"; // -import { IIssueRootStore } from "../root.store"; -import { ICycleIssuesFilter } from "./filter.store"; +import type { IIssueRootStore } from "../root.store"; +import type { ICycleIssuesFilter } from "./filter.store"; export const ACTIVE_CYCLE_ISSUES = "ACTIVE_CYCLE_ISSUES"; diff --git a/apps/web/core/store/issue/helpers/base-issues-utils.ts b/apps/web/core/store/issue/helpers/base-issues-utils.ts index bc7c99b00..a0f710b11 100644 --- a/apps/web/core/store/issue/helpers/base-issues-utils.ts +++ b/apps/web/core/store/issue/helpers/base-issues-utils.ts @@ -1,6 +1,6 @@ import { uniq, orderBy, isEmpty, indexOf, groupBy, cloneDeep, set } from "lodash-es"; import { ALL_ISSUES, EIssueFilterType, FILTER_TO_ISSUE_MAP, ISSUE_PRIORITIES } from "@plane/constants"; -import { +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions, diff --git a/apps/web/core/store/issue/helpers/base-issues.store.ts b/apps/web/core/store/issue/helpers/base-issues.store.ts index a6e0baf52..f9e0f7207 100644 --- a/apps/web/core/store/issue/helpers/base-issues.store.ts +++ b/apps/web/core/store/issue/helpers/base-issues.store.ts @@ -4,8 +4,7 @@ import { computedFn } from "mobx-utils"; // plane constants import { ALL_ISSUES, ISSUE_PRIORITIES } from "@plane/constants"; // types -import { - EIssueServiceType, +import type { TIssue, TIssueGroupByOptions, TIssueOrderByOptions, @@ -20,8 +19,8 @@ import { TPaginationData, TBulkOperationsPayload, IBlockUpdateDependencyData, - EIssueLayoutTypes, } from "@plane/types"; +import { EIssueServiceType, EIssueLayoutTypes } from "@plane/types"; // helpers import { convertToISODateString } from "@plane/utils"; // local-db @@ -33,7 +32,7 @@ import { CycleService } from "@/services/cycle.service"; import { IssueArchiveService, IssueService } from "@/services/issue"; import { ModuleService } from "@/services/module.service"; // -import { IIssueRootStore } from "../root.store"; +import type { IIssueRootStore } from "../root.store"; import { getDifference, getGroupIssueKeyActions, @@ -42,7 +41,7 @@ import { getSortOrderToFilterEmptyValues, getSubGroupIssueKeyActions, } from "./base-issues-utils"; -import { IBaseIssueFilterStore } from "./issue-filter-helper.store"; +import type { IBaseIssueFilterStore } from "./issue-filter-helper.store"; export type TIssueDisplayFilterOptions = Exclude | "target_date"; diff --git a/apps/web/core/store/issue/helpers/issue-filter-helper.store.ts b/apps/web/core/store/issue/helpers/issue-filter-helper.store.ts index fa0e6eae5..e99eb7c9c 100644 --- a/apps/web/core/store/issue/helpers/issue-filter-helper.store.ts +++ b/apps/web/core/store/issue/helpers/issue-filter-helper.store.ts @@ -1,12 +1,12 @@ import { isEmpty } from "lodash-es"; // plane constants +import type { EIssueFilterType } from "@plane/constants"; import { EIssueGroupByToServerOptions, EServerGroupByToFilterOptions, - EIssueFilterType, ENABLE_ISSUE_DEPENDENCIES, } from "@plane/constants"; -import { +import type { EIssuesStoreType, IIssueDisplayFilterOptions, IIssueDisplayProperties, @@ -17,9 +17,9 @@ import { TIssueKanbanFilters, TIssueParams, TStaticViewTypes, - EIssueLayoutTypes, TWorkItemFilterExpression, } from "@plane/types"; +import { EIssueLayoutTypes } from "@plane/types"; // helpers import { getComputedDisplayFilters, getComputedDisplayProperties } from "@plane/utils"; // lib diff --git a/apps/web/core/store/issue/issue-details/attachment.store.ts b/apps/web/core/store/issue/issue-details/attachment.store.ts index 4a65f1673..c8eb3e513 100644 --- a/apps/web/core/store/issue/issue-details/attachment.store.ts +++ b/apps/web/core/store/issue/issue-details/attachment.store.ts @@ -3,11 +3,11 @@ import { action, computed, makeObservable, observable, runInAction } from "mobx" import { computedFn } from "mobx-utils"; import { v4 as uuidv4 } from "uuid"; // types -import { TIssueAttachment, TIssueAttachmentMap, TIssueAttachmentIdMap, TIssueServiceType } from "@plane/types"; +import type { TIssueAttachment, TIssueAttachmentMap, TIssueAttachmentIdMap, TIssueServiceType } from "@plane/types"; // services import { IssueAttachmentService } from "@/services/issue"; -import { IIssueRootStore } from "../root.store"; -import { IIssueDetail } from "./root.store"; +import type { IIssueRootStore } from "../root.store"; +import type { IIssueDetail } from "./root.store"; export type TAttachmentUploadStatus = { id: string; diff --git a/apps/web/core/store/issue/issue-details/comment.store.ts b/apps/web/core/store/issue/issue-details/comment.store.ts index 729f5eaad..cd9e1bf5f 100644 --- a/apps/web/core/store/issue/issue-details/comment.store.ts +++ b/apps/web/core/store/issue/issue-details/comment.store.ts @@ -1,11 +1,11 @@ import { pull, concat, update, uniq, set } from "lodash-es"; import { action, makeObservable, observable, runInAction } from "mobx"; // Plane Imports -import { TIssueComment, TIssueCommentMap, TIssueCommentIdMap, TIssueServiceType } from "@plane/types"; +import type { TIssueComment, TIssueCommentMap, TIssueCommentIdMap, TIssueServiceType } from "@plane/types"; // services import { IssueCommentService } from "@/services/issue"; // types -import { IIssueDetail } from "./root.store"; +import type { IIssueDetail } from "./root.store"; export type TCommentLoader = "fetch" | "create" | "update" | "delete" | "mutate" | undefined; diff --git a/apps/web/core/store/issue/issue-details/comment_reaction.store.ts b/apps/web/core/store/issue/issue-details/comment_reaction.store.ts index be246fb03..7daa80f81 100644 --- a/apps/web/core/store/issue/issue-details/comment_reaction.store.ts +++ b/apps/web/core/store/issue/issue-details/comment_reaction.store.ts @@ -1,12 +1,12 @@ import { pull, find, concat, update, set } from "lodash-es"; import { action, makeObservable, observable, runInAction } from "mobx"; // Plane Imports -import { TIssueCommentReaction, TIssueCommentReactionIdMap, TIssueCommentReactionMap } from "@plane/types"; +import type { TIssueCommentReaction, TIssueCommentReactionIdMap, TIssueCommentReactionMap } from "@plane/types"; import { groupReactions } from "@plane/utils"; // services import { IssueReactionService } from "@/services/issue"; // types -import { IIssueDetail } from "./root.store"; +import type { IIssueDetail } from "./root.store"; export interface IIssueCommentReactionStoreActions { // actions diff --git a/apps/web/core/store/issue/issue-details/issue.store.ts b/apps/web/core/store/issue/issue-details/issue.store.ts index 2b5213992..a5c7eb517 100644 --- a/apps/web/core/store/issue/issue-details/issue.store.ts +++ b/apps/web/core/store/issue/issue-details/issue.store.ts @@ -1,13 +1,14 @@ import { makeObservable, observable } from "mobx"; import { computedFn } from "mobx-utils"; // types -import { EIssueServiceType, TIssue, TIssueServiceType } from "@plane/types"; +import type { TIssue, TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // local import { persistence } from "@/local-db/storage.sqlite"; // services import { IssueArchiveService, WorkspaceDraftService, IssueService } from "@/services/issue"; // types -import { IIssueDetail } from "./root.store"; +import type { IIssueDetail } from "./root.store"; export interface IIssueStoreActions { // actions diff --git a/apps/web/core/store/issue/issue-details/link.store.ts b/apps/web/core/store/issue/issue-details/link.store.ts index a42acf015..bd8c82a56 100644 --- a/apps/web/core/store/issue/issue-details/link.store.ts +++ b/apps/web/core/store/issue/issue-details/link.store.ts @@ -1,10 +1,10 @@ import { set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; // services -import { TIssueLink, TIssueLinkMap, TIssueLinkIdMap, TIssueServiceType } from "@plane/types"; +import type { TIssueLink, TIssueLinkMap, TIssueLinkIdMap, TIssueServiceType } from "@plane/types"; import { IssueService } from "@/services/issue"; // types -import { IIssueDetail } from "./root.store"; +import type { IIssueDetail } from "./root.store"; export interface IIssueLinkStoreActions { addLinks: (issueId: string, links: TIssueLink[]) => void; diff --git a/apps/web/core/store/issue/issue-details/reaction.store.ts b/apps/web/core/store/issue/issue-details/reaction.store.ts index 7f3298270..3e75bcc20 100644 --- a/apps/web/core/store/issue/issue-details/reaction.store.ts +++ b/apps/web/core/store/issue/issue-details/reaction.store.ts @@ -6,7 +6,7 @@ import { groupReactions } from "@plane/utils"; // services import { IssueReactionService } from "@/services/issue"; // types -import { IIssueDetail } from "./root.store"; +import type { IIssueDetail } from "./root.store"; export interface IIssueReactionStoreActions { // actions diff --git a/apps/web/core/store/issue/issue-details/relation.store.ts b/apps/web/core/store/issue/issue-details/relation.store.ts index 3b0d3af9f..5d6097ec2 100644 --- a/apps/web/core/store/issue/issue-details/relation.store.ts +++ b/apps/web/core/store/issue/issue-details/relation.store.ts @@ -2,16 +2,16 @@ import { uniq, get, set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // plane imports -import { TIssueRelationIdMap, TIssueRelationMap, TIssueRelation, TIssue } from "@plane/types"; +import type { TIssueRelationIdMap, TIssueRelationMap, TIssueRelation, TIssue } from "@plane/types"; // components import type { TRelationObject } from "@/components/issues/issue-detail-widgets/relations"; // Plane-web import { REVERSE_RELATIONS } from "@/plane-web/constants/gantt-chart"; -import { TIssueRelationTypes } from "@/plane-web/types"; +import type { TIssueRelationTypes } from "@/plane-web/types"; // services import { IssueRelationService } from "@/services/issue"; // types -import { IIssueDetail } from "./root.store"; +import type { IIssueDetail } from "./root.store"; export interface IIssueRelationStoreActions { // actions fetchRelations: (workspaceSlug: string, projectId: string, issueId: string) => Promise; diff --git a/apps/web/core/store/issue/issue-details/root.store.ts b/apps/web/core/store/issue/issue-details/root.store.ts index d8b9c8024..895b78693 100644 --- a/apps/web/core/store/issue/issue-details/root.store.ts +++ b/apps/web/core/store/issue/issue-details/root.store.ts @@ -11,41 +11,33 @@ import type { TWorkItemWidgets, } from "@plane/types"; // plane web store -import { - type IIssueActivityStore, - IssueActivityStore, - type IIssueActivityStoreActions, - type TActivityLoader, +import { IssueActivityStore } from "@/plane-web/store/issue/issue-details/activity.store"; +import type { + IIssueActivityStore, + IIssueActivityStoreActions, + TActivityLoader, } from "@/plane-web/store/issue/issue-details/activity.store"; import type { RootStore } from "@/plane-web/store/root.store"; import type { TIssueRelationTypes } from "@/plane-web/types"; import type { IIssueRootStore } from "../root.store"; -import { - type IIssueAttachmentStore, - IssueAttachmentStore, - type IIssueAttachmentStoreActions, -} from "./attachment.store"; -import { - type IIssueCommentStore, - IssueCommentStore, - type IIssueCommentStoreActions, - type TCommentLoader, -} from "./comment.store"; -import { - type IIssueCommentReactionStore, - IssueCommentReactionStore, - type IIssueCommentReactionStoreActions, -} from "./comment_reaction.store"; -import { type IIssueStore, IssueStore, type IIssueStoreActions } from "./issue.store"; -import { type IIssueLinkStore, IssueLinkStore, type IIssueLinkStoreActions } from "./link.store"; -import { type IIssueReactionStore, IssueReactionStore, type IIssueReactionStoreActions } from "./reaction.store"; -import { type IIssueRelationStore, IssueRelationStore, type IIssueRelationStoreActions } from "./relation.store"; -import { type IIssueSubIssuesStore, IssueSubIssuesStore, type IIssueSubIssuesStoreActions } from "./sub_issues.store"; -import { - type IIssueSubscriptionStore, - IssueSubscriptionStore, - type IIssueSubscriptionStoreActions, -} from "./subscription.store"; +import { IssueAttachmentStore } from "./attachment.store"; +import type { IIssueAttachmentStore, IIssueAttachmentStoreActions } from "./attachment.store"; +import { IssueCommentStore } from "./comment.store"; +import type { IIssueCommentStore, IIssueCommentStoreActions, TCommentLoader } from "./comment.store"; +import { IssueCommentReactionStore } from "./comment_reaction.store"; +import type { IIssueCommentReactionStore, IIssueCommentReactionStoreActions } from "./comment_reaction.store"; +import { IssueStore } from "./issue.store"; +import type { IIssueStore, IIssueStoreActions } from "./issue.store"; +import { IssueLinkStore } from "./link.store"; +import type { IIssueLinkStore, IIssueLinkStoreActions } from "./link.store"; +import { IssueReactionStore } from "./reaction.store"; +import type { IIssueReactionStore, IIssueReactionStoreActions } from "./reaction.store"; +import { IssueRelationStore } from "./relation.store"; +import type { IIssueRelationStore, IIssueRelationStoreActions } from "./relation.store"; +import { IssueSubIssuesStore } from "./sub_issues.store"; +import type { IIssueSubIssuesStore, IIssueSubIssuesStoreActions } from "./sub_issues.store"; +import { IssueSubscriptionStore } from "./subscription.store"; +import type { IIssueSubscriptionStore, IIssueSubscriptionStoreActions } from "./subscription.store"; export type TPeekIssue = { workspaceSlug: string; diff --git a/apps/web/core/store/issue/issue-details/sub_issues.store.ts b/apps/web/core/store/issue/issue-details/sub_issues.store.ts index a82dd558b..dd3aeaebf 100644 --- a/apps/web/core/store/issue/issue-details/sub_issues.store.ts +++ b/apps/web/core/store/issue/issue-details/sub_issues.store.ts @@ -2,8 +2,7 @@ import { pull, concat, uniq, set, update } from "lodash-es"; import { action, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // Plane Imports -import { - EIssueServiceType, +import type { TIssue, TIssueSubIssues, TIssueSubIssuesStateDistributionMap, @@ -12,12 +11,14 @@ import { TIssueServiceType, TLoader, } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // services import { updatePersistentLayer } from "@/local-db/utils/utils"; import { IssueService } from "@/services/issue"; // store -import { IIssueDetail } from "./root.store"; -import { IWorkItemSubIssueFiltersStore, WorkItemSubIssueFiltersStore } from "./sub_issues_filter.store"; +import type { IIssueDetail } from "./root.store"; +import type { IWorkItemSubIssueFiltersStore } from "./sub_issues_filter.store"; +import { WorkItemSubIssueFiltersStore } from "./sub_issues_filter.store"; export interface IIssueSubIssuesStoreActions { fetchSubIssues: (workspaceSlug: string, projectId: string, parentIssueId: string) => Promise; diff --git a/apps/web/core/store/issue/issue-details/sub_issues_filter.store.ts b/apps/web/core/store/issue/issue-details/sub_issues_filter.store.ts index e577f5292..ff8367a77 100644 --- a/apps/web/core/store/issue/issue-details/sub_issues_filter.store.ts +++ b/apps/web/core/store/issue/issue-details/sub_issues_filter.store.ts @@ -1,8 +1,8 @@ import { set } from "lodash-es"; import { action, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; -import { EIssueFilterType } from "@plane/constants"; -import { +import type { EIssueFilterType } from "@plane/constants"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions, @@ -11,7 +11,7 @@ import { TIssue, } from "@plane/types"; import { getFilteredWorkItems, getGroupedWorkItemIds, updateSubWorkItemFilters } from "../helpers/base-issues-utils"; -import { IssueSubIssuesStore } from "./sub_issues.store"; +import type { IssueSubIssuesStore } from "./sub_issues.store"; export const DEFAULT_DISPLAY_PROPERTIES = { key: true, diff --git a/apps/web/core/store/issue/issue-details/subscription.store.ts b/apps/web/core/store/issue/issue-details/subscription.store.ts index 7e6a6e7ee..27332f080 100644 --- a/apps/web/core/store/issue/issue-details/subscription.store.ts +++ b/apps/web/core/store/issue/issue-details/subscription.store.ts @@ -1,10 +1,10 @@ import { set } from "lodash-es"; import { action, makeObservable, observable, runInAction } from "mobx"; // services -import { EIssueServiceType } from "@plane/types"; +import type { EIssueServiceType } from "@plane/types"; import { IssueService } from "@/services/issue/issue.service"; // types -import { IIssueDetail } from "./root.store"; +import type { IIssueDetail } from "./root.store"; export interface IIssueSubscriptionStoreActions { addSubscription: (issueId: string, isSubscribed: boolean | undefined | null) => void; fetchSubscriptions: (workspaceSlug: string, projectId: string, issueId: string) => Promise; diff --git a/apps/web/core/store/issue/issue.store.ts b/apps/web/core/store/issue/issue.store.ts index c259f26b8..d7cd0e6e7 100644 --- a/apps/web/core/store/issue/issue.store.ts +++ b/apps/web/core/store/issue/issue.store.ts @@ -2,7 +2,7 @@ import { clone, set, update } from "lodash-es"; import { action, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // types -import { TIssue } from "@plane/types"; +import type { TIssue } from "@plane/types"; // helpers import { getCurrentDateTimeInISO } from "@plane/utils"; import { rootStore } from "@/lib/store-context"; diff --git a/apps/web/core/store/issue/issue_calendar_view.store.ts b/apps/web/core/store/issue/issue_calendar_view.store.ts index ad1489fba..f9ee2c29d 100644 --- a/apps/web/core/store/issue/issue_calendar_view.store.ts +++ b/apps/web/core/store/issue/issue_calendar_view.store.ts @@ -2,7 +2,7 @@ import { observable, action, makeObservable, runInAction, computed } from "mobx" // helpers import { computedFn } from "mobx-utils"; -import { ICalendarPayload, ICalendarWeek } from "@plane/types"; +import type { ICalendarPayload, ICalendarWeek } from "@plane/types"; import { generateCalendarData, getWeekNumberOfDate } from "@plane/utils"; // types export interface ICalendarStore { diff --git a/apps/web/core/store/issue/issue_kanban_view.store.ts b/apps/web/core/store/issue/issue_kanban_view.store.ts index d0ba865a3..da50efa61 100644 --- a/apps/web/core/store/issue/issue_kanban_view.store.ts +++ b/apps/web/core/store/issue/issue_kanban_view.store.ts @@ -2,10 +2,10 @@ import { action, computed, makeObservable, observable } from "mobx"; import { computedFn } from "mobx-utils"; import { DRAG_ALLOWED_GROUPS } from "@plane/constants"; // types -import { TIssueGroupByOptions } from "@plane/types"; +import type { TIssueGroupByOptions } from "@plane/types"; // constants // store -import { IssueRootStore } from "./root.store"; +import type { IssueRootStore } from "./root.store"; export interface IIssueKanBanViewStore { kanBanToggle: { diff --git a/apps/web/core/store/issue/module/filter.store.ts b/apps/web/core/store/issue/module/filter.store.ts index de0703417..b82186fa1 100644 --- a/apps/web/core/store/issue/module/filter.store.ts +++ b/apps/web/core/store/issue/module/filter.store.ts @@ -2,9 +2,9 @@ import { isEmpty, set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; // base class import { computedFn } from "mobx-utils"; -import { EIssueFilterType, TSupportedFilterTypeForUpdate } from "@plane/constants"; -import { - EIssuesStoreType, +import type { TSupportedFilterTypeForUpdate } from "@plane/constants"; +import { EIssueFilterType } from "@plane/constants"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, TIssueKanbanFilters, @@ -14,12 +14,14 @@ import { TWorkItemFilterExpression, TSupportedFilterForUpdate, } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { handleIssueQueryParamsByLayout } from "@plane/utils"; import { IssueFiltersService } from "@/services/issue_filter.service"; -import { IBaseIssueFilterStore, IssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; +import type { IBaseIssueFilterStore } from "../helpers/issue-filter-helper.store"; +import { IssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; // helpers // types -import { IIssueRootStore } from "../root.store"; +import type { IIssueRootStore } from "../root.store"; // constants // services diff --git a/apps/web/core/store/issue/module/issue.store.ts b/apps/web/core/store/issue/module/issue.store.ts index 345fdf61f..8caf6b9af 100644 --- a/apps/web/core/store/issue/module/issue.store.ts +++ b/apps/web/core/store/issue/module/issue.store.ts @@ -1,6 +1,6 @@ import { action, makeObservable, runInAction } from "mobx"; // base class -import { +import type { TIssue, TLoader, ViewFlags, @@ -10,10 +10,11 @@ import { } from "@plane/types"; // helpers import { getDistributionPathsPostUpdate } from "@plane/utils"; -import { BaseIssuesStore, IBaseIssuesStore } from "../helpers/base-issues.store"; +import type { IBaseIssuesStore } from "../helpers/base-issues.store"; +import { BaseIssuesStore } from "../helpers/base-issues.store"; // -import { IIssueRootStore } from "../root.store"; -import { IModuleIssuesFilter } from "./filter.store"; +import type { IIssueRootStore } from "../root.store"; +import type { IModuleIssuesFilter } from "./filter.store"; export interface IModuleIssues extends IBaseIssuesStore { viewFlags: ViewFlags; diff --git a/apps/web/core/store/issue/profile/filter.store.ts b/apps/web/core/store/issue/profile/filter.store.ts index ed57096eb..fa3f20954 100644 --- a/apps/web/core/store/issue/profile/filter.store.ts +++ b/apps/web/core/store/issue/profile/filter.store.ts @@ -2,9 +2,9 @@ import { isEmpty, set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; // base class import { computedFn } from "mobx-utils"; -import { EIssueFilterType, TSupportedFilterTypeForUpdate } from "@plane/constants"; -import { - EIssuesStoreType, +import type { TSupportedFilterTypeForUpdate } from "@plane/constants"; +import { EIssueFilterType } from "@plane/constants"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, TIssueKanbanFilters, @@ -14,12 +14,14 @@ import { TWorkItemFilterExpression, TSupportedFilterForUpdate, } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { handleIssueQueryParamsByLayout } from "@plane/utils"; import { IssueFiltersService } from "@/services/issue_filter.service"; -import { IBaseIssueFilterStore, IssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; +import type { IBaseIssueFilterStore } from "../helpers/issue-filter-helper.store"; +import { IssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; // helpers // types -import { IIssueRootStore } from "../root.store"; +import type { IIssueRootStore } from "../root.store"; // constants // services diff --git a/apps/web/core/store/issue/profile/issue.store.ts b/apps/web/core/store/issue/profile/issue.store.ts index 366e7ff6a..41ef339cc 100644 --- a/apps/web/core/store/issue/profile/issue.store.ts +++ b/apps/web/core/store/issue/profile/issue.store.ts @@ -1,6 +1,6 @@ import { action, observable, makeObservable, computed, runInAction } from "mobx"; // base class -import { +import type { TIssue, TLoader, IssuePaginationOptions, @@ -13,9 +13,10 @@ import { UserService } from "@/services/user.service"; // services // types -import { BaseIssuesStore, IBaseIssuesStore } from "../helpers/base-issues.store"; -import { IIssueRootStore } from "../root.store"; -import { IProfileIssuesFilter } from "./filter.store"; +import type { IBaseIssuesStore } from "../helpers/base-issues.store"; +import { BaseIssuesStore } from "../helpers/base-issues.store"; +import type { IIssueRootStore } from "../root.store"; +import type { IProfileIssuesFilter } from "./filter.store"; export interface IProfileIssues extends IBaseIssuesStore { // observable diff --git a/apps/web/core/store/issue/project-views/filter.store.ts b/apps/web/core/store/issue/project-views/filter.store.ts index 37b7e9fa8..08a1ea219 100644 --- a/apps/web/core/store/issue/project-views/filter.store.ts +++ b/apps/web/core/store/issue/project-views/filter.store.ts @@ -2,9 +2,9 @@ import { isEmpty, set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; // base class import { computedFn } from "mobx-utils"; -import { EIssueFilterType, TSupportedFilterTypeForUpdate } from "@plane/constants"; -import { - EIssuesStoreType, +import type { TSupportedFilterTypeForUpdate } from "@plane/constants"; +import { EIssueFilterType } from "@plane/constants"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, TIssueKanbanFilters, @@ -15,13 +15,15 @@ import { TWorkItemFilterExpression, TSupportedFilterForUpdate, } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { handleIssueQueryParamsByLayout } from "@plane/utils"; // services import { ViewService } from "@/plane-web/services"; -import { IBaseIssueFilterStore, IssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; +import type { IBaseIssueFilterStore } from "../helpers/issue-filter-helper.store"; +import { IssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; // helpers // types -import { IIssueRootStore } from "../root.store"; +import type { IIssueRootStore } from "../root.store"; // constants export interface IProjectViewIssuesFilter extends IBaseIssueFilterStore { diff --git a/apps/web/core/store/issue/project-views/issue.store.ts b/apps/web/core/store/issue/project-views/issue.store.ts index 8c50519ab..d4e52df99 100644 --- a/apps/web/core/store/issue/project-views/issue.store.ts +++ b/apps/web/core/store/issue/project-views/issue.store.ts @@ -1,6 +1,6 @@ import { action, makeObservable, runInAction } from "mobx"; // base class -import { +import type { TIssue, TLoader, ViewFlags, @@ -10,9 +10,10 @@ import { } from "@plane/types"; // services // types -import { BaseIssuesStore, IBaseIssuesStore } from "../helpers/base-issues.store"; -import { IIssueRootStore } from "../root.store"; -import { IProjectViewIssuesFilter } from "./filter.store"; +import type { IBaseIssuesStore } from "../helpers/base-issues.store"; +import { BaseIssuesStore } from "../helpers/base-issues.store"; +import type { IIssueRootStore } from "../root.store"; +import type { IProjectViewIssuesFilter } from "./filter.store"; export interface IProjectViewIssues extends IBaseIssuesStore { viewFlags: ViewFlags; diff --git a/apps/web/core/store/issue/project/filter.store.ts b/apps/web/core/store/issue/project/filter.store.ts index 1b3bf46ff..9c1a66230 100644 --- a/apps/web/core/store/issue/project/filter.store.ts +++ b/apps/web/core/store/issue/project/filter.store.ts @@ -2,9 +2,9 @@ import { isEmpty, set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; // base class import { computedFn } from "mobx-utils"; -import { EIssueFilterType, TSupportedFilterTypeForUpdate } from "@plane/constants"; -import { - EIssuesStoreType, +import type { TSupportedFilterTypeForUpdate } from "@plane/constants"; +import { EIssueFilterType } from "@plane/constants"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, TIssueKanbanFilters, @@ -14,12 +14,14 @@ import { TWorkItemFilterExpression, TSupportedFilterForUpdate, } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { handleIssueQueryParamsByLayout } from "@plane/utils"; import { IssueFiltersService } from "@/services/issue_filter.service"; -import { IBaseIssueFilterStore, IssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; +import type { IBaseIssueFilterStore } from "../helpers/issue-filter-helper.store"; +import { IssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; // helpers // types -import { IIssueRootStore } from "../root.store"; +import type { IIssueRootStore } from "../root.store"; // constants // services diff --git a/apps/web/core/store/issue/project/issue.store.ts b/apps/web/core/store/issue/project/issue.store.ts index 052ab7c9b..78a4d6b1f 100644 --- a/apps/web/core/store/issue/project/issue.store.ts +++ b/apps/web/core/store/issue/project/issue.store.ts @@ -1,6 +1,6 @@ import { action, makeObservable, runInAction } from "mobx"; // types -import { +import type { TIssue, TLoader, ViewFlags, @@ -10,10 +10,11 @@ import { } from "@plane/types"; // helpers // base class -import { BaseIssuesStore, IBaseIssuesStore } from "../helpers/base-issues.store"; +import type { IBaseIssuesStore } from "../helpers/base-issues.store"; +import { BaseIssuesStore } from "../helpers/base-issues.store"; // services -import { IIssueRootStore } from "../root.store"; -import { IProjectIssuesFilter } from "./filter.store"; +import type { IIssueRootStore } from "../root.store"; +import type { IProjectIssuesFilter } from "./filter.store"; export interface IProjectIssues extends IBaseIssuesStore { viewFlags: ViewFlags; diff --git a/apps/web/core/store/issue/root.store.ts b/apps/web/core/store/issue/root.store.ts index 9739bbbc8..02dcfe184 100644 --- a/apps/web/core/store/issue/root.store.ts +++ b/apps/web/core/store/issue/root.store.ts @@ -1,57 +1,49 @@ import { isEmpty } from "lodash-es"; import { autorun, makeObservable, observable } from "mobx"; // types -import { - EIssueServiceType, - ICycle, - IIssueLabel, - IModule, - IProject, - IState, - IUserLite, - TIssueServiceType, -} from "@plane/types"; +import type { ICycle, IIssueLabel, IModule, IProject, IState, IUserLite, TIssueServiceType } from "@plane/types"; +import { EIssueServiceType } from "@plane/types"; // plane web store -import { IProjectEpics, IProjectEpicsFilter, ProjectEpics, ProjectEpicsFilter } from "@/plane-web/store/issue/epic"; -import { IIssueDetail, IssueDetail } from "@/plane-web/store/issue/issue-details/root.store"; -import { ITeamIssuesFilter, ITeamIssues, TeamIssues, TeamIssuesFilter } from "@/plane-web/store/issue/team"; -import { - ITeamProjectWorkItemsFilter, - TeamProjectWorkItemsFilter, -} from "@/plane-web/store/issue/team-project/filter.store"; -import { ITeamProjectWorkItems, TeamProjectWorkItems } from "@/plane-web/store/issue/team-project/issue.store"; -import { - ITeamViewIssues, - ITeamViewIssuesFilter, - TeamViewIssues, - TeamViewIssuesFilter, -} from "@/plane-web/store/issue/team-views"; +import type { IProjectEpics, IProjectEpicsFilter } from "@/plane-web/store/issue/epic"; +import { ProjectEpics, ProjectEpicsFilter } from "@/plane-web/store/issue/epic"; +import type { IIssueDetail } from "@/plane-web/store/issue/issue-details/root.store"; +import { IssueDetail } from "@/plane-web/store/issue/issue-details/root.store"; +import type { ITeamIssuesFilter, ITeamIssues } from "@/plane-web/store/issue/team"; +import { TeamIssues, TeamIssuesFilter } from "@/plane-web/store/issue/team"; +import type { ITeamProjectWorkItemsFilter } from "@/plane-web/store/issue/team-project/filter.store"; +import { TeamProjectWorkItemsFilter } from "@/plane-web/store/issue/team-project/filter.store"; +import type { ITeamProjectWorkItems } from "@/plane-web/store/issue/team-project/issue.store"; +import { TeamProjectWorkItems } from "@/plane-web/store/issue/team-project/issue.store"; +import type { ITeamViewIssues, ITeamViewIssuesFilter } from "@/plane-web/store/issue/team-views"; +import { TeamViewIssues, TeamViewIssuesFilter } from "@/plane-web/store/issue/team-views"; // root store -import { IWorkspaceIssues, WorkspaceIssues } from "@/plane-web/store/issue/workspace/issue.store"; +import type { IWorkspaceIssues } from "@/plane-web/store/issue/workspace/issue.store"; +import { WorkspaceIssues } from "@/plane-web/store/issue/workspace/issue.store"; import type { RootStore } from "@/plane-web/store/root.store"; -import { IWorkspaceMembership } from "@/store/member/workspace/workspace-member.store"; +import type { IWorkspaceMembership } from "@/store/member/workspace/workspace-member.store"; // issues data store -import { IArchivedIssuesFilter, ArchivedIssuesFilter, IArchivedIssues, ArchivedIssues } from "./archived"; -import { ICycleIssuesFilter, CycleIssuesFilter, ICycleIssues, CycleIssues } from "./cycle"; -import { IIssueStore, IssueStore } from "./issue.store"; -import { ICalendarStore, CalendarStore } from "./issue_calendar_view.store"; -import { IIssueKanBanViewStore, IssueKanBanViewStore } from "./issue_kanban_view.store"; -import { IModuleIssuesFilter, ModuleIssuesFilter, IModuleIssues, ModuleIssues } from "./module"; -import { IProfileIssuesFilter, ProfileIssuesFilter, IProfileIssues, ProfileIssues } from "./profile"; -import { IProjectIssuesFilter, ProjectIssuesFilter, IProjectIssues, ProjectIssues } from "./project"; -import { - IProjectViewIssuesFilter, - ProjectViewIssuesFilter, - IProjectViewIssues, - ProjectViewIssues, -} from "./project-views"; -import { WorkspaceIssuesFilter, IWorkspaceIssuesFilter } from "./workspace"; -import { - IWorkspaceDraftIssues, - IWorkspaceDraftIssuesFilter, - WorkspaceDraftIssues, - WorkspaceDraftIssuesFilter, -} from "./workspace-draft"; +import type { IArchivedIssuesFilter, IArchivedIssues } from "./archived"; +import { ArchivedIssuesFilter, ArchivedIssues } from "./archived"; +import type { ICycleIssuesFilter, ICycleIssues } from "./cycle"; +import { CycleIssuesFilter, CycleIssues } from "./cycle"; +import type { IIssueStore } from "./issue.store"; +import { IssueStore } from "./issue.store"; +import type { ICalendarStore } from "./issue_calendar_view.store"; +import { CalendarStore } from "./issue_calendar_view.store"; +import type { IIssueKanBanViewStore } from "./issue_kanban_view.store"; +import { IssueKanBanViewStore } from "./issue_kanban_view.store"; +import type { IModuleIssuesFilter, IModuleIssues } from "./module"; +import { ModuleIssuesFilter, ModuleIssues } from "./module"; +import type { IProfileIssuesFilter, IProfileIssues } from "./profile"; +import { ProfileIssuesFilter, ProfileIssues } from "./profile"; +import type { IProjectIssuesFilter, IProjectIssues } from "./project"; +import { ProjectIssuesFilter, ProjectIssues } from "./project"; +import type { IProjectViewIssuesFilter, IProjectViewIssues } from "./project-views"; +import { ProjectViewIssuesFilter, ProjectViewIssues } from "./project-views"; +import type { IWorkspaceIssuesFilter } from "./workspace"; +import { WorkspaceIssuesFilter } from "./workspace"; +import type { IWorkspaceDraftIssues, IWorkspaceDraftIssuesFilter } from "./workspace-draft"; +import { WorkspaceDraftIssues, WorkspaceDraftIssuesFilter } from "./workspace-draft"; export interface IIssueRootStore { currentUserId: string | undefined; diff --git a/apps/web/core/store/issue/workspace-draft/filter.store.ts b/apps/web/core/store/issue/workspace-draft/filter.store.ts index c2409de03..1ef5a94a5 100644 --- a/apps/web/core/store/issue/workspace-draft/filter.store.ts +++ b/apps/web/core/store/issue/workspace-draft/filter.store.ts @@ -2,9 +2,9 @@ import { isEmpty, set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // Plane Imports -import { EIssueFilterType, TSupportedFilterTypeForUpdate } from "@plane/constants"; -import { - EIssuesStoreType, +import type { TSupportedFilterTypeForUpdate } from "@plane/constants"; +import { EIssueFilterType } from "@plane/constants"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, TIssueKanbanFilters, @@ -14,13 +14,15 @@ import { TWorkItemFilterExpression, TSupportedFilterForUpdate, } from "@plane/types"; +import { EIssuesStoreType } from "@plane/types"; import { handleIssueQueryParamsByLayout } from "@plane/utils"; // services import { IssueFiltersService } from "@/services/issue_filter.service"; // helpers -import { IBaseIssueFilterStore, IssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; +import type { IBaseIssueFilterStore } from "../helpers/issue-filter-helper.store"; +import { IssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; // types -import { IIssueRootStore } from "../root.store"; +import type { IIssueRootStore } from "../root.store"; export interface IWorkspaceDraftIssuesFilter extends IBaseIssueFilterStore { // observables diff --git a/apps/web/core/store/issue/workspace-draft/issue.store.ts b/apps/web/core/store/issue/workspace-draft/issue.store.ts index 09d1b3ee3..38dfe6a5b 100644 --- a/apps/web/core/store/issue/workspace-draft/issue.store.ts +++ b/apps/web/core/store/issue/workspace-draft/issue.store.ts @@ -3,7 +3,7 @@ import { action, computed, makeObservable, observable, runInAction } from "mobx" import { computedFn } from "mobx-utils"; // plane imports import { EDraftIssuePaginationType } from "@plane/constants"; -import { +import type { TWorkspaceDraftIssue, TWorkspaceDraftPaginationInfo, TWorkspaceDraftIssueLoader, @@ -22,7 +22,7 @@ import { addIssueToPersistanceLayer } from "@/local-db/utils/utils"; // services import workspaceDraftService from "@/services/issue/workspace_draft.service"; // types -import { IIssueRootStore } from "../root.store"; +import type { IIssueRootStore } from "../root.store"; export type TDraftIssuePaginationType = EDraftIssuePaginationType; diff --git a/apps/web/core/store/issue/workspace/filter.store.ts b/apps/web/core/store/issue/workspace/filter.store.ts index ae265187c..b3dfbe928 100644 --- a/apps/web/core/store/issue/workspace/filter.store.ts +++ b/apps/web/core/store/issue/workspace/filter.store.ts @@ -2,9 +2,9 @@ import { isEmpty, set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // plane imports -import { EIssueFilterType, TSupportedFilterTypeForUpdate } from "@plane/constants"; -import { - EIssuesStoreType, +import type { TSupportedFilterTypeForUpdate } from "@plane/constants"; +import { EIssueFilterType } from "@plane/constants"; +import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, TIssueKanbanFilters, @@ -12,21 +12,17 @@ import { TIssueParams, TStaticViewTypes, IssuePaginationOptions, - EIssueLayoutTypes, TWorkItemFilterExpression, - STATIC_VIEW_TYPES, TSupportedFilterForUpdate, } from "@plane/types"; +import { EIssuesStoreType, EIssueLayoutTypes, STATIC_VIEW_TYPES } from "@plane/types"; import { handleIssueQueryParamsByLayout } from "@plane/utils"; // services import { WorkspaceService } from "@/plane-web/services"; // local imports -import { - IBaseIssueFilterStore, - IIssueFilterHelperStore, - IssueFilterHelperStore, -} from "../helpers/issue-filter-helper.store"; -import { IIssueRootStore } from "../root.store"; +import type { IBaseIssueFilterStore, IIssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; +import { IssueFilterHelperStore } from "../helpers/issue-filter-helper.store"; +import type { IIssueRootStore } from "../root.store"; type TWorkspaceFilters = TStaticViewTypes | string; diff --git a/apps/web/core/store/issue/workspace/issue.store.ts b/apps/web/core/store/issue/workspace/issue.store.ts index 2d31a94ac..9fcf17340 100644 --- a/apps/web/core/store/issue/workspace/issue.store.ts +++ b/apps/web/core/store/issue/workspace/issue.store.ts @@ -1,6 +1,6 @@ import { action, makeObservable, runInAction } from "mobx"; // base class -import { +import type { IssuePaginationOptions, TBulkOperationsPayload, TIssue, @@ -11,9 +11,10 @@ import { // services import { WorkspaceService } from "@/plane-web/services"; // types -import { BaseIssuesStore, IBaseIssuesStore } from "../helpers/base-issues.store"; -import { IIssueRootStore } from "../root.store"; -import { IWorkspaceIssuesFilter } from "./filter.store"; +import type { IBaseIssuesStore } from "../helpers/base-issues.store"; +import { BaseIssuesStore } from "../helpers/base-issues.store"; +import type { IIssueRootStore } from "../root.store"; +import type { IWorkspaceIssuesFilter } from "./filter.store"; export interface IWorkspaceIssues extends IBaseIssuesStore { // observable diff --git a/apps/web/core/store/label.store.ts b/apps/web/core/store/label.store.ts index 937947201..a6500442f 100644 --- a/apps/web/core/store/label.store.ts +++ b/apps/web/core/store/label.store.ts @@ -2,7 +2,7 @@ import { set, sortBy } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // types -import { IIssueLabel, IIssueLabelTree } from "@plane/types"; +import type { IIssueLabel, IIssueLabelTree } from "@plane/types"; // helpers import { buildTree } from "@plane/utils"; // services diff --git a/apps/web/core/store/member/index.ts b/apps/web/core/store/member/index.ts index 04cb57755..50e51d173 100644 --- a/apps/web/core/store/member/index.ts +++ b/apps/web/core/store/member/index.ts @@ -1,12 +1,14 @@ import { makeObservable, observable } from "mobx"; import { computedFn } from "mobx-utils"; // plane imports -import { IUserLite } from "@plane/types"; +import type { IUserLite } from "@plane/types"; // plane web imports -import { IProjectMemberStore, ProjectMemberStore } from "@/plane-web/store/member/project-member.store"; +import type { IProjectMemberStore } from "@/plane-web/store/member/project-member.store"; +import { ProjectMemberStore } from "@/plane-web/store/member/project-member.store"; import type { RootStore } from "@/plane-web/store/root.store"; // local imports -import { IWorkspaceMemberStore, WorkspaceMemberStore } from "./workspace/workspace-member.store"; +import type { IWorkspaceMemberStore } from "./workspace/workspace-member.store"; +import { WorkspaceMemberStore } from "./workspace/workspace-member.store"; export interface IMemberRootStore { // observables diff --git a/apps/web/core/store/member/project/base-project-member.store.ts b/apps/web/core/store/member/project/base-project-member.store.ts index 3f15a4f2e..8154c2f37 100644 --- a/apps/web/core/store/member/project/base-project-member.store.ts +++ b/apps/web/core/store/member/project/base-project-member.store.ts @@ -3,19 +3,20 @@ import { action, computed, makeObservable, observable, runInAction } from "mobx" import { computedFn } from "mobx-utils"; // plane imports import { EUserPermissions } from "@plane/constants"; -import { EUserProjectRoles, IProjectBulkAddFormData, IUserLite, TProjectMembership } from "@plane/types"; +import type { EUserProjectRoles, IProjectBulkAddFormData, IUserLite, TProjectMembership } from "@plane/types"; // plane web imports import type { RootStore } from "@/plane-web/store/root.store"; // services import { ProjectMemberService } from "@/services/project"; // store -import { IProjectStore } from "@/store/project/project.store"; -import { IRouterStore } from "@/store/router.store"; -import { IUserStore } from "@/store/user"; +import type { IProjectStore } from "@/store/project/project.store"; +import type { IRouterStore } from "@/store/router.store"; +import type { IUserStore } from "@/store/user"; // local imports -import { IMemberRootStore } from "../index"; +import type { IMemberRootStore } from "../index"; import { sortProjectMembers } from "../utils"; -import { ProjectMemberFiltersStore, IProjectMemberFiltersStore } from "./project-member-filters.store"; +import type { IProjectMemberFiltersStore } from "./project-member-filters.store"; +import { ProjectMemberFiltersStore } from "./project-member-filters.store"; export interface IProjectMemberDetails extends Omit { member: IUserLite; diff --git a/apps/web/core/store/member/project/project-member-filters.store.ts b/apps/web/core/store/member/project/project-member-filters.store.ts index ccd20a599..b28f8665c 100644 --- a/apps/web/core/store/member/project/project-member-filters.store.ts +++ b/apps/web/core/store/member/project/project-member-filters.store.ts @@ -3,7 +3,8 @@ import { computedFn } from "mobx-utils"; // types import type { IUserLite, TProjectMembership } from "@plane/types"; // local imports -import { IMemberFilters, sortProjectMembers } from "../utils"; +import type { IMemberFilters } from "../utils"; +import { sortProjectMembers } from "../utils"; export interface IProjectMemberFiltersStore { // observables diff --git a/apps/web/core/store/member/workspace/workspace-member-filters.store.ts b/apps/web/core/store/member/workspace/workspace-member-filters.store.ts index cefa2c6ff..6ff5fc747 100644 --- a/apps/web/core/store/member/workspace/workspace-member-filters.store.ts +++ b/apps/web/core/store/member/workspace/workspace-member-filters.store.ts @@ -4,7 +4,8 @@ import { computedFn } from "mobx-utils"; import type { EUserPermissions } from "@plane/constants"; import type { IUserLite } from "@plane/types"; // local imports -import { IMemberFilters, sortWorkspaceMembers } from "../utils"; +import type { IMemberFilters } from "../utils"; +import { sortWorkspaceMembers } from "../utils"; // Workspace membership interface matching the store structure interface IWorkspaceMembership { diff --git a/apps/web/core/store/member/workspace/workspace-member.store.ts b/apps/web/core/store/member/workspace/workspace-member.store.ts index 9baf9ed11..edf9d2a29 100644 --- a/apps/web/core/store/member/workspace/workspace-member.store.ts +++ b/apps/web/core/store/member/workspace/workspace-member.store.ts @@ -2,7 +2,7 @@ import { set, sortBy } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // types -import { EUserPermissions } from "@plane/constants"; +import type { EUserPermissions } from "@plane/constants"; import type { IWorkspaceBulkInviteFormData, IWorkspaceMember, IWorkspaceMemberInvitation } from "@plane/types"; // plane-web constants // services @@ -13,7 +13,8 @@ import type { IUserStore } from "@/store/user"; // store import type { CoreRootStore } from "../../root.store"; import type { IMemberRootStore } from "../index.ts"; -import { WorkspaceMemberFiltersStore, IWorkspaceMemberFiltersStore } from "./workspace-member-filters.store"; +import type { IWorkspaceMemberFiltersStore } from "./workspace-member-filters.store"; +import { WorkspaceMemberFiltersStore } from "./workspace-member-filters.store"; export interface IWorkspaceMembership { id: string; diff --git a/apps/web/core/store/module.store.ts b/apps/web/core/store/module.store.ts index d60298cb3..415cf4d5f 100644 --- a/apps/web/core/store/module.store.ts +++ b/apps/web/core/store/module.store.ts @@ -2,8 +2,9 @@ import { update, concat, set, sortBy } from "lodash-es"; import { action, computed, observable, makeObservable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // types -import { IModule, ILinkDetails, TModulePlotType } from "@plane/types"; -import { DistributionUpdates, updateDistribution, orderModules, shouldFilterModule } from "@plane/utils"; +import type { IModule, ILinkDetails, TModulePlotType } from "@plane/types"; +import type { DistributionUpdates } from "@plane/utils"; +import { updateDistribution, orderModules, shouldFilterModule } from "@plane/utils"; // helpers // services import { syncIssuesWithDeletedModules } from "@/local-db/utils/load-workspace"; diff --git a/apps/web/core/store/module_filter.store.ts b/apps/web/core/store/module_filter.store.ts index d892195c0..59fc81b7d 100644 --- a/apps/web/core/store/module_filter.store.ts +++ b/apps/web/core/store/module_filter.store.ts @@ -2,7 +2,7 @@ import { set } from "lodash-es"; import { action, computed, observable, makeObservable, runInAction, reaction } from "mobx"; import { computedFn } from "mobx-utils"; // types -import { TModuleDisplayFilters, TModuleFilters, TModuleFiltersByState } from "@plane/types"; +import type { TModuleDisplayFilters, TModuleFilters, TModuleFiltersByState } from "@plane/types"; // helpers import { storage } from "@/lib/local-storage"; // store diff --git a/apps/web/core/store/multiple_select.store.ts b/apps/web/core/store/multiple_select.store.ts index 377bd2e2d..fb75d6984 100644 --- a/apps/web/core/store/multiple_select.store.ts +++ b/apps/web/core/store/multiple_select.store.ts @@ -2,7 +2,7 @@ import { differenceWith, remove, isEqual } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // hooks -import { TEntityDetails } from "@/hooks/use-multiple-select"; +import type { TEntityDetails } from "@/hooks/use-multiple-select"; // services import { IssueService } from "@/services/issue"; diff --git a/apps/web/core/store/notifications/notification.ts b/apps/web/core/store/notifications/notification.ts index e0a4e678f..c89f6d1c9 100644 --- a/apps/web/core/store/notifications/notification.ts +++ b/apps/web/core/store/notifications/notification.ts @@ -1,7 +1,7 @@ /* eslint-disable no-useless-catch */ import { set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; -import { IUserLite, TNotification, TNotificationData } from "@plane/types"; +import type { IUserLite, TNotification, TNotificationData } from "@plane/types"; // services import workspaceNotificationService from "@/services/workspace-notification.service"; // store diff --git a/apps/web/core/store/notifications/workspace-notifications.store.ts b/apps/web/core/store/notifications/workspace-notifications.store.ts index 2e595efc3..7923d8b65 100644 --- a/apps/web/core/store/notifications/workspace-notifications.store.ts +++ b/apps/web/core/store/notifications/workspace-notifications.store.ts @@ -2,8 +2,9 @@ import { orderBy, isEmpty, update, set } from "lodash-es"; import { action, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // plane imports -import { ENotificationTab, ENotificationLoader, ENotificationQueryParamType, TNotificationTab } from "@plane/constants"; -import { +import type { TNotificationTab } from "@plane/constants"; +import { ENotificationTab, ENotificationLoader, ENotificationQueryParamType } from "@plane/constants"; +import type { TNotification, TNotificationFilter, TNotificationLite, @@ -16,7 +17,8 @@ import { convertToEpoch } from "@plane/utils"; // services import workspaceNotificationService from "@/services/workspace-notification.service"; // store -import { Notification, INotification } from "@/store/notifications/notification"; +import type { INotification } from "@/store/notifications/notification"; +import { Notification } from "@/store/notifications/notification"; import type { CoreRootStore } from "@/store/root.store"; type TNotificationLoader = ENotificationLoader | undefined; diff --git a/apps/web/core/store/pages/base-page.ts b/apps/web/core/store/pages/base-page.ts index 6416d26d9..3396bc74e 100644 --- a/apps/web/core/store/pages/base-page.ts +++ b/apps/web/core/store/pages/base-page.ts @@ -2,8 +2,8 @@ import { set } from "lodash-es"; import { action, computed, makeObservable, observable, reaction, runInAction } from "mobx"; // plane imports import { EPageAccess } from "@plane/constants"; -import { TDocumentPayload, TLogoProps, TNameDescriptionLoader, TPage } from "@plane/types"; -import { TChangeHandlerProps } from "@plane/ui"; +import type { TDocumentPayload, TLogoProps, TNameDescriptionLoader, TPage } from "@plane/types"; +import type { TChangeHandlerProps } from "@plane/ui"; import { convertHexEmojiToDecimal } from "@plane/utils"; // plane web store import { ExtendedBasePage } from "@/plane-web/store/pages/extended-base-page"; diff --git a/apps/web/core/store/pages/project-page.store.ts b/apps/web/core/store/pages/project-page.store.ts index caefe8670..a09067390 100644 --- a/apps/web/core/store/pages/project-page.store.ts +++ b/apps/web/core/store/pages/project-page.store.ts @@ -3,7 +3,8 @@ import { makeObservable, observable, runInAction, action, reaction, computed } f import { computedFn } from "mobx-utils"; // types import { EUserPermissions } from "@plane/constants"; -import { EUserProjectRoles, TPage, TPageFilters, TPageNavigationTabs } from "@plane/types"; +import type { TPage, TPageFilters, TPageNavigationTabs } from "@plane/types"; +import { EUserProjectRoles } from "@plane/types"; // helpers import { filterPagesByPageType, getPageName, orderPages, shouldFilterPage } from "@plane/utils"; // plane web constants @@ -13,7 +14,8 @@ import type { RootStore } from "@/plane-web/store/root.store"; import { ProjectPageService } from "@/services/page"; // store import type { CoreRootStore } from "../root.store"; -import { ProjectPage, TProjectPage } from "./project-page"; +import type { TProjectPage } from "./project-page"; +import { ProjectPage } from "./project-page"; type TLoader = "init-loader" | "mutation-loader" | undefined; diff --git a/apps/web/core/store/pages/project-page.ts b/apps/web/core/store/pages/project-page.ts index fedd04814..d72c58656 100644 --- a/apps/web/core/store/pages/project-page.ts +++ b/apps/web/core/store/pages/project-page.ts @@ -2,14 +2,15 @@ import { computed, makeObservable } from "mobx"; import { computedFn } from "mobx-utils"; // constants import { EPageAccess, EUserPermissions } from "@plane/constants"; -import { TPage } from "@plane/types"; +import type { TPage } from "@plane/types"; // plane web store import type { RootStore } from "@/plane-web/store/root.store"; // services import { ProjectPageService } from "@/services/page"; const projectPageService = new ProjectPageService(); // store -import { BasePage, type TPageInstance } from "./base-page"; +import { BasePage } from "./base-page"; +import type { TPageInstance } from "./base-page"; export type TProjectPage = TPageInstance; diff --git a/apps/web/core/store/project-view.store.ts b/apps/web/core/store/project-view.store.ts index e2c244039..11c56eed6 100644 --- a/apps/web/core/store/project-view.store.ts +++ b/apps/web/core/store/project-view.store.ts @@ -2,7 +2,7 @@ import { set } from "lodash-es"; import { observable, action, makeObservable, runInAction, computed } from "mobx"; import { computedFn } from "mobx-utils"; // types -import { IProjectView, TViewFilters } from "@plane/types"; +import type { IProjectView, TViewFilters } from "@plane/types"; // constants // helpers import { getValidatedViewFilters, getViewName, orderViews, shouldFilterView } from "@plane/utils"; diff --git a/apps/web/core/store/project/index.ts b/apps/web/core/store/project/index.ts index fd83f5743..0d128c09d 100644 --- a/apps/web/core/store/project/index.ts +++ b/apps/web/core/store/project/index.ts @@ -1,7 +1,10 @@ import type { CoreRootStore } from "../root.store"; -import { IProjectPublishStore, ProjectPublishStore } from "./project-publish.store"; -import { IProjectStore, ProjectStore } from "./project.store"; -import { IProjectFilterStore, ProjectFilterStore } from "./project_filter.store"; +import type { IProjectPublishStore } from "./project-publish.store"; +import { ProjectPublishStore } from "./project-publish.store"; +import type { IProjectStore } from "./project.store"; +import { ProjectStore } from "./project.store"; +import type { IProjectFilterStore } from "./project_filter.store"; +import { ProjectFilterStore } from "./project_filter.store"; export interface IProjectRootStore { project: IProjectStore; diff --git a/apps/web/core/store/project/project-publish.store.ts b/apps/web/core/store/project/project-publish.store.ts index 8ad787bd5..cb0c84ccf 100644 --- a/apps/web/core/store/project/project-publish.store.ts +++ b/apps/web/core/store/project/project-publish.store.ts @@ -1,11 +1,11 @@ import { unset, set } from "lodash-es"; import { observable, action, makeObservable, runInAction } from "mobx"; // types -import { TProjectPublishSettings } from "@plane/types"; +import type { TProjectPublishSettings } from "@plane/types"; // services import { ProjectPublishService } from "@/services/project"; // store -import { ProjectRootStore } from "@/store/project"; +import type { ProjectRootStore } from "@/store/project"; export interface IProjectPublishStore { // states diff --git a/apps/web/core/store/project/project.store.ts b/apps/web/core/store/project/project.store.ts index aa505c238..fa99f77f1 100644 --- a/apps/web/core/store/project/project.store.ts +++ b/apps/web/core/store/project/project.store.ts @@ -2,11 +2,11 @@ import { sortBy, cloneDeep, update, set } from "lodash-es"; import { observable, action, computed, makeObservable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // plane imports -import { TFetchStatus, TLoader, TProjectAnalyticsCount, TProjectAnalyticsCountParams } from "@plane/types"; +import type { TFetchStatus, TLoader, TProjectAnalyticsCount, TProjectAnalyticsCountParams } from "@plane/types"; // helpers import { orderProjects, shouldFilterProject } from "@plane/utils"; // services -import { TProject, TPartialProject } from "@/plane-web/types/projects"; +import type { TProject, TPartialProject } from "@/plane-web/types/projects"; import { IssueLabelService, IssueService } from "@/services/issue"; import { ProjectService, ProjectStateService, ProjectArchiveService } from "@/services/project"; // store diff --git a/apps/web/core/store/project/project_filter.store.ts b/apps/web/core/store/project/project_filter.store.ts index 199104c52..72b855152 100644 --- a/apps/web/core/store/project/project_filter.store.ts +++ b/apps/web/core/store/project/project_filter.store.ts @@ -2,7 +2,7 @@ import { set } from "lodash-es"; import { action, computed, observable, makeObservable, runInAction, reaction } from "mobx"; import { computedFn } from "mobx-utils"; // types -import { TProjectDisplayFilters, TProjectFilters, TProjectAppliedDisplayFilterKeys } from "@plane/types"; +import type { TProjectDisplayFilters, TProjectFilters, TProjectAppliedDisplayFilterKeys } from "@plane/types"; // store import type { CoreRootStore } from "../root.store"; diff --git a/apps/web/core/store/root.store.ts b/apps/web/core/store/root.store.ts index d1c608c3b..b7d36f734 100644 --- a/apps/web/core/store/root.store.ts +++ b/apps/web/core/store/root.store.ts @@ -1,38 +1,67 @@ import { enableStaticRendering } from "mobx-react"; // plane imports import { FALLBACK_LANGUAGE, LANGUAGE_STORAGE_KEY } from "@plane/i18n"; -import { IWorkItemFilterStore, WorkItemFilterStore } from "@plane/shared-state"; +import type { IWorkItemFilterStore } from "@plane/shared-state"; +import { WorkItemFilterStore } from "@plane/shared-state"; // plane web store -import { AnalyticsStore, IAnalyticsStore } from "@/plane-web/store/analytics.store"; -import { CommandPaletteStore, ICommandPaletteStore } from "@/plane-web/store/command-palette.store"; +import type { IAnalyticsStore } from "@/plane-web/store/analytics.store"; +import { AnalyticsStore } from "@/plane-web/store/analytics.store"; +import type { ICommandPaletteStore } from "@/plane-web/store/command-palette.store"; +import { CommandPaletteStore } from "@/plane-web/store/command-palette.store"; import type { RootStore } from "@/plane-web/store/root.store"; -import { IStateStore, StateStore } from "@/plane-web/store/state.store"; +import type { IStateStore } from "@/plane-web/store/state.store"; +import { StateStore } from "@/plane-web/store/state.store"; // stores -import { CycleStore, ICycleStore } from "./cycle.store"; -import { CycleFilterStore, ICycleFilterStore } from "./cycle_filter.store"; -import { DashboardStore, IDashboardStore } from "./dashboard.store"; -import { EditorAssetStore, IEditorAssetStore } from "./editor/asset.store"; -import { IProjectEstimateStore, ProjectEstimateStore } from "./estimates/project-estimate.store"; -import { FavoriteStore, IFavoriteStore } from "./favorite.store"; -import { GlobalViewStore, IGlobalViewStore } from "./global-view.store"; -import { IProjectInboxStore, ProjectInboxStore } from "./inbox/project-inbox.store"; -import { InstanceStore, IInstanceStore } from "./instance.store"; -import { IIssueRootStore, IssueRootStore } from "./issue/root.store"; -import { ILabelStore, LabelStore } from "./label.store"; -import { IMemberRootStore, MemberRootStore } from "./member"; -import { IModuleStore, ModulesStore } from "./module.store"; -import { IModuleFilterStore, ModuleFilterStore } from "./module_filter.store"; -import { IMultipleSelectStore, MultipleSelectStore } from "./multiple_select.store"; -import { IWorkspaceNotificationStore, WorkspaceNotificationStore } from "./notifications/workspace-notifications.store"; -import { IProjectPageStore, ProjectPageStore } from "./pages/project-page.store"; -import { IProjectRootStore, ProjectRootStore } from "./project"; -import { IProjectViewStore, ProjectViewStore } from "./project-view.store"; -import { RouterStore, IRouterStore } from "./router.store"; -import { IStickyStore, StickyStore } from "./sticky/sticky.store"; -import { ThemeStore, IThemeStore } from "./theme.store"; -import { ITransientStore, TransientStore } from "./transient.store"; -import { IUserStore, UserStore } from "./user"; -import { IWorkspaceRootStore, WorkspaceRootStore } from "./workspace"; +import type { ICycleStore } from "./cycle.store"; +import { CycleStore } from "./cycle.store"; +import type { ICycleFilterStore } from "./cycle_filter.store"; +import { CycleFilterStore } from "./cycle_filter.store"; +import type { IDashboardStore } from "./dashboard.store"; +import { DashboardStore } from "./dashboard.store"; +import type { IEditorAssetStore } from "./editor/asset.store"; +import { EditorAssetStore } from "./editor/asset.store"; +import type { IProjectEstimateStore } from "./estimates/project-estimate.store"; +import { ProjectEstimateStore } from "./estimates/project-estimate.store"; +import type { IFavoriteStore } from "./favorite.store"; +import { FavoriteStore } from "./favorite.store"; +import type { IGlobalViewStore } from "./global-view.store"; +import { GlobalViewStore } from "./global-view.store"; +import type { IProjectInboxStore } from "./inbox/project-inbox.store"; +import { ProjectInboxStore } from "./inbox/project-inbox.store"; +import type { IInstanceStore } from "./instance.store"; +import { InstanceStore } from "./instance.store"; +import type { IIssueRootStore } from "./issue/root.store"; +import { IssueRootStore } from "./issue/root.store"; +import type { ILabelStore } from "./label.store"; +import { LabelStore } from "./label.store"; +import type { IMemberRootStore } from "./member"; +import { MemberRootStore } from "./member"; +import type { IModuleStore } from "./module.store"; +import { ModulesStore } from "./module.store"; +import type { IModuleFilterStore } from "./module_filter.store"; +import { ModuleFilterStore } from "./module_filter.store"; +import type { IMultipleSelectStore } from "./multiple_select.store"; +import { MultipleSelectStore } from "./multiple_select.store"; +import type { IWorkspaceNotificationStore } from "./notifications/workspace-notifications.store"; +import { WorkspaceNotificationStore } from "./notifications/workspace-notifications.store"; +import type { IProjectPageStore } from "./pages/project-page.store"; +import { ProjectPageStore } from "./pages/project-page.store"; +import type { IProjectRootStore } from "./project"; +import { ProjectRootStore } from "./project"; +import type { IProjectViewStore } from "./project-view.store"; +import { ProjectViewStore } from "./project-view.store"; +import type { IRouterStore } from "./router.store"; +import { RouterStore } from "./router.store"; +import type { IStickyStore } from "./sticky/sticky.store"; +import { StickyStore } from "./sticky/sticky.store"; +import type { IThemeStore } from "./theme.store"; +import { ThemeStore } from "./theme.store"; +import type { ITransientStore } from "./transient.store"; +import { TransientStore } from "./transient.store"; +import type { IUserStore } from "./user"; +import { UserStore } from "./user"; +import type { IWorkspaceRootStore } from "./workspace"; +import { WorkspaceRootStore } from "./workspace"; enableStaticRendering(typeof window === "undefined"); diff --git a/apps/web/core/store/router.store.ts b/apps/web/core/store/router.store.ts index 5c5774f3b..68ac0f627 100644 --- a/apps/web/core/store/router.store.ts +++ b/apps/web/core/store/router.store.ts @@ -1,7 +1,7 @@ -import { ParsedUrlQuery } from "node:querystring"; +import type { ParsedUrlQuery } from "node:querystring"; import { action, makeObservable, observable, computed, runInAction } from "mobx"; -import { TProfileViews } from "@plane/types"; +import type { TProfileViews } from "@plane/types"; export interface IRouterStore { // observables query: ParsedUrlQuery; diff --git a/apps/web/core/store/state.store.ts b/apps/web/core/store/state.store.ts index 7c8a433bb..d44e20e86 100644 --- a/apps/web/core/store/state.store.ts +++ b/apps/web/core/store/state.store.ts @@ -3,7 +3,7 @@ import { action, computed, makeObservable, observable, runInAction } from "mobx" import { computedFn } from "mobx-utils"; // plane imports import { STATE_GROUPS } from "@plane/constants"; -import { IState } from "@plane/types"; +import type { IState } from "@plane/types"; // helpers import { sortStates } from "@plane/utils"; // plane web diff --git a/apps/web/core/store/sticky/sticky.store.ts b/apps/web/core/store/sticky/sticky.store.ts index 424d53103..5f2877a6b 100644 --- a/apps/web/core/store/sticky/sticky.store.ts +++ b/apps/web/core/store/sticky/sticky.store.ts @@ -2,7 +2,7 @@ import { orderBy, set } from "lodash-es"; import { observable, action, makeObservable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; import { STICKIES_PER_PAGE } from "@plane/constants"; -import { InstructionType, TLoader, TPaginationInfo, TSticky } from "@plane/types"; +import type { InstructionType, TLoader, TPaginationInfo, TSticky } from "@plane/types"; import { StickyService } from "@/services/sticky.service"; export interface IStickyStore { diff --git a/apps/web/core/store/timeline/issues-timeline.store.ts b/apps/web/core/store/timeline/issues-timeline.store.ts index 5128b9d8e..b68ac8fc0 100644 --- a/apps/web/core/store/timeline/issues-timeline.store.ts +++ b/apps/web/core/store/timeline/issues-timeline.store.ts @@ -1,7 +1,8 @@ import { autorun } from "mobx"; // Plane-web import type { RootStore } from "@/plane-web/store/root.store"; -import { BaseTimeLineStore, IBaseTimelineStore } from "@/plane-web/store/timeline/base-timeline.store"; +import type { IBaseTimelineStore } from "@/plane-web/store/timeline/base-timeline.store"; +import { BaseTimeLineStore } from "@/plane-web/store/timeline/base-timeline.store"; export interface IIssuesTimeLineStore extends IBaseTimelineStore { isDependencyEnabled: boolean; diff --git a/apps/web/core/store/timeline/modules-timeline.store.ts b/apps/web/core/store/timeline/modules-timeline.store.ts index e0af9f296..0f0e4cf75 100644 --- a/apps/web/core/store/timeline/modules-timeline.store.ts +++ b/apps/web/core/store/timeline/modules-timeline.store.ts @@ -1,7 +1,8 @@ import { autorun } from "mobx"; // Store import type { RootStore } from "@/plane-web/store/root.store"; -import { BaseTimeLineStore, type IBaseTimelineStore } from "@/plane-web/store/timeline/base-timeline.store"; +import { BaseTimeLineStore } from "@/plane-web/store/timeline/base-timeline.store"; +import type { IBaseTimelineStore } from "@/plane-web/store/timeline/base-timeline.store"; export interface IModulesTimeLineStore extends IBaseTimelineStore { isDependencyEnabled: boolean; diff --git a/apps/web/core/store/user/account.store.ts b/apps/web/core/store/user/account.store.ts index a30052472..0f441586d 100644 --- a/apps/web/core/store/user/account.store.ts +++ b/apps/web/core/store/user/account.store.ts @@ -1,7 +1,7 @@ import { set } from "lodash-es"; import { makeObservable, observable } from "mobx"; // types -import { IUserAccount } from "@plane/types"; +import type { IUserAccount } from "@plane/types"; // services import { UserService } from "@/services/user.service"; // store diff --git a/apps/web/core/store/user/base-permissions.store.ts b/apps/web/core/store/user/base-permissions.store.ts index b80d40b9e..b20049dc7 100644 --- a/apps/web/core/store/user/base-permissions.store.ts +++ b/apps/web/core/store/user/base-permissions.store.ts @@ -2,20 +2,14 @@ import { unset, set } from "lodash-es"; import { action, makeObservable, observable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // plane imports +import type { TUserPermissions, TUserPermissionsLevel } from "@plane/constants"; import { EUserPermissions, EUserPermissionsLevel, - TUserPermissions, - TUserPermissionsLevel, WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS_LINKS, } from "@plane/constants"; -import { - EUserProjectRoles, - EUserWorkspaceRoles, - IUserProjectsRole, - IWorkspaceMemberMe, - TProjectMembership, -} from "@plane/types"; +import type { EUserProjectRoles, IUserProjectsRole, IWorkspaceMemberMe, TProjectMembership } from "@plane/types"; +import { EUserWorkspaceRoles } from "@plane/types"; // plane web imports import { WorkspaceService } from "@/plane-web/services"; import type { RootStore } from "@/plane-web/store/root.store"; diff --git a/apps/web/core/store/user/index.ts b/apps/web/core/store/user/index.ts index ef7a8d46d..cb6258288 100644 --- a/apps/web/core/store/user/index.ts +++ b/apps/web/core/store/user/index.ts @@ -2,20 +2,23 @@ import { cloneDeep, set } from "lodash-es"; import { action, makeObservable, observable, runInAction, computed } from "mobx"; // plane imports import { EUserPermissions, API_BASE_URL } from "@plane/constants"; -import { IUser, TUserPermissions } from "@plane/types"; +import type { IUser, TUserPermissions } from "@plane/types"; // local import { persistence } from "@/local-db/storage.sqlite"; // plane web imports import type { RootStore } from "@/plane-web/store/root.store"; -import { IUserPermissionStore, UserPermissionStore } from "@/plane-web/store/user/permission.store"; +import type { IUserPermissionStore } from "@/plane-web/store/user/permission.store"; +import { UserPermissionStore } from "@/plane-web/store/user/permission.store"; // services import { AuthService } from "@/services/auth.service"; import { UserService } from "@/services/user.service"; // stores -import { IAccountStore } from "@/store/user/account.store"; -import { ProfileStore, IUserProfileStore } from "@/store/user/profile.store"; +import type { IAccountStore } from "@/store/user/account.store"; +import type { IUserProfileStore } from "@/store/user/profile.store"; +import { ProfileStore } from "@/store/user/profile.store"; // local imports -import { IUserSettingsStore, UserSettingsStore } from "./settings.store"; +import type { IUserSettingsStore } from "./settings.store"; +import { UserSettingsStore } from "./settings.store"; type TUserErrorStatus = { status: string; diff --git a/apps/web/core/store/user/profile.store.ts b/apps/web/core/store/user/profile.store.ts index 3dca664b3..ca8ce0cc5 100644 --- a/apps/web/core/store/user/profile.store.ts +++ b/apps/web/core/store/user/profile.store.ts @@ -1,7 +1,8 @@ import { cloneDeep, set } from "lodash-es"; import { action, makeObservable, observable, runInAction } from "mobx"; // types -import { EStartOfTheWeek, IUserTheme, TUserProfile } from "@plane/types"; +import type { IUserTheme, TUserProfile } from "@plane/types"; +import { EStartOfTheWeek } from "@plane/types"; // services import { UserService } from "@/services/user.service"; // store diff --git a/apps/web/core/store/user/settings.store.ts b/apps/web/core/store/user/settings.store.ts index 985455cb2..1dceea1b1 100644 --- a/apps/web/core/store/user/settings.store.ts +++ b/apps/web/core/store/user/settings.store.ts @@ -1,6 +1,6 @@ import { action, makeObservable, observable, runInAction } from "mobx"; // plane imports -import { IUserSettings } from "@plane/types"; +import type { IUserSettings } from "@plane/types"; // services import { UserService } from "@/services/user.service"; diff --git a/apps/web/core/store/workspace/api-token.store.ts b/apps/web/core/store/workspace/api-token.store.ts index 9737b80b2..5c290a723 100644 --- a/apps/web/core/store/workspace/api-token.store.ts +++ b/apps/web/core/store/workspace/api-token.store.ts @@ -2,7 +2,7 @@ import { action, observable, makeObservable, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // types import { APITokenService } from "@plane/services"; -import { IApiToken } from "@plane/types"; +import type { IApiToken } from "@plane/types"; // services // store import type { CoreRootStore } from "../root.store"; diff --git a/apps/web/core/store/workspace/home.ts b/apps/web/core/store/workspace/home.ts index 48da35fc3..7b0f77bb3 100644 --- a/apps/web/core/store/workspace/home.ts +++ b/apps/web/core/store/workspace/home.ts @@ -1,11 +1,12 @@ import { orderBy, clone, set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; // plane imports -import { THomeWidgetKeys, TWidgetEntityData } from "@plane/types"; +import type { THomeWidgetKeys, TWidgetEntityData } from "@plane/types"; // plane web services import { WorkspaceService } from "@/plane-web/services"; // store -import { IWorkspaceLinkStore, WorkspaceLinkStore } from "./link.store"; +import type { IWorkspaceLinkStore } from "./link.store"; +import { WorkspaceLinkStore } from "./link.store"; export interface IHomeStore { // observables diff --git a/apps/web/core/store/workspace/index.ts b/apps/web/core/store/workspace/index.ts index 99f5b92ca..50aed6e0e 100644 --- a/apps/web/core/store/workspace/index.ts +++ b/apps/web/core/store/workspace/index.ts @@ -2,15 +2,18 @@ import { clone, set } from "lodash-es"; import { action, computed, observable, makeObservable, runInAction } from "mobx"; // types import { computedFn } from "mobx-utils"; -import { IWorkspaceSidebarNavigationItem, IWorkspace, IWorkspaceSidebarNavigation } from "@plane/types"; +import type { IWorkspaceSidebarNavigationItem, IWorkspace, IWorkspaceSidebarNavigation } from "@plane/types"; // services import { WorkspaceService } from "@/plane-web/services"; // store import type { CoreRootStore } from "@/store/root.store"; // sub-stores -import { ApiTokenStore, IApiTokenStore } from "./api-token.store"; -import { HomeStore, IHomeStore } from "./home"; -import { IWebhookStore, WebhookStore } from "./webhook.store"; +import type { IApiTokenStore } from "./api-token.store"; +import { ApiTokenStore } from "./api-token.store"; +import type { IHomeStore } from "./home"; +import { HomeStore } from "./home"; +import type { IWebhookStore } from "./webhook.store"; +import { WebhookStore } from "./webhook.store"; export interface IWorkspaceRootStore { loader: boolean; diff --git a/apps/web/core/store/workspace/link.store.ts b/apps/web/core/store/workspace/link.store.ts index ab69954bd..9ef46bb55 100644 --- a/apps/web/core/store/workspace/link.store.ts +++ b/apps/web/core/store/workspace/link.store.ts @@ -1,7 +1,7 @@ import { set } from "lodash-es"; import { action, makeObservable, observable, runInAction } from "mobx"; // types -import { TLink, TLinkIdMap, TLinkMap } from "@plane/types"; +import type { TLink, TLinkIdMap, TLinkMap } from "@plane/types"; // services import { WorkspaceService } from "@/plane-web/services"; diff --git a/apps/web/core/store/workspace/webhook.store.ts b/apps/web/core/store/workspace/webhook.store.ts index 5b2fb29da..bd0de1c44 100644 --- a/apps/web/core/store/workspace/webhook.store.ts +++ b/apps/web/core/store/workspace/webhook.store.ts @@ -2,7 +2,7 @@ import { action, observable, makeObservable, computed, runInAction } from "mobx"; import { computedFn } from "mobx-utils"; // types -import { IWebhook } from "@plane/types"; +import type { IWebhook } from "@plane/types"; // services import { WebhookService } from "@/services/webhook.service"; // store diff --git a/apps/web/ee/store/analytics.store.ts b/apps/web/ee/store/analytics.store.ts index ef866f65a..9556dcf3a 100644 --- a/apps/web/ee/store/analytics.store.ts +++ b/apps/web/ee/store/analytics.store.ts @@ -1,4 +1,5 @@ -import { BaseAnalyticsStore, IBaseAnalyticsStore } from "@/store/analytics.store"; +import type { IBaseAnalyticsStore } from "@/store/analytics.store"; +import { BaseAnalyticsStore } from "@/store/analytics.store"; // eslint-disable-next-line @typescript-eslint/no-empty-object-type export interface IAnalyticsStore extends IBaseAnalyticsStore { diff --git a/apps/web/helpers/authentication.helper.tsx b/apps/web/helpers/authentication.helper.tsx index 559b5531c..de7367509 100644 --- a/apps/web/helpers/authentication.helper.tsx +++ b/apps/web/helpers/authentication.helper.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import Link from "next/link"; // plane imports import { SUPPORT_EMAIL } from "@plane/constants"; diff --git a/apps/web/helpers/dashboard.helper.ts b/apps/web/helpers/dashboard.helper.ts index f429c415b..1aac6c2af 100644 --- a/apps/web/helpers/dashboard.helper.ts +++ b/apps/web/helpers/dashboard.helper.ts @@ -2,7 +2,7 @@ import { endOfMonth, endOfWeek, endOfYear, startOfMonth, startOfWeek, startOfYea // helpers // types import { DURATION_FILTER_OPTIONS, EDurationFilters } from "@plane/constants"; -import { TIssuesListTypes } from "@plane/types"; +import type { TIssuesListTypes } from "@plane/types"; // constants import { renderFormattedDate, renderFormattedPayloadDate } from "@plane/utils"; diff --git a/apps/web/helpers/react-hook-form.helper.ts b/apps/web/helpers/react-hook-form.helper.ts index 96b489c01..e286ce574 100644 --- a/apps/web/helpers/react-hook-form.helper.ts +++ b/apps/web/helpers/react-hook-form.helper.ts @@ -1,4 +1,4 @@ -import { FieldError, FieldValues } from "react-hook-form"; +import type { FieldError, FieldValues } from "react-hook-form"; /** * Get a nested error from a form's errors object diff --git a/apps/web/helpers/views.helper.ts b/apps/web/helpers/views.helper.ts index ef79b2775..ba1e14c30 100644 --- a/apps/web/helpers/views.helper.ts +++ b/apps/web/helpers/views.helper.ts @@ -1,4 +1,5 @@ -import { Globe2, Lock, LucideIcon } from "lucide-react"; +import type { LucideIcon } from "lucide-react"; +import { Globe2, Lock } from "lucide-react"; import { VIEW_ACCESS_SPECIFIERS as VIEW_ACCESS_SPECIFIERS_CONSTANTS } from "@plane/constants"; import { EViewAccess } from "@plane/types"; diff --git a/packages/utils/src/rich-filters/factories/configs/properties/shared.ts b/packages/utils/src/rich-filters/factories/configs/properties/shared.ts index 1fa1267b2..eaa4e9ed3 100644 --- a/packages/utils/src/rich-filters/factories/configs/properties/shared.ts +++ b/packages/utils/src/rich-filters/factories/configs/properties/shared.ts @@ -14,6 +14,7 @@ import { IFilterIconConfig, TCreateDateFilterParams, TCreateFilterConfigParams, + TFilterIconType, } from "../shared"; // ------------ Base User Filter Types ------------ @@ -94,3 +95,11 @@ export const getProjectMultiSelectConfig = ( ...params, } ); + +/** + * Custom property filter specific params + */ +export type TCustomPropertyFilterParams = TCreateFilterConfigParams & + IFilterIconConfig & { + propertyDisplayName: string; + };