refactor: remove barrel exports from web app (#7577)

* refactor: remove barrel exports from some compoennt modules

* refactor: remove barrel exports from issue components

* refactor: remove barrel exports from page components

* chore: update type improts

* refactor: remove barrel exports from cycle components

* refactor: remove barrel exports from dropdown components

* refactor: remove barrel exports from ce  components

* refactor: remove barrel exports from some more components

* refactor: remove barrel exports from profile and sidebar components

* chore: update type imports

* refactor: remove barrel exports from store hooks

* chore: dynamically load sticky editor

* fix: lint

* chore: revert sticky dynamic import

* refactor: remove barrel exports from ce issue components

* refactor: remove barrel exports from ce issue components

* refactor: remove barrel exports from ce issue components

---------

Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
This commit is contained in:
Aaryan Khandelwal 2025-08-15 13:10:26 +05:30 committed by GitHub
parent 9cf564caae
commit 3391e8580c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
1103 changed files with 3036 additions and 3286 deletions

View file

@ -9,7 +9,7 @@ import { TDeDupeIssue, TIssue } from "@plane/types";
// ui
import { Button, TOAST_TYPE, setToast } from "@plane/ui";
// hooks
import { useProject } from "@/hooks/store";
import { useProject } from "@/hooks/store/use-project";
import { useIssues } from "@/hooks/store/use-issues";
type Props = {

View file

@ -15,10 +15,14 @@ import {
// components
import { isIssueFilterActive } from "@plane/utils";
import { ArchiveTabsList } from "@/components/archives";
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues";
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues/issue-layouts/filters";
// helpers
// hooks
import { useIssues, useLabel, useMember, useProject, useProjectState } from "@/hooks/store";
import { useIssues } from "@/hooks/store/use-issues"
import { useLabel } from "@/hooks/store/use-label"
import { useMember } from "@/hooks/store/use-member"
import { useProject } from "@/hooks/store/use-project"
import { useProjectState } from "@/hooks/store/use-project-state";
export const ArchivedIssuesHeader: FC = observer(() => {
// router

View file

@ -18,10 +18,11 @@ import {
//
import { getFileIcon } from "@/components/icons";
// components
import { IssueAttachmentDeleteModal } from "@/components/issues";
import { IssueAttachmentDeleteModal } from "@/components/issues/attachment/delete-attachment-modal";
// helpers
// hooks
import { useIssueDetail, useMember } from "@/hooks/store";
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";

View file

@ -6,7 +6,7 @@ import { useTranslation } from "@plane/i18n";
import { EIssueServiceType, TIssueServiceType } from "@plane/types";
// hooks
import { TOAST_TYPE, setToast } from "@plane/ui";
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// plane web hooks
import { useFileSize } from "@/plane-web/hooks/use-file-size";
// types

View file

@ -14,7 +14,8 @@ import { ButtonAvatars } from "@/components/dropdowns/member/avatar";
import { getFileIcon } from "@/components/icons";
// helpers
// hooks
import { useIssueDetail, useMember } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail"
import { useMember } from "@/hooks/store/use-member";
import { usePlatformOS } from "@/hooks/use-platform-os";
type TIssueAttachmentsListItem = {

View file

@ -1,7 +1,7 @@
import { FC } from "react";
import { observer } from "mobx-react";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// types
import { TAttachmentHelpers } from "../issue-detail-widgets/attachments/helper";
// components

View file

@ -9,7 +9,7 @@ import { AlertModalCore } from "@plane/ui";
// helper
import { getFileName } from "@plane/utils";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// types
import { TAttachmentOperations } from "../issue-detail-widgets/attachments/helper";

View file

@ -1,9 +1 @@
export * from "./attachment-detail";
export * from "./attachment-item-list";
export * from "./attachment-list-item";
export * from "./attachment-list-upload-item";
export * from "./attachment-upload-details";
export * from "./attachment-upload";
export * from "./attachments-list";
export * from "./delete-attachment-modal";
export * from "./root";

View file

@ -1 +0,0 @@
export * from "./upgrade-banner";

View file

@ -5,7 +5,8 @@ import { copyUrlToClipboard, generateWorkItemLink } from "@plane/utils";
// plane imports
// helpers
// hooks
import { useIssueDetail, useProject } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail"
import { useProject } from "@/hooks/store/use-project";
type TCreateIssueToastActionItems = {
workspaceSlug: string;

View file

@ -11,7 +11,9 @@ import { TDeDupeIssue, TIssue } from "@plane/types";
import { AlertModalCore, TOAST_TYPE, setToast } from "@plane/ui";
// constants
// hooks
import { useIssues, useProject, useUser, useUserPermissions } from "@/hooks/store";
import { useIssues } from "@/hooks/store/use-issues"
import { useProject } from "@/hooks/store/use-project"
import { useUser, useUserPermissions } from "@/hooks/store/user";
// plane-web
type Props = {

View file

@ -11,11 +11,12 @@ import { EFileAssetType, TIssue, TNameDescriptionLoader } from "@plane/types";
import { Loader } from "@plane/ui";
// components
import { getDescriptionPlaceholderI18n } from "@plane/utils";
import { RichTextEditor } from "@/components/editor";
import { RichTextEditor } from "@/components/editor/rich-text";
import { TIssueOperations } from "@/components/issues/issue-detail";
// helpers
// hooks
import { useEditorAsset, useWorkspace } from "@/hooks/store";
import { useEditorAsset } from "@/hooks/store/use-editor-asset"
import { useWorkspace } from "@/hooks/store/use-workspace";
// plane web services
import { WorkspaceService } from "@/plane-web/services";
const workspaceService = new WorkspaceService();

View file

@ -2,6 +2,7 @@
import { useCallback, useState } from "react";
import { observer } from "mobx-react";
import { ChartNoAxesColumn, ListFilter, SlidersHorizontal } from "lucide-react";
// plane constants
import { EIssueFilterType, ISSUE_STORE_TO_FILTERS_MAP } from "@plane/constants";
// i18n
@ -17,21 +18,22 @@ import {
import { Button } from "@plane/ui";
// components
import { isIssueFilterActive } from "@plane/utils";
// helpers
// hooks
import { useLabel } from "@/hooks/store/use-label"
import { useProjectState } from "@/hooks/store/use-project-state"
import { useMember } from "@/hooks/store/use-member"
import { useIssues } from "@/hooks/store/use-issues";
// plane web types
import { TProject } from "@/plane-web/types";
import { WorkItemsModal } from "../analytics/work-items/modal";
import {
DisplayFiltersSelection,
FiltersDropdown,
FilterSelection,
IssueLayoutIcon,
LayoutSelection,
MobileLayoutSelection,
} from "@/components/issues";
// helpers
// hooks
import { useLabel, useProjectState, useMember, useIssues } from "@/hooks/store";
// plane web types
import { TProject } from "@/plane-web/types";
import { WorkItemsModal } from "../analytics/work-items/modal";
import { ChartNoAxesColumn, ChevronDown, ListFilter, SlidersHorizontal } from "lucide-react";
} from "./issue-layouts/filters";
type Props = {
currentProjectDetails: TProject | undefined;
@ -47,7 +49,8 @@ const LAYOUTS = [
EIssueLayoutTypes.SPREADSHEET,
EIssueLayoutTypes.GANTT,
];
const HeaderFilters = observer((props: Props) => {
export const HeaderFilters = observer((props: Props) => {
const {
currentProjectDetails,
projectId,
@ -193,5 +196,3 @@ const HeaderFilters = observer((props: Props) => {
</>
);
});
export default HeaderFilters;

View file

@ -1,23 +0,0 @@
export * from "./attachment";
export * from "./bulk-operations";
export * from "./issue-modal";
export * from "./delete-issue-modal";
export * from "./issue-layouts";
export * from "./description-input";
export * from "./title-input";
export * from "./parent-issues-list-modal";
export * from "./label";
export * from "./confirm-issue-discard";
export * from "./issue-update-status";
export * from "./create-issue-toast-action-items";
export * from "./relations";
export * from "./issue-detail-widgets";
// issue details
export * from "./issue-detail";
export * from "./peek-overview";
// archived issue
export * from "./archive-issue-modal";
export * from "./archived-issues-header";

View file

@ -5,16 +5,14 @@ import { Layers, Link, Paperclip, Waypoints } from "lucide-react";
// plane imports
import { useTranslation } from "@plane/i18n";
import { TIssueServiceType, TWorkItemWidgets } from "@plane/types";
// components
import {
IssueAttachmentActionButton,
IssueLinksActionButton,
RelationActionButton,
SubIssuesActionButton,
IssueDetailWidgetButton,
} from "@/components/issues/issue-detail-widgets";
// plane web imports
import { WorkItemAdditionalWidgetActionButtons } from "@/plane-web/components/issues/issue-detail-widgets/action-buttons";
// local imports
import { IssueAttachmentActionButton } from "./attachments";
import { IssueLinksActionButton } from "./links";
import { RelationActionButton } from "./relations";
import { SubIssuesActionButton } from "./sub-issues";
import { IssueDetailWidgetButton } from "./widget-button";
type Props = {
workspaceSlug: string;

View file

@ -2,9 +2,8 @@
import React, { FC } from "react";
import { observer } from "mobx-react";
import { EIssueServiceType, TIssueServiceType } from "@plane/types";
// components
import { IssueAttachmentItemList } from "@/components/issues/attachment";
// helper
// local imports
import { IssueAttachmentItemList } from "../../attachment/attachment-item-list";
import { useAttachmentOperations } from "./helper";
type Props = {

View file

@ -6,7 +6,7 @@ import { EIssueServiceType, TIssueServiceType } from "@plane/types";
import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/ui";
// hooks
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// types
import { TAttachmentUploadStatus } from "@/store/issue/issue-details/attachment.store";

View file

@ -8,7 +8,7 @@ import { Plus } from "lucide-react";
import { TIssueServiceType } from "@plane/types";
import { TOAST_TYPE, setToast } from "@plane/ui";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// plane web hooks
import { useFileSize } from "@/plane-web/hooks/use-file-size";
// local imports

View file

@ -4,13 +4,11 @@ import { observer } from "mobx-react";
// plane imports
import { TIssueServiceType } from "@plane/types";
import { Collapsible } from "@plane/ui";
// components
import {
IssueAttachmentsCollapsibleContent,
IssueAttachmentsCollapsibleTitle,
} from "@/components/issues/issue-detail-widgets";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// local imports
import { IssueAttachmentsCollapsibleContent } from "./content";
import { IssueAttachmentsCollapsibleTitle } from "./title";
type Props = {
workspaceSlug: string;

View file

@ -4,10 +4,10 @@ import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
import { EIssueServiceType, TIssueServiceType } from "@plane/types";
import { CollapsibleButton } from "@plane/ui";
// components
import { IssueAttachmentActionButton } from "@/components/issues/issue-detail-widgets";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// local imports
import { IssueAttachmentActionButton } from "./quick-action-button";
type Props = {
isOpen: boolean;

View file

@ -1,9 +1 @@
export * from "./attachments";
export * from "./links";
export * from "./relations";
export * from "./root";
export * from "./sub-issues";
export * from "./widget-button";
export * from "./issue-detail-widget-collapsibles";
export * from "./action-buttons";
export * from "./issue-detail-widget-modals";

View file

@ -3,18 +3,16 @@ import React, { FC } from "react";
import { observer } from "mobx-react";
// plane imports
import { TIssueServiceType, TWorkItemWidgets } from "@plane/types";
// components
import {
AttachmentsCollapsible,
LinksCollapsible,
RelationsCollapsible,
SubIssuesCollapsible,
} from "@/components/issues/issue-detail-widgets";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// Plane-web
import { WorkItemAdditionalWidgetCollapsibles } from "@/plane-web/components/issues/issue-detail-widgets/collapsibles";
import { useTimeLineRelationOptions } from "@/plane-web/components/relations";
// local imports
import { AttachmentsCollapsible } from "./attachments";
import { LinksCollapsible } from "./links";
import { RelationsCollapsible } from "./relations";
import { SubIssuesCollapsible } from "./sub-issues";
type Props = {
workspaceSlug: string;

View file

@ -3,15 +3,15 @@ import { observer } from "mobx-react";
import { ISearchIssueResponse, TIssue, TIssueServiceType, TWorkItemWidgets } from "@plane/types";
import { setToast, TOAST_TYPE } from "@plane/ui";
// components
import { ExistingIssuesListModal } from "@/components/core";
import { CreateUpdateIssueModal } from "@/components/issues/issue-modal";
import { ExistingIssuesListModal } from "@/components/core/modals/existing-issues-list-modal";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// plane web imports
import { WorkItemAdditionalWidgetModals } from "@/plane-web/components/issues/issue-detail-widgets/modals";
// local imports
import { IssueLinkCreateUpdateModal } from "../issue-detail/links/create-update-link-modal";
// helpers
import { CreateUpdateIssueModal } from "../issue-modal/modal";
import { useLinkOperations } from "./links/helper";
import { useSubIssueOperations } from "./sub-issues/helper";

View file

@ -5,7 +5,7 @@ import { useTranslation } from "@plane/i18n";
import { TIssueLink, TIssueServiceType } from "@plane/types";
import { TOAST_TYPE, setToast } from "@plane/ui";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// local imports
import { TLinkOperations } from "../../issue-detail/links";

View file

@ -5,7 +5,7 @@ import { Plus } from "lucide-react";
// plane imports
import { TIssueServiceType } from "@plane/types";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
type Props = {
customButton?: React.ReactNode;

View file

@ -4,10 +4,11 @@ import { observer } from "mobx-react";
// plane imports
import { TIssueServiceType } from "@plane/types";
import { Collapsible } from "@plane/ui";
// components
import { IssueLinksCollapsibleContent, IssueLinksCollapsibleTitle } from "@/components/issues/issue-detail-widgets";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// local imports
import { IssueLinksCollapsibleContent } from "./content";
import { IssueLinksCollapsibleTitle } from "./title";
type Props = {
workspaceSlug: string;

View file

@ -5,10 +5,10 @@ import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
import { TIssueServiceType } from "@plane/types";
import { CollapsibleButton } from "@plane/ui";
// components
import { IssueLinksActionButton } from "@/components/issues/issue-detail-widgets";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// local imports
import { IssueLinksActionButton } from "./quick-action-button";
type Props = {
isOpen: boolean;

View file

@ -6,16 +6,16 @@ import { useTranslation } from "@plane/i18n";
import { EIssueServiceType, TIssue, TIssueServiceType } from "@plane/types";
import { Collapsible } from "@plane/ui";
// components
import { RelationIssueList } from "@/components/issues";
import { DeleteIssueModal } from "@/components/issues/delete-issue-modal";
import { CreateUpdateIssueModal } from "@/components/issues/issue-modal";
import { CreateUpdateIssueModal } from "@/components/issues/issue-modal/modal";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// Plane-web
import { CreateUpdateEpicModal } from "@/plane-web/components/epics";
import { useTimeLineRelationOptions } from "@/plane-web/components/relations";
import { TIssueRelationTypes } from "@/plane-web/types";
// helper
import { DeleteIssueModal } from "../../delete-issue-modal";
import { RelationIssueList } from "../../relations/issue-list";
import { useRelationOperations } from "./helper";
type Props = {

View file

@ -8,7 +8,7 @@ import { TOAST_TYPE, setToast } from "@plane/ui";
import { copyUrlToClipboard } from "@plane/utils";
// hooks
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
export type TRelationIssueOperations = {
copyLink: (path: string) => void;

View file

@ -7,7 +7,7 @@ import { useTranslation } from "@plane/i18n";
import { TIssueServiceType } from "@plane/types";
import { CustomMenu } from "@plane/ui";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// Plane-web
import { useTimeLineRelationOptions } from "@/plane-web/components/relations";
import { TIssueRelationTypes } from "@/plane-web/types";

View file

@ -4,10 +4,11 @@ import { observer } from "mobx-react";
// plane imports
import { TIssueServiceType } from "@plane/types";
import { Collapsible } from "@plane/ui";
// components
import { RelationsCollapsibleContent, RelationsCollapsibleTitle } from "@/components/issues/issue-detail-widgets";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// local imports
import { RelationsCollapsibleContent } from "./content";
import { RelationsCollapsibleTitle } from "./title";
type Props = {
workspaceSlug: string;

View file

@ -4,12 +4,12 @@ import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
import { EIssueServiceType, TIssueServiceType } from "@plane/types";
import { CollapsibleButton } from "@plane/ui";
// components
import { RelationActionButton } from "@/components/issues/issue-detail-widgets";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// Plane-web
import { useTimeLineRelationOptions } from "@/plane-web/components/relations";
// local imports
import { RelationActionButton } from "./quick-action-button";
type Props = {
isOpen: boolean;

View file

@ -3,12 +3,10 @@
import React, { FC } from "react";
// plane imports
import { TIssueServiceType, TWorkItemWidgets } from "@plane/types";
// components
import {
IssueDetailWidgetActionButtons,
IssueDetailWidgetCollapsibles,
IssueDetailWidgetModals,
} from "@/components/issues/issue-detail-widgets";
// local imports
import { IssueDetailWidgetActionButtons } from "./action-buttons";
import { IssueDetailWidgetCollapsibles } from "./issue-detail-widget-collapsibles";
import { IssueDetailWidgetModals } from "./issue-detail-widget-modals";
type Props = {
workspaceSlug: string;

View file

@ -4,10 +4,10 @@ import { observer } from "mobx-react";
import { EIssueServiceType, EIssuesStoreType, TIssue, TIssueServiceType } from "@plane/types";
// components
import { DeleteIssueModal } from "@/components/issues/delete-issue-modal";
import { CreateUpdateIssueModal } from "@/components/issues/issue-modal";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// local imports
import { CreateUpdateIssueModal } from "../../issue-modal/modal";
import { useSubIssueOperations } from "./helper";
import { SubIssuesListRoot } from "./issues-list/root";

View file

@ -2,9 +2,16 @@ import { FC, useMemo } from "react";
import isEmpty from "lodash/isEmpty";
import { observer } from "mobx-react";
import { SlidersHorizontal } from "lucide-react";
// plane imports
import { IIssueDisplayFilterOptions, ILayoutDisplayFiltersOptions, IIssueDisplayProperties } from "@plane/types";
import { cn } from "@plane/utils";
import { FilterDisplayProperties, FilterGroupBy, FilterOrderBy, FiltersDropdown } from "@/components/issues";
// components
import {
FilterDisplayProperties,
FilterGroupBy,
FilterOrderBy,
FiltersDropdown,
} from "@/components/issues/issue-layouts/filters";
import { isDisplayFiltersApplied } from "@/components/issues/issue-layouts/utils";
type TSubIssueDisplayFiltersProps = {

View file

@ -13,7 +13,7 @@ import {
FilterStartDate,
FilterState,
FilterStateGroup,
} from "@/components/issues";
} from "@/components/issues/issue-layouts/filters";
import { isFiltersApplied } from "@/components/issues/issue-layouts/utils";
import { FilterIssueTypes } from "@/plane-web/components/issues/filters/issue-types";

View file

@ -10,7 +10,8 @@ import { TOAST_TYPE, setToast } from "@plane/ui";
import { copyUrlToClipboard } from "@plane/utils";
// hooks
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
import { useIssueDetail, useProjectState } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail"
import { useProjectState } from "@/hooks/store/use-project-state";
// plane web helpers
import { updateEpicAnalytics } from "@/plane-web/helpers/epic-analytics";

View file

@ -11,11 +11,12 @@ import { cn, generateWorkItemLink } from "@plane/utils";
import { useSubIssueOperations } from "@/components/issues/issue-detail-widgets/sub-issues/helper";
import { WithDisplayPropertiesHOC } from "@/components/issues/issue-layouts/properties/with-display-properties-HOC";
// hooks
import { useIssueDetail, useProject } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
import { useProject } from "@/hooks/store/use-project";
import useIssuePeekOverviewRedirection from "@/hooks/use-issue-peek-overview-redirection";
import { usePlatformOS } from "@/hooks/use-platform-os";
// plane web components
import { IssueIdentifier } from "@/plane-web/components/issues";
import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier";
// local components
import { SubIssuesListItemProperties } from "./properties";
import { SubIssuesListRoot } from "./root";

View file

@ -6,13 +6,11 @@ import { useTranslation } from "@plane/i18n";
import { IIssueDisplayProperties, TIssue } from "@plane/types";
import { getDate, renderFormattedPayloadDate, shouldHighlightIssueDueDate } from "@plane/utils";
// components
import {
PriorityDropdown,
MemberDropdown,
StateDropdown,
DateRangeDropdown,
DateDropdown,
} from "@/components/dropdowns";
import { DateDropdown } from "@/components/dropdowns/date";
import { DateRangeDropdown } from "@/components/dropdowns/date-range";
import { MemberDropdown } from "@/components/dropdowns/member/dropdown";
import { PriorityDropdown } from "@/components/dropdowns/priority";
import { StateDropdown } from "@/components/dropdowns/state/dropdown";
// hooks
import { WithDisplayPropertiesHOC } from "@/components/issues/issue-layouts/properties/with-display-properties-HOC";
import { useProjectState } from "@/hooks/store/use-project-state";

View file

@ -13,9 +13,9 @@ import {
} from "@plane/types";
// hooks
import { Button } from "@plane/ui";
import { SectionEmptyState } from "@/components/empty-state";
import { SectionEmptyState } from "@/components/empty-state/section-empty-state-root";
import { getGroupByColumns, isWorkspaceLevel } from "@/components/issues/issue-layouts/utils";
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
import { SubIssuesListGroup } from "./list-group";
type Props = {

View file

@ -9,7 +9,7 @@ import { TIssue, TIssueServiceType } from "@plane/types";
import { CustomMenu } from "@plane/ui";
// hooks
import { captureClick } from "@/helpers/event-tracker.helper";
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
type Props = {
issueId: string;

View file

@ -4,10 +4,11 @@ import { observer } from "mobx-react";
// plane imports
import { TIssueServiceType } from "@plane/types";
import { Collapsible } from "@plane/ui";
// components
import { SubIssuesCollapsibleContent, SubIssuesCollapsibleTitle } from "@/components/issues/issue-detail-widgets";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// local imports
import { SubIssuesCollapsibleContent } from "./content";
import { SubIssuesCollapsibleTitle } from "./title";
type Props = {
workspaceSlug: string;

View file

@ -9,7 +9,9 @@ import {
IIssueFilterOptions,
TIssueServiceType,
} from "@plane/types";
import { useIssueDetail, useMember, useProjectState } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail"
import { useMember } from "@/hooks/store/use-member"
import { useProjectState } from "@/hooks/store/use-project-state";
import { SubIssueDisplayFilters } from "./display-filters";
import { SubIssueFilters } from "./filters";
import { SubIssuesActionButton } from "./quick-action-button";

View file

@ -7,7 +7,7 @@ import { useTranslation } from "@plane/i18n";
import { EIssueServiceType, TIssueServiceType } from "@plane/types";
import { CircularProgressIndicator, CollapsibleButton } from "@plane/ui";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
import { SubWorkItemTitleActions } from "./title-actions";
type Props = {

View file

@ -4,10 +4,10 @@ import { useTranslation } from "@plane/i18n";
// hooks
// components
import { cn } from "@plane/utils";
import { CycleDropdown } from "@/components/dropdowns";
import { CycleDropdown } from "@/components/dropdowns/cycle";
// ui
// helpers
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// types
import type { TIssueOperations } from "./root";

View file

@ -1,14 +1 @@
export * from "./issue-activity";
export * from "./label";
export * from "./links";
export * from "./parent";
export * from "./reactions";
export * from "./cycle-select";
export * from "./main-content";
export * from "./module-select";
export * from "./parent-select";
export * from "./relation-select";
export * from "./root";
export * from "./sidebar";
export * from "./subscription";
export * from "./issue-detail-quick-actions";

View file

@ -6,9 +6,9 @@ import { TCommentsOperations } from "@plane/types";
// components
import { CommentCard } from "@/components/comments/card/root";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// plane web components
import { IssueAdditionalPropertiesActivity } from "@/plane-web/components/issues";
import { IssueAdditionalPropertiesActivity } from "@/plane-web/components/issues/issue-details/issue-properties-activity";
import { IssueActivityWorklog } from "@/plane-web/components/issues/worklog/activity/root";
// local imports
import { IssueActivityItem } from "./activity/activity-list";

View file

@ -5,7 +5,7 @@ import { observer } from "mobx-react";
import { RotateCcw } from "lucide-react";
// hooks
import { ArchiveIcon } from "@plane/ui";
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// components
import { IssueActivityBlockComponent } from "./";
// ui

View file

@ -3,7 +3,7 @@ import { observer } from "mobx-react";
// icons
import { Users } from "lucide-react";
// hooks;
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// components
import { IssueActivityBlockComponent, IssueLink } from "./";

View file

@ -2,7 +2,7 @@ import { FC } from "react";
import { observer } from "mobx-react";
import { Paperclip } from "lucide-react";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// components
import { IssueActivityBlockComponent, IssueLink } from "./";

View file

@ -4,7 +4,7 @@ import { FC } from "react";
import { observer } from "mobx-react";
// hooks
import { ContrastIcon } from "@plane/ui";
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// components
import { IssueActivityBlockComponent } from "./";
// icons

View file

@ -7,7 +7,7 @@ import { EInboxIssueSource } from "@plane/types";
import { LayersIcon } from "@plane/ui";
// hooks
import { capitalizeFirstLetter } from "@plane/utils";
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// local imports
import { IssueActivityBlockComponent } from "./";

View file

@ -2,7 +2,7 @@ import { FC } from "react";
import { observer } from "mobx-react";
import { MessageSquare } from "lucide-react";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// components
import { IssueActivityBlockComponent, IssueLink } from "./";

View file

@ -2,7 +2,7 @@ import { FC } from "react";
import { observer } from "mobx-react";
import { Triangle } from "lucide-react";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// components
import { IssueActivityBlockComponent, IssueLink } from "./";

View file

@ -2,16 +2,15 @@
import { FC, ReactNode } from "react";
import { Network } from "lucide-react";
// hooks
// plane imports
import { Tooltip } from "@plane/ui";
import { renderFormattedTime, renderFormattedDate, calculateTimeAgo } from "@plane/utils";
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
import { usePlatformOS } from "@/hooks/use-platform-os";
// ui
// components
import { IssueCreatorDisplay } from "@/plane-web/components/issues";
// plane web imports
import { IssueCreatorDisplay } from "@/plane-web/components/issues/issue-details/issue-creator";
// local imports
import { IssueUser } from "../";
// helpers
type TIssueActivityBlockComponent = {
icon?: ReactNode;

View file

@ -4,7 +4,7 @@ import { FC } from "react";
// hooks
import { Tooltip } from "@plane/ui";
import { generateWorkItemLink } from "@plane/utils";
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
import { usePlatformOS } from "@/hooks/use-platform-os";
// ui

View file

@ -1,7 +1,7 @@
import { FC } from "react";
import Link from "next/link";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
type TIssueUser = {
activityId: string;

View file

@ -2,7 +2,7 @@ import { FC } from "react";
import { observer } from "mobx-react";
// hooks
import { Intake } from "@plane/ui";
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// components
import { IssueActivityBlockComponent } from "./";
// icons

View file

@ -2,7 +2,8 @@ import { FC } from "react";
import { observer } from "mobx-react";
import { Tag } from "lucide-react";
// hooks
import { useIssueDetail, useLabel } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail"
import { useLabel } from "@/hooks/store/use-label";
// components
import { IssueActivityBlockComponent, IssueLink, LabelActivityChip } from "./";

View file

@ -2,7 +2,7 @@ import { FC } from "react";
import { observer } from "mobx-react";
import { MessageSquare } from "lucide-react";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// components
import { IssueActivityBlockComponent, IssueLink } from "./";

View file

@ -4,7 +4,7 @@ import { FC } from "react";
import { observer } from "mobx-react";
// hooks
import { DiceIcon } from "@plane/ui";
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// components
import { IssueActivityBlockComponent } from "./";
// icons

View file

@ -2,7 +2,7 @@ import { FC } from "react";
import { observer } from "mobx-react";
import { MessageSquare } from "lucide-react";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// components
import { IssueActivityBlockComponent } from "./";

View file

@ -2,7 +2,7 @@ import { FC } from "react";
import { observer } from "mobx-react";
import { LayoutPanelTop } from "lucide-react";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// components
import { IssueActivityBlockComponent, IssueLink } from "./";

View file

@ -2,7 +2,7 @@ import { FC } from "react";
import { observer } from "mobx-react";
import { Signal } from "lucide-react";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// components
import { IssueActivityBlockComponent, IssueLink } from "./";

View file

@ -1,7 +1,7 @@
import { FC } from "react";
import { observer } from "mobx-react";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// Plane-web
import { getRelationActivityContent, useTimeLineRelationOptions } from "@/plane-web/components/relations";
import { TIssueRelationTypes } from "@/plane-web/types";

View file

@ -3,7 +3,7 @@ import { observer } from "mobx-react";
import { CalendarDays } from "lucide-react";
// hooks
import { renderFormattedDate } from "@plane/utils";
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// components
import { IssueActivityBlockComponent, IssueLink } from "./";
// helpers

View file

@ -4,7 +4,7 @@ import { FC } from "react";
import { observer } from "mobx-react";
// hooks
import { DoubleCircleIcon } from "@plane/ui";
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// components
import { IssueActivityBlockComponent, IssueLink } from "./";
// icons

View file

@ -3,7 +3,7 @@ import { observer } from "mobx-react";
import { CalendarDays } from "lucide-react";
// hooks
import { renderFormattedDate } from "@plane/utils";
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// components
import { IssueActivityBlockComponent, IssueLink } from "./";
// helpers

View file

@ -3,7 +3,7 @@ import { observer } from "mobx-react";
// helpers
import { getValidKeysFromObject } from "@plane/utils";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// plane web components
import { IssueTypeActivity, AdditionalActivityRoot } from "@/plane-web/components/issues/issue-details";
import { useTimeLineRelationOptions } from "@/plane-web/components/relations";

View file

@ -3,7 +3,11 @@ import { useTranslation } from "@plane/i18n";
import { EFileAssetType, type TCommentsOperations } from "@plane/types";
import { setToast, TOAST_TYPE } from "@plane/ui";
import { copyUrlToClipboard, formatTextList, generateWorkItemLink } from "@plane/utils";
import { useEditorAsset, useIssueDetail, useMember, useProject, useUser } from "@/hooks/store";
import { useEditorAsset } from "@/hooks/store/use-editor-asset"
import { useIssueDetail } from "@/hooks/store/use-issue-detail"
import { useMember } from "@/hooks/store/use-member"
import { useProject } from "@/hooks/store/use-project"
import { useUser } from "@/hooks/store/user";
export const useCommentOperations = (
workspaceSlug: string | undefined,

View file

@ -11,13 +11,16 @@ import { useTranslation } from "@plane/i18n";
import { TFileSignedURLResponse, TIssueComment } from "@plane/types";
// components
import { CommentCreate } from "@/components/comments/comment-create";
import { ActivitySortRoot, IssueActivityCommentRoot } from "@/components/issues/issue-detail";
// constants
// hooks
import { useIssueDetail, useProject, useUser, useUserPermissions } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
import { useProject } from "@/hooks/store/use-project";
import { useUser, useUserPermissions } from "@/hooks/store/user";
// plane web components
import { ActivityFilterRoot, IssueActivityWorklogCreateButton } from "@/plane-web/components/issues/worklog";
import { ActivityFilterRoot } from "@/plane-web/components/issues/worklog/activity/filter-root";
import { IssueActivityWorklogCreateButton } from "@/plane-web/components/issues/worklog/activity/worklog-create-button";
import { IssueActivityCommentRoot } from "./activity-comment-root";
import { useCommentOperations } from "./helper";
import { ActivitySortRoot } from "./sort-root";
type TIssueActivity = {
workspaceSlug: string;

View file

@ -3,20 +3,24 @@
import React, { FC, useRef } from "react";
import { observer } from "mobx-react";
import { LinkIcon } from "lucide-react";
// plane imports
import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import { EIssuesStoreType } from "@plane/types";
import { TOAST_TYPE, Tooltip, setToast } from "@plane/ui";
import { generateWorkItemLink, copyTextToClipboard } from "@plane/utils";
// components
import { IssueSubscription } from "@/components/issues";
// helpers
// hooks
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
import { useIssueDetail, useIssues, useProject, useUser } from "@/hooks/store";
// hooks
import { useIssueDetail } from "@/hooks/store/use-issue-detail"
import { useIssues } from "@/hooks/store/use-issues"
import { useProject } from "@/hooks/store/use-project"
import { useUser } from "@/hooks/store/user";
import { useAppRouter } from "@/hooks/use-app-router";
import { usePlatformOS } from "@/hooks/use-platform-os";
// local imports
import { WorkItemDetailQuickActions } from "../issue-layouts/quick-action-dropdowns";
import { IssueSubscription } from "./subscription";
type Props = {
workspaceSlug: string;

View file

@ -2,7 +2,7 @@ import { FC } from "react";
import { observer } from "mobx-react";
import { X } from "lucide-react";
// types
import { useLabel } from "@/hooks/store";
import { useLabel } from "@/hooks/store/use-label";
import { TLabelOperations } from "./root";
type TLabelListItem = {

View file

@ -7,7 +7,9 @@ import { EIssueServiceType, IIssueLabel, TIssue, TIssueServiceType } from "@plan
// components
import { TOAST_TYPE, setToast } from "@plane/ui";
// hooks
import { useIssueDetail, useLabel, useProjectInbox } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail"
import { useLabel } from "@/hooks/store/use-label"
import { useProjectInbox } from "@/hooks/store/use-project-inbox";
// ui
// types
import { LabelList, IssueLabelSelectRoot } from "./";

View file

@ -10,7 +10,8 @@ import { EUserProjectRoles, IIssueLabel } from "@plane/types";
// helpers
import { getTabIndex } from "@plane/utils";
// hooks
import { useLabel, useUserPermissions } from "@/hooks/store";
import { useLabel } from "@/hooks/store/use-label"
import { useUserPermissions } from "@/hooks/store/user";
import { usePlatformOS } from "@/hooks/use-platform-os";
//constants
export interface IIssueLabelSelect {

View file

@ -9,7 +9,7 @@ import type { TIssueLinkEditableFields, TIssueServiceType } from "@plane/types";
// plane ui
import { Button, Input, ModalCore } from "@plane/ui";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// types
import { TLinkOperations } from "./root";

View file

@ -10,7 +10,8 @@ import { getIconForLink, copyTextToClipboard, calculateTimeAgo } from "@plane/ut
// types
// helpers
//
import { useIssueDetail, useMember } from "@/hooks/store";
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";

View file

@ -10,7 +10,7 @@ import { Tooltip, TOAST_TYPE, setToast, CustomMenu } from "@plane/ui";
import { calculateTimeAgo, copyTextToClipboard } from "@plane/utils";
// helpers
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
import { usePlatformOS } from "@/hooks/use-platform-os";
import { TLinkOperationsModal } from "./create-update-link-modal";

View file

@ -3,7 +3,7 @@ import { observer } from "mobx-react";
// plane imports
import { TIssueServiceType } from "@plane/types";
// computed
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// local imports
import { IssueLinkItem } from "./link-item";
import { TLinkOperations } from "./root";

View file

@ -1,7 +1,7 @@
import { FC } from "react";
import { observer } from "mobx-react";
// computed
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
import { IssueLinkDetail } from "./link-detail";
// hooks
import { TLinkOperations } from "./root";

View file

@ -6,7 +6,7 @@ import { Plus } from "lucide-react";
import { EIssueServiceType, TIssueLink } from "@plane/types";
import { TOAST_TYPE, setToast } from "@plane/ui";
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// local imports
import { IssueLinkCreateUpdateModal } from "./create-update-link-modal";
import { IssueLinkList } from "./links";

View file

@ -3,33 +3,33 @@
import { useEffect, useRef, useState } from "react";
import { observer } from "mobx-react";
// plane imports
import { EditorRefApi } from "@plane/editor";
import type { EditorRefApi } from "@plane/editor";
import { EIssueServiceType, TNameDescriptionLoader } from "@plane/types";
// components
import { getTextContent } from "@plane/utils";
// components
import { DescriptionVersionsRoot } from "@/components/core/description-versions";
import {
IssueActivity,
NameDescriptionUpdateStatus,
IssueReaction,
IssueParentDetail,
IssueTitleInput,
IssueDescriptionInput,
IssueDetailWidgets,
PeekOverviewProperties,
} from "@/components/issues";
// helpers
// hooks
import { useIssueDetail, useMember, useProject, useUser } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
import { useMember } from "@/hooks/store/use-member";
import { useProject } from "@/hooks/store/use-project";
import { useUser } from "@/hooks/store/user";
import useReloadConfirmations from "@/hooks/use-reload-confirmation";
import useSize from "@/hooks/use-window-size";
// plane web components
import { DeDupeIssuePopoverRoot } from "@/plane-web/components/de-dupe";
import { IssueTypeSwitcher } from "@/plane-web/components/issues";
import { IssueTypeSwitcher } from "@/plane-web/components/issues/issue-details/issue-type-switcher";
import { useDebouncedDuplicateIssues } from "@/plane-web/hooks/use-debounced-duplicate-issues";
// services
import { WorkItemVersionService } from "@/services/issue";
// local imports
import { IssueDescriptionInput } from "../description-input";
import { IssueDetailWidgets } from "../issue-detail-widgets";
import { NameDescriptionUpdateStatus } from "../issue-update-status";
import { PeekOverviewProperties } from "../peek-overview/properties";
import { IssueTitleInput } from "../title-input";
import { IssueActivity } from "./issue-activity";
import { IssueParentDetail } from "./parent";
import { IssueReaction } from "./reactions";
import { TIssueOperations } from "./root";
// services init
const workItemVersionService = new WorkItemVersionService();

View file

@ -5,10 +5,10 @@ import { useTranslation } from "@plane/i18n";
// hooks
// components
import { cn } from "@plane/utils";
import { ModuleDropdown } from "@/components/dropdowns";
import { ModuleDropdown } from "@/components/dropdowns/module/dropdown";
// ui
// helpers
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// types
import type { TIssueOperations } from "./root";

View file

@ -4,19 +4,18 @@ import React from "react";
import { observer } from "mobx-react";
import Link from "next/link";
import { Pencil, X } from "lucide-react";
// plane imports
import { useTranslation } from "@plane/i18n";
// ui
import { Tooltip } from "@plane/ui";
// components
import { cn } from "@plane/utils";
import { ParentIssuesListModal } from "@/components/issues";
// helpers
// hooks
import { useIssueDetail, useProject } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
import { useProject } from "@/hooks/store/use-project";
import { usePlatformOS } from "@/hooks/use-platform-os";
// plane web components
import { IssueIdentifier } from "@/plane-web/components/issues";
// types
import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier";
// local imports
import { ParentIssuesListModal } from "../parent-issues-list-modal";
type TIssueParentSelect = {
className?: string;

View file

@ -12,11 +12,13 @@ import { ControlLink, CustomMenu } from "@plane/ui";
// helpers
import { generateWorkItemLink } from "@plane/utils";
// hooks
import { useIssues, useProject, useProjectState } from "@/hooks/store";
import { useIssues } from "@/hooks/store/use-issues";
import { useProject } from "@/hooks/store/use-project";
import { useProjectState } from "@/hooks/store/use-project-state";
import useIssuePeekOverviewRedirection from "@/hooks/use-issue-peek-overview-redirection";
import { usePlatformOS } from "@/hooks/use-platform-os";
// plane web components
import { IssueIdentifier } from "@/plane-web/components/issues";
import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier";
// types
import { TIssueOperations } from "../root";
import { IssueParentSiblings } from "./siblings";

View file

@ -8,9 +8,10 @@ import { CustomMenu } from "@plane/ui";
// helpers
import { generateWorkItemLink } from "@plane/utils";
// hooks
import { useIssueDetail, useProject } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
import { useProject } from "@/hooks/store/use-project";
// plane web components
import { IssueIdentifier } from "@/plane-web/components/issues";
import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier";
type TIssueParentSiblingItem = {
workspaceSlug: string;

View file

@ -4,7 +4,7 @@ import useSWR from "swr";
import { TIssue } from "@plane/types";
// components
// hooks
import { useIssueDetail } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
// types
import { IssueParentSiblingItem } from "./sibling-item";

View file

@ -9,7 +9,8 @@ import { cn, formatTextList } from "@plane/utils";
// helper
import { renderEmoji } from "@/helpers/emoji.helper";
// hooks
import { useIssueDetail, useMember } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail"
import { useMember } from "@/hooks/store/use-member";
// types
import { ReactionSelector } from "./reaction-selector";

View file

@ -9,7 +9,8 @@ import { TOAST_TYPE, Tooltip, setToast } from "@plane/ui";
import { cn, formatTextList } from "@plane/utils";
// helpers
import { renderEmoji } from "@/helpers/emoji.helper";
import { useIssueDetail, useMember } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail"
import { useMember } from "@/hooks/store/use-member";
// types
import { ReactionSelector } from "./reaction-selector";

View file

@ -3,22 +3,22 @@
import React from "react";
import { observer } from "mobx-react";
import Link from "next/link";
import { CircleDot, CopyPlus, Pencil, X, XCircle } from "lucide-react";
import { Pencil, X } from "lucide-react";
// Plane
import { ISearchIssueResponse } from "@plane/types";
import { RelatedIcon, Tooltip, TOAST_TYPE, setToast } from "@plane/ui";
import { Tooltip, TOAST_TYPE, setToast } from "@plane/ui";
import { cn, generateWorkItemLink } from "@plane/utils";
// components
import { ExistingIssuesListModal } from "@/components/core";
// helpers
import { ExistingIssuesListModal } from "@/components/core/modals/existing-issues-list-modal";
// hooks
import { useIssueDetail, useIssues, useProject } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail"
import { useIssues } from "@/hooks/store/use-issues"
import { useProject } from "@/hooks/store/use-project";
import { usePlatformOS } from "@/hooks/use-platform-os";
// Plane-web
// Plane web imports
import { useTimeLineRelationOptions } from "@/plane-web/components/relations";
import { TIssueRelationTypes } from "@/plane-web/types";
//
import { TRelationObject } from "../issue-detail-widgets";
import type { TIssueRelationTypes } from "@/plane-web/types";
import type { TRelationObject } from "../issue-detail-widgets/relations";
type TIssueRelationSelect = {
className?: string;

View file

@ -2,24 +2,26 @@
import { FC, useMemo } from "react";
import { observer } from "mobx-react";
// types
// plane imports
import { EUserPermissions, EUserPermissionsLevel, WORK_ITEM_TRACKER_EVENTS } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import { EIssuesStoreType, TIssue } from "@plane/types";
// ui
import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/ui";
// components
import { EmptyState } from "@/components/common";
import { IssueDetailsSidebar, IssuePeekOverview } from "@/components/issues";
// constants
import { EmptyState } from "@/components/common/empty-state";
// hooks
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
import { useAppTheme, useIssueDetail, useIssues, useUserPermissions } from "@/hooks/store";
import { useAppTheme } from "@/hooks/store/use-app-theme"
import { useIssueDetail } from "@/hooks/store/use-issue-detail"
import { useIssues } from "@/hooks/store/use-issues"
import { useUserPermissions } from "@/hooks/store/user";
import { useAppRouter } from "@/hooks/use-app-router";
// images
import emptyIssue from "@/public/empty-state/issue.svg";
// local components
import { IssuePeekOverview } from "../peek-overview";
import { IssueMainContent } from "./main-content";
import { IssueDetailsSidebar } from "./sidebar";
export type TIssueOperations = {
fetch: (workspaceSlug: string, projectId: string, issueId: string, loader?: boolean) => Promise<void>;

View file

@ -9,22 +9,26 @@ import { useTranslation } from "@plane/i18n";
import { ContrastIcon, DiceIcon, DoubleCircleIcon } from "@plane/ui";
import { cn, getDate, renderFormattedPayloadDate, shouldHighlightIssueDueDate } from "@plane/utils";
// components
import {
DateDropdown,
EstimateDropdown,
MemberDropdown,
PriorityDropdown,
StateDropdown,
} from "@/components/dropdowns";
import { DateDropdown } from "@/components/dropdowns/date";
import { EstimateDropdown } from "@/components/dropdowns/estimate";
import { ButtonAvatars } from "@/components/dropdowns/member/avatar";
import { IssueCycleSelect, IssueLabel, IssueModuleSelect } from "@/components/issues";
// helpers
import { MemberDropdown } from "@/components/dropdowns/member/dropdown";
import { PriorityDropdown } from "@/components/dropdowns/priority";
import { StateDropdown } from "@/components/dropdowns/state/dropdown";
// hooks
import { useProjectEstimates, useIssueDetail, useProject, useProjectState, useMember } from "@/hooks/store";
import { useProjectEstimates } from "@/hooks/store/estimates";
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
import { useMember } from "@/hooks/store/use-member";
import { useProject } from "@/hooks/store/use-project";
import { useProjectState } from "@/hooks/store/use-project-state";
// plane web components
import { IssueParentSelectRoot, IssueWorklogProperty } from "@/plane-web/components/issues";
// components
import { WorkItemAdditionalSidebarProperties } from "@/plane-web/components/issues/issue-details/additional-properties";
import { IssueParentSelectRoot } from "@/plane-web/components/issues/issue-details/parent-select-root";
import { IssueWorklogProperty } from "@/plane-web/components/issues/worklog/property";
import { IssueCycleSelect } from "./cycle-select";
import { IssueLabel } from "./label";
import { IssueModuleSelect } from "./module-select";
import type { TIssueOperations } from "./root";
type Props = {

View file

@ -11,7 +11,8 @@ import { useTranslation } from "@plane/i18n";
import { EIssueServiceType } from "@plane/types";
import { Button, Loader, TOAST_TYPE, setToast } from "@plane/ui";
// hooks
import { useIssueDetail, useUserPermissions } from "@/hooks/store";
import { useIssueDetail } from "@/hooks/store/use-issue-detail"
import { useUserPermissions } from "@/hooks/store/user";
export type TIssueSubscription = {
workspaceSlug: string;

View file

@ -3,19 +3,20 @@
import { FC, useCallback, useEffect } from "react";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
// plane imports
import { EIssueGroupByToServerOptions, EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
import { EIssuesStoreType, TGroupedIssues } from "@plane/types";
// components
import { TOAST_TYPE, setToast } from "@plane/ui";
import { CalendarChart } from "@/components/issues";
//constants
// hooks
import { useIssues, useCalendarView, useUserPermissions } from "@/hooks/store";
import { useIssues } from "@/hooks/store/use-issues"
import { useCalendarView } from "@/hooks/store/use-calendar-view"
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 { handleDragDrop } from "./utils";
import { CalendarChart } from "./calendar";
export type CalendarStoreType =
| EIssuesStoreType.PROJECT

View file

@ -23,13 +23,11 @@ import {
// ui
import { Spinner } from "@plane/ui";
import { renderFormattedPayloadDate, cn } from "@plane/utils";
// components
import { CalendarHeader, CalendarIssueBlocks, CalendarWeekDays, CalendarWeekHeader } from "@/components/issues";
// constants
import { MONTHS_LIST } from "@/constants/calendar";
// helpers
// hooks
import { useIssues } from "@/hooks/store";
import { useIssues } from "@/hooks/store/use-issues";
import useSize from "@/hooks/use-window-size";
// store
import { IProjectEpicsFilter } from "@/plane-web/store/issue/epic";
@ -38,8 +36,13 @@ 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";
// local imports
import { IssueLayoutHOC } from "../issue-layout-HOC";
import { TRenderQuickActions } from "../list/list-view-types";
import { CalendarHeader } from "./header";
import { CalendarIssueBlocks } from "./issue-blocks";
import { CalendarWeekDays } from "./week-days";
import { CalendarWeekHeader } from "./week-header";
type Props = {
issuesFilterStore:

View file

@ -11,7 +11,6 @@ import { TGroupedIssues, TIssue, TIssueMap, TPaginationData, ICalendarDate } fro
import { TOAST_TYPE, setToast } from "@plane/ui";
// components
import { cn, renderFormattedPayloadDate } from "@plane/utils";
import { CalendarIssueBlocks } from "@/components/issues/issue-layouts/calendar";
import { highlightIssueOnDrop } from "@/components/issues/issue-layouts/utils";
// helpers
import { MONTHS_LIST } from "@/constants/calendar";
@ -23,6 +22,7 @@ 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 { CalendarIssueBlocks } from "./issue-blocks";
type Props = {
issuesFilterStore:

View file

@ -8,7 +8,7 @@ import { Popover, Transition } from "@headlessui/react";
// constants
import { getDate } from "@plane/utils";
import { MONTHS_LIST } from "@/constants/calendar";
import { useCalendarView } from "@/hooks/store";
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";

View file

@ -22,7 +22,7 @@ import { ToggleSwitch } from "@plane/ui";
// types
// constants
import { CALENDAR_LAYOUTS } from "@/constants/calendar";
import { useCalendarView } from "@/hooks/store";
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";

View file

@ -11,7 +11,6 @@ import {
TIssueKanbanFilters,
} from "@plane/types";
import { Row } from "@plane/ui";
import { CalendarMonthsDropdown, CalendarOptionsDropdown } from "@/components/issues";
// icons
import { useCalendarView } from "@/hooks/store/use-calendar-view";
import { IProjectEpicsFilter } from "@/plane-web/store/issue/epic";
@ -19,6 +18,7 @@ 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 { CalendarMonthsDropdown, CalendarOptionsDropdown } from "./dropdowns";
interface ICalendarHeader {
issuesFilterStore:

View file

@ -1,11 +0,0 @@
export * from "./dropdowns";
export * from "./roots";
export * from "./calendar";
export * from "./day-tile";
export * from "./header";
export * from "./issue-blocks";
export * from "./issue-block-root";
export * from "./issue-block";
export * from "./week-days";
export * from "./week-header";
export * from "./quick-add-issue-actions";

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