fix: eslint fixes and file formatting
This commit is contained in:
parent
473dfc7a5b
commit
53ddef1cd5
954 changed files with 3921 additions and 3809 deletions
|
|
@ -2,12 +2,12 @@ import React, { useState } from "react";
|
|||
import { useRouter } from "next/router";
|
||||
import { useTheme } from "next-themes";
|
||||
import { mutate } from "swr";
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
import { Trash2 } from "lucide-react";
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
// hooks
|
||||
// ui
|
||||
import { Button, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
import { useUser } from "hooks/store";
|
||||
import { useUser } from "@/hooks/store";
|
||||
|
||||
type Props = {
|
||||
isOpen: boolean;
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@ import { observer } from "mobx-react-lite";
|
|||
// ui
|
||||
import { TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// components
|
||||
import { GitHubSignInButton, GoogleSignInButton } from "components/account";
|
||||
import { GitHubSignInButton, GoogleSignInButton } from "@/components/account";
|
||||
// hooks
|
||||
import { useApplication } from "hooks/store";
|
||||
import { useApplication } from "@/hooks/store";
|
||||
// services
|
||||
import { AuthService } from "services/auth.service";
|
||||
import { AuthService } from "@/services/auth.service";
|
||||
|
||||
type Props = {
|
||||
handleSignInRedirection: () => Promise<void>;
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import React from "react";
|
||||
import { observer } from "mobx-react-lite";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
import { XCircle } from "lucide-react";
|
||||
import { observer } from "mobx-react-lite";
|
||||
// services
|
||||
import { AuthService } from "services/auth.service";
|
||||
// ui
|
||||
import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// helpers
|
||||
import { checkEmailValidity } from "helpers/string.helper";
|
||||
// types
|
||||
import { IEmailCheckData } from "@plane/types";
|
||||
// services
|
||||
import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
import { checkEmailValidity } from "@/helpers/string.helper";
|
||||
import { AuthService } from "@/services/auth.service";
|
||||
// ui
|
||||
// helpers
|
||||
// types
|
||||
|
||||
type Props = {
|
||||
onSubmit: (isPasswordAutoset: boolean) => void;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Fragment, useState } from "react";
|
||||
import { usePopper } from "react-popper";
|
||||
import { Popover } from "@headlessui/react";
|
||||
import { X } from "lucide-react";
|
||||
import { Popover } from "@headlessui/react";
|
||||
|
||||
export const ForgotPasswordPopover = () => {
|
||||
// popper-js refs
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
import React, { useState } from "react";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
// services
|
||||
import { AuthService } from "services/auth.service";
|
||||
// hooks
|
||||
import { useEventTracker } from "hooks/store";
|
||||
// ui
|
||||
import { Eye, EyeOff } from "lucide-react";
|
||||
import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// helpers
|
||||
import { checkEmailValidity } from "helpers/string.helper";
|
||||
import { PASSWORD_CREATE_SELECTED, PASSWORD_CREATE_SKIPPED } from "@/constants/event-tracker";
|
||||
import { checkEmailValidity } from "@/helpers/string.helper";
|
||||
// icons
|
||||
import { Eye, EyeOff } from "lucide-react";
|
||||
import { PASSWORD_CREATE_SELECTED, PASSWORD_CREATE_SKIPPED } from "constants/event-tracker";
|
||||
import { useEventTracker } from "@/hooks/store";
|
||||
import { AuthService } from "@/services/auth.service";
|
||||
|
||||
type Props = {
|
||||
email: string;
|
||||
|
|
|
|||
|
|
@ -3,19 +3,19 @@ import { observer } from "mobx-react-lite";
|
|||
import Link from "next/link";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
import { Eye, EyeOff, XCircle } from "lucide-react";
|
||||
import { IPasswordSignInData } from "@plane/types";
|
||||
// services
|
||||
import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
import { ESignInSteps, ForgotPasswordPopover } from "components/account";
|
||||
import { FORGOT_PASSWORD, SIGN_IN_WITH_PASSWORD } from "constants/event-tracker";
|
||||
import { checkEmailValidity } from "helpers/string.helper";
|
||||
import { useApplication, useEventTracker } from "hooks/store";
|
||||
import { AuthService } from "services/auth.service";
|
||||
import { ESignInSteps, ForgotPasswordPopover } from "@/components/account";
|
||||
import { FORGOT_PASSWORD, SIGN_IN_WITH_PASSWORD } from "@/constants/event-tracker";
|
||||
import { checkEmailValidity } from "@/helpers/string.helper";
|
||||
import { useApplication, useEventTracker } from "@/hooks/store";
|
||||
import { AuthService } from "@/services/auth.service";
|
||||
// hooks
|
||||
// components
|
||||
// ui
|
||||
// helpers
|
||||
// types
|
||||
import { IPasswordSignInData } from "@plane/types";
|
||||
// constants
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@ import {
|
|||
SignInPasswordForm,
|
||||
OAuthOptions,
|
||||
SignInOptionalSetPasswordForm,
|
||||
} from "components/account";
|
||||
import { LatestFeatureBlock } from "components/common";
|
||||
import { NAVIGATE_TO_SIGNUP } from "constants/event-tracker";
|
||||
import { useApplication, useEventTracker } from "hooks/store";
|
||||
import useSignInRedirection from "hooks/use-sign-in-redirection";
|
||||
} from "@/components/account";
|
||||
import { LatestFeatureBlock } from "@/components/common";
|
||||
import { NAVIGATE_TO_SIGNUP } from "@/constants/event-tracker";
|
||||
import { useApplication, useEventTracker } from "@/hooks/store";
|
||||
import useSignInRedirection from "@/hooks/use-sign-in-redirection";
|
||||
// components
|
||||
// constants
|
||||
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
import React, { useState } from "react";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
import { XCircle } from "lucide-react";
|
||||
import { IEmailCheckData, IMagicSignInData } from "@plane/types";
|
||||
// services
|
||||
import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
|
||||
import { CODE_VERIFIED } from "constants/event-tracker";
|
||||
import { checkEmailValidity } from "helpers/string.helper";
|
||||
import { useEventTracker } from "hooks/store";
|
||||
import { CODE_VERIFIED } from "@/constants/event-tracker";
|
||||
import { checkEmailValidity } from "@/helpers/string.helper";
|
||||
import { useEventTracker } from "@/hooks/store";
|
||||
|
||||
import useTimer from "hooks/use-timer";
|
||||
import { AuthService } from "services/auth.service";
|
||||
import { UserService } from "services/user.service";
|
||||
import useTimer from "@/hooks/use-timer";
|
||||
import { AuthService } from "@/services/auth.service";
|
||||
import { UserService } from "@/services/user.service";
|
||||
// hooks
|
||||
// ui
|
||||
// helpers
|
||||
// types
|
||||
import { IEmailCheckData, IMagicSignInData } from "@plane/types";
|
||||
// constants
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@ import React from "react";
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
import { XCircle } from "lucide-react";
|
||||
import { IEmailCheckData } from "@plane/types";
|
||||
// services
|
||||
import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
import { checkEmailValidity } from "helpers/string.helper";
|
||||
import { AuthService } from "services/auth.service";
|
||||
import { checkEmailValidity } from "@/helpers/string.helper";
|
||||
import { AuthService } from "@/services/auth.service";
|
||||
// ui
|
||||
// helpers
|
||||
// types
|
||||
import { IEmailCheckData } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
onSubmit: () => void;
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@ import { Controller, useForm } from "react-hook-form";
|
|||
// services
|
||||
import { Eye, EyeOff } from "lucide-react";
|
||||
import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
import { ESignUpSteps } from "components/account";
|
||||
import { PASSWORD_CREATE_SKIPPED, SETUP_PASSWORD } from "constants/event-tracker";
|
||||
import { checkEmailValidity } from "helpers/string.helper";
|
||||
import { useEventTracker } from "hooks/store";
|
||||
import { AuthService } from "services/auth.service";
|
||||
import { ESignUpSteps } from "@/components/account";
|
||||
import { PASSWORD_CREATE_SKIPPED, SETUP_PASSWORD } from "@/constants/event-tracker";
|
||||
import { checkEmailValidity } from "@/helpers/string.helper";
|
||||
import { useEventTracker } from "@/hooks/store";
|
||||
import { AuthService } from "@/services/auth.service";
|
||||
// hooks
|
||||
// ui
|
||||
// helpers
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@ import { observer } from "mobx-react-lite";
|
|||
import Link from "next/link";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
import { Eye, EyeOff, XCircle } from "lucide-react";
|
||||
import { IPasswordSignInData } from "@plane/types";
|
||||
// services
|
||||
// ui
|
||||
import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// helpers
|
||||
import { checkEmailValidity } from "helpers/string.helper";
|
||||
import { AuthService } from "services/auth.service";
|
||||
import { checkEmailValidity } from "@/helpers/string.helper";
|
||||
import { AuthService } from "@/services/auth.service";
|
||||
// types
|
||||
import { IPasswordSignInData } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
onSubmit: () => Promise<void>;
|
||||
|
|
|
|||
|
|
@ -8,10 +8,10 @@ import {
|
|||
SignUpOptionalSetPasswordForm,
|
||||
SignUpPasswordForm,
|
||||
SignUpUniqueCodeForm,
|
||||
} from "components/account";
|
||||
import { NAVIGATE_TO_SIGNIN } from "constants/event-tracker";
|
||||
import { useApplication, useEventTracker } from "hooks/store";
|
||||
import useSignInRedirection from "hooks/use-sign-in-redirection";
|
||||
} from "@/components/account";
|
||||
import { NAVIGATE_TO_SIGNIN } from "@/constants/event-tracker";
|
||||
import { useApplication, useEventTracker } from "@/hooks/store";
|
||||
import useSignInRedirection from "@/hooks/use-sign-in-redirection";
|
||||
// components
|
||||
// constants
|
||||
|
||||
|
|
|
|||
|
|
@ -2,20 +2,20 @@ import React, { useState } from "react";
|
|||
import Link from "next/link";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
import { XCircle } from "lucide-react";
|
||||
import { IEmailCheckData, IMagicSignInData } from "@plane/types";
|
||||
// services
|
||||
import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
|
||||
import { CODE_VERIFIED } from "constants/event-tracker";
|
||||
import { checkEmailValidity } from "helpers/string.helper";
|
||||
import { useEventTracker } from "hooks/store";
|
||||
import useTimer from "hooks/use-timer";
|
||||
import { AuthService } from "services/auth.service";
|
||||
import { UserService } from "services/user.service";
|
||||
import { CODE_VERIFIED } from "@/constants/event-tracker";
|
||||
import { checkEmailValidity } from "@/helpers/string.helper";
|
||||
import { useEventTracker } from "@/hooks/store";
|
||||
import useTimer from "@/hooks/use-timer";
|
||||
import { AuthService } from "@/services/auth.service";
|
||||
import { UserService } from "@/services/user.service";
|
||||
// hooks
|
||||
// ui
|
||||
// helpers
|
||||
// types
|
||||
import { IEmailCheckData, IMagicSignInData } from "@plane/types";
|
||||
// constants
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -2,16 +2,16 @@ import { observer } from "mobx-react-lite";
|
|||
import { useRouter } from "next/router";
|
||||
import { useForm } from "react-hook-form";
|
||||
import useSWR from "swr";
|
||||
import { IAnalyticsParams } from "@plane/types";
|
||||
// services
|
||||
// components
|
||||
import { CustomAnalyticsSelectBar, CustomAnalyticsMainContent, CustomAnalyticsSidebar } from "components/analytics";
|
||||
import { CustomAnalyticsSelectBar, CustomAnalyticsMainContent, CustomAnalyticsSidebar } from "@/components/analytics";
|
||||
// types
|
||||
// fetch-keys
|
||||
import { ANALYTICS } from "constants/fetch-keys";
|
||||
import { cn } from "helpers/common.helper";
|
||||
import { useApplication } from "hooks/store";
|
||||
import { AnalyticsService } from "services/analytics.service";
|
||||
import { IAnalyticsParams } from "@plane/types";
|
||||
import { ANALYTICS } from "@/constants/fetch-keys";
|
||||
import { cn } from "@/helpers/common.helper";
|
||||
import { useApplication } from "@/hooks/store";
|
||||
import { AnalyticsService } from "@/services/analytics.service";
|
||||
|
||||
type Props = {
|
||||
additionalParams?: Partial<IAnalyticsParams>;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
// nivo
|
||||
import { BarTooltipProps } from "@nivo/bar";
|
||||
import { DATE_KEYS } from "constants/analytics";
|
||||
import { renderMonthAndYear } from "helpers/analytics.helper";
|
||||
// types
|
||||
import { IAnalyticsParams, IAnalyticsResponse } from "@plane/types";
|
||||
import { DATE_KEYS } from "@/constants/analytics";
|
||||
import { renderMonthAndYear } from "@/helpers/analytics.helper";
|
||||
// types
|
||||
|
||||
type Props = {
|
||||
datum: BarTooltipProps<any>;
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
// nivo
|
||||
import { BarDatum } from "@nivo/bar";
|
||||
// components
|
||||
import { IAnalyticsParams, IAnalyticsResponse } from "@plane/types";
|
||||
import { Tooltip } from "@plane/ui";
|
||||
// ui
|
||||
import { BarGraph } from "components/ui";
|
||||
import { BarGraph } from "@/components/ui";
|
||||
// helpers
|
||||
import { generateBarColor, generateDisplayName } from "helpers/analytics.helper";
|
||||
import { findStringWithMostCharacters } from "helpers/array.helper";
|
||||
import { generateBarColor, generateDisplayName } from "@/helpers/analytics.helper";
|
||||
import { findStringWithMostCharacters } from "@/helpers/array.helper";
|
||||
// types
|
||||
import { IAnalyticsParams, IAnalyticsResponse } from "@plane/types";
|
||||
import { CustomTooltip } from "./custom-tooltip";
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import { useRouter } from "next/router";
|
||||
import { mutate } from "swr";
|
||||
import { IAnalyticsParams, IAnalyticsResponse } from "@plane/types";
|
||||
|
||||
// components
|
||||
import { Button, Loader } from "@plane/ui";
|
||||
import { AnalyticsGraph, AnalyticsTable } from "components/analytics";
|
||||
import { AnalyticsGraph, AnalyticsTable } from "@/components/analytics";
|
||||
// ui
|
||||
// helpers
|
||||
import { ANALYTICS } from "constants/fetch-keys";
|
||||
import { convertResponseToBarGraphData } from "helpers/analytics.helper";
|
||||
import { ANALYTICS } from "@/constants/fetch-keys";
|
||||
import { convertResponseToBarGraphData } from "@/helpers/analytics.helper";
|
||||
// types
|
||||
import { IAnalyticsParams, IAnalyticsResponse } from "@plane/types";
|
||||
// fetch-keys
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { Control, Controller, UseFormSetValue } from "react-hook-form";
|
||||
import { IAnalyticsParams } from "@plane/types";
|
||||
// hooks
|
||||
import { SelectProject, SelectSegment, SelectXAxis, SelectYAxis } from "components/analytics";
|
||||
import { useProject } from "hooks/store";
|
||||
import { SelectProject, SelectSegment, SelectXAxis, SelectYAxis } from "@/components/analytics";
|
||||
import { useProject } from "@/hooks/store";
|
||||
// components
|
||||
// types
|
||||
import { IAnalyticsParams } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
control: Control<IAnalyticsParams, any>;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { observer } from "mobx-react-lite";
|
||||
// hooks
|
||||
import { CustomSearchSelect } from "@plane/ui";
|
||||
import { useProject } from "hooks/store";
|
||||
import { useProject } from "@/hooks/store";
|
||||
// ui
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import { useRouter } from "next/router";
|
||||
import { IAnalyticsParams, TXAxisValues } from "@plane/types";
|
||||
|
||||
// ui
|
||||
import { CustomSelect } from "@plane/ui";
|
||||
// types
|
||||
import { ANALYTICS_X_AXIS_VALUES } from "constants/analytics";
|
||||
import { IAnalyticsParams, TXAxisValues } from "@plane/types";
|
||||
import { ANALYTICS_X_AXIS_VALUES } from "@/constants/analytics";
|
||||
// constants
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import { useRouter } from "next/router";
|
||||
import { IAnalyticsParams, TXAxisValues } from "@plane/types";
|
||||
|
||||
// ui
|
||||
import { CustomSelect } from "@plane/ui";
|
||||
// types
|
||||
import { ANALYTICS_X_AXIS_VALUES } from "constants/analytics";
|
||||
import { IAnalyticsParams, TXAxisValues } from "@plane/types";
|
||||
import { ANALYTICS_X_AXIS_VALUES } from "@/constants/analytics";
|
||||
// constants
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
// ui
|
||||
import { TYAxisValues } from "@plane/types";
|
||||
import { CustomSelect } from "@plane/ui";
|
||||
// types
|
||||
import { ANALYTICS_Y_AXIS_VALUES } from "constants/analytics";
|
||||
import { TYAxisValues } from "@plane/types";
|
||||
import { ANALYTICS_Y_AXIS_VALUES } from "@/constants/analytics";
|
||||
// constants
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ import { observer } from "mobx-react-lite";
|
|||
// icons
|
||||
import { Contrast, LayoutGrid, Users } from "lucide-react";
|
||||
// helpers
|
||||
import { truncateText } from "helpers/string.helper";
|
||||
import { useProject } from "hooks/store";
|
||||
import { ProjectLogo } from "components/project";
|
||||
import { ProjectLogo } from "@/components/project";
|
||||
import { truncateText } from "@/helpers/string.helper";
|
||||
import { useProject } from "@/hooks/store";
|
||||
|
||||
type Props = {
|
||||
projectIds: string[];
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { useRouter } from "next/router";
|
||||
// hooks
|
||||
import { NETWORK_CHOICES } from "constants/project";
|
||||
import { renderFormattedDate } from "helpers/date-time.helper";
|
||||
import { useCycle, useMember, useModule, useProject } from "hooks/store";
|
||||
import { ProjectLogo } from "@/components/project";
|
||||
import { NETWORK_CHOICES } from "@/constants/project";
|
||||
import { renderFormattedDate } from "@/helpers/date-time.helper";
|
||||
import { useCycle, useMember, useModule, useProject } from "@/hooks/store";
|
||||
// components
|
||||
import { ProjectLogo } from "components/project";
|
||||
// helpers
|
||||
// constants
|
||||
|
||||
|
|
|
|||
|
|
@ -7,18 +7,18 @@ import { mutate } from "swr";
|
|||
// components
|
||||
// ui
|
||||
import { CalendarDays, Download, RefreshCw } from "lucide-react";
|
||||
import { IAnalyticsParams, IAnalyticsResponse, IExportAnalyticsFormData, IWorkspace } from "@plane/types";
|
||||
import { Button, LayersIcon, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// icons
|
||||
import { CustomAnalyticsSidebarHeader, CustomAnalyticsSidebarProjectsList } from "components/analytics";
|
||||
import { CustomAnalyticsSidebarHeader, CustomAnalyticsSidebarProjectsList } from "@/components/analytics";
|
||||
// helpers
|
||||
// types
|
||||
// fetch-keys
|
||||
import { ANALYTICS } from "constants/fetch-keys";
|
||||
import { cn } from "helpers/common.helper";
|
||||
import { renderFormattedDate } from "helpers/date-time.helper";
|
||||
import { useCycle, useModule, useProject, useUser, useWorkspace } from "hooks/store";
|
||||
import { AnalyticsService } from "services/analytics.service";
|
||||
import { IAnalyticsParams, IAnalyticsResponse, IExportAnalyticsFormData, IWorkspace } from "@plane/types";
|
||||
import { ANALYTICS } from "@/constants/fetch-keys";
|
||||
import { cn } from "@/helpers/common.helper";
|
||||
import { renderFormattedDate } from "@/helpers/date-time.helper";
|
||||
import { useCycle, useModule, useProject, useUser, useWorkspace } from "@/hooks/store";
|
||||
import { AnalyticsService } from "@/services/analytics.service";
|
||||
|
||||
type Props = {
|
||||
analytics: IAnalyticsResponse | undefined;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { BarDatum } from "@nivo/bar";
|
||||
|
||||
// icons
|
||||
import { IAnalyticsParams, IAnalyticsResponse, TIssuePriorities } from "@plane/types";
|
||||
import { PriorityIcon } from "@plane/ui";
|
||||
// helpers
|
||||
import { ANALYTICS_X_AXIS_VALUES, ANALYTICS_Y_AXIS_VALUES } from "constants/analytics";
|
||||
import { generateBarColor, generateDisplayName } from "helpers/analytics.helper";
|
||||
import { ANALYTICS_X_AXIS_VALUES, ANALYTICS_Y_AXIS_VALUES } from "@/constants/analytics";
|
||||
import { generateBarColor, generateDisplayName } from "@/helpers/analytics.helper";
|
||||
// types
|
||||
import { IAnalyticsParams, IAnalyticsResponse, TIssuePriorities } from "@plane/types";
|
||||
// constants
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import React from "react";
|
||||
import { observer } from "mobx-react-lite";
|
||||
import { Tab } from "@headlessui/react";
|
||||
// components
|
||||
import { CustomAnalytics, ScopeAndDemand } from "components/analytics";
|
||||
// types
|
||||
import { ANALYTICS_TABS } from "constants/analytics";
|
||||
import { ICycle, IModule, IProject } from "@plane/types";
|
||||
// components
|
||||
import { CustomAnalytics, ScopeAndDemand } from "@/components/analytics";
|
||||
// types
|
||||
import { ANALYTICS_TABS } from "@/constants/analytics";
|
||||
// constants
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import React, { useState } from "react";
|
||||
import { observer } from "mobx-react-lite";
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
import { ICycle, IModule, IProject } from "@plane/types";
|
||||
|
||||
// components
|
||||
import { ProjectAnalyticsModalHeader, ProjectAnalyticsModalMainContent } from "components/analytics";
|
||||
import { ProjectAnalyticsModalHeader, ProjectAnalyticsModalMainContent } from "@/components/analytics";
|
||||
// types
|
||||
import { ICycle, IModule, IProject } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
isOpen: boolean;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
// icons
|
||||
import { Triangle } from "lucide-react";
|
||||
// types
|
||||
import { STATE_GROUPS } from "constants/state";
|
||||
import { IDefaultAnalyticsResponse, TStateGroups } from "@plane/types";
|
||||
// types
|
||||
import { STATE_GROUPS } from "@/constants/state";
|
||||
// constants
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// ui
|
||||
import { ProfileEmptyState } from "components/ui";
|
||||
import { ProfileEmptyState } from "@/components/ui";
|
||||
// image
|
||||
import emptyUsers from "public/empty-state/empty_users.svg";
|
||||
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ import useSWR from "swr";
|
|||
// services
|
||||
// components
|
||||
import { Button, Loader } from "@plane/ui";
|
||||
import { AnalyticsDemand, AnalyticsLeaderBoard, AnalyticsScope, AnalyticsYearWiseIssues } from "components/analytics";
|
||||
import { AnalyticsDemand, AnalyticsLeaderBoard, AnalyticsScope, AnalyticsYearWiseIssues } from "@/components/analytics";
|
||||
// ui
|
||||
// fetch-keys
|
||||
import { DEFAULT_ANALYTICS } from "constants/fetch-keys";
|
||||
import { AnalyticsService } from "services/analytics.service";
|
||||
import { DEFAULT_ANALYTICS } from "@/constants/fetch-keys";
|
||||
import { AnalyticsService } from "@/services/analytics.service";
|
||||
|
||||
type Props = {
|
||||
fullScreen?: boolean;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
// ui
|
||||
import { BarGraph, ProfileEmptyState } from "components/ui";
|
||||
import { IDefaultAnalyticsResponse } from "@plane/types";
|
||||
import { BarGraph, ProfileEmptyState } from "@/components/ui";
|
||||
// image
|
||||
import emptyBarGraph from "public/empty-state/empty_bar_graph.svg";
|
||||
// types
|
||||
import { IDefaultAnalyticsResponse } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
defaultAnalytics: IDefaultAnalyticsResponse;
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
// ui
|
||||
import { LineGraph, ProfileEmptyState } from "components/ui";
|
||||
import { IDefaultAnalyticsResponse } from "@plane/types";
|
||||
import { LineGraph, ProfileEmptyState } from "@/components/ui";
|
||||
// image
|
||||
import { MONTHS_LIST } from "constants/calendar";
|
||||
import { MONTHS_LIST } from "@/constants/calendar";
|
||||
import emptyGraph from "public/empty-state/empty_graph.svg";
|
||||
// types
|
||||
import { IDefaultAnalyticsResponse } from "@plane/types";
|
||||
// constants
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ import { useState, Fragment, FC } from "react";
|
|||
import { useRouter } from "next/router";
|
||||
import { mutate } from "swr";
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
import { IApiToken } from "@plane/types";
|
||||
// services
|
||||
import { Button, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
import { API_TOKENS_LIST } from "constants/fetch-keys";
|
||||
import { APITokenService } from "services/api_token.service";
|
||||
import { API_TOKENS_LIST } from "@/constants/fetch-keys";
|
||||
import { APITokenService } from "@/services/api_token.service";
|
||||
// ui
|
||||
// types
|
||||
import { IApiToken } from "@plane/types";
|
||||
// fetch-keys
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -2,19 +2,19 @@ import React, { useState } from "react";
|
|||
import { useRouter } from "next/router";
|
||||
import { mutate } from "swr";
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
import { IApiToken } from "@plane/types";
|
||||
// services
|
||||
import { TOAST_TYPE, setToast } from "@plane/ui";
|
||||
|
||||
import { CreateApiTokenForm, GeneratedTokenDetails } from "components/api-token";
|
||||
import { API_TOKENS_LIST } from "constants/fetch-keys";
|
||||
import { renderFormattedDate } from "helpers/date-time.helper";
|
||||
import { csvDownload } from "helpers/download.helper";
|
||||
import { APITokenService } from "services/api_token.service";
|
||||
import { CreateApiTokenForm, GeneratedTokenDetails } from "@/components/api-token";
|
||||
import { API_TOKENS_LIST } from "@/constants/fetch-keys";
|
||||
import { renderFormattedDate } from "@/helpers/date-time.helper";
|
||||
import { csvDownload } from "@/helpers/download.helper";
|
||||
import { APITokenService } from "@/services/api_token.service";
|
||||
// ui
|
||||
// components
|
||||
// helpers
|
||||
// types
|
||||
import { IApiToken } from "@plane/types";
|
||||
// fetch-keys
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
import { useState } from "react";
|
||||
import { add } from "date-fns";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
import { DateDropdown } from "components/dropdowns";
|
||||
import { Calendar } from "lucide-react";
|
||||
import { IApiToken } from "@plane/types";
|
||||
// ui
|
||||
import { Button, CustomSelect, Input, TextArea, ToggleSwitch, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
import { DateDropdown } from "@/components/dropdowns";
|
||||
// helpers
|
||||
import { renderFormattedDate, renderFormattedPayloadDate } from "helpers/date-time.helper";
|
||||
import { renderFormattedDate, renderFormattedPayloadDate } from "@/helpers/date-time.helper";
|
||||
// types
|
||||
import { IApiToken } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
handleClose: () => void;
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
import { Copy } from "lucide-react";
|
||||
import { IApiToken } from "@plane/types";
|
||||
// ui
|
||||
import { Button, Tooltip, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// helpers
|
||||
import { renderFormattedDate } from "helpers/date-time.helper";
|
||||
import { copyTextToClipboard } from "helpers/string.helper";
|
||||
import { renderFormattedDate } from "@/helpers/date-time.helper";
|
||||
import { copyTextToClipboard } from "@/helpers/string.helper";
|
||||
// types
|
||||
import { IApiToken } from "@plane/types";
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
// hooks
|
||||
import { usePlatformOS } from "hooks/use-platform-os";
|
||||
|
||||
type Props = {
|
||||
handleClose: () => void;
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
import { useState } from "react";
|
||||
import { XCircle } from "lucide-react";
|
||||
import { IApiToken } from "@plane/types";
|
||||
// components
|
||||
import { Tooltip } from "@plane/ui";
|
||||
import { DeleteApiTokenModal } from "components/api-token";
|
||||
import { usePlatformOS } from "hooks/use-platform-os";
|
||||
import { DeleteApiTokenModal } from "@/components/api-token";
|
||||
import { renderFormattedDate, calculateTimeAgo } from "@/helpers/date-time.helper";
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
// ui
|
||||
// helpers
|
||||
import { renderFormattedDate, calculateTimeAgo } from "helpers/date-time.helper";
|
||||
// types
|
||||
import { IApiToken } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
token: IApiToken;
|
||||
|
|
@ -36,8 +36,9 @@ export const ApiTokenListItem: React.FC<Props> = (props) => {
|
|||
<div className="flex w-4/5 items-center">
|
||||
<h5 className="truncate text-sm font-medium">{token.label}</h5>
|
||||
<span
|
||||
className={`${token.is_active ? "bg-green-500/10 text-green-500" : "bg-custom-background-80 text-custom-text-400"
|
||||
} ml-2 flex h-4 max-h-fit items-center rounded-sm px-2 text-xs font-medium`}
|
||||
className={`${
|
||||
token.is_active ? "bg-green-500/10 text-green-500" : "bg-custom-background-80 text-custom-text-400"
|
||||
} ml-2 flex h-4 max-h-fit items-center rounded-sm px-2 text-xs font-medium`}
|
||||
>
|
||||
{token.is_active ? "Active" : "Expired"}
|
||||
</span>
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ import Image from "next/image";
|
|||
import Link from "next/link";
|
||||
import { useRouter } from "next/router";
|
||||
// hooks
|
||||
import { useUser } from "hooks/store";
|
||||
import { useUser } from "@/hooks/store";
|
||||
// layouts
|
||||
import DefaultLayout from "layouts/default-layout";
|
||||
import DefaultLayout from "@/layouts/default-layout";
|
||||
// images
|
||||
import ProjectNotAuthorizedImg from "public/auth/project-not-authorized.svg";
|
||||
import WorkspaceNotAuthorizedImg from "public/auth/workspace-not-authorized.svg";
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { useRouter } from "next/router";
|
|||
// hooks
|
||||
import { ClipboardList } from "lucide-react";
|
||||
import { Button } from "@plane/ui";
|
||||
import { useProject, useUser } from "hooks/store";
|
||||
import { useProject, useUser } from "@/hooks/store";
|
||||
// ui
|
||||
// icons
|
||||
// images
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import Link from "next/link";
|
|||
|
||||
// layouts
|
||||
import { Button } from "@plane/ui";
|
||||
import DefaultLayout from "layouts/default-layout";
|
||||
import DefaultLayout from "@/layouts/default-layout";
|
||||
// ui
|
||||
|
||||
export const NotAWorkspaceMember = () => (
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@ import { observer } from "mobx-react-lite";
|
|||
// hooks
|
||||
// component
|
||||
import { ArchiveRestore } from "lucide-react";
|
||||
import { IProject } from "@plane/types";
|
||||
import { CustomSelect, Loader, ToggleSwitch } from "@plane/ui";
|
||||
import { SelectMonthModal } from "components/automation";
|
||||
import { SelectMonthModal } from "@/components/automation";
|
||||
// icon
|
||||
// constants
|
||||
import { EUserProjectRoles, PROJECT_AUTOMATION_MONTHS } from "constants/project";
|
||||
import { useProject, useUser } from "hooks/store";
|
||||
import { EUserProjectRoles, PROJECT_AUTOMATION_MONTHS } from "@/constants/project";
|
||||
import { useProject, useUser } from "@/hooks/store";
|
||||
// types
|
||||
import { IProject } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
handleChange: (formData: Partial<IProject>) => Promise<void>;
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@ import React, { useState } from "react";
|
|||
import { observer } from "mobx-react-lite";
|
||||
// hooks
|
||||
import { ArchiveX } from "lucide-react";
|
||||
import { IProject } from "@plane/types";
|
||||
import { CustomSelect, CustomSearchSelect, ToggleSwitch, StateGroupIcon, DoubleCircleIcon, Loader } from "@plane/ui";
|
||||
import { SelectMonthModal } from "components/automation";
|
||||
import { EUserProjectRoles, PROJECT_AUTOMATION_MONTHS } from "constants/project";
|
||||
import { useProject, useProjectState, useUser } from "hooks/store";
|
||||
import { SelectMonthModal } from "@/components/automation";
|
||||
import { EUserProjectRoles, PROJECT_AUTOMATION_MONTHS } from "@/constants/project";
|
||||
import { useProject, useProjectState, useUser } from "@/hooks/store";
|
||||
// component
|
||||
// icons
|
||||
// types
|
||||
import { IProject } from "@plane/types";
|
||||
// constants
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ import { useRouter } from "next/router";
|
|||
import { Controller, useForm } from "react-hook-form";
|
||||
// headless ui
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
import type { IProject } from "@plane/types";
|
||||
// ui
|
||||
import { Button, Input } from "@plane/ui";
|
||||
// types
|
||||
import type { IProject } from "@plane/types";
|
||||
|
||||
// types
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { Command } from "cmdk";
|
|||
import { FileText, GithubIcon, MessageSquare, Rocket } from "lucide-react";
|
||||
// hooks
|
||||
import { DiscordIcon } from "@plane/ui";
|
||||
import { useApplication } from "hooks/store";
|
||||
import { useApplication } from "@/hooks/store";
|
||||
// ui
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -2,15 +2,15 @@ import { Command } from "cmdk";
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { useRouter } from "next/router";
|
||||
import { LinkIcon, Signal, Trash2, UserMinus2, UserPlus2 } from "lucide-react";
|
||||
import { TIssue } from "@plane/types";
|
||||
// hooks
|
||||
import { DoubleCircleIcon, UserGroupIcon, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
import { EIssuesStoreType } from "constants/issue";
|
||||
import { copyTextToClipboard } from "helpers/string.helper";
|
||||
import { useApplication, useUser, useIssues } from "hooks/store";
|
||||
import { EIssuesStoreType } from "@/constants/issue";
|
||||
import { copyTextToClipboard } from "@/helpers/string.helper";
|
||||
import { useApplication, useUser, useIssues } from "@/hooks/store";
|
||||
// ui
|
||||
// helpers
|
||||
// types
|
||||
import { TIssue } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
closePalette: () => void;
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ import { Command } from "cmdk";
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { useRouter } from "next/router";
|
||||
import { Check } from "lucide-react";
|
||||
import { TIssue } from "@plane/types";
|
||||
// mobx store
|
||||
import { Avatar } from "@plane/ui";
|
||||
import { EIssuesStoreType } from "constants/issue";
|
||||
import { useIssues, useMember } from "hooks/store";
|
||||
import { EIssuesStoreType } from "@/constants/issue";
|
||||
import { useIssues, useMember } from "@/hooks/store";
|
||||
// ui
|
||||
// types
|
||||
import { TIssue } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
closePalette: () => void;
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ import { Command } from "cmdk";
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { useRouter } from "next/router";
|
||||
import { Check } from "lucide-react";
|
||||
import { TIssue, TIssuePriorities } from "@plane/types";
|
||||
// mobx store
|
||||
import { PriorityIcon } from "@plane/ui";
|
||||
import { EIssuesStoreType, ISSUE_PRIORITIES } from "constants/issue";
|
||||
import { useIssues } from "hooks/store";
|
||||
import { EIssuesStoreType, ISSUE_PRIORITIES } from "@/constants/issue";
|
||||
import { useIssues } from "@/hooks/store";
|
||||
// ui
|
||||
// types
|
||||
import { TIssue, TIssuePriorities } from "@plane/types";
|
||||
// constants
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -3,13 +3,13 @@ import { observer } from "mobx-react-lite";
|
|||
import { useRouter } from "next/router";
|
||||
// hooks
|
||||
import { Check } from "lucide-react";
|
||||
import { TIssue } from "@plane/types";
|
||||
import { Spinner, StateGroupIcon } from "@plane/ui";
|
||||
import { EIssuesStoreType } from "constants/issue";
|
||||
import { useProjectState, useIssues } from "hooks/store";
|
||||
import { EIssuesStoreType } from "@/constants/issue";
|
||||
import { useProjectState, useIssues } from "@/hooks/store";
|
||||
// ui
|
||||
// icons
|
||||
// types
|
||||
import { TIssue } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
closePalette: () => void;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { Command } from "cmdk";
|
|||
import { ContrastIcon, FileText } from "lucide-react";
|
||||
// hooks
|
||||
import { DiceIcon, PhotoFilterIcon } from "@plane/ui";
|
||||
import { useApplication, useEventTracker } from "hooks/store";
|
||||
import { useApplication, useEventTracker } from "@/hooks/store";
|
||||
// ui
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import { Command } from "cmdk";
|
||||
import { useRouter } from "next/router";
|
||||
// helpers
|
||||
import { commandGroups } from "components/command-palette";
|
||||
// types
|
||||
import { IWorkspaceSearchResults } from "@plane/types";
|
||||
// helpers
|
||||
import { commandGroups } from "@/components/command-palette";
|
||||
// types
|
||||
|
||||
type Props = {
|
||||
closePalette: () => void;
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ import { useTheme } from "next-themes";
|
|||
import { Settings } from "lucide-react";
|
||||
// hooks
|
||||
import { TOAST_TYPE, setToast } from "@plane/ui";
|
||||
import { THEME_OPTIONS } from "constants/themes";
|
||||
import { useUser } from "hooks/store";
|
||||
import { THEME_OPTIONS } from "@/constants/themes";
|
||||
import { useUser } from "@/hooks/store";
|
||||
// ui
|
||||
// constants
|
||||
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ import { Command } from "cmdk";
|
|||
import Link from "next/link";
|
||||
import { useRouter } from "next/router";
|
||||
// constants
|
||||
import { EUserWorkspaceRoles, WORKSPACE_SETTINGS_LINKS } from "constants/workspace";
|
||||
import { useUser } from "hooks/store";
|
||||
import { EUserWorkspaceRoles, WORKSPACE_SETTINGS_LINKS } from "@/constants/workspace";
|
||||
import { useUser } from "@/hooks/store";
|
||||
|
||||
type Props = {
|
||||
closePalette: () => void;
|
||||
|
|
|
|||
|
|
@ -3,20 +3,12 @@ import { Command } from "cmdk";
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { useRouter } from "next/router";
|
||||
import useSWR from "swr";
|
||||
import { FolderPlus, Search, Settings } from "lucide-react";
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
// icons
|
||||
import { FolderPlus, Search, Settings } from "lucide-react";
|
||||
import { IWorkspaceSearchResults } from "@plane/types";
|
||||
// hooks
|
||||
import { useApplication, useEventTracker, useProject } from "hooks/store";
|
||||
import { usePlatformOS } from "hooks/use-platform-os";
|
||||
import useDebounce from "hooks/use-debounce";
|
||||
// services
|
||||
import { IssueService } from "services/issue";
|
||||
import { WorkspaceService } from "services/workspace.service";
|
||||
// ui
|
||||
import { LayersIcon, Loader, ToggleSwitch, Tooltip } from "@plane/ui";
|
||||
// components
|
||||
import { EmptyState } from "components/empty-state";
|
||||
import {
|
||||
CommandPaletteThemeActions,
|
||||
ChangeIssueAssignee,
|
||||
|
|
@ -27,13 +19,21 @@ import {
|
|||
CommandPaletteProjectActions,
|
||||
CommandPaletteWorkspaceSettingsActions,
|
||||
CommandPaletteSearchResults,
|
||||
} from "components/command-palette";
|
||||
} from "@/components/command-palette";
|
||||
import { EmptyState } from "@/components/empty-state";
|
||||
import { EmptyStateType } from "@/constants/empty-state";
|
||||
import { ISSUE_DETAILS } from "@/constants/fetch-keys";
|
||||
import { useApplication, useEventTracker, useProject } from "@/hooks/store";
|
||||
import useDebounce from "@/hooks/use-debounce";
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
// services
|
||||
import { IssueService } from "@/services/issue";
|
||||
import { WorkspaceService } from "@/services/workspace.service";
|
||||
// ui
|
||||
// components
|
||||
// types
|
||||
import { IWorkspaceSearchResults } from "@plane/types";
|
||||
// fetch-keys
|
||||
// constants
|
||||
import { EmptyStateType } from "constants/empty-state";
|
||||
import { ISSUE_DETAILS } from "constants/fetch-keys";
|
||||
|
||||
const workspaceService = new WorkspaceService();
|
||||
const issueService = new IssueService();
|
||||
|
|
|
|||
|
|
@ -5,26 +5,26 @@ import useSWR from "swr";
|
|||
// hooks
|
||||
import { TOAST_TYPE, setToast } from "@plane/ui";
|
||||
|
||||
import { CommandModal, ShortcutsModal } from "components/command-palette";
|
||||
import { CommandModal, ShortcutsModal } from "@/components/command-palette";
|
||||
// ui
|
||||
// components
|
||||
import { BulkDeleteIssuesModal } from "components/core";
|
||||
import { CycleCreateUpdateModal } from "components/cycles";
|
||||
import { CreateUpdateIssueModal, DeleteIssueModal } from "components/issues";
|
||||
import { CreateUpdateModuleModal } from "components/modules";
|
||||
import { CreateUpdatePageModal } from "components/pages";
|
||||
import { CreateProjectModal } from "components/project";
|
||||
import { CreateUpdateProjectViewModal } from "components/views";
|
||||
import { BulkDeleteIssuesModal } from "@/components/core";
|
||||
import { CycleCreateUpdateModal } from "@/components/cycles";
|
||||
import { CreateUpdateIssueModal, DeleteIssueModal } from "@/components/issues";
|
||||
import { CreateUpdateModuleModal } from "@/components/modules";
|
||||
import { CreateUpdatePageModal } from "@/components/pages";
|
||||
import { CreateProjectModal } from "@/components/project";
|
||||
import { CreateUpdateProjectViewModal } from "@/components/views";
|
||||
// helpers
|
||||
// services
|
||||
// fetch keys
|
||||
import { ISSUE_DETAILS } from "constants/fetch-keys";
|
||||
import { EIssuesStoreType } from "constants/issue";
|
||||
import { copyTextToClipboard } from "helpers/string.helper";
|
||||
import { useApplication, useEventTracker, useIssues, useUser } from "hooks/store";
|
||||
import { IssueService } from "services/issue";
|
||||
import { EUserProjectRoles } from "constants/project";
|
||||
import { EUserWorkspaceRoles } from "constants/workspace";
|
||||
import { ISSUE_DETAILS } from "@/constants/fetch-keys";
|
||||
import { EIssuesStoreType } from "@/constants/issue";
|
||||
import { EUserProjectRoles } from "@/constants/project";
|
||||
import { EUserWorkspaceRoles } from "@/constants/workspace";
|
||||
import { copyTextToClipboard } from "@/helpers/string.helper";
|
||||
import { useApplication, useEventTracker, useIssues, useUser } from "@/hooks/store";
|
||||
import { IssueService } from "@/services/issue";
|
||||
|
||||
// services
|
||||
const issueService = new IssueService();
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
// types
|
||||
import { Briefcase, FileText, LayoutGrid } from "lucide-react";
|
||||
import { ContrastIcon, DiceIcon, LayersIcon, PhotoFilterIcon } from "@plane/ui";
|
||||
import {
|
||||
IWorkspaceDefaultSearchResult,
|
||||
IWorkspaceIssueSearchResult,
|
||||
IWorkspaceProjectSearchResult,
|
||||
IWorkspaceSearchResult,
|
||||
} from "@plane/types";
|
||||
import { ContrastIcon, DiceIcon, LayersIcon, PhotoFilterIcon } from "@plane/ui";
|
||||
|
||||
export const commandGroups: {
|
||||
[key: string]: {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { Command } from "lucide-react";
|
||||
// helpers
|
||||
import { substringMatch } from "helpers/string.helper";
|
||||
import { substringMatch } from "@/helpers/string.helper";
|
||||
|
||||
type Props = {
|
||||
searchQuery: string;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import { FC, useState, Fragment } from "react";
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
import { Search, X } from "lucide-react";
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
// components
|
||||
import { Input } from "@plane/ui";
|
||||
import { ShortcutCommandsList } from "components/command-palette";
|
||||
import { ShortcutCommandsList } from "@/components/command-palette";
|
||||
// ui
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import Link from "next/link";
|
||||
import { Tooltip } from "@plane/ui";
|
||||
import { usePlatformOS } from "hooks/use-platform-os";
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
|
||||
type Props = {
|
||||
label?: string;
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
import React from "react";
|
||||
import useSWR from "swr";
|
||||
// headless ui
|
||||
import { X } from "lucide-react";
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
// services
|
||||
// components
|
||||
import { X } from "lucide-react";
|
||||
import { Loader } from "@plane/ui";
|
||||
import { MarkdownRenderer } from "components/ui";
|
||||
import { MarkdownRenderer } from "@/components/ui";
|
||||
// icons
|
||||
// helpers
|
||||
import { renderFormattedDate } from "helpers/date-time.helper";
|
||||
import { WorkspaceService } from "services/workspace.service";
|
||||
import { renderFormattedDate } from "@/helpers/date-time.helper";
|
||||
import { WorkspaceService } from "@/services/workspace.service";
|
||||
|
||||
type Props = {
|
||||
isOpen: boolean;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
import { useEffect } from "react";
|
||||
import { observer } from "mobx-react-lite";
|
||||
import { useRouter } from "next/router";
|
||||
import { usePlatformOS } from "hooks/use-platform-os";
|
||||
// store hooks
|
||||
// icons
|
||||
import {
|
||||
|
|
@ -19,13 +18,14 @@ import {
|
|||
MessageSquareIcon,
|
||||
UsersIcon,
|
||||
} from "lucide-react";
|
||||
import { IIssueActivity } from "@plane/types";
|
||||
import { Tooltip, BlockedIcon, BlockerIcon, RelatedIcon, LayersIcon, DiceIcon } from "@plane/ui";
|
||||
// helpers
|
||||
import { renderFormattedDate } from "helpers/date-time.helper";
|
||||
import { capitalizeFirstLetter } from "helpers/string.helper";
|
||||
import { useEstimate, useLabel } from "hooks/store";
|
||||
import { renderFormattedDate } from "@/helpers/date-time.helper";
|
||||
import { capitalizeFirstLetter } from "@/helpers/string.helper";
|
||||
import { useEstimate, useLabel } from "@/hooks/store";
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
// types
|
||||
import { IIssueActivity } from "@plane/types";
|
||||
|
||||
export const IssueLink = ({ activity }: { activity: IIssueActivity }) => {
|
||||
const router = useRouter();
|
||||
|
|
|
|||
|
|
@ -1,14 +1,15 @@
|
|||
import { Fragment } from "react";
|
||||
|
||||
import { DayPicker } from "react-day-picker";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
|
||||
import { X } from "lucide-react";
|
||||
// components
|
||||
// ui
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
|
||||
import { Button } from "@plane/ui";
|
||||
// helpers
|
||||
|
||||
import { renderFormattedPayloadDate, renderFormattedDate, getDate } from "@/helpers/date-time.helper";
|
||||
import { DateFilterSelect } from "./date-filter-select";
|
||||
import { renderFormattedPayloadDate, renderFormattedDate, getDate } from "helpers/date-time.helper";
|
||||
|
||||
type Props = {
|
||||
title: string;
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@ import useSWR from "swr";
|
|||
import { Tab, Popover } from "@headlessui/react";
|
||||
// hooks
|
||||
import { Button, Input, Loader } from "@plane/ui";
|
||||
import { MAX_FILE_SIZE } from "constants/common";
|
||||
import { useApplication, useWorkspace } from "hooks/store";
|
||||
import { useDropdownKeyDown } from "hooks/use-dropdown-key-down";
|
||||
import { MAX_FILE_SIZE } from "@/constants/common";
|
||||
import { useApplication, useWorkspace } from "@/hooks/store";
|
||||
import { useDropdownKeyDown } from "@/hooks/use-dropdown-key-down";
|
||||
// services
|
||||
import useOutsideClickDetector from "hooks/use-outside-click-detector";
|
||||
import { FileService } from "services/file.service";
|
||||
import useOutsideClickDetector from "@/hooks/use-outside-click-detector";
|
||||
import { FileService } from "@/services/file.service";
|
||||
// hooks
|
||||
// components
|
||||
// constants
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { Combobox } from "@headlessui/react";
|
||||
// hooks
|
||||
import { useProjectState } from "hooks/store";
|
||||
import { useProjectState } from "@/hooks/store";
|
||||
|
||||
export const BulkDeleteIssuesModalItem: React.FC<any> = observer((props) => {
|
||||
const { issue, delete_issue_ids, identifier } = props;
|
||||
|
|
|
|||
|
|
@ -3,24 +3,24 @@ import { observer } from "mobx-react-lite";
|
|||
import { useRouter } from "next/router";
|
||||
import { SubmitHandler, useForm } from "react-hook-form";
|
||||
import useSWR from "swr";
|
||||
import { Search } from "lucide-react";
|
||||
import { Combobox, Dialog, Transition } from "@headlessui/react";
|
||||
// services
|
||||
import { IssueService } from "services/issue";
|
||||
// ui
|
||||
import { Button, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// icons
|
||||
import { Search } from "lucide-react";
|
||||
// types
|
||||
import { IUser, TIssue } from "@plane/types";
|
||||
import { Button, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
import { EmptyState } from "@/components/empty-state";
|
||||
import { EmptyStateType } from "@/constants/empty-state";
|
||||
import { PROJECT_ISSUES_LIST } from "@/constants/fetch-keys";
|
||||
import { EIssuesStoreType } from "@/constants/issue";
|
||||
import { useIssues, useProject } from "@/hooks/store";
|
||||
import { IssueService } from "@/services/issue";
|
||||
// ui
|
||||
// icons
|
||||
// types
|
||||
// store hooks
|
||||
import { useIssues, useProject } from "hooks/store";
|
||||
// components
|
||||
import { BulkDeleteIssuesModalItem } from "./bulk-delete-issues-modal-item";
|
||||
import { EmptyState } from "components/empty-state";
|
||||
// constants
|
||||
import { PROJECT_ISSUES_LIST } from "constants/fetch-keys";
|
||||
import { EIssuesStoreType } from "constants/issue";
|
||||
import { EmptyStateType } from "constants/empty-state";
|
||||
|
||||
type FormInput = {
|
||||
delete_issue_ids: string[];
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
import React, { useEffect, useState } from "react";
|
||||
import { Combobox, Dialog, Transition } from "@headlessui/react";
|
||||
import { Rocket, Search, X } from "lucide-react";
|
||||
import { Combobox, Dialog, Transition } from "@headlessui/react";
|
||||
import { ISearchIssueResponse, TProjectIssuesSearchParams } from "@plane/types";
|
||||
// services
|
||||
import { ProjectService } from "services/project";
|
||||
import { Button, Loader, ToggleSwitch, Tooltip, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
import useDebounce from "@/hooks/use-debounce";
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
import { ProjectService } from "@/services/project";
|
||||
// hooks
|
||||
import useDebounce from "hooks/use-debounce";
|
||||
import { usePlatformOS } from "hooks/use-platform-os";
|
||||
// components
|
||||
import { IssueSearchModalEmptyState } from "./issue-search-modal-empty-state";
|
||||
// ui
|
||||
import { Button, Loader, ToggleSwitch, Tooltip, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// types
|
||||
import { ISearchIssueResponse, TProjectIssuesSearchParams } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
workspaceSlug: string | undefined;
|
||||
|
|
|
|||
|
|
@ -4,14 +4,14 @@ import { useRouter } from "next/router";
|
|||
import { Controller, useForm } from "react-hook-form"; // services
|
||||
import { usePopper } from "react-popper";
|
||||
// ui
|
||||
import { AlertCircle } from "lucide-react";
|
||||
import { Popover, Transition } from "@headlessui/react";
|
||||
import { RichReadOnlyEditorWithRef } from "@plane/rich-text-editor";
|
||||
import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// icons
|
||||
import { AlertCircle } from "lucide-react";
|
||||
// components
|
||||
import { RichReadOnlyEditorWithRef } from "@plane/rich-text-editor";
|
||||
import { Popover, Transition } from "@headlessui/react";
|
||||
// hooks
|
||||
import { AIService } from "services/ai.service";
|
||||
import { AIService } from "@/services/ai.service";
|
||||
|
||||
type Props = {
|
||||
isOpen: boolean;
|
||||
|
|
@ -173,8 +173,8 @@ export const GptAssistantPopover: React.FC<Props> = (props) => {
|
|||
const generateResponseButtonText = isSubmitting
|
||||
? "Generating response..."
|
||||
: response === ""
|
||||
? "Generate response"
|
||||
: "Generate again";
|
||||
? "Generate response"
|
||||
: "Generate again";
|
||||
|
||||
return (
|
||||
<Popover as="div" className={`relative w-min text-left`}>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import React from "react";
|
||||
// components
|
||||
import { EmptyState } from "components/empty-state";
|
||||
// types
|
||||
import { ISearchIssueResponse } from "@plane/types";
|
||||
import { EmptyState } from "@/components/empty-state";
|
||||
// types
|
||||
import { EmptyStateType } from "@/constants/empty-state";
|
||||
// constants
|
||||
import { EmptyStateType } from "constants/empty-state";
|
||||
|
||||
interface EmptyStateProps {
|
||||
issues: ISearchIssueResponse[];
|
||||
|
|
@ -29,8 +29,8 @@ export const IssueSearchModalEmptyState: React.FC<EmptyStateProps> = ({
|
|||
issues.length === 0 && searchTerm !== "" && debouncedSearchTerm !== "" && !isSearching
|
||||
? renderEmptyState(EmptyStateType.ISSUE_RELATION_SEARCH_EMPTY_STATE)
|
||||
: issues.length === 0
|
||||
? renderEmptyState(EmptyStateType.ISSUE_RELATION_EMPTY_STATE)
|
||||
: null;
|
||||
? renderEmptyState(EmptyStateType.ISSUE_RELATION_EMPTY_STATE)
|
||||
: null;
|
||||
|
||||
return emptyState;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ import { FC, useEffect, Fragment } from "react";
|
|||
import { Controller, useForm } from "react-hook-form";
|
||||
// headless ui
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
import type { IIssueLink, ILinkDetails, ModuleLink } from "@plane/types";
|
||||
// ui
|
||||
import { Button, Input } from "@plane/ui";
|
||||
// types
|
||||
import type { IIssueLink, ILinkDetails, ModuleLink } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
isOpen: boolean;
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import React, { useState } from "react";
|
||||
import { observer } from "mobx-react-lite";
|
||||
import { useDropzone } from "react-dropzone";
|
||||
import { UserCircle2 } from "lucide-react";
|
||||
import { Transition, Dialog } from "@headlessui/react";
|
||||
// hooks
|
||||
import { UserCircle2 } from "lucide-react";
|
||||
import { Button, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
|
||||
import { MAX_FILE_SIZE } from "constants/common";
|
||||
import { useApplication } from "hooks/store";
|
||||
import { MAX_FILE_SIZE } from "@/constants/common";
|
||||
import { useApplication } from "@/hooks/store";
|
||||
// services
|
||||
import { FileService } from "services/file.service";
|
||||
import { FileService } from "@/services/file.service";
|
||||
// ui
|
||||
// icons
|
||||
// constants
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@ import React, { useState } from "react";
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { useRouter } from "next/router";
|
||||
import { useDropzone } from "react-dropzone";
|
||||
import { UserCircle2 } from "lucide-react";
|
||||
import { Transition, Dialog } from "@headlessui/react";
|
||||
// hooks
|
||||
import { UserCircle2 } from "lucide-react";
|
||||
import { Button, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
import { MAX_FILE_SIZE } from "constants/common";
|
||||
import { useApplication, useWorkspace } from "hooks/store";
|
||||
import { MAX_FILE_SIZE } from "@/constants/common";
|
||||
import { useApplication, useWorkspace } from "@/hooks/store";
|
||||
// services
|
||||
import { FileService } from "services/file.service";
|
||||
import { FileService } from "@/services/file.service";
|
||||
// ui
|
||||
// icons
|
||||
// constants
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import React, { useState, useRef, useEffect, ReactNode, MutableRefObject } from "react";
|
||||
import { cn } from "helpers/common.helper";
|
||||
import { cn } from "@/helpers/common.helper";
|
||||
|
||||
type Props = {
|
||||
defaultHeight?: string;
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import { observer } from "mobx-react";
|
||||
// icons
|
||||
import { Pencil, Trash2, LinkIcon } from "lucide-react";
|
||||
import { ILinkDetails, UserAuth } from "@plane/types";
|
||||
// ui
|
||||
import { ExternalLinkIcon, Tooltip, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
// helpers
|
||||
import { calculateTimeAgo } from "helpers/date-time.helper";
|
||||
import { calculateTimeAgo } from "@/helpers/date-time.helper";
|
||||
// hooks
|
||||
import { useMember } from "hooks/store";
|
||||
import { usePlatformOS } from "hooks/use-platform-os";
|
||||
import { useMember } from "@/hooks/store";
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
// types
|
||||
import { ILinkDetails, UserAuth } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
links: ILinkDetails[];
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import React from "react";
|
||||
import { eachDayOfInterval, isValid } from "date-fns";
|
||||
// ui
|
||||
import { LineGraph } from "components/ui";
|
||||
// helpers
|
||||
import { getDate, renderFormattedDateWithoutYear } from "helpers/date-time.helper";
|
||||
//types
|
||||
import { TCompletionChartDistribution } from "@plane/types";
|
||||
// ui
|
||||
import { LineGraph } from "@/components/ui";
|
||||
// helpers
|
||||
import { getDate, renderFormattedDateWithoutYear } from "@/helpers/date-time.helper";
|
||||
//types
|
||||
|
||||
type Props = {
|
||||
distribution: TCompletionChartDistribution;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { FC } from "react";
|
||||
import { observer } from "mobx-react";
|
||||
import { Menu } from "lucide-react";
|
||||
import { useApplication } from "hooks/store";
|
||||
import { useApplication } from "@/hooks/store";
|
||||
|
||||
type Props = {
|
||||
onClick?: () => void;
|
||||
|
|
|
|||
|
|
@ -3,16 +3,6 @@ import React from "react";
|
|||
import Image from "next/image";
|
||||
// headless ui
|
||||
import { Tab } from "@headlessui/react";
|
||||
// hooks
|
||||
import { Avatar, StateGroupIcon } from "@plane/ui";
|
||||
import { SingleProgressStats } from "components/core";
|
||||
import useLocalStorage from "hooks/use-local-storage";
|
||||
// images
|
||||
import emptyLabel from "public/empty-state/empty_label.svg";
|
||||
import emptyMembers from "public/empty-state/empty_members.svg";
|
||||
// components
|
||||
// ui
|
||||
// types
|
||||
import {
|
||||
IModule,
|
||||
TAssigneesDistribution,
|
||||
|
|
@ -20,6 +10,16 @@ import {
|
|||
TLabelsDistribution,
|
||||
TStateGroups,
|
||||
} from "@plane/types";
|
||||
// hooks
|
||||
import { Avatar, StateGroupIcon } from "@plane/ui";
|
||||
import { SingleProgressStats } from "@/components/core";
|
||||
import useLocalStorage from "@/hooks/use-local-storage";
|
||||
// images
|
||||
import emptyLabel from "public/empty-state/empty_label.svg";
|
||||
import emptyMembers from "public/empty-state/empty_members.svg";
|
||||
// components
|
||||
// ui
|
||||
// types
|
||||
|
||||
type Props = {
|
||||
distribution: {
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@ import {
|
|||
} from "react-hook-form";
|
||||
// react-color
|
||||
// component
|
||||
import { Popover, Transition } from "@headlessui/react";
|
||||
import { Palette } from "lucide-react";
|
||||
import { Popover, Transition } from "@headlessui/react";
|
||||
import { IUserTheme } from "@plane/types";
|
||||
import { Input } from "@plane/ui";
|
||||
// icons
|
||||
// types
|
||||
import { IUserTheme } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
name: keyof IUserTheme;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { useTheme } from "next-themes";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
import { IUserTheme } from "@plane/types";
|
||||
// hooks
|
||||
import { Button, InputColorPicker } from "@plane/ui";
|
||||
import { useUser } from "hooks/store";
|
||||
import { useUser } from "@/hooks/store";
|
||||
// ui
|
||||
// types
|
||||
import { IUserTheme } from "@plane/types";
|
||||
|
||||
const inputRules = {
|
||||
required: "Background color is required",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { FC } from "react";
|
||||
// constants
|
||||
import { CustomSelect } from "@plane/ui";
|
||||
import { THEME_OPTIONS, I_THEME_OPTION } from "constants/themes";
|
||||
import { THEME_OPTIONS, I_THEME_OPTION } from "@/constants/themes";
|
||||
// ui
|
||||
|
||||
type Props = {
|
||||
|
|
|
|||
|
|
@ -3,10 +3,8 @@ import { observer } from "mobx-react-lite";
|
|||
import Link from "next/link";
|
||||
import useSWR from "swr";
|
||||
// hooks
|
||||
import { useCycle, useCycleFilter, useIssues, useMember, useProject } from "hooks/store";
|
||||
import { usePlatformOS } from "hooks/use-platform-os";
|
||||
// ui
|
||||
import { SingleProgressStats } from "components/core";
|
||||
import { ArrowRight, CalendarCheck, CalendarDays, Star, Target } from "lucide-react";
|
||||
import { ICycle, TCycleGroups } from "@plane/types";
|
||||
import {
|
||||
AvatarGroup,
|
||||
Loader,
|
||||
|
|
@ -20,29 +18,31 @@ import {
|
|||
setPromiseToast,
|
||||
getButtonStyling,
|
||||
} from "@plane/ui";
|
||||
import { SingleProgressStats } from "@/components/core";
|
||||
// ui
|
||||
// components
|
||||
import ProgressChart from "components/core/sidebar/progress-chart";
|
||||
import { ActiveCycleProgressStats, UpcomingCyclesList } from "components/cycles";
|
||||
import { StateDropdown } from "components/dropdowns";
|
||||
import { EmptyState } from "components/empty-state";
|
||||
import ProgressChart from "@/components/core/sidebar/progress-chart";
|
||||
import { ActiveCycleProgressStats, UpcomingCyclesList } from "@/components/cycles";
|
||||
import { StateDropdown } from "@/components/dropdowns";
|
||||
import { EmptyState } from "@/components/empty-state";
|
||||
// icons
|
||||
import { ArrowRight, CalendarCheck, CalendarDays, Star, Target } from "lucide-react";
|
||||
// helpers
|
||||
// types
|
||||
// constants
|
||||
import { CYCLE_STATE_GROUPS_DETAILS } from "@/constants/cycle";
|
||||
import { EmptyStateType } from "@/constants/empty-state";
|
||||
import { CYCLE_ISSUES_WITH_PARAMS } from "@/constants/fetch-keys";
|
||||
import { EIssuesStoreType } from "@/constants/issue";
|
||||
import { cn } from "@/helpers/common.helper";
|
||||
import {
|
||||
renderFormattedDate,
|
||||
findHowManyDaysLeft,
|
||||
renderFormattedDateWithoutYear,
|
||||
getDate,
|
||||
} from "helpers/date-time.helper";
|
||||
import { truncateText } from "helpers/string.helper";
|
||||
import { cn } from "helpers/common.helper";
|
||||
// types
|
||||
import { ICycle, TCycleGroups } from "@plane/types";
|
||||
// constants
|
||||
import { EIssuesStoreType } from "constants/issue";
|
||||
import { CYCLE_ISSUES_WITH_PARAMS } from "constants/fetch-keys";
|
||||
import { CYCLE_STATE_GROUPS_DETAILS } from "constants/cycle";
|
||||
import { EmptyStateType } from "constants/empty-state";
|
||||
} from "@/helpers/date-time.helper";
|
||||
import { truncateText } from "@/helpers/string.helper";
|
||||
import { useCycle, useCycleFilter, useIssues, useMember, useProject } from "@/hooks/store";
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
|
||||
interface IActiveCycleDetails {
|
||||
workspaceSlug: string;
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
import React, { Fragment } from "react";
|
||||
import { Tab } from "@headlessui/react";
|
||||
import { ICycle } from "@plane/types";
|
||||
// hooks
|
||||
import { Avatar } from "@plane/ui";
|
||||
import { SingleProgressStats } from "components/core";
|
||||
import useLocalStorage from "hooks/use-local-storage";
|
||||
import { SingleProgressStats } from "@/components/core";
|
||||
import useLocalStorage from "@/hooks/use-local-storage";
|
||||
// components
|
||||
// ui
|
||||
// types
|
||||
import { ICycle } from "@plane/types";
|
||||
|
||||
type Props = {
|
||||
cycle: ICycle;
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
import { observer } from "mobx-react";
|
||||
import Link from "next/link";
|
||||
import { useRouter } from "next/router";
|
||||
import { observer } from "mobx-react";
|
||||
import { Star, User2 } from "lucide-react";
|
||||
// hooks
|
||||
import { useCycle, useEventTracker, useMember } from "hooks/store";
|
||||
// components
|
||||
import { CycleQuickActions } from "components/cycles";
|
||||
// ui
|
||||
import { Avatar, AvatarGroup, setPromiseToast } from "@plane/ui";
|
||||
import { CycleQuickActions } from "@/components/cycles";
|
||||
import { CYCLE_FAVORITED, CYCLE_UNFAVORITED } from "@/constants/event-tracker";
|
||||
import { renderFormattedDate } from "@/helpers/date-time.helper";
|
||||
import { useCycle, useEventTracker, useMember } from "@/hooks/store";
|
||||
// components
|
||||
// ui
|
||||
// helpers
|
||||
import { renderFormattedDate } from "helpers/date-time.helper";
|
||||
// constants
|
||||
import { CYCLE_FAVORITED, CYCLE_UNFAVORITED } from "constants/event-tracker";
|
||||
|
||||
type Props = {
|
||||
cycleId: string;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { observer } from "mobx-react";
|
||||
// hooks
|
||||
import { useCycle } from "hooks/store";
|
||||
import { UpcomingCycleListItem } from "@/components/cycles";
|
||||
import { useCycle } from "@/hooks/store";
|
||||
// components
|
||||
import { UpcomingCycleListItem } from "components/cycles";
|
||||
|
||||
export const UpcomingCyclesList = observer(() => {
|
||||
// store hooks
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { X } from "lucide-react";
|
||||
// helpers
|
||||
import { renderFormattedDate } from "helpers/date-time.helper";
|
||||
import { capitalizeFirstLetter } from "helpers/string.helper";
|
||||
import { DATE_AFTER_FILTER_OPTIONS } from "@/constants/filters";
|
||||
import { renderFormattedDate } from "@/helpers/date-time.helper";
|
||||
import { capitalizeFirstLetter } from "@/helpers/string.helper";
|
||||
// constants
|
||||
import { DATE_AFTER_FILTER_OPTIONS } from "constants/filters";
|
||||
|
||||
type Props = {
|
||||
editable: boolean | undefined;
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { X } from "lucide-react";
|
||||
// hooks
|
||||
import { useUser } from "hooks/store";
|
||||
// components
|
||||
import { AppliedDateFilters, AppliedStatusFilters } from "components/cycles";
|
||||
// helpers
|
||||
import { replaceUnderscoreIfSnakeCase } from "helpers/string.helper";
|
||||
// types
|
||||
import { TCycleFilters } from "@plane/types";
|
||||
// hooks
|
||||
import { AppliedDateFilters, AppliedStatusFilters } from "@/components/cycles";
|
||||
import { EUserProjectRoles } from "@/constants/project";
|
||||
import { replaceUnderscoreIfSnakeCase } from "@/helpers/string.helper";
|
||||
import { useUser } from "@/hooks/store";
|
||||
// components
|
||||
// helpers
|
||||
// types
|
||||
// constants
|
||||
import { EUserProjectRoles } from "constants/project";
|
||||
|
||||
type Props = {
|
||||
appliedFilters: TCycleFilters;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { X } from "lucide-react";
|
||||
import { CYCLE_STATUS } from "constants/cycle";
|
||||
import { cn } from "helpers/common.helper";
|
||||
import { CYCLE_STATUS } from "@/constants/cycle";
|
||||
import { cn } from "@/helpers/common.helper";
|
||||
|
||||
type Props = {
|
||||
handleRemove: (val: string) => void;
|
||||
|
|
|
|||
|
|
@ -2,25 +2,25 @@ import { FC, MouseEvent } from "react";
|
|||
import { observer } from "mobx-react";
|
||||
import Link from "next/link";
|
||||
import { useRouter } from "next/router";
|
||||
// hooks
|
||||
import { usePlatformOS } from "hooks/use-platform-os";
|
||||
// components
|
||||
import { Info, Star } from "lucide-react";
|
||||
import type { TCycleGroups } from "@plane/types";
|
||||
import { Avatar, AvatarGroup, Tooltip, LayersIcon, CycleGroupIcon, setPromiseToast } from "@plane/ui";
|
||||
import { CycleQuickActions } from "components/cycles";
|
||||
import { CycleQuickActions } from "@/components/cycles";
|
||||
// hooks
|
||||
// ui
|
||||
// icons
|
||||
// helpers
|
||||
import { findHowManyDaysLeft, getDate, renderFormattedDate } from "helpers/date-time.helper";
|
||||
// import { copyTextToClipboard } from "helpers/string.helper";
|
||||
// import { copyTextToClipboard } from "@/helpers/string.helper";
|
||||
// constants
|
||||
import { CYCLE_STATUS } from "constants/cycle";
|
||||
import { CYCLE_FAVORITED, CYCLE_UNFAVORITED } from "constants/event-tracker";
|
||||
import { EUserWorkspaceRoles } from "constants/workspace";
|
||||
import { CYCLE_STATUS } from "@/constants/cycle";
|
||||
import { CYCLE_FAVORITED, CYCLE_UNFAVORITED } from "@/constants/event-tracker";
|
||||
import { EUserWorkspaceRoles } from "@/constants/workspace";
|
||||
import { findHowManyDaysLeft, getDate, renderFormattedDate } from "@/helpers/date-time.helper";
|
||||
// constants
|
||||
import { useEventTracker, useCycle, useUser, useMember } from "hooks/store";
|
||||
import { useEventTracker, useCycle, useUser, useMember } from "@/hooks/store";
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
//.types
|
||||
import { TCycleGroups } from "@plane/types";
|
||||
|
||||
export interface ICyclesBoardCard {
|
||||
workspaceSlug: string;
|
||||
|
|
@ -69,8 +69,8 @@ export const CyclesBoardCard: FC<ICyclesBoardCard> = observer((props) => {
|
|||
? cycleTotalIssues === 0
|
||||
? "0 Issue"
|
||||
: cycleTotalIssues === cycleDetails.completed_issues
|
||||
? `${cycleTotalIssues} Issue${cycleTotalIssues > 1 ? "s" : ""}`
|
||||
: `${cycleDetails.completed_issues}/${cycleTotalIssues} Issues`
|
||||
? `${cycleTotalIssues} Issue${cycleTotalIssues > 1 ? "s" : ""}`
|
||||
: `${cycleDetails.completed_issues}/${cycleTotalIssues} Issues`
|
||||
: "0 Issue";
|
||||
|
||||
const handleAddToFavorites = (e: MouseEvent<HTMLButtonElement>) => {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// components
|
||||
import { CyclesBoardCard } from "components/cycles";
|
||||
import { CyclesBoardCard } from "@/components/cycles";
|
||||
|
||||
type Props = {
|
||||
cycleIds: string[];
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import { FC } from "react";
|
||||
import { observer } from "mobx-react-lite";
|
||||
import { Disclosure } from "@headlessui/react";
|
||||
import { ChevronRight } from "lucide-react";
|
||||
import { Disclosure } from "@headlessui/react";
|
||||
// components
|
||||
import { CyclePeekOverview, CyclesBoardMap } from "components/cycles";
|
||||
import { CyclePeekOverview, CyclesBoardMap } from "@/components/cycles";
|
||||
// helpers
|
||||
import { cn } from "helpers/common.helper";
|
||||
import { cn } from "@/helpers/common.helper";
|
||||
|
||||
export interface ICyclesBoard {
|
||||
completedCycleIds: string[];
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@ import router from "next/router";
|
|||
//components
|
||||
// icons
|
||||
import { Calendar, ChevronDown, Kanban, List } from "lucide-react";
|
||||
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions, TIssueLayouts } from "@plane/types";
|
||||
import { CustomMenu } from "@plane/ui";
|
||||
// hooks
|
||||
// constants
|
||||
import { ProjectAnalyticsModal } from "components/analytics";
|
||||
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "components/issues";
|
||||
import { EIssueFilterType, EIssuesStoreType, ISSUE_DISPLAY_FILTERS_BY_LAYOUT, ISSUE_LAYOUTS } from "constants/issue";
|
||||
import { useIssues, useCycle, useProjectState, useLabel, useMember } from "hooks/store";
|
||||
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions, TIssueLayouts } from "@plane/types";
|
||||
import { ProjectAnalyticsModal } from "@/components/analytics";
|
||||
import { DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues";
|
||||
import { EIssueFilterType, EIssuesStoreType, ISSUE_DISPLAY_FILTERS_BY_LAYOUT, ISSUE_LAYOUTS } from "@/constants/issue";
|
||||
import { useIssues, useCycle, useProjectState, useLabel, useMember } from "@/hooks/store";
|
||||
|
||||
export const CycleMobileHeader = () => {
|
||||
const [analyticsModal, setAnalyticsModal] = useState(false);
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import React, { useEffect } from "react";
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { useRouter } from "next/router";
|
||||
// hooks
|
||||
import { useCycle } from "hooks/store";
|
||||
import { useCycle } from "@/hooks/store";
|
||||
// components
|
||||
import { CycleDetailsSidebar } from "./sidebar";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { observer } from "mobx-react";
|
||||
// ui
|
||||
import { List } from "lucide-react";
|
||||
import { CustomMenu } from "@plane/ui";
|
||||
// icon
|
||||
import { List } from "lucide-react";
|
||||
// constants
|
||||
import { CYCLE_VIEW_LAYOUTS } from "constants/cycle";
|
||||
import { CYCLE_VIEW_LAYOUTS } from "@/constants/cycle";
|
||||
// hooks
|
||||
import { useCycleFilter, useProject } from "hooks/store";
|
||||
import { useCycleFilter, useProject } from "@/hooks/store";
|
||||
|
||||
const CyclesListMobileHeader = observer(() => {
|
||||
const { currentProjectDetails } = useProject();
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
import { useCallback, useRef, useState } from "react";
|
||||
import { observer } from "mobx-react";
|
||||
import { Tab } from "@headlessui/react";
|
||||
import { ListFilter, Search, X } from "lucide-react";
|
||||
// hooks
|
||||
import { useCycleFilter } from "hooks/store";
|
||||
import useOutsideClickDetector from "hooks/use-outside-click-detector";
|
||||
import { usePlatformOS } from "hooks/use-platform-os";
|
||||
// components
|
||||
import { CycleFiltersSelection } from "components/cycles";
|
||||
import { FiltersDropdown } from "components/issues";
|
||||
// ui
|
||||
import { Tooltip } from "@plane/ui";
|
||||
// helpers
|
||||
import { cn } from "helpers/common.helper";
|
||||
// types
|
||||
import { Tab } from "@headlessui/react";
|
||||
import { TCycleFilters } from "@plane/types";
|
||||
// hooks
|
||||
import { Tooltip } from "@plane/ui";
|
||||
import { CycleFiltersSelection } from "@/components/cycles";
|
||||
import { FiltersDropdown } from "@/components/issues";
|
||||
import { CYCLE_TABS_LIST, CYCLE_VIEW_LAYOUTS } from "@/constants/cycle";
|
||||
import { cn } from "@/helpers/common.helper";
|
||||
import { useCycleFilter } from "@/hooks/store";
|
||||
import useOutsideClickDetector from "@/hooks/use-outside-click-detector";
|
||||
import { usePlatformOS } from "@/hooks/use-platform-os";
|
||||
// components
|
||||
// ui
|
||||
// helpers
|
||||
// types
|
||||
// constants
|
||||
import { CYCLE_TABS_LIST, CYCLE_VIEW_LAYOUTS } from "constants/cycle";
|
||||
|
||||
type Props = {
|
||||
projectId: string;
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
import { FC } from "react";
|
||||
import Image from "next/image";
|
||||
import { observer } from "mobx-react-lite";
|
||||
// hooks
|
||||
import { useCycle, useCycleFilter } from "hooks/store";
|
||||
// components
|
||||
import { CyclesBoard, CyclesList, CyclesListGanttChartView } from "components/cycles";
|
||||
// ui
|
||||
import { CycleModuleBoardLayout, CycleModuleListLayout, GanttLayoutLoader } from "components/ui";
|
||||
// assets
|
||||
import NameFilterImage from "public/empty-state/cycle/name-filter.svg";
|
||||
import AllFiltersImage from "public/empty-state/cycle/all-filters.svg";
|
||||
// types
|
||||
import Image from "next/image";
|
||||
import { TCycleLayoutOptions } from "@plane/types";
|
||||
// hooks
|
||||
// components
|
||||
import { CyclesBoard, CyclesList, CyclesListGanttChartView } from "@/components/cycles";
|
||||
// ui
|
||||
import { CycleModuleBoardLayout, CycleModuleListLayout, GanttLayoutLoader } from "@/components/ui";
|
||||
import { useCycle, useCycleFilter } from "@/hooks/store";
|
||||
// assets
|
||||
import AllFiltersImage from "public/empty-state/cycle/all-filters.svg";
|
||||
import NameFilterImage from "public/empty-state/cycle/name-filter.svg";
|
||||
// types
|
||||
|
||||
export interface ICyclesView {
|
||||
layout: TCycleLayoutOptions;
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import { Fragment, useState } from "react";
|
||||
import { observer } from "mobx-react-lite";
|
||||
import { useRouter } from "next/router";
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
import { AlertTriangle } from "lucide-react";
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
import { ICycle } from "@plane/types";
|
||||
// hooks
|
||||
import { Button, TOAST_TYPE, setToast } from "@plane/ui";
|
||||
import { CYCLE_DELETED } from "constants/event-tracker";
|
||||
import { useEventTracker, useCycle } from "hooks/store";
|
||||
import { CYCLE_DELETED } from "@/constants/event-tracker";
|
||||
import { useEventTracker, useCycle } from "@/hooks/store";
|
||||
// components
|
||||
// types
|
||||
import { ICycle } from "@plane/types";
|
||||
// constants
|
||||
|
||||
interface ICycleDelete {
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@ import React, { useState } from "react";
|
|||
import { observer } from "mobx-react-lite";
|
||||
|
||||
// components
|
||||
import { DateFilterModal } from "components/core";
|
||||
import { FilterHeader, FilterOption } from "components/issues";
|
||||
import { DateFilterModal } from "@/components/core";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues";
|
||||
// constants
|
||||
import { DATE_AFTER_FILTER_OPTIONS } from "constants/filters";
|
||||
import { DATE_AFTER_FILTER_OPTIONS } from "@/constants/filters";
|
||||
|
||||
type Props = {
|
||||
appliedFilters: string[] | null;
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import { useState } from "react";
|
||||
import { observer } from "mobx-react-lite";
|
||||
import { Search, X } from "lucide-react";
|
||||
// components
|
||||
import { FilterEndDate, FilterStartDate, FilterStatus } from "components/cycles";
|
||||
// types
|
||||
import { TCycleFilters, TCycleGroups } from "@plane/types";
|
||||
// components
|
||||
import { FilterEndDate, FilterStartDate, FilterStatus } from "@/components/cycles";
|
||||
// types
|
||||
|
||||
type Props = {
|
||||
filters: TCycleFilters;
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@ import React, { useState } from "react";
|
|||
import { observer } from "mobx-react-lite";
|
||||
|
||||
// components
|
||||
import { DateFilterModal } from "components/core";
|
||||
import { FilterHeader, FilterOption } from "components/issues";
|
||||
import { DateFilterModal } from "@/components/core";
|
||||
import { FilterHeader, FilterOption } from "@/components/issues";
|
||||
// constants
|
||||
import { DATE_AFTER_FILTER_OPTIONS } from "constants/filters";
|
||||
import { DATE_AFTER_FILTER_OPTIONS } from "@/constants/filters";
|
||||
|
||||
type Props = {
|
||||
appliedFilters: string[] | null;
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import React, { useState } from "react";
|
||||
import { observer } from "mobx-react-lite";
|
||||
// components
|
||||
import { FilterHeader, FilterOption } from "components/issues";
|
||||
// types
|
||||
import { TCycleGroups } from "@plane/types";
|
||||
// components
|
||||
import { FilterHeader, FilterOption } from "@/components/issues";
|
||||
// types
|
||||
import { CYCLE_STATUS } from "@/constants/cycle";
|
||||
// constants
|
||||
import { CYCLE_STATUS } from "constants/cycle";
|
||||
|
||||
type Props = {
|
||||
appliedFilters: TCycleGroups[] | null;
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import { useEffect } from "react";
|
||||
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
// components
|
||||
import { Button, Input, TextArea } from "@plane/ui";
|
||||
import { DateRangeDropdown, ProjectDropdown } from "components/dropdowns";
|
||||
// ui
|
||||
// helpers
|
||||
import { shouldRenderProject } from "helpers/project.helper";
|
||||
import { getDate, renderFormattedPayloadDate } from "helpers/date-time.helper";
|
||||
// types
|
||||
import { ICycle } from "@plane/types";
|
||||
|
||||
import { Button, Input, TextArea } from "@plane/ui";
|
||||
|
||||
import { DateRangeDropdown, ProjectDropdown } from "@/components/dropdowns";
|
||||
|
||||
import { getDate, renderFormattedPayloadDate } from "@/helpers/date-time.helper";
|
||||
import { shouldRenderProject } from "@/helpers/project.helper";
|
||||
|
||||
type Props = {
|
||||
handleFormSubmit: (values: Partial<ICycle>, dirtyFields: any) => Promise<void>;
|
||||
handleClose: () => void;
|
||||
|
|
|
|||
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