[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.
This commit is contained in:
Prateek Shourya 2025-10-14 16:45:07 +05:30 committed by GitHub
parent 4168127803
commit 9cfde896b3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
1080 changed files with 2589 additions and 2082 deletions

View file

@ -1,4 +1,18 @@
module.exports = { module.exports = {
root: true, root: true,
extends: ["@plane/eslint-config/next.js"], 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,
},
],
},
}; };

View file

@ -1,5 +1,6 @@
"use client"; "use client";
import { FC, useState } from "react"; import type { FC } from "react";
import { useState } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
// plane imports // plane imports
import { SIDEBAR_WIDTH } from "@plane/constants"; import { SIDEBAR_WIDTH } from "@plane/constants";

View file

@ -6,7 +6,8 @@ import { useRouter } from "next/navigation";
// plane package imports // plane package imports
import { EUserPermissions, EUserPermissionsLevel, PROJECT_TRACKER_ELEMENTS } from "@plane/constants"; import { EUserPermissions, EUserPermissionsLevel, PROJECT_TRACKER_ELEMENTS } from "@plane/constants";
import { useTranslation } from "@plane/i18n"; import { useTranslation } from "@plane/i18n";
import { type TabItem, Tabs } from "@plane/ui"; import { Tabs } from "@plane/ui";
import type { TabItem } from "@plane/ui";
// components // components
import AnalyticsFilterActions from "@/components/analytics/analytics-filter-actions"; import AnalyticsFilterActions from "@/components/analytics/analytics-filter-actions";
import { PageHead } from "@/components/core/page-title"; import { PageHead } from "@/components/core/page-title";

View file

@ -17,7 +17,7 @@ import { SidebarProjectsListItem } from "@/components/workspace/sidebar/projects
import { useAppTheme } from "@/hooks/store/use-app-theme"; import { useAppTheme } from "@/hooks/store/use-app-theme";
import { useProject } from "@/hooks/store/use-project"; import { useProject } from "@/hooks/store/use-project";
import { useUserPermissions } from "@/hooks/store/user"; 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"; import { ExtendedSidebarWrapper } from "./extended-sidebar-wrapper";
export const ExtendedProjectSidebar = observer(() => { export const ExtendedProjectSidebar = observer(() => {

View file

@ -1,6 +1,7 @@
"use client"; "use client";
import React, { FC } from "react"; import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
// plane imports // plane imports
import { EXTENDED_SIDEBAR_WIDTH, SIDEBAR_WIDTH } from "@plane/constants"; import { EXTENDED_SIDEBAR_WIDTH, SIDEBAR_WIDTH } from "@plane/constants";

View file

@ -5,7 +5,7 @@ import { observer } from "mobx-react";
import { useParams } from "next/navigation"; import { useParams } from "next/navigation";
// plane imports // plane imports
import { WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS_LINKS } from "@plane/constants"; import { WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS_LINKS } from "@plane/constants";
import { EUserWorkspaceRoles } from "@plane/types"; import type { EUserWorkspaceRoles } from "@plane/types";
// hooks // hooks
import { useAppTheme } from "@/hooks/store/use-app-theme"; import { useAppTheme } from "@/hooks/store/use-app-theme";
import { useWorkspace } from "@/hooks/store/use-workspace"; import { useWorkspace } from "@/hooks/store/use-workspace";

View file

@ -1,14 +1,14 @@
"use client"; "use client";
// ui // ui
import { FC } from "react"; import type { FC } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import { useParams, useRouter } from "next/navigation"; import { useParams, useRouter } from "next/navigation";
import { ChevronDown, PanelRight } from "lucide-react"; import { ChevronDown, PanelRight } from "lucide-react";
import { PROFILE_VIEWER_TAB, PROFILE_ADMINS_TAB, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { PROFILE_VIEWER_TAB, PROFILE_ADMINS_TAB, EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
import { useTranslation } from "@plane/i18n"; import { useTranslation } from "@plane/i18n";
import { YourWorkIcon } from "@plane/propel/icons"; 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 { Breadcrumbs, Header, CustomMenu } from "@plane/ui";
import { cn } from "@plane/utils"; import { cn } from "@plane/utils";
// components // components

View file

@ -10,13 +10,13 @@ import { EIssueFilterType, ISSUE_LAYOUTS, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "
// plane i18n // plane i18n
import { useTranslation } from "@plane/i18n"; import { useTranslation } from "@plane/i18n";
// types // types
import { import type {
EIssuesStoreType,
IIssueDisplayFilterOptions, IIssueDisplayFilterOptions,
IIssueDisplayProperties, IIssueDisplayProperties,
TIssueLayouts, TIssueLayouts,
EIssueLayoutTypes, EIssueLayoutTypes,
} from "@plane/types"; } from "@plane/types";
import { EIssuesStoreType } from "@plane/types";
// ui // ui
import { CustomMenu } from "@plane/ui"; import { CustomMenu } from "@plane/ui";
// components // components

View file

@ -5,7 +5,7 @@ import useSWR from "swr";
// plane imports // plane imports
import { GROUP_CHOICES } from "@plane/constants"; import { GROUP_CHOICES } from "@plane/constants";
import { useTranslation } from "@plane/i18n"; import { useTranslation } from "@plane/i18n";
import { IUserStateDistribution, TStateGroups } from "@plane/types"; import type { IUserStateDistribution, TStateGroups } from "@plane/types";
import { ContentWrapper } from "@plane/ui"; import { ContentWrapper } from "@plane/ui";
// components // components
import { PageHead } from "@/components/core/page-title"; import { PageHead } from "@/components/core/page-title";

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import { FC } from "react"; import type { FC } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import { useParams } from "next/navigation"; import { useParams } from "next/navigation";
import { ArchiveIcon, CycleIcon, ModuleIcon, WorkItemsIcon } from "@plane/propel/icons"; import { ArchiveIcon, CycleIcon, ModuleIcon, WorkItemsIcon } from "@plane/propel/icons";

View file

@ -19,13 +19,8 @@ import { useTranslation } from "@plane/i18n";
import { Button } from "@plane/propel/button"; import { Button } from "@plane/propel/button";
import { CycleIcon } from "@plane/propel/icons"; import { CycleIcon } from "@plane/propel/icons";
import { Tooltip } from "@plane/propel/tooltip"; import { Tooltip } from "@plane/propel/tooltip";
import { import type { ICustomSearchSelectOption, IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types";
EIssuesStoreType, import { EIssuesStoreType, EIssueLayoutTypes } from "@plane/types";
ICustomSearchSelectOption,
IIssueDisplayFilterOptions,
IIssueDisplayProperties,
EIssueLayoutTypes,
} from "@plane/types";
import { Breadcrumbs, BreadcrumbNavigationSearchDropdown, Header } from "@plane/ui"; import { Breadcrumbs, BreadcrumbNavigationSearchDropdown, Header } from "@plane/ui";
import { cn } from "@plane/utils"; import { cn } from "@plane/utils";
// components // components

View file

@ -7,7 +7,8 @@ import { Calendar, ChevronDown, Kanban, List } from "lucide-react";
// plane imports // plane imports
import { EIssueFilterType, ISSUE_LAYOUTS, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants"; import { EIssueFilterType, ISSUE_LAYOUTS, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants";
import { useTranslation } from "@plane/i18n"; 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"; import { CustomMenu } from "@plane/ui";
// components // components
import { WorkItemsModal } from "@/components/analytics/work-items/modal"; import { WorkItemsModal } from "@/components/analytics/work-items/modal";

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import { FC } from "react"; import type { FC } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import { useParams } from "next/navigation"; import { useParams } from "next/navigation";
// ui // ui

View file

@ -2,9 +2,10 @@
import { observer } from "mobx-react"; import { observer } from "mobx-react";
// ui // 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 // plane package imports
import { TCycleLayoutOptions } from "@plane/types"; import type { TCycleLayoutOptions } from "@plane/types";
import { CustomMenu } from "@plane/ui"; import { CustomMenu } from "@plane/ui";
// hooks // hooks
import { useCycleFilter } from "@/hooks/store/use-cycle-filter"; import { useCycleFilter } from "@/hooks/store/use-cycle-filter";

View file

@ -6,7 +6,8 @@ import { useParams } from "next/navigation";
// plane imports // plane imports
import { EUserPermissionsLevel, CYCLE_TRACKER_ELEMENTS } from "@plane/constants"; import { EUserPermissionsLevel, CYCLE_TRACKER_ELEMENTS } from "@plane/constants";
import { useTranslation } from "@plane/i18n"; import { useTranslation } from "@plane/i18n";
import { EUserProjectRoles, TCycleFilters } from "@plane/types"; import type { TCycleFilters } from "@plane/types";
import { EUserProjectRoles } from "@plane/types";
// components // components
import { Header, EHeaderVariant } from "@plane/ui"; import { Header, EHeaderVariant } from "@plane/ui";
import { calculateTotalFilters } from "@plane/utils"; import { calculateTotalFilters } from "@plane/utils";

View file

@ -7,7 +7,8 @@ import { ChevronDown } from "lucide-react";
// plane imports // plane imports
import { EIssueFilterType, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants"; import { EIssueFilterType, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants";
import { useTranslation } from "@plane/i18n"; 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 // components
import { WorkItemsModal } from "@/components/analytics/work-items/modal"; import { WorkItemsModal } from "@/components/analytics/work-items/modal";
import { import {

View file

@ -17,13 +17,8 @@ import {
import { Button } from "@plane/propel/button"; import { Button } from "@plane/propel/button";
import { ModuleIcon } from "@plane/propel/icons"; import { ModuleIcon } from "@plane/propel/icons";
import { Tooltip } from "@plane/propel/tooltip"; import { Tooltip } from "@plane/propel/tooltip";
import { import type { ICustomSearchSelectOption, IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types";
EIssuesStoreType, import { EIssuesStoreType, EIssueLayoutTypes } from "@plane/types";
ICustomSearchSelectOption,
IIssueDisplayFilterOptions,
IIssueDisplayProperties,
EIssueLayoutTypes,
} from "@plane/types";
import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui";
import { cn } from "@plane/utils"; import { cn } from "@plane/utils";
// components // components

View file

@ -8,7 +8,8 @@ import { Calendar, ChevronDown, Kanban, List } from "lucide-react";
// plane imports // plane imports
import { EIssueFilterType, ISSUE_LAYOUTS, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants"; import { EIssueFilterType, ISSUE_LAYOUTS, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants";
import { useTranslation } from "@plane/i18n"; 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"; import { CustomMenu } from "@plane/ui";
// components // components
import { WorkItemsModal } from "@/components/analytics/work-items/modal"; import { WorkItemsModal } from "@/components/analytics/work-items/modal";

View file

@ -6,7 +6,8 @@ import { useParams } from "next/navigation";
// types // types
import { EUserPermissionsLevel } from "@plane/constants"; import { EUserPermissionsLevel } from "@plane/constants";
import { useTranslation } from "@plane/i18n"; import { useTranslation } from "@plane/i18n";
import { EUserProjectRoles, TModuleFilters } from "@plane/types"; import type { TModuleFilters } from "@plane/types";
import { EUserProjectRoles } from "@plane/types";
// components // components
import { calculateTotalFilters } from "@plane/utils"; import { calculateTotalFilters } from "@plane/utils";
import { PageHead } from "@/components/core/page-title"; import { PageHead } from "@/components/core/page-title";

View file

@ -7,7 +7,8 @@ import { useParams } from "next/navigation";
import useSWR from "swr"; import useSWR from "swr";
// plane types // plane types
import { getButtonStyling } from "@plane/propel/button"; 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 ui
// plane utils // plane utils
import { cn } from "@plane/utils"; import { cn } from "@plane/utils";
@ -15,7 +16,8 @@ import { cn } from "@plane/utils";
import { LogoSpinner } from "@/components/common/logo-spinner"; import { LogoSpinner } from "@/components/common/logo-spinner";
import { PageHead } from "@/components/core/page-title"; import { PageHead } from "@/components/core/page-title";
import { IssuePeekOverview } from "@/components/issues/peek-overview"; 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 // hooks
import { useEditorConfig } from "@/hooks/editor"; import { useEditorConfig } from "@/hooks/editor";
import { useEditorAsset } from "@/hooks/store/use-editor-asset"; import { useEditorAsset } from "@/hooks/store/use-editor-asset";

View file

@ -4,7 +4,7 @@ import { useParams } from "next/navigation";
import { EProjectFeatureKey } from "@plane/constants"; import { EProjectFeatureKey } from "@plane/constants";
import { PageIcon } from "@plane/propel/icons"; import { PageIcon } from "@plane/propel/icons";
// types // types
import { ICustomSearchSelectOption } from "@plane/types"; import type { ICustomSearchSelectOption } from "@plane/types";
// ui // ui
import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui";
// components // components

View file

@ -13,7 +13,7 @@ import {
// plane types // plane types
import { Button } from "@plane/propel/button"; import { Button } from "@plane/propel/button";
import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { TOAST_TYPE, setToast } from "@plane/propel/toast";
import { TPage } from "@plane/types"; import type { TPage } from "@plane/types";
// plane ui // plane ui
import { Breadcrumbs, Header } from "@plane/ui"; import { Breadcrumbs, Header } from "@plane/ui";
// helpers // helpers

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import { ReactNode } from "react"; import type { ReactNode } from "react";
// components // components
import { AppHeader } from "@/components/core/app-header"; import { AppHeader } from "@/components/core/app-header";
import { ContentWrapper } from "@/components/core/content-wrapper"; import { ContentWrapper } from "@/components/core/content-wrapper";

View file

@ -5,7 +5,8 @@ import { useParams, useSearchParams } from "next/navigation";
// plane imports // plane imports
import { EUserPermissionsLevel } from "@plane/constants"; import { EUserPermissionsLevel } from "@plane/constants";
import { useTranslation } from "@plane/i18n"; import { useTranslation } from "@plane/i18n";
import { EUserProjectRoles, TPageNavigationTabs } from "@plane/types"; import type { TPageNavigationTabs } from "@plane/types";
import { EUserProjectRoles } from "@plane/types";
// components // components
import { PageHead } from "@/components/core/page-title"; import { PageHead } from "@/components/core/page-title";
import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root"; import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root";

View file

@ -17,14 +17,8 @@ import {
import { Button } from "@plane/propel/button"; import { Button } from "@plane/propel/button";
import { ViewsIcon } from "@plane/propel/icons"; import { ViewsIcon } from "@plane/propel/icons";
import { Tooltip } from "@plane/propel/tooltip"; import { Tooltip } from "@plane/propel/tooltip";
import { import type { ICustomSearchSelectOption, IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types";
EIssuesStoreType, import { EIssuesStoreType, EViewAccess, EIssueLayoutTypes } from "@plane/types";
EViewAccess,
ICustomSearchSelectOption,
IIssueDisplayFilterOptions,
IIssueDisplayProperties,
EIssueLayoutTypes,
} from "@plane/types";
// ui // ui
import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui";
// components // components

View file

@ -6,7 +6,8 @@ import { useParams } from "next/navigation";
// components // components
import { EUserPermissionsLevel } from "@plane/constants"; import { EUserPermissionsLevel } from "@plane/constants";
import { useTranslation } from "@plane/i18n"; 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 { Header, EHeaderVariant } from "@plane/ui";
import { calculateTotalFilters } from "@plane/utils"; import { calculateTotalFilters } from "@plane/utils";
import { PageHead } from "@/components/core/page-title"; import { PageHead } from "@/components/core/page-title";

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import { ReactNode } from "react"; import type { ReactNode } from "react";
// components // components
import { AppHeader } from "@/components/core/app-header"; import { AppHeader } from "@/components/core/app-header";
import { ContentWrapper } from "@/components/core/content-wrapper"; import { ContentWrapper } from "@/components/core/content-wrapper";

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import { ReactNode } from "react"; import type { ReactNode } from "react";
import { useParams } from "next/navigation"; import { useParams } from "next/navigation";
// plane web layouts // plane web layouts
import { ProjectAuthWrapper } from "@/plane-web/layouts/project-wrapper"; import { ProjectAuthWrapper } from "@/plane-web/layouts/project-wrapper";

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import { ReactNode } from "react"; import type { ReactNode } from "react";
// components // components
import { AppHeader } from "@/components/core/app-header"; import { AppHeader } from "@/components/core/app-header";
import { ContentWrapper } from "@/components/core/content-wrapper"; import { ContentWrapper } from "@/components/core/content-wrapper";

View file

@ -1,4 +1,4 @@
import { FC } from "react"; import type { FC } from "react";
import { isEmpty } from "lodash-es"; import { isEmpty } from "lodash-es";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
// plane helpers // plane helpers

View file

@ -13,13 +13,8 @@ import {
import { useTranslation } from "@plane/i18n"; import { useTranslation } from "@plane/i18n";
import { Button } from "@plane/propel/button"; import { Button } from "@plane/propel/button";
import { ViewsIcon } from "@plane/propel/icons"; import { ViewsIcon } from "@plane/propel/icons";
import { import type { IIssueDisplayFilterOptions, IIssueDisplayProperties, ICustomSearchSelectOption } from "@plane/types";
EIssuesStoreType, import { EIssuesStoreType, EIssueLayoutTypes } from "@plane/types";
IIssueDisplayFilterOptions,
IIssueDisplayProperties,
ICustomSearchSelectOption,
EIssueLayoutTypes,
} from "@plane/types";
import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui"; import { Breadcrumbs, Header, BreadcrumbNavigationSearchDropdown } from "@plane/ui";
// components // components
import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; import { BreadcrumbLink } from "@/components/common/breadcrumb-link";

View file

@ -1,11 +1,11 @@
"use client"; "use client";
import { FC, ReactNode } from "react"; import type { FC, ReactNode } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import { usePathname } from "next/navigation"; import { usePathname } from "next/navigation";
// constants // constants
import { WORKSPACE_SETTINGS_ACCESS } from "@plane/constants"; import { WORKSPACE_SETTINGS_ACCESS } from "@plane/constants";
import { EUserWorkspaceRoles } from "@plane/types"; import type { EUserWorkspaceRoles } from "@plane/types";
// components // components
import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view";
import { getWorkspaceActivePath, pathnameToAccessKey } from "@/components/settings/helper"; import { getWorkspaceActivePath, pathnameToAccessKey } from "@/components/settings/helper";

View file

@ -14,7 +14,7 @@ import {
import { useTranslation } from "@plane/i18n"; import { useTranslation } from "@plane/i18n";
import { Button } from "@plane/propel/button"; import { Button } from "@plane/propel/button";
import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { TOAST_TYPE, setToast } from "@plane/propel/toast";
import { IWorkspaceBulkInviteFormData } from "@plane/types"; import type { IWorkspaceBulkInviteFormData } from "@plane/types";
import { cn } from "@plane/utils"; import { cn } from "@plane/utils";
// components // components
import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view";

View file

@ -7,7 +7,7 @@ import {
EUserPermissions, EUserPermissions,
WORKSPACE_SETTINGS_CATEGORY, WORKSPACE_SETTINGS_CATEGORY,
} from "@plane/constants"; } from "@plane/constants";
import { EUserWorkspaceRoles } from "@plane/types"; import type { EUserWorkspaceRoles } from "@plane/types";
import { SettingsSidebar } from "@/components/settings/sidebar"; import { SettingsSidebar } from "@/components/settings/sidebar";
import { useUserPermissions } from "@/hooks/store/user"; import { useUserPermissions } from "@/hooks/store/user";
import { shouldRenderSettingLink } from "@/plane-web/helpers/workspace.helper"; import { shouldRenderSettingLink } from "@/plane-web/helpers/workspace.helper";

View file

@ -6,7 +6,7 @@ import { useParams } from "next/navigation";
import useSWR from "swr"; import useSWR from "swr";
import { EUserPermissions, EUserPermissionsLevel, WORKSPACE_SETTINGS_TRACKER_EVENTS } from "@plane/constants"; import { EUserPermissions, EUserPermissionsLevel, WORKSPACE_SETTINGS_TRACKER_EVENTS } from "@plane/constants";
import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { TOAST_TYPE, setToast } from "@plane/propel/toast";
import { IWebhook } from "@plane/types"; import type { IWebhook } from "@plane/types";
// ui // ui
// components // components
import { LogoSpinner } from "@/components/common/logo-spinner"; import { LogoSpinner } from "@/components/common/logo-spinner";

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import { ReactNode } from "react"; import type { ReactNode } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import { usePathname } from "next/navigation"; import { usePathname } from "next/navigation";
// components // components

View file

@ -15,7 +15,8 @@ import { getPasswordStrength } from "@plane/utils";
import { PageHead } from "@/components/core/page-title"; import { PageHead } from "@/components/core/page-title";
import { ProfileSettingContentHeader } from "@/components/profile/profile-setting-content-header"; import { ProfileSettingContentHeader } from "@/components/profile/profile-setting-content-header";
// helpers // helpers
import { authErrorHandler, type EAuthenticationErrorCodes } from "@/helpers/authentication.helper"; import { authErrorHandler } from "@/helpers/authentication.helper";
import type { EAuthenticationErrorCodes } from "@/helpers/authentication.helper";
// hooks // hooks
import { useUser } from "@/hooks/store/user"; import { useUser } from "@/hooks/store/user";
// services // services

View file

@ -6,7 +6,7 @@ import { useParams } from "next/navigation";
import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
import { useTranslation } from "@plane/i18n"; import { useTranslation } from "@plane/i18n";
import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { TOAST_TYPE, setToast } from "@plane/propel/toast";
import { IProject } from "@plane/types"; import type { IProject } from "@plane/types";
// ui // ui
// components // components
import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view"; import { NotAuthorizedView } from "@/components/auth-screens/not-authorized-view";

View file

@ -1,6 +1,7 @@
"use client"; "use client";
import { ReactNode, useEffect } from "react"; import type { ReactNode } from "react";
import { useEffect } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import { useParams, usePathname } from "next/navigation"; import { useParams, usePathname } from "next/navigation";
// components // components

View file

@ -1,4 +1,4 @@
import { Metadata } from "next"; import type { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Forgot Password - Plane", title: "Forgot Password - Plane",

View file

@ -1,4 +1,4 @@
import { Metadata } from "next"; import type { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Reset Password - Plane", title: "Reset Password - Plane",

View file

@ -1,4 +1,4 @@
import { Metadata } from "next"; import type { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Set Password - Plane", title: "Set Password - Plane",

View file

@ -1,4 +1,4 @@
import { Metadata } from "next"; import type { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Create Workspace", title: "Create Workspace",

View file

@ -8,7 +8,7 @@ import Link from "next/link";
import { useTranslation } from "@plane/i18n"; import { useTranslation } from "@plane/i18n";
import { Button, getButtonStyling } from "@plane/propel/button"; import { Button, getButtonStyling } from "@plane/propel/button";
import { PlaneLogo } from "@plane/propel/icons"; import { PlaneLogo } from "@plane/propel/icons";
import { IWorkspace } from "@plane/types"; import type { IWorkspace } from "@plane/types";
// components // components
import { CreateWorkspaceForm } from "@/components/workspace/create-workspace-form"; import { CreateWorkspaceForm } from "@/components/workspace/create-workspace-form";
// hooks // hooks

View file

@ -1,4 +1,4 @@
import { Metadata } from "next"; import type { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Invitations", title: "Invitations",

View file

@ -1,4 +1,4 @@
import { Metadata, Viewport } from "next"; import type { Metadata, Viewport } from "next";
import { PreloadResources } from "./layout.preload"; import { PreloadResources } from "./layout.preload";

View file

@ -1,4 +1,4 @@
import { Metadata } from "next"; import type { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Onboarding", title: "Onboarding",

View file

@ -4,10 +4,11 @@ import { useEffect, useState } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import { useTheme } from "next-themes"; import { useTheme } from "next-themes";
// plane imports // 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 { useTranslation } from "@plane/i18n";
import { setPromiseToast } from "@plane/propel/toast"; import { setPromiseToast } from "@plane/propel/toast";
import { IUserTheme } from "@plane/types"; import type { IUserTheme } from "@plane/types";
// components // components
import { applyTheme, unsetCustomCssVariables } from "@plane/utils"; import { applyTheme, unsetCustomCssVariables } from "@plane/utils";
import { LogoSpinner } from "@/components/common/logo-spinner"; import { LogoSpinner } from "@/components/common/logo-spinner";

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import { ReactNode } from "react"; import type { ReactNode } from "react";
// components // components
import { CommandPalette } from "@/components/command-palette"; import { CommandPalette } from "@/components/command-palette";
// wrappers // wrappers

View file

@ -16,7 +16,8 @@ import { PageHead } from "@/components/core/page-title";
import { ProfileSettingContentHeader } from "@/components/profile/profile-setting-content-header"; import { ProfileSettingContentHeader } from "@/components/profile/profile-setting-content-header";
import { ProfileSettingContentWrapper } from "@/components/profile/profile-setting-content-wrapper"; import { ProfileSettingContentWrapper } from "@/components/profile/profile-setting-content-wrapper";
// helpers // helpers
import { authErrorHandler, type EAuthenticationErrorCodes } from "@/helpers/authentication.helper"; import { authErrorHandler } from "@/helpers/authentication.helper";
import type { EAuthenticationErrorCodes } from "@/helpers/authentication.helper";
// hooks // hooks
import { useUser } from "@/hooks/store/user"; import { useUser } from "@/hooks/store/user";
// services // services

View file

@ -1,4 +1,4 @@
import { Metadata } from "next"; import type { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Sign up - Plane", title: "Sign up - Plane",

View file

@ -1,4 +1,4 @@
import { Metadata } from "next"; import type { Metadata } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Workspace Invitations", title: "Workspace Invitations",

View file

@ -1,4 +1,4 @@
import { Metadata, Viewport } from "next"; import type { Metadata, Viewport } from "next";
export const metadata: Metadata = { export const metadata: Metadata = {
robots: { robots: {

View file

@ -1,4 +1,4 @@
import { Metadata, Viewport } from "next"; import type { Metadata, Viewport } from "next";
import Script from "next/script"; import Script from "next/script";
// styles // styles

View file

@ -1,7 +1,7 @@
"use client"; "use client";
import React from "react"; import React from "react";
import { Metadata } from "next"; import type { Metadata } from "next";
import Image from "next/image"; import Image from "next/image";
import Link from "next/link"; import Link from "next/link";
// ui // ui

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import { FC, ReactNode } from "react"; import type { FC, ReactNode } from "react";
import { AppProgressProvider as ProgressProvider } from "@bprogress/next"; import { AppProgressProvider as ProgressProvider } from "@bprogress/next";
import dynamic from "next/dynamic"; import dynamic from "next/dynamic";
import { useTheme, ThemeProvider } from "next-themes"; import { useTheme, ThemeProvider } from "next-themes";

View file

@ -1,4 +1,4 @@
import { AnalyticsTab } from "@plane/types"; import type { AnalyticsTab } from "@plane/types";
import { Overview } from "@/components/analytics/overview"; import { Overview } from "@/components/analytics/overview";
import { WorkItems } from "@/components/analytics/work-items"; import { WorkItems } from "@/components/analytics/work-items";

View file

@ -1,6 +1,7 @@
"use client"; "use client";
import React, { FC } from "react"; import type { FC } from "react";
import React from "react";
export type TCustomAutomationsRootProps = { export type TCustomAutomationsRootProps = {
projectId: string; projectId: string;

View file

@ -1,8 +1,8 @@
"use client"; "use client";
import { FC } from "react"; import type { FC } from "react";
// plane imports // plane imports
import { EProjectFeatureKey } from "@plane/constants"; import type { EProjectFeatureKey } from "@plane/constants";
// local components // local components
import { ProjectBreadcrumb } from "./project"; import { ProjectBreadcrumb } from "./project";
import { ProjectFeatureBreadcrumb } from "./project-feature"; import { ProjectFeatureBreadcrumb } from "./project-feature";

View file

@ -1,10 +1,10 @@
"use client"; "use client";
import { FC } from "react"; import type { FC } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
// plane imports // plane imports
import { EProjectFeatureKey } from "@plane/constants"; import { EProjectFeatureKey } from "@plane/constants";
import { ISvgIcons } from "@plane/propel/icons"; import type { ISvgIcons } from "@plane/propel/icons";
import { BreadcrumbNavigationDropdown, Breadcrumbs } from "@plane/ui"; import { BreadcrumbNavigationDropdown, Breadcrumbs } from "@plane/ui";
// components // components
import { SwitcherLabel } from "@/components/common/switcher-label"; import { SwitcherLabel } from "@/components/common/switcher-label";

View file

@ -3,7 +3,7 @@
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import { ProjectIcon } from "@plane/propel/icons"; import { ProjectIcon } from "@plane/propel/icons";
// plane imports // plane imports
import { ICustomSearchSelectOption } from "@plane/types"; import type { ICustomSearchSelectOption } from "@plane/types";
import { BreadcrumbNavigationSearchDropdown, Breadcrumbs } from "@plane/ui"; import { BreadcrumbNavigationSearchDropdown, Breadcrumbs } from "@plane/ui";
// components // components
import { Logo } from "@/components/common/logo"; import { Logo } from "@/components/common/logo";
@ -11,7 +11,7 @@ import { SwitcherLabel } from "@/components/common/switcher-label";
// hooks // hooks
import { useProject } from "@/hooks/store/use-project"; import { useProject } from "@/hooks/store/use-project";
import { useAppRouter } from "@/hooks/use-app-router"; import { useAppRouter } from "@/hooks/use-app-router";
import { TProject } from "@/plane-web/types"; import type { TProject } from "@/plane-web/types";
type TProjectBreadcrumbProps = { type TProjectBreadcrumbProps = {
workspaceSlug: string; workspaceSlug: string;

View file

@ -1,17 +1,15 @@
"use client"; "use client";
// types
import { LayoutGrid } from "lucide-react"; import { LayoutGrid } from "lucide-react";
// plane imports
import { CycleIcon, ModuleIcon, PageIcon, ProjectIcon, ViewsIcon } from "@plane/propel/icons"; import { CycleIcon, ModuleIcon, PageIcon, ProjectIcon, ViewsIcon } from "@plane/propel/icons";
import { import type {
IWorkspaceDefaultSearchResult, IWorkspaceDefaultSearchResult,
IWorkspaceIssueSearchResult, IWorkspaceIssueSearchResult,
IWorkspacePageSearchResult, IWorkspacePageSearchResult,
IWorkspaceProjectSearchResult, IWorkspaceProjectSearchResult,
IWorkspaceSearchResult, IWorkspaceSearchResult,
} from "@plane/types"; } from "@plane/types";
// ui
// helpers
import { generateWorkItemLink } from "@plane/utils"; import { generateWorkItemLink } from "@plane/utils";
// plane web components // plane web components
import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier"; import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier";

View file

@ -1,8 +1,9 @@
import { FC } from "react"; import type { FC } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import { useParams } from "next/navigation"; import { useParams } from "next/navigation";
// plane imports // plane imports
import { EIssueServiceType, EIssuesStoreType, TIssue } from "@plane/types"; import type { TIssue } from "@plane/types";
import { EIssueServiceType, EIssuesStoreType } from "@plane/types";
// components // components
import { BulkDeleteIssuesModal } from "@/components/core/modals/bulk-delete-issues-modal"; import { BulkDeleteIssuesModal } from "@/components/core/modals/bulk-delete-issues-modal";
import { DeleteIssueModal } from "@/components/issues/delete-issue-modal"; import { DeleteIssueModal } from "@/components/issues/delete-issue-modal";

View file

@ -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"; import { observer } from "mobx-react";
// plane imports // plane imports
import { useTranslation } from "@plane/i18n"; 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 { Avatar, Tooltip } from "@plane/ui";
import { calculateTimeAgo, cn, getFileURL, renderFormattedDate, renderFormattedTime } from "@plane/utils"; import { calculateTimeAgo, cn, getFileURL, renderFormattedDate, renderFormattedTime } from "@plane/utils";
// hooks // hooks

View file

@ -1,4 +1,4 @@
import { ReactNode } from "react"; import type { ReactNode } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import { AppSidebarToggleButton } from "@/components/sidebar/sidebar-toggle-button"; import { AppSidebarToggleButton } from "@/components/sidebar/sidebar-toggle-button";
import { useAppTheme } from "@/hooks/store/use-app-theme"; import { useAppTheme } from "@/hooks/store/use-app-theme";

View file

@ -1,4 +1,4 @@
import { IWorkspace } from "@plane/types"; import type { IWorkspace } from "@plane/types";
type TProps = { type TProps = {
workspace?: IWorkspace; workspace?: IWorkspace;

View file

@ -17,7 +17,7 @@ import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-stat
// hooks // hooks
import { useCycle } from "@/hooks/store/use-cycle"; import { useCycle } from "@/hooks/store/use-cycle";
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path"; import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
import { ActiveCycleIssueDetails } from "@/store/issue/cycle"; import type { ActiveCycleIssueDetails } from "@/store/issue/cycle";
interface IActiveCycleDetails { interface IActiveCycleDetails {
workspaceSlug: string; workspaceSlug: string;

View file

@ -1,4 +1,4 @@
import { FC } from "react"; import type { FC } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
type Props = { type Props = {
cycleId: string; cycleId: string;

View file

@ -1,9 +1,10 @@
"use client"; "use client";
import { FC, Fragment } from "react"; import type { FC } from "react";
import { Fragment } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
// plane imports // plane imports
import { useTranslation } from "@plane/i18n"; import { useTranslation } from "@plane/i18n";
import { TCycleEstimateType } from "@plane/types"; import type { TCycleEstimateType } from "@plane/types";
import { Loader } from "@plane/ui"; import { Loader } from "@plane/ui";
import { getDate } from "@plane/utils"; import { getDate } from "@plane/utils";
// components // components

View file

@ -1,5 +1,6 @@
"use client"; "use client";
import React, { FC } from "react"; import type { FC } from "react";
import React from "react";
// components // components
import { SidebarChart } from "./base"; import { SidebarChart } from "./base";

View file

@ -1,5 +1,6 @@
"use client"; "use client";
import React, { FC } from "react"; import type { FC } from "react";
import React from "react";
// local components // local components
type TDeDupeButtonRoot = { type TDeDupeButtonRoot = {

View file

@ -1,8 +1,8 @@
"use-client"; "use-client";
import { FC } from "react"; import type { FC } from "react";
// types // types
import { TDeDupeIssue } from "@plane/types"; import type { TDeDupeIssue } from "@plane/types";
type TDuplicateModalRootProps = { type TDuplicateModalRootProps = {
workspaceSlug: string; workspaceSlug: string;

View file

@ -1,9 +1,10 @@
"use client"; "use client";
import React, { FC } from "react"; import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
// types // types
import { TDeDupeIssue } from "@plane/types"; import type { TDeDupeIssue } from "@plane/types";
import type { TIssueOperations } from "@/components/issues/issue-detail"; import type { TIssueOperations } from "@/components/issues/issue-detail";
type TDeDupeIssuePopoverRootProps = { type TDeDupeIssuePopoverRootProps = {

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import { FC } from "react"; import type { FC } from "react";
type TDeDupeIssueButtonLabelProps = { type TDeDupeIssueButtonLabelProps = {
isOpen: boolean; isOpen: boolean;

View file

@ -1,6 +1,7 @@
"use client"; "use client";
import React, { FC } from "react"; import type { FC } from "react";
import { TIssue } from "@plane/types"; import React from "react";
import type { TIssue } from "@plane/types";
export interface EpicModalProps { export interface EpicModalProps {
data?: Partial<TIssue>; data?: Partial<TIssue>;

View file

@ -1,4 +1,4 @@
import { FC } from "react"; import type { FC } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import { Pen, Trash } from "lucide-react"; import { Pen, Trash } from "lucide-react";
import { PROJECT_SETTINGS_TRACKER_ELEMENTS } from "@plane/constants"; import { PROJECT_SETTINGS_TRACKER_ELEMENTS } from "@plane/constants";

View file

@ -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) => { export const isEstimateSystemEnabled = (key: TEstimateSystemKeys) => {
switch (key) { switch (key) {

View file

@ -1,4 +1,4 @@
import { FC } from "react"; import type { FC } from "react";
export type TEstimateTimeInputProps = { export type TEstimateTimeInputProps = {
value?: number; value?: number;

View file

@ -1,8 +1,8 @@
"use client"; "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 = { export type TEstimatePointDelete = {
workspaceSlug: string; workspaceSlug: string;

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import { FC } from "react"; import type { FC } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
type TUpdateEstimateModal = { type TUpdateEstimateModal = {

View file

@ -1,11 +1,11 @@
import { FC } from "react"; import type { FC } from "react";
// components // components
import type { IBlockUpdateData, IGanttBlock } from "@plane/types"; import type { IBlockUpdateData, IGanttBlock } from "@plane/types";
import RenderIfVisible from "@/components/core/render-if-visible-HOC"; import RenderIfVisible from "@/components/core/render-if-visible-HOC";
// hooks // hooks
import { BlockRow } from "@/components/gantt-chart/blocks/block-row"; import { BlockRow } from "@/components/gantt-chart/blocks/block-row";
import { BLOCK_HEIGHT } from "@/components/gantt-chart/constants"; import { BLOCK_HEIGHT } from "@/components/gantt-chart/constants";
import { TSelectionHelper } from "@/hooks/use-multiple-select"; import type { TSelectionHelper } from "@/hooks/use-multiple-select";
// types // types
export type GanttChartBlocksProps = { export type GanttChartBlocksProps = {

View file

@ -1,4 +1,4 @@
import { FC } from "react"; import type { FC } from "react";
// //
import type { IBlockUpdateDependencyData } from "@plane/types"; import type { IBlockUpdateDependencyData } from "@plane/types";
import { GanttChartBlock } from "@/components/gantt-chart/blocks/block"; import { GanttChartBlock } from "@/components/gantt-chart/blocks/block";

View file

@ -1,4 +1,4 @@
import { RefObject } from "react"; import type { RefObject } from "react";
import type { IGanttBlock } from "@plane/types"; import type { IGanttBlock } from "@plane/types";
type LeftDependencyDraggableProps = { type LeftDependencyDraggableProps = {

View file

@ -1,4 +1,4 @@
import { RefObject } from "react"; import type { RefObject } from "react";
import type { IGanttBlock } from "@plane/types"; import type { IGanttBlock } from "@plane/types";
type RightDependencyDraggableProps = { type RightDependencyDraggableProps = {

View file

@ -1,4 +1,4 @@
import { FC } from "react"; import type { FC } from "react";
type Props = { type Props = {
isEpic?: boolean; isEpic?: boolean;

View file

@ -1,4 +1,4 @@
import { EInboxIssueSource } from "@plane/types"; import type { EInboxIssueSource } from "@plane/types";
export type TInboxSourcePill = { export type TInboxSourcePill = {
source: EInboxIssueSource; source: EInboxIssueSource;

View file

@ -3,7 +3,7 @@ import { observer } from "mobx-react";
import { BulkOperationsUpgradeBanner } from "@/components/issues/bulk-operations/upgrade-banner"; import { BulkOperationsUpgradeBanner } from "@/components/issues/bulk-operations/upgrade-banner";
// hooks // hooks
import { useMultipleSelectStore } from "@/hooks/store/use-multiple-select-store"; 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 = { type Props = {
className?: string; className?: string;

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import React from "react"; import type React from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
type Props = { type Props = {

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import React from "react"; import type React from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
type Props = { type Props = {

View file

@ -1,6 +1,6 @@
import { FC } from "react"; import type { FC } from "react";
// plane types // plane types
import { TIssueServiceType, TWorkItemWidgets } from "@plane/types"; import type { TIssueServiceType, TWorkItemWidgets } from "@plane/types";
export type TWorkItemAdditionalWidgetActionButtonsProps = { export type TWorkItemAdditionalWidgetActionButtonsProps = {
disabled: boolean; disabled: boolean;

View file

@ -1,6 +1,6 @@
import { FC } from "react"; import type { FC } from "react";
// plane types // plane types
import { TIssueServiceType, TWorkItemWidgets } from "@plane/types"; import type { TIssueServiceType, TWorkItemWidgets } from "@plane/types";
export type TWorkItemAdditionalWidgetCollapsiblesProps = { export type TWorkItemAdditionalWidgetCollapsiblesProps = {
disabled: boolean; disabled: boolean;

View file

@ -1,6 +1,6 @@
import { FC } from "react"; import type { FC } from "react";
// plane types // plane types
import { TIssueServiceType, TWorkItemWidgets } from "@plane/types"; import type { TIssueServiceType, TWorkItemWidgets } from "@plane/types";
export type TWorkItemAdditionalWidgetModalsProps = { export type TWorkItemAdditionalWidgetModalsProps = {
hideWidgets: TWorkItemWidgets[]; hideWidgets: TWorkItemWidgets[];

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import { FC } from "react"; import type { FC } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
export type TAdditionalActivityRoot = { export type TAdditionalActivityRoot = {

View file

@ -1,4 +1,5 @@
import React, { FC } from "react"; import type { FC } from "react";
import React from "react";
// plane imports // plane imports
export type TWorkItemAdditionalSidebarProperties = { export type TWorkItemAdditionalSidebarProperties = {

View file

@ -1,4 +1,4 @@
import { FC } from "react"; import type { FC } from "react";
import Link from "next/link"; import Link from "next/link";
// hooks // hooks
import { useIssueDetail } from "@/hooks/store/use-issue-detail"; import { useIssueDetail } from "@/hooks/store/use-issue-detail";

View file

@ -1,9 +1,9 @@
import { FC } from "react"; import type { FC } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
// types // types
import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { TOAST_TYPE, setToast } from "@plane/propel/toast";
import { Tooltip } from "@plane/propel/tooltip"; import { Tooltip } from "@plane/propel/tooltip";
import { IIssueDisplayProperties } from "@plane/types"; import type { IIssueDisplayProperties } from "@plane/types";
// ui // ui
// helpers // helpers
import { cn } from "@plane/utils"; import { cn } from "@plane/utils";

View file

@ -1,4 +1,4 @@
import { FC } from "react"; import type { FC } from "react";
type TIssueAdditionalPropertiesActivity = { type TIssueAdditionalPropertiesActivity = {
activityId: string; activityId: string;

View file

@ -1,6 +1,6 @@
"use client"; "use client";
import { FC } from "react"; import type { FC } from "react";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
export type TIssueTypeActivity = { activityId: string; showIssue?: boolean; ends: "top" | "bottom" | undefined }; export type TIssueTypeActivity = { activityId: string; showIssue?: boolean; ends: "top" | "bottom" | undefined };

View file

@ -1,5 +1,6 @@
import React, { FC } from "react"; import type { FC } from "react";
import { IIssueDisplayProperties, TIssue } from "@plane/types"; import React from "react";
import type { IIssueDisplayProperties, TIssue } from "@plane/types";
export type TWorkItemLayoutAdditionalProperties = { export type TWorkItemLayoutAdditionalProperties = {
displayProperties: IIssueDisplayProperties; displayProperties: IIssueDisplayProperties;

View file

@ -1,6 +1,7 @@
"use client"; "use client";
import React, { FC } from "react"; import type { FC } from "react";
import React from "react";
type Props = { type Props = {
issueId: string; issueId: string;

Some files were not shown because too many files have changed in this diff Show more