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:
parent
9cf564caae
commit
3391e8580c
1103 changed files with 3036 additions and 3286 deletions
|
|
@ -4,7 +4,7 @@ import useSWR from "swr";
|
|||
import { useTranslation } from "@plane/i18n";
|
||||
import { IWorkspaceMemberInvitation } from "@plane/types";
|
||||
// components
|
||||
import { LogoSpinner } from "@/components/common";
|
||||
import { LogoSpinner } from "@/components/common/logo-spinner";
|
||||
import { WorkspaceLogo } from "@/components/workspace/logo";
|
||||
// helpers
|
||||
import { EAuthModes, EAuthSteps } from "@/helpers/authentication.helper";
|
||||
|
|
|
|||
|
|
@ -11,8 +11,6 @@ import GithubLightLogo from "/public/logos/github-black.png";
|
|||
import GithubDarkLogo from "/public/logos/github-dark.svg";
|
||||
import GitlabLogo from "/public/logos/gitlab-logo.svg";
|
||||
import GoogleLogo from "/public/logos/google-logo.svg";
|
||||
// components
|
||||
import { AuthHeader, AuthBanner, TermsAndConditions } from "@/components/account";
|
||||
// helpers
|
||||
import {
|
||||
EAuthModes,
|
||||
|
|
@ -23,8 +21,11 @@ import {
|
|||
authErrorHandler,
|
||||
} from "@/helpers/authentication.helper";
|
||||
// hooks
|
||||
import { useInstance } from "@/hooks/store";
|
||||
// services
|
||||
import { useInstance } from "@/hooks/store/use-instance";
|
||||
// local imports
|
||||
import { TermsAndConditions } from "../terms-and-conditions";
|
||||
import { AuthBanner } from "./auth-banner";
|
||||
import { AuthHeader } from "./auth-header";
|
||||
import { AuthFormRoot } from "./form-root";
|
||||
|
||||
type TAuthRoot = {
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
export * from "./container";
|
||||
export * from "./header";
|
||||
|
|
@ -18,7 +18,8 @@ import useTimer from "@/hooks/use-timer";
|
|||
// services
|
||||
import { AuthService } from "@/services/auth.service";
|
||||
// local components
|
||||
import { FormContainer, AuthFormHeader } from "./common";
|
||||
import { FormContainer } from "./common/container";
|
||||
import { AuthFormHeader } from "./common/header";
|
||||
|
||||
type TForgotPasswordFormValues = {
|
||||
email: string;
|
||||
|
|
|
|||
|
|
@ -1,14 +1 @@
|
|||
export * from "./auth-root";
|
||||
|
||||
export * from "./auth-header";
|
||||
export * from "./auth-banner";
|
||||
|
||||
export * from "./email";
|
||||
export * from "./forgot-password-popover";
|
||||
export * from "./password";
|
||||
export * from "./unique-code";
|
||||
|
||||
export * from "./common";
|
||||
export * from "./forgot-password";
|
||||
export * from "./reset-password";
|
||||
export * from "./set-password";
|
||||
|
|
@ -11,7 +11,7 @@ import { useTranslation } from "@plane/i18n";
|
|||
import { Button, Input, PasswordStrengthIndicator, Spinner } from "@plane/ui";
|
||||
import { getPasswordStrength } from "@plane/utils";
|
||||
// components
|
||||
import { ForgotPasswordPopover } from "@/components/account";
|
||||
import { ForgotPasswordPopover } from "@/components/account/auth-forms/forgot-password-popover";
|
||||
// constants
|
||||
// helpers
|
||||
import { EAuthModes, EAuthSteps } from "@/helpers/authentication.helper";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import { useTranslation } from "@plane/i18n";
|
|||
import { Button, Input, PasswordStrengthIndicator } from "@plane/ui";
|
||||
// components
|
||||
import { getPasswordStrength } from "@plane/utils";
|
||||
import { AuthBanner, FormContainer, AuthFormHeader } from "@/components/account";
|
||||
// helpers
|
||||
import {
|
||||
EAuthenticationErrorCodes,
|
||||
|
|
@ -19,7 +18,12 @@ import {
|
|||
TAuthErrorInfo,
|
||||
authErrorHandler,
|
||||
} from "@/helpers/authentication.helper";
|
||||
// services
|
||||
import { AuthService } from "@/services/auth.service";
|
||||
// local imports
|
||||
import { AuthBanner } from "./auth-banner";
|
||||
import { FormContainer } from "./common/container";
|
||||
import { AuthFormHeader } from "./common/header";
|
||||
|
||||
type TResetPasswordFormValues = {
|
||||
email: string;
|
||||
|
|
|
|||
|
|
@ -14,12 +14,13 @@ import { getPasswordStrength } from "@plane/utils";
|
|||
// helpers
|
||||
import { captureError, captureSuccess, captureView } from "@/helpers/event-tracker.helper";
|
||||
// hooks
|
||||
import { useUser } from "@/hooks/store";
|
||||
import { useUser } from "@/hooks/store/user";
|
||||
import { useAppRouter } from "@/hooks/use-app-router";
|
||||
// services
|
||||
import { AuthService } from "@/services/auth.service";
|
||||
// local components
|
||||
import { AuthFormHeader, FormContainer } from "..";
|
||||
import { FormContainer } from "./common/container";
|
||||
import { AuthFormHeader } from "./common/header";
|
||||
|
||||
type TResetPasswordFormValues = {
|
||||
email: string;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import { useTranslation } from "@plane/i18n";
|
|||
import { Button, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// hooks
|
||||
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
|
||||
import { useUser } from "@/hooks/store";
|
||||
import { useUser } from "@/hooks/store/user";
|
||||
import { useAppRouter } from "@/hooks/use-app-router";
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
export * from "./auth-forms";
|
||||
export * from "./deactivate-account-modal";
|
||||
export * from "./terms-and-conditions";
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
// plane web components
|
||||
import { observer } from "mobx-react";
|
||||
// hooks
|
||||
import { useProject } from "@/hooks/store";
|
||||
import { useProject } from "@/hooks/store/use-project";
|
||||
import { useAnalytics } from "@/hooks/store/use-analytics";
|
||||
// components
|
||||
import DurationDropdown from "./select/duration";
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
export * from "./overview/root";
|
||||
|
|
@ -3,7 +3,7 @@ import { Briefcase } from "lucide-react";
|
|||
import { Logo } from "@plane/ui";
|
||||
import { cn } from "@plane/utils";
|
||||
// plane web hooks
|
||||
import { useProject } from "@/hooks/store";
|
||||
import { useProject } from "@/hooks/store/use-project";
|
||||
|
||||
type Props = {
|
||||
project: {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@ import useSWR from "swr";
|
|||
import { useTranslation } from "@plane/i18n";
|
||||
import { Loader } from "@plane/ui";
|
||||
// plane web hooks
|
||||
import { useAnalytics, useProject } from "@/hooks/store";
|
||||
import { useAnalytics } from "@/hooks/store/use-analytics"
|
||||
import { useProject } from "@/hooks/store/use-project";
|
||||
// plane web components
|
||||
import AnalyticsSectionWrapper from "../analytics-section-wrapper";
|
||||
import ActiveProjectItem from "./active-project-item";
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { Briefcase } from "lucide-react";
|
|||
// plane package imports
|
||||
import { CustomSearchSelect, Logo } from "@plane/ui";
|
||||
// hooks
|
||||
import { useProject } from "@/hooks/store";
|
||||
import { useProject } from "@/hooks/store/use-project";
|
||||
|
||||
type Props = {
|
||||
value: string[] | undefined;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import { ChartYAxisMetric } from "@plane/types";
|
|||
// plane package imports
|
||||
import { CustomSelect } from "@plane/ui";
|
||||
// hooks
|
||||
import { useProjectEstimates } from "@/hooks/store";
|
||||
import { useProjectEstimates } from "@/hooks/store/estimates";
|
||||
// plane web constants
|
||||
type Props = {
|
||||
value: ChartYAxisMetric;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { Tab } from "@headlessui/react";
|
|||
import { ICycle, IModule, IProject } from "@plane/types";
|
||||
import { Spinner } from "@plane/ui";
|
||||
// hooks
|
||||
import { useAnalytics } from "@/hooks/store";
|
||||
import { useAnalytics } from "@/hooks/store/use-analytics";
|
||||
// plane web components
|
||||
import TotalInsights from "../../total-insights";
|
||||
import CreatedVsResolved from "../created-vs-resolved";
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { observer } from "mobx-react";
|
|||
import { createPortal } from "react-dom";
|
||||
import { ICycle, IModule, IProject } from "@plane/types";
|
||||
import { cn } from "@plane/utils";
|
||||
import { useAnalytics } from "@/hooks/store";
|
||||
import { useAnalytics } from "@/hooks/store/use-analytics";
|
||||
// plane web components
|
||||
import { WorkItemsModalMainContent } from "./content";
|
||||
import { WorkItemsModalHeader } from "./header";
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import { TBarItem, TChart, TChartDatum, ChartXAxisProperty, ChartYAxisMetric } f
|
|||
import { Button } from "@plane/ui";
|
||||
import { generateExtendedColors, parseChartData } from "@/components/chart/utils";
|
||||
// hooks
|
||||
import { useProjectState } from "@/hooks/store";
|
||||
import { useProjectState } from "@/hooks/store/use-project-state";
|
||||
import { useAnalytics } from "@/hooks/store/use-analytics";
|
||||
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
|
||||
import { AnalyticsService } from "@/services/analytics.service";
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
export * from "./modal";
|
||||
export * from "./delete-token-modal";
|
||||
export * from "./empty-state";
|
||||
export * from "./token-list-item";
|
||||
|
|
@ -2,20 +2,19 @@
|
|||
|
||||
import React, { useState } from "react";
|
||||
import { mutate } from "swr";
|
||||
// types
|
||||
// plane imports
|
||||
import { PROFILE_SETTINGS_TRACKER_EVENTS } from "@plane/constants";
|
||||
import { APITokenService } from "@plane/services";
|
||||
import { IApiToken } from "@plane/types";
|
||||
// ui
|
||||
import { EModalPosition, EModalWidth, ModalCore, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
import { renderFormattedDate, csvDownload } from "@plane/utils";
|
||||
// components
|
||||
import { CreateApiTokenForm, GeneratedTokenDetails } from "@/components/api-token";
|
||||
// fetch-keys
|
||||
// constants
|
||||
import { API_TOKENS_LIST } from "@/constants/fetch-keys";
|
||||
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
|
||||
// helpers
|
||||
// services
|
||||
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
|
||||
// local imports
|
||||
import { CreateApiTokenForm } from "./form";
|
||||
import { GeneratedTokenDetails } from "./generated-token-details";
|
||||
|
||||
type Props = {
|
||||
isOpen: boolean;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import { IApiToken } from "@plane/types";
|
|||
import { Button, CustomSelect, Input, TextArea, ToggleSwitch, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
import { cn, renderFormattedDate, renderFormattedTime } from "@plane/utils";
|
||||
// components
|
||||
import { DateDropdown } from "@/components/dropdowns";
|
||||
import { DateDropdown } from "@/components/dropdowns/date";
|
||||
// helpers
|
||||
type Props = {
|
||||
handleClose: () => void;
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
export * from "./create-token-modal";
|
||||
export * from "./form";
|
||||
export * from "./generated-token-details";
|
||||
|
|
@ -2,16 +2,15 @@
|
|||
|
||||
import { useState } from "react";
|
||||
import { XCircle } from "lucide-react";
|
||||
// plane imports
|
||||
import { PROFILE_SETTINGS_TRACKER_ELEMENTS } from "@plane/constants";
|
||||
import { IApiToken } from "@plane/types";
|
||||
// components
|
||||
import { Tooltip } from "@plane/ui";
|
||||
import { renderFormattedDate, calculateTimeAgo, renderFormattedTime } from "@plane/utils";
|
||||
import { DeleteApiTokenModal } from "@/components/api-token";
|
||||
// components
|
||||
import { DeleteApiTokenModal } from "@/components/api-token/delete-token-modal";
|
||||
// hooks
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
// ui
|
||||
// helpers
|
||||
// types
|
||||
|
||||
type Props = {
|
||||
token: IApiToken;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { useParams, usePathname } from "next/navigation";
|
|||
// types
|
||||
import { IProject } from "@plane/types";
|
||||
// hooks
|
||||
import { useProject } from "@/hooks/store";
|
||||
import { useProject } from "@/hooks/store/use-project";
|
||||
|
||||
const ARCHIVES_TAB_LIST: {
|
||||
key: string;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
"use client";
|
||||
import React from "react";
|
||||
import { AuthRoot } from "@/components/account";
|
||||
import { AuthRoot } from "@/components/account/auth-forms/auth-root";
|
||||
import { EAuthModes } from "@/helpers/authentication.helper";
|
||||
import { AuthFooter } from "./footer";
|
||||
import { AuthHeader } from "./header";
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import { useTranslation } from "@plane/i18n";
|
|||
import { PlaneLockup } from "@plane/ui";
|
||||
import { PageHead } from "@/components/core/page-title";
|
||||
import { EAuthModes } from "@/helpers/authentication.helper";
|
||||
import { useInstance } from "@/hooks/store";
|
||||
import { useInstance } from "@/hooks/store/use-instance";
|
||||
|
||||
const authContentMap = {
|
||||
[EAuthModes.SIGN_IN]: {
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
export * from "./project";
|
||||
export * from "./workspace";
|
||||
export * from "./not-authorized-view";
|
||||
export * from "./header";
|
||||
export * from "./auth-base";
|
||||
|
|
@ -1 +0,0 @@
|
|||
export * from "./join-project";
|
||||
|
|
@ -6,7 +6,8 @@ import { ClipboardList } from "lucide-react";
|
|||
// plane imports
|
||||
import { Button } from "@plane/ui";
|
||||
// hooks
|
||||
import { useProject, useUserPermissions } from "@/hooks/store";
|
||||
import { useProject } from "@/hooks/store/use-project"
|
||||
import { useUserPermissions } from "@/hooks/store/user";
|
||||
// assets
|
||||
import Unauthorized from "@/public/auth/unauthorized.svg";
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
export * from "./not-a-member";
|
||||
|
|
@ -21,7 +21,8 @@ import { SelectMonthModal } from "@/components/automation";
|
|||
// constants
|
||||
// hooks
|
||||
import { captureElementAndEvent } from "@/helpers/event-tracker.helper";
|
||||
import { useProject, useUserPermissions } from "@/hooks/store";
|
||||
import { useProject } from "@/hooks/store/use-project"
|
||||
import { useUserPermissions } from "@/hooks/store/user";
|
||||
|
||||
type Props = {
|
||||
handleChange: (formData: Partial<IProject>) => Promise<void>;
|
||||
|
|
|
|||
|
|
@ -23,7 +23,9 @@ import { SelectMonthModal } from "@/components/automation";
|
|||
// constants
|
||||
// hooks
|
||||
import { captureElementAndEvent } from "@/helpers/event-tracker.helper";
|
||||
import { useProject, useProjectState, useUserPermissions } from "@/hooks/store";
|
||||
import { useProject } from "@/hooks/store/use-project"
|
||||
import { useProjectState } from "@/hooks/store/use-project-state"
|
||||
import { useUserPermissions } from "@/hooks/store/user";
|
||||
|
||||
type Props = {
|
||||
handleChange: (formData: Partial<IProject>) => Promise<void>;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@ import { FileText, GithubIcon, MessageSquare, Rocket } from "lucide-react";
|
|||
// ui
|
||||
import { DiscordIcon } from "@plane/ui";
|
||||
// hooks
|
||||
import { useCommandPalette, useTransient } from "@/hooks/store";
|
||||
import { useCommandPalette } from "@/hooks/store/use-command-palette"
|
||||
import { useTransient } from "@/hooks/store/use-transient";
|
||||
|
||||
type Props = {
|
||||
closePalette: () => void;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@ import { DoubleCircleIcon, TOAST_TYPE, setToast } from "@plane/ui";
|
|||
// helpers
|
||||
import { copyTextToClipboard } from "@plane/utils";
|
||||
// hooks
|
||||
import { useCommandPalette, useIssueDetail, useUser } from "@/hooks/store";
|
||||
import { useCommandPalette } from "@/hooks/store/use-command-palette"
|
||||
import { useIssueDetail } from "@/hooks/store/use-issue-detail"
|
||||
import { useUser } from "@/hooks/store/user";
|
||||
|
||||
type Props = {
|
||||
closePalette: () => void;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,8 @@ import { Avatar } from "@plane/ui";
|
|||
// helpers
|
||||
import { getFileURL } from "@plane/utils";
|
||||
// hooks
|
||||
import { useIssueDetail, useMember } from "@/hooks/store";
|
||||
import { useIssueDetail } from "@/hooks/store/use-issue-detail"
|
||||
import { useMember } from "@/hooks/store/use-member";
|
||||
|
||||
type Props = { closePalette: () => void; issue: TIssue };
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import { ISSUE_PRIORITIES } from "@plane/constants";
|
|||
import { EIssueServiceType, TIssue, TIssuePriorities } from "@plane/types";
|
||||
// mobx store
|
||||
import { PriorityIcon } from "@plane/ui";
|
||||
import { useIssueDetail } from "@/hooks/store";
|
||||
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
|
||||
// ui
|
||||
// types
|
||||
// constants
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { useParams } from "next/navigation";
|
|||
// plane imports
|
||||
import { EIssueServiceType, TIssue } from "@plane/types";
|
||||
// store hooks
|
||||
import { useIssueDetail } from "@/hooks/store";
|
||||
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
|
||||
// plane web imports
|
||||
import { ChangeWorkItemStateList } from "@/plane-web/components/command-palette/actions/work-item-actions";
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import {
|
|||
} from "@plane/constants";
|
||||
import { DiceIcon } from "@plane/ui";
|
||||
// hooks
|
||||
import { useCommandPalette } from "@/hooks/store";
|
||||
import { useCommandPalette } from "@/hooks/store/use-command-palette";
|
||||
// ui
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import { THEME_OPTIONS } from "@plane/constants";
|
|||
import { useTranslation } from "@plane/i18n";
|
||||
import { TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// hooks
|
||||
import { useUserProfile } from "@/hooks/store";
|
||||
import { useUserProfile } from "@/hooks/store/user";
|
||||
|
||||
type Props = {
|
||||
closePalette: () => void;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import { useTranslation } from "@plane/i18n";
|
|||
// components
|
||||
import { SettingIcon } from "@/components/icons";
|
||||
// hooks
|
||||
import { useUserPermissions } from "@/hooks/store";
|
||||
import { useUserPermissions } from "@/hooks/store/user";
|
||||
import { useAppRouter } from "@/hooks/use-app-router";
|
||||
// plane wev constants
|
||||
// plane web helpers
|
||||
|
|
|
|||
|
|
@ -31,17 +31,20 @@ import {
|
|||
CommandPaletteThemeActions,
|
||||
CommandPaletteWorkspaceSettingsActions,
|
||||
} from "@/components/command-palette";
|
||||
import { SimpleEmptyState } from "@/components/empty-state";
|
||||
import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root";
|
||||
// helpers
|
||||
// hooks
|
||||
import { captureClick } from "@/helpers/event-tracker.helper";
|
||||
import { useCommandPalette, useIssueDetail, useProject, useUser, useUserPermissions } from "@/hooks/store";
|
||||
import { useCommandPalette } from "@/hooks/store/use-command-palette";
|
||||
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
|
||||
import { useProject } from "@/hooks/store/use-project";
|
||||
import { useUser, useUserPermissions } from "@/hooks/store/user";
|
||||
import { useAppRouter } from "@/hooks/use-app-router";
|
||||
import useDebounce from "@/hooks/use-debounce";
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
// plane web components
|
||||
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
|
||||
import { IssueIdentifier } from "@/plane-web/components/issues";
|
||||
import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier";
|
||||
// plane web services
|
||||
import { WorkspaceService } from "@/plane-web/services";
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,10 @@ import { CommandModal, ShortcutsModal } from "@/components/command-palette";
|
|||
// helpers
|
||||
// hooks
|
||||
import { captureClick } from "@/helpers/event-tracker.helper";
|
||||
import { useUser, useAppTheme, useCommandPalette, useUserPermissions, useIssueDetail } from "@/hooks/store";
|
||||
import { useUser, useUserPermissions } from "@/hooks/store/user"
|
||||
import { useAppTheme } from "@/hooks/store/use-app-theme"
|
||||
import { useCommandPalette } from "@/hooks/store/use-command-palette"
|
||||
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
// plane web components
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import type { EditorRefApi } from "@plane/editor";
|
|||
import type { TCommentsOperations, TIssueComment } from "@plane/types";
|
||||
import { isCommentEmpty } from "@plane/utils";
|
||||
// components
|
||||
import { LiteTextEditor } from "@/components/editor";
|
||||
import { LiteTextEditor } from "@/components/editor/lite-text";
|
||||
|
||||
type Props = {
|
||||
activityOperations: TCommentsOperations;
|
||||
|
|
|
|||
|
|
@ -1,19 +1,15 @@
|
|||
import { FC, useRef, useState } from "react";
|
||||
import { observer } from "mobx-react";
|
||||
import { useForm, Controller } from "react-hook-form";
|
||||
// plane constants
|
||||
// plane imports
|
||||
import { EIssueCommentAccessSpecifier } from "@plane/constants";
|
||||
// plane editor
|
||||
import { EditorRefApi } from "@plane/editor";
|
||||
// plane types
|
||||
import { TIssueComment, TCommentsOperations } from "@plane/types";
|
||||
import type { EditorRefApi } from "@plane/editor";
|
||||
import type { TIssueComment, TCommentsOperations } from "@plane/types";
|
||||
import { cn, isCommentEmpty } from "@plane/utils";
|
||||
// components
|
||||
import { LiteTextEditor } from "@/components/editor";
|
||||
// constants
|
||||
// helpers
|
||||
import { LiteTextEditor } from "@/components/editor/lite-text";
|
||||
// hooks
|
||||
import { useWorkspace } from "@/hooks/store";
|
||||
import { useWorkspace } from "@/hooks/store/use-workspace";
|
||||
// services
|
||||
import { FileService } from "@/services/file.service";
|
||||
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
import { FC } from "react";
|
||||
import { observer } from "mobx-react";
|
||||
// Plane
|
||||
// plane imports
|
||||
import { TCommentsOperations, TIssueComment } from "@plane/types";
|
||||
import { Tooltip } from "@plane/ui";
|
||||
// components
|
||||
import { cn } from "@plane/utils";
|
||||
import { ReactionSelector } from "@/components/issues";
|
||||
// helpers
|
||||
import { renderEmoji } from "@/helpers/emoji.helper";
|
||||
// local imports
|
||||
import { ReactionSelector } from "../issues/issue-detail/reactions";
|
||||
|
||||
export type TProps = {
|
||||
comment: TIssueComment;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import type { TIssueComment, TCommentsOperations } from "@plane/types";
|
|||
import { CustomMenu, TContextMenuItem } from "@plane/ui";
|
||||
import { cn } from "@plane/utils";
|
||||
// hooks
|
||||
import { useUser } from "@/hooks/store";
|
||||
import { useUser } from "@/hooks/store/user";
|
||||
|
||||
type TCommentCard = {
|
||||
activityOperations: TCommentsOperations;
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
export * from "./activity-item";
|
||||
|
|
@ -4,7 +4,8 @@ import Link from "next/link";
|
|||
// types
|
||||
import { TWorkspaceBaseActivity } from "@plane/types";
|
||||
// store hooks
|
||||
import { useMember, useWorkspace } from "@/hooks/store";
|
||||
import { useMember } from "@/hooks/store/use-member"
|
||||
import { useWorkspace } from "@/hooks/store/use-workspace";
|
||||
|
||||
type TUser = {
|
||||
activity: TWorkspaceBaseActivity;
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
export * from "./date";
|
||||
export * from "./members";
|
||||
|
|
@ -7,7 +7,7 @@ import { Avatar } from "@plane/ui";
|
|||
// helpers
|
||||
import { getFileURL } from "@plane/utils";
|
||||
// types
|
||||
import { useMember } from "@/hooks/store";
|
||||
import { useMember } from "@/hooks/store/use-member";
|
||||
|
||||
type Props = {
|
||||
handleRemove: (val: string) => void;
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import React, { useState } from "react";
|
||||
import { observer } from "mobx-react";
|
||||
// plane constants
|
||||
// plane imports
|
||||
import { DATE_BEFORE_FILTER_OPTIONS } from "@plane/constants";
|
||||
import { isInDateFormat } from "@plane/utils";
|
||||
import { DateFilterModal } from "@/components/core";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues";
|
||||
// helpers
|
||||
// components
|
||||
import { DateFilterModal } from "@/components/core/filters/date-filter-modal";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters";
|
||||
|
||||
type Props = {
|
||||
appliedFilters: string[] | null;
|
||||
|
|
|
|||
|
|
@ -7,10 +7,11 @@ import { observer } from "mobx-react";
|
|||
import { Avatar, Loader } from "@plane/ui";
|
||||
// components
|
||||
import { getFileURL } from "@plane/utils";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters";
|
||||
// helpers
|
||||
// hooks
|
||||
import { useMember, useUser } from "@/hooks/store";
|
||||
import { useMember } from "@/hooks/store/use-member"
|
||||
import { useUser } from "@/hooks/store/user";
|
||||
|
||||
type Props = {
|
||||
appliedFilters: string[] | null;
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
export * from "./created-at";
|
||||
export * from "./created-by";
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
export * from "./empty-state";
|
||||
export * from "./latest-feature-block";
|
||||
export * from "./breadcrumb-link";
|
||||
export * from "./logo-spinner";
|
||||
export * from "./logo";
|
||||
export * from "./pro-icon";
|
||||
export * from "./count-chip";
|
||||
export * from "./activity";
|
||||
export * from "./switcher-label";
|
||||
export * from "./page-access-icon";
|
||||
|
|
@ -24,7 +24,7 @@ import { IIssueActivity } from "@plane/types";
|
|||
import { Tooltip, BlockedIcon, BlockerIcon, RelatedIcon, LayersIcon, DiceIcon, Intake, EpicIcon } from "@plane/ui";
|
||||
import { renderFormattedDate, generateWorkItemLink, capitalizeFirstLetter } from "@plane/utils";
|
||||
// helpers
|
||||
import { useLabel } from "@/hooks/store";
|
||||
import { useLabel } from "@/hooks/store/use-label";
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
// types
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { TDescriptionVersion } from "@plane/types";
|
|||
import { Avatar, CustomMenu } from "@plane/ui";
|
||||
import { calculateTimeAgo, getFileURL } from "@plane/utils";
|
||||
// hooks
|
||||
import { useMember } from "@/hooks/store";
|
||||
import { useMember } from "@/hooks/store/use-member";
|
||||
|
||||
type Props = {
|
||||
onClick: (versionId: string) => void;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import { TDescriptionVersion } from "@plane/types";
|
|||
import { CustomMenu } from "@plane/ui";
|
||||
import { calculateTimeAgo } from "@plane/utils";
|
||||
// hooks
|
||||
import { useMember } from "@/hooks/store";
|
||||
import { useMember } from "@/hooks/store/use-member";
|
||||
// local imports
|
||||
import { DescriptionVersionsDropdownItem } from "./dropdown-item";
|
||||
import { TDescriptionVersionEntityInformation } from "./root";
|
||||
|
|
|
|||
|
|
@ -19,9 +19,10 @@ import {
|
|||
} from "@plane/ui";
|
||||
import { calculateTimeAgo, cn, copyTextToClipboard, getFileURL } from "@plane/utils";
|
||||
// components
|
||||
import { RichTextEditor } from "@/components/editor";
|
||||
import { RichTextEditor } from "@/components/editor/rich-text";
|
||||
// hooks
|
||||
import { useMember, useWorkspace } from "@/hooks/store";
|
||||
import { useMember } from "@/hooks/store/use-member";
|
||||
import { useWorkspace } from "@/hooks/store/use-workspace";
|
||||
|
||||
type Props = {
|
||||
activeVersionDescription: string | undefined;
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
export * from "./date-filter-modal";
|
||||
export * from "./date-filter-select";
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
export * from "./filters";
|
||||
export * from "./modals";
|
||||
export * from "./multiple-select";
|
||||
export * from "./sidebar";
|
||||
export * from "./activity";
|
||||
export * from "./theme";
|
||||
export * from "./image-picker-popover";
|
||||
export * from "./page-title";
|
||||
export * from "./app-header";
|
||||
export * from "./content-wrapper";
|
||||
|
|
@ -3,7 +3,7 @@ import { Combobox } from "@headlessui/react";
|
|||
// hooks
|
||||
import { ISearchIssueResponse } from "@plane/types";
|
||||
// plane web hooks
|
||||
import { IssueIdentifier } from "@/plane-web/components/issues";
|
||||
import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier";
|
||||
|
||||
interface Props {
|
||||
issue: ISearchIssueResponse;
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@ import { useTranslation } from "@plane/i18n";
|
|||
import { EIssuesStoreType, ISearchIssueResponse, IUser } from "@plane/types";
|
||||
import { Button, Loader, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// components
|
||||
import { SimpleEmptyState } from "@/components/empty-state";
|
||||
import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root";
|
||||
// hooks
|
||||
import { useIssues } from "@/hooks/store";
|
||||
import { useIssues } from "@/hooks/store/use-issues";
|
||||
import useDebounce from "@/hooks/use-debounce";
|
||||
// services
|
||||
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import { generateWorkItemLink, getTabIndex } from "@plane/utils";
|
|||
import useDebounce from "@/hooks/use-debounce";
|
||||
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";
|
||||
// services
|
||||
import { ProjectService } from "@/services/project";
|
||||
// components
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import { Popover, Transition } from "@headlessui/react";
|
|||
import type { EditorRefApi } from "@plane/editor";
|
||||
import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// components
|
||||
import { RichTextEditor } from "@/components/editor";
|
||||
import { RichTextEditor } from "@/components/editor/rich-text";
|
||||
// services
|
||||
import { AIService } from "@/services/ai.service";
|
||||
const aiService = new AIService();
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
export * from "./bulk-delete-issues-modal";
|
||||
export * from "./existing-issues-list-modal";
|
||||
export * from "./gpt-assistant-popover";
|
||||
export * from "./user-image-upload-modal";
|
||||
export * from "./workspace-image-upload-modal";
|
||||
export * from "./issue-search-modal-empty-state";
|
||||
|
|
@ -3,7 +3,7 @@ import React from "react";
|
|||
import { useTranslation } from "@plane/i18n";
|
||||
import { ISearchIssueResponse } from "@plane/types";
|
||||
// components
|
||||
import { SimpleEmptyState } from "@/components/empty-state";
|
||||
import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root";
|
||||
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
|
||||
|
||||
interface EmptyStateProps {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import { Button, TOAST_TYPE, setToast } from "@plane/ui";
|
|||
import { getAssetIdFromUrl, getFileURL, checkURLValidity } from "@plane/utils";
|
||||
// helpers
|
||||
// hooks
|
||||
import { useWorkspace } from "@/hooks/store";
|
||||
import { useWorkspace } from "@/hooks/store/use-workspace";
|
||||
// services
|
||||
import { FileService } from "@/services/file.service";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
export * from "./single-progress-stats";
|
||||
export * from "./sidebar-menu-hamburger-toggle";
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import { observer } from "mobx-react";
|
||||
import { PanelRight } from "lucide-react";
|
||||
import { useAppTheme } from "@/hooks/store";
|
||||
import { useAppTheme } from "@/hooks/store/use-app-theme";
|
||||
|
||||
export const SidebarHamburgerToggle = observer(() => {
|
||||
// store hooks
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import { IUserTheme } from "@plane/types";
|
|||
import { Button, InputColorPicker, setPromiseToast } from "@plane/ui";
|
||||
// hooks
|
||||
import { captureElementAndEvent } from "@/helpers/event-tracker.helper";
|
||||
import { useUserProfile } from "@/hooks/store";
|
||||
import { useUserProfile } from "@/hooks/store/user";
|
||||
|
||||
type TCustomThemeSelector = {
|
||||
applyThemeChange: (theme: Partial<IUserTheme>) => void;
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
export * from "./color-picker-input";
|
||||
export * from "./custom-theme-selector";
|
||||
export * from "./theme-switch";
|
||||
|
|
@ -13,17 +13,18 @@ import { EIssuesStoreType, ICycle, IIssueFilterOptions } from "@plane/types";
|
|||
import { Tooltip, Loader, PriorityIcon, Avatar } from "@plane/ui";
|
||||
import { cn, renderFormattedDate, renderFormattedDateWithoutYear, getFileURL } from "@plane/utils";
|
||||
// components
|
||||
import { SingleProgressStats } from "@/components/core";
|
||||
import { StateDropdown } from "@/components/dropdowns";
|
||||
import { SimpleEmptyState } from "@/components/empty-state";
|
||||
import { SingleProgressStats } from "@/components/core/sidebar/single-progress-stats";
|
||||
import { StateDropdown } from "@/components/dropdowns/state/dropdown";
|
||||
import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root";
|
||||
// helpers
|
||||
// hooks
|
||||
import { useIssueDetail, useIssues } from "@/hooks/store";
|
||||
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
|
||||
import { useIssues } from "@/hooks/store/use-issues";
|
||||
import { useIntersectionObserver } from "@/hooks/use-intersection-observer";
|
||||
import useLocalStorage from "@/hooks/use-local-storage";
|
||||
// plane web components
|
||||
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
|
||||
import { IssueIdentifier } from "@/plane-web/components/issues";
|
||||
import { IssueIdentifier } from "@/plane-web/components/issues/issue-details/issue-identifier";
|
||||
// store
|
||||
import { ActiveCycleIssueDetails } from "@/store/issue/cycle";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
export * from "./cycle-stats";
|
||||
export * from "./productivity";
|
||||
export * from "./progress";
|
||||
|
|
@ -7,9 +7,9 @@ import { ICycle, TCycleEstimateType } from "@plane/types";
|
|||
import { Loader } from "@plane/ui";
|
||||
// components
|
||||
import ProgressChart from "@/components/core/sidebar/progress-chart";
|
||||
import { SimpleEmptyState } from "@/components/empty-state";
|
||||
import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root";
|
||||
// constants
|
||||
import { useCycle } from "@/hooks/store";
|
||||
import { useCycle } from "@/hooks/store/use-cycle";
|
||||
// plane web constants
|
||||
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
|
||||
import { EstimateTypeDropdown } from "../dropdowns/estimate-type-dropdown";
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@ import { useTranslation } from "@plane/i18n";
|
|||
import { ICycle, IIssueFilterOptions } from "@plane/types";
|
||||
import { LinearProgressIndicator, Loader } from "@plane/ui";
|
||||
// components
|
||||
import { SimpleEmptyState } from "@/components/empty-state";
|
||||
import { SimpleEmptyState } from "@/components/empty-state/simple-empty-state-root";
|
||||
// hooks
|
||||
import { useProjectState } from "@/hooks/store";
|
||||
import { useProjectState } from "@/hooks/store/use-project-state";
|
||||
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
|
||||
|
||||
export type ActiveCycleProgressProps = {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@ import useSWR from "swr";
|
|||
import { EIssueFilterType } from "@plane/constants";
|
||||
import { EIssuesStoreType, IIssueFilterOptions } from "@plane/types";
|
||||
import { CYCLE_ISSUES_WITH_PARAMS } from "@/constants/fetch-keys";
|
||||
import { useCycle, useIssues } from "@/hooks/store";
|
||||
import { useCycle } from "@/hooks/store/use-cycle"
|
||||
import { useIssues } from "@/hooks/store/use-issues";
|
||||
|
||||
interface IActiveCycleDetails {
|
||||
workspaceSlug: string;
|
||||
|
|
|
|||
|
|
@ -1,5 +1 @@
|
|||
export * from "./root";
|
||||
export * from "./issue-progress";
|
||||
export * from "./progress-stats";
|
||||
export * from "./sidebar-header";
|
||||
export * from "./sidebar-details";
|
||||
|
|
|
|||
|
|
@ -7,18 +7,18 @@ import { observer } from "mobx-react";
|
|||
import { useSearchParams } from "next/navigation";
|
||||
import { ChevronUp, ChevronDown } from "lucide-react";
|
||||
import { Disclosure, Transition } from "@headlessui/react";
|
||||
// plane imports
|
||||
import { EIssueFilterType } from "@plane/constants";
|
||||
import { useTranslation } from "@plane/i18n";
|
||||
import { EIssuesStoreType, ICycle, IIssueFilterOptions, TCyclePlotType, TProgressSnapshot } from "@plane/types";
|
||||
// components
|
||||
import { getDate } from "@plane/utils";
|
||||
import { CycleProgressStats } from "@/components/cycles";
|
||||
// constants
|
||||
// helpers
|
||||
// hooks
|
||||
import { useIssues, useCycle } from "@/hooks/store";
|
||||
import { useIssues } from "@/hooks/store/use-issues"
|
||||
import { useCycle } from "@/hooks/store/use-cycle";
|
||||
// plane web components
|
||||
import { SidebarChartRoot } from "@/plane-web/components/cycles";
|
||||
// local imports
|
||||
import { CycleProgressStats } from "./progress-stats";
|
||||
|
||||
type TCycleAnalyticsProgress = {
|
||||
workspaceSlug: string;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import { FC } from "react";
|
|||
import { observer } from "mobx-react";
|
||||
import Image from "next/image";
|
||||
import { Tab } from "@headlessui/react";
|
||||
// plane imports
|
||||
import { useTranslation } from "@plane/i18n";
|
||||
import {
|
||||
IIssueFilterOptions,
|
||||
|
|
@ -16,10 +17,9 @@ import {
|
|||
import { Avatar, StateGroupIcon } from "@plane/ui";
|
||||
import { cn, getFileURL } from "@plane/utils";
|
||||
// components
|
||||
import { SingleProgressStats } from "@/components/core";
|
||||
// helpers
|
||||
import { SingleProgressStats } from "@/components/core/sidebar/single-progress-stats";
|
||||
// hooks
|
||||
import { useProjectState } from "@/hooks/store";
|
||||
import { useProjectState } from "@/hooks/store/use-project-state";
|
||||
import useLocalStorage from "@/hooks/use-local-storage";
|
||||
// public
|
||||
import emptyLabel from "@/public/empty-state/empty_label.svg";
|
||||
|
|
|
|||
|
|
@ -2,12 +2,13 @@
|
|||
|
||||
import React from "react";
|
||||
import { observer } from "mobx-react";
|
||||
// ui
|
||||
// plane imports
|
||||
import { Loader } from "@plane/ui";
|
||||
// components
|
||||
import { CycleAnalyticsProgress, CycleSidebarHeader, CycleSidebarDetails } from "@/components/cycles";
|
||||
// hooks
|
||||
// local imports
|
||||
import useCyclesDetails from "../active-cycle/use-cycles-details";
|
||||
import { CycleAnalyticsProgress } from "./issue-progress";
|
||||
import { CycleSidebarDetails } from "./sidebar-details";
|
||||
import { CycleSidebarHeader } from "./sidebar-header";
|
||||
|
||||
type Props = {
|
||||
handleClose: () => void;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,8 @@ import { Avatar, AvatarGroup, TextArea } from "@plane/ui";
|
|||
// helpers
|
||||
import { getFileURL } from "@plane/utils";
|
||||
// hooks
|
||||
import { useMember, useProjectEstimates } from "@/hooks/store";
|
||||
import { useMember } from "@/hooks/store/use-member"
|
||||
import { useProjectEstimates } from "@/hooks/store/estimates";
|
||||
// plane web constants
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -17,10 +17,11 @@ import { ICycle } from "@plane/types";
|
|||
import { setToast, TOAST_TYPE } from "@plane/ui";
|
||||
import { getDate, renderFormattedPayloadDate } from "@plane/utils";
|
||||
// components
|
||||
import { DateRangeDropdown } from "@/components/dropdowns";
|
||||
import { DateRangeDropdown } from "@/components/dropdowns/date-range";
|
||||
// hooks
|
||||
import { captureElementAndEvent } from "@/helpers/event-tracker.helper";
|
||||
import { useCycle, useUserPermissions } from "@/hooks/store";
|
||||
import { useCycle } from "@/hooks/store/use-cycle"
|
||||
import { useUserPermissions } from "@/hooks/store/user";
|
||||
import { useTimeZoneConverter } from "@/hooks/use-timezone-converter";
|
||||
// services
|
||||
import { CycleService } from "@/services/cycle.service";
|
||||
|
|
|
|||
|
|
@ -1,3 +1 @@
|
|||
export * from "./date";
|
||||
export * from "./root";
|
||||
export * from "./status";
|
||||
|
|
|
|||
|
|
@ -1,18 +1,16 @@
|
|||
import { observer } from "mobx-react";
|
||||
import { X } from "lucide-react";
|
||||
// plane imports
|
||||
import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
|
||||
import { useTranslation } from "@plane/i18n";
|
||||
import { TCycleFilters } from "@plane/types";
|
||||
// hooks
|
||||
import { Tag } from "@plane/ui";
|
||||
import { replaceUnderscoreIfSnakeCase } from "@plane/utils";
|
||||
import { AppliedDateFilters, AppliedStatusFilters } from "@/components/cycles";
|
||||
import { useUserPermissions } from "@/hooks/store";
|
||||
|
||||
// components
|
||||
// helpers
|
||||
// types
|
||||
// constants
|
||||
// hooks
|
||||
import { useUserPermissions } from "@/hooks/store/user";
|
||||
// local imports
|
||||
import { AppliedDateFilters } from "./date";
|
||||
import { AppliedStatusFilters } from "./status";
|
||||
|
||||
type Props = {
|
||||
appliedFilters: TCycleFilters;
|
||||
|
|
|
|||
|
|
@ -10,11 +10,11 @@ import type { TCycleFilters } from "@plane/types";
|
|||
import { cn, calculateTotalFilters } from "@plane/utils";
|
||||
// components
|
||||
import { ArchiveTabsList } from "@/components/archives";
|
||||
import { CycleFiltersSelection } from "@/components/cycles";
|
||||
import { FiltersDropdown } from "@/components/issues";
|
||||
// helpers
|
||||
import { FiltersDropdown } from "@/components/issues/issue-layouts/filters";
|
||||
// hooks
|
||||
import { useCycleFilter } from "@/hooks/store";
|
||||
import { useCycleFilter } from "@/hooks/store/use-cycle-filter";
|
||||
// local imports
|
||||
import { CycleFiltersSelection } from "../dropdowns";
|
||||
|
||||
export const ArchivedCyclesHeader: FC = observer(() => {
|
||||
// router
|
||||
|
|
|
|||
|
|
@ -1,4 +1 @@
|
|||
export * from "./root";
|
||||
export * from "./view";
|
||||
export * from "./header";
|
||||
export * from "./modal";
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import { CYCLE_TRACKER_EVENTS } from "@plane/constants";
|
|||
import { Button, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// hooks
|
||||
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
|
||||
import { useCycle } from "@/hooks/store";
|
||||
import { useCycle } from "@/hooks/store/use-cycle";
|
||||
import { useAppRouter } from "@/hooks/use-app-router";
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -5,15 +5,17 @@ import useSWR from "swr";
|
|||
// plane imports
|
||||
import { useTranslation } from "@plane/i18n";
|
||||
import { TCycleFilters } from "@plane/types";
|
||||
// components
|
||||
import { calculateTotalFilters } from "@plane/utils";
|
||||
import { ArchivedCyclesView, CycleAppliedFiltersList } from "@/components/cycles";
|
||||
import { DetailedEmptyState } from "@/components/empty-state";
|
||||
import { CycleModuleListLayout } from "@/components/ui";
|
||||
// helpers
|
||||
// components
|
||||
import { DetailedEmptyState } from "@/components/empty-state/detailed-empty-state-root";
|
||||
import { CycleModuleListLayoutLoader } from "@/components/ui/loader/cycle-module-list-loader";
|
||||
// hooks
|
||||
import { useCycle, useCycleFilter } from "@/hooks/store";
|
||||
import { useCycle } from "@/hooks/store/use-cycle"
|
||||
import { useCycleFilter } from "@/hooks/store/use-cycle-filter";
|
||||
import { useResolvedAssetPath } from "@/hooks/use-resolved-asset-path";
|
||||
// local imports
|
||||
import { CycleAppliedFiltersList } from "../applied-filters";
|
||||
import { ArchivedCyclesView } from "./view";
|
||||
|
||||
export const ArchivedCycleLayoutRoot: React.FC = observer(() => {
|
||||
// router
|
||||
|
|
@ -51,7 +53,7 @@ export const ArchivedCycleLayoutRoot: React.FC = observer(() => {
|
|||
if (!workspaceSlug || !projectId) return <></>;
|
||||
|
||||
if (loader || !currentProjectArchivedCycleIds) {
|
||||
return <CycleModuleListLayout />;
|
||||
return <CycleModuleListLayoutLoader />;
|
||||
}
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -2,11 +2,12 @@ import { FC } from "react";
|
|||
import { observer } from "mobx-react";
|
||||
import Image from "next/image";
|
||||
// components
|
||||
import { CyclesList } from "@/components/cycles";
|
||||
import { CyclesList } from "@/components/cycles/list";
|
||||
// ui
|
||||
import { CycleModuleListLayout } from "@/components/ui";
|
||||
import { CycleModuleListLayoutLoader } from "@/components/ui/loader/cycle-module-list-loader";
|
||||
// hooks
|
||||
import { useCycle, useCycleFilter } from "@/hooks/store";
|
||||
import { useCycle } from "@/hooks/store/use-cycle"
|
||||
import { useCycleFilter } from "@/hooks/store/use-cycle-filter";
|
||||
// assets
|
||||
import AllFiltersImage from "@/public/empty-state/cycle/all-filters.svg";
|
||||
import NameFilterImage from "@/public/empty-state/cycle/name-filter.svg";
|
||||
|
|
@ -24,7 +25,7 @@ export const ArchivedCyclesView: FC<IArchivedCyclesView> = observer((props) => {
|
|||
// derived values
|
||||
const filteredArchivedCycleIds = getFilteredArchivedCycleIds(projectId);
|
||||
|
||||
if (loader || !filteredArchivedCycleIds) return <CycleModuleListLayout />;
|
||||
if (loader || !filteredArchivedCycleIds) return <CycleModuleListLayoutLoader />;
|
||||
|
||||
if (filteredArchivedCycleIds.length === 0)
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@ import { observer } from "mobx-react";
|
|||
import { usePathname, useSearchParams } from "next/navigation";
|
||||
// hooks
|
||||
import { generateQueryParams } from "@plane/utils";
|
||||
import { useCycle } from "@/hooks/store";
|
||||
import { useCycle } from "@/hooks/store/use-cycle";
|
||||
import { useAppRouter } from "@/hooks/use-app-router";
|
||||
// components
|
||||
import { CycleDetailsSidebar } from "./";
|
||||
import { CycleDetailsSidebar } from "./analytics-sidebar";
|
||||
|
||||
type Props = {
|
||||
projectId?: string;
|
||||
|
|
|
|||
|
|
@ -9,11 +9,11 @@ import { useTranslation } from "@plane/i18n";
|
|||
import { TCycleFilters } from "@plane/types";
|
||||
import { cn, calculateTotalFilters } from "@plane/utils";
|
||||
// components
|
||||
import { CycleFiltersSelection } from "@/components/cycles";
|
||||
import { FiltersDropdown } from "@/components/issues";
|
||||
// helpers
|
||||
import { FiltersDropdown } from "@/components/issues/issue-layouts/filters";
|
||||
// hooks
|
||||
import { useCycleFilter } from "@/hooks/store";
|
||||
import { useCycleFilter } from "@/hooks/store/use-cycle-filter";
|
||||
// local imports
|
||||
import { CycleFiltersSelection } from "./dropdowns";
|
||||
|
||||
type Props = {
|
||||
projectId: string;
|
||||
|
|
|
|||
|
|
@ -3,11 +3,12 @@ import { observer } from "mobx-react";
|
|||
import Image from "next/image";
|
||||
// components
|
||||
import { useTranslation } from "@plane/i18n";
|
||||
import { CyclesList } from "@/components/cycles";
|
||||
import { CyclesList } from "@/components/cycles/list";
|
||||
// ui
|
||||
import { CycleModuleListLayout } from "@/components/ui";
|
||||
import { CycleModuleListLayoutLoader } from "@/components/ui/loader/cycle-module-list-loader";
|
||||
// hooks
|
||||
import { useCycle, useCycleFilter } from "@/hooks/store";
|
||||
import { useCycle } from "@/hooks/store/use-cycle"
|
||||
import { useCycleFilter } from "@/hooks/store/use-cycle-filter";
|
||||
// assets
|
||||
import AllFiltersImage from "@/public/empty-state/cycle/all-filters.svg";
|
||||
import NameFilterImage from "@/public/empty-state/cycle/name-filter.svg";
|
||||
|
|
@ -30,7 +31,7 @@ export const CyclesView: FC<ICyclesView> = observer((props) => {
|
|||
(cycleId) => cycleId !== currentProjectActiveCycleId
|
||||
);
|
||||
|
||||
if (loader || !filteredCycleIds) return <CycleModuleListLayout />;
|
||||
if (loader || !filteredCycleIds) return <CycleModuleListLayoutLoader />;
|
||||
|
||||
if (filteredCycleIds.length === 0 && filteredCompletedCycleIds?.length === 0)
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import { AlertModalCore, TOAST_TYPE, setToast } from "@plane/ui";
|
|||
// helpers
|
||||
import { captureError, captureSuccess } from "@/helpers/event-tracker.helper";
|
||||
// hooks
|
||||
import { useCycle } from "@/hooks/store";
|
||||
import { useCycle } from "@/hooks/store/use-cycle";
|
||||
import { useAppRouter } from "@/hooks/use-app-router";
|
||||
|
||||
interface ICycleDelete {
|
||||
|
|
|
|||
|
|
@ -2,8 +2,10 @@ import React from "react";
|
|||
import { observer } from "mobx-react";
|
||||
import { EEstimateSystem, TCycleEstimateType } from "@plane/types";
|
||||
import { CustomSelect } from "@plane/ui";
|
||||
import { useCycle, useProjectEstimates } from "@/hooks/store";
|
||||
import { cycleEstimateOptions } from "../analytics-sidebar";
|
||||
import { useCycle } from "@/hooks/store/use-cycle"
|
||||
import { useProjectEstimates } from "@/hooks/store/estimates";
|
||||
// local imports
|
||||
import { cycleEstimateOptions } from "../analytics-sidebar/issue-progress";
|
||||
|
||||
type TProps = {
|
||||
value: TCycleEstimateType;
|
||||
|
|
|
|||
|
|
@ -1,13 +1,11 @@
|
|||
import React, { useState } from "react";
|
||||
import { observer } from "mobx-react";
|
||||
// constants
|
||||
// plane imports
|
||||
import { DATE_AFTER_FILTER_OPTIONS } from "@plane/constants";
|
||||
// components
|
||||
import { isInDateFormat } from "@plane/utils";
|
||||
import { DateFilterModal } from "@/components/core";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues";
|
||||
|
||||
// helpers
|
||||
// components
|
||||
import { DateFilterModal } from "@/components/core/filters/date-filter-modal";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters";
|
||||
|
||||
type Props = {
|
||||
appliedFilters: string[] | null;
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
import { useState } from "react";
|
||||
import { observer } from "mobx-react";
|
||||
import { Search, X } from "lucide-react";
|
||||
// plane imports
|
||||
import { TCycleFilters, TCycleGroups } from "@plane/types";
|
||||
// components
|
||||
import { FilterEndDate, FilterStartDate, FilterStatus } from "@/components/cycles";
|
||||
// hooks
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
// types
|
||||
// local imports
|
||||
import { FilterEndDate } from "./end-date";
|
||||
import { FilterStartDate } from "./start-date";
|
||||
import { FilterStatus } from "./status";
|
||||
|
||||
type Props = {
|
||||
filters: TCycleFilters;
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import { observer } from "mobx-react";
|
|||
import { DATE_AFTER_FILTER_OPTIONS } from "@plane/constants";
|
||||
// components
|
||||
import { isInDateFormat } from "@plane/utils";
|
||||
import { DateFilterModal } from "@/components/core";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues";
|
||||
import { DateFilterModal } from "@/components/core/filters/date-filter-modal";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters";
|
||||
|
||||
// helpers
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { CYCLE_STATUS } from "@plane/constants";
|
|||
import { useTranslation } from "@plane/i18n";
|
||||
import { TCycleGroups } from "@plane/types";
|
||||
// components
|
||||
import { FilterHeader, FilterOption } from "@/components/issues";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues/issue-layouts/filters";
|
||||
// types
|
||||
// constants
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,8 @@ import { ICycle } from "@plane/types";
|
|||
import { Button, Input, TextArea } from "@plane/ui";
|
||||
import { getDate, renderFormattedPayloadDate, getTabIndex } from "@plane/utils";
|
||||
// components
|
||||
import { DateRangeDropdown, ProjectDropdown } from "@/components/dropdowns";
|
||||
import { DateRangeDropdown } from "@/components/dropdowns/date-range";
|
||||
import { ProjectDropdown } from "@/components/dropdowns/project/dropdown";
|
||||
// hooks
|
||||
import { useUser } from "@/hooks/store/user/user-user";
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue