fix: eslint fixes and file formatting

This commit is contained in:
sriram veeraghanta 2024-03-19 20:08:35 +05:30
parent 473dfc7a5b
commit 53ddef1cd5
954 changed files with 3921 additions and 3809 deletions

View File

@ -1,4 +1,4 @@
import { EUserProjectRoles } from "constants/project";
import { EUserProjectRoles } from "@/constants/project";
import type {
IProjectViewProps,
IUser,

View File

@ -1,4 +1,4 @@
import { EUserWorkspaceRoles } from "constants/workspace";
import { EUserWorkspaceRoles } from "@/constants/workspace";
import type {
IProjectMember,
IUser,

View File

@ -49,7 +49,9 @@ export const Tooltip: React.FC<ITooltipProps> = ({
hoverCloseDelay={closeDelay}
content={
<div
className={`relative ${isMobile ? "hidden" : "block"} z-50 max-w-xs gap-1 overflow-hidden break-words rounded-md bg-custom-background-100 p-2 text-xs text-custom-text-200 shadow-md ${className}`}
className={`relative ${
isMobile ? "hidden" : "block"
} z-50 max-w-xs gap-1 overflow-hidden break-words rounded-md bg-custom-background-100 p-2 text-xs text-custom-text-200 shadow-md ${className}`}
>
{tooltipHeading && <h5 className="font-medium text-custom-text-100">{tooltipHeading}</h5>}
{tooltipContent}

View File

@ -1,4 +1,52 @@
module.exports = {
root: true,
extends: ["custom"],
parser: "@typescript-eslint/parser",
settings: {
"import/resolver": {
typescript: {},
node: {
moduleDirectory: ["node_modules", "."],
},
},
},
rules: {
"import/order": [
"error",
{
groups: ["builtin", "external", "internal", "parent", "sibling",],
pathGroups: [
{
pattern: "react",
group: "external",
position: "before",
},
{
pattern: "lucide-react",
group: "external",
position: "after",
},
{
pattern: "@headlessui/**",
group: "external",
position: "after",
},
{
pattern: "@plane/**",
group: "external",
position: "after",
},
{
pattern: "@/**",
group: "internal",
}
],
pathGroupsExcludedImportTypes: ["builtin", "internal", "react"],
alphabetize: {
order: "asc",
caseInsensitive: true,
},
},
],
},
};

View File

@ -1,6 +1,6 @@
import { useEffect, useState, FC } from "react";
import Link from "next/link";
import Image from "next/image";
import Link from "next/link";
import { useRouter } from "next/router";
// next-themes
import { useTheme } from "next-themes";

View File

@ -1,19 +1,19 @@
import { useEffect, Fragment } from "react";
import { useRouter } from "next/router";
import { observer } from "mobx-react-lite";
import { useRouter } from "next/router";
import { Controller, useForm } from "react-hook-form";
import { Listbox, Transition } from "@headlessui/react";
import { Check, ChevronDown } from "lucide-react";
import { Listbox, Transition } from "@headlessui/react";
// mobx store
import { useMobxStore } from "lib/mobx/store-provider";
import { Button, Input } from "@plane/ui";
import { USER_ROLES } from "@/constants/workspace";
import { useMobxStore } from "@/lib/mobx/store-provider";
// constants
import { USER_ROLES } from "constants/workspace";
// hooks
import { UserService } from "@/services/user.service";
import useToast from "hooks/use-toast";
// services
import { UserService } from "services/user.service";
// ui
import { Button, Input } from "@plane/ui";
const defaultValues = {
first_name: "",

View File

@ -2,15 +2,15 @@ import React, { useEffect } from "react";
import Link from "next/link";
import { Controller, useForm } from "react-hook-form";
// services
import { AuthService } from "services/authentication.service";
import { Button, Input } from "@plane/ui";
import { ESignInSteps } from "@/components/accounts";
import { checkEmailValidity } from "@/helpers/string.helper";
import { AuthService } from "@/services/authentication.service";
// hooks
import useToast from "hooks/use-toast";
// ui
import { Button, Input } from "@plane/ui";
// helpers
import { checkEmailValidity } from "helpers/string.helper";
// constants
import { ESignInSteps } from "components/accounts";
type Props = {
email: string;

View File

@ -2,17 +2,17 @@ import React, { useEffect } from "react";
import { Controller, useForm } from "react-hook-form";
import { XCircle } from "lucide-react";
// services
import { AuthService } from "services/authentication.service";
import { Button, Input } from "@plane/ui";
import { ESignInSteps } from "@/components/accounts";
import { checkEmailValidity } from "@/helpers/string.helper";
import { AuthService } from "@/services/authentication.service";
// hooks
import useToast from "hooks/use-toast";
// ui
import { Button, Input } from "@plane/ui";
// helpers
import { checkEmailValidity } from "helpers/string.helper";
// types
import { IEmailCheckData } from "types/auth";
// constants
import { ESignInSteps } from "components/accounts";
type Props = {
handleStepChange: (step: ESignInSteps) => void;

View File

@ -1,13 +1,13 @@
import { observer } from "mobx-react-lite";
import useSWR from "swr";
import { observer } from "mobx-react-lite";
// services
import { AuthService } from "services/authentication.service";
import { AppConfigService } from "services/app-config.service";
import { GitHubSignInButton, GoogleSignInButton } from "@/components/accounts";
import { AppConfigService } from "@/services/app-config.service";
import { AuthService } from "@/services/authentication.service";
// hooks
import useToast from "hooks/use-toast";
// components
import { GitHubSignInButton, GoogleSignInButton } from "components/accounts";
type Props = {
handleSignInRedirection: () => Promise<void>;

View File

@ -4,9 +4,9 @@ import { Controller, useForm } from "react-hook-form";
// ui
import { Button, Input } from "@plane/ui";
// helpers
import { checkEmailValidity } from "helpers/string.helper";
import { ESignInSteps } from "@/components/accounts";
import { checkEmailValidity } from "@/helpers/string.helper";
// constants
import { ESignInSteps } from "components/accounts";
type Props = {
email: string;

View File

@ -3,17 +3,17 @@ import Link from "next/link";
import { Controller, useForm } from "react-hook-form";
import { XCircle } from "lucide-react";
// services
import { AuthService } from "services/authentication.service";
import { Button, Input } from "@plane/ui";
import { ESignInSteps } from "@/components/accounts";
import { checkEmailValidity } from "@/helpers/string.helper";
import { AuthService } from "@/services/authentication.service";
// hooks
import useToast from "hooks/use-toast";
// ui
import { Button, Input } from "@plane/ui";
// helpers
import { checkEmailValidity } from "helpers/string.helper";
// types
import { IPasswordSignInData } from "types/auth";
// constants
import { ESignInSteps } from "components/accounts";
type Props = {
email: string;

View File

@ -2,11 +2,6 @@ import React, { useState } from "react";
import { observer } from "mobx-react-lite";
import useSWR from "swr";
// hooks
import useSignInRedirection from "hooks/use-sign-in-redirection";
// services
import { AppConfigService } from "services/app-config.service";
// components
import { LatestFeatureBlock } from "components/common";
import {
EmailForm,
UniqueCodeForm,
@ -16,7 +11,12 @@ import {
OptionalSetPasswordForm,
CreatePasswordForm,
SelfHostedSignInForm,
} from "components/accounts";
} from "@/components/accounts";
import { LatestFeatureBlock } from "@/components/common";
import { AppConfigService } from "@/services/app-config.service";
import useSignInRedirection from "hooks/use-sign-in-redirection";
// services
// components
export enum ESignInSteps {
EMAIL = "EMAIL",

View File

@ -3,13 +3,13 @@ import Link from "next/link";
import { Controller, useForm } from "react-hook-form";
import { XCircle } from "lucide-react";
// services
import { AuthService } from "services/authentication.service";
import { Button, Input } from "@plane/ui";
import { checkEmailValidity } from "@/helpers/string.helper";
import { AuthService } from "@/services/authentication.service";
// hooks
import useToast from "hooks/use-toast";
// ui
import { Button, Input } from "@plane/ui";
// helpers
import { checkEmailValidity } from "helpers/string.helper";
// types
import { IPasswordSignInData } from "types/auth";

View File

@ -1,13 +1,13 @@
import React from "react";
import { Controller, useForm } from "react-hook-form";
// services
import { AuthService } from "services/authentication.service";
import { Button, Input } from "@plane/ui";
import { checkEmailValidity } from "@/helpers/string.helper";
import { AuthService } from "@/services/authentication.service";
// hooks
import useToast from "hooks/use-toast";
// ui
import { Button, Input } from "@plane/ui";
// helpers
import { checkEmailValidity } from "helpers/string.helper";
// types
import { IEmailCheckData } from "types/auth";

View File

@ -3,19 +3,19 @@ import Link from "next/link";
import { Controller, useForm } from "react-hook-form";
import { CornerDownLeft, XCircle } from "lucide-react";
// services
import { AuthService } from "services/authentication.service";
import { UserService } from "services/user.service";
// hooks
import useToast from "hooks/use-toast";
import useTimer from "hooks/use-timer";
// ui
import { Button, Input } from "@plane/ui";
import { ESignInSteps } from "@/components/accounts";
import { checkEmailValidity } from "@/helpers/string.helper";
import { AuthService } from "@/services/authentication.service";
import { UserService } from "@/services/user.service";
// hooks
import useTimer from "hooks/use-timer";
import useToast from "hooks/use-toast";
// ui
// helpers
import { checkEmailValidity } from "helpers/string.helper";
// types
import { IEmailCheckData, IMagicSignInData } from "types/auth";
// constants
import { ESignInSteps } from "components/accounts";
type Props = {
email: string;

View File

@ -1,10 +1,10 @@
import Image from "next/image";
// mobx
import { useMobxStore } from "lib/mobx/store-provider";
import { useMobxStore } from "@/lib/mobx/store-provider";
// assets
import UserLoggedInImage from "public/user-logged-in.svg";
import PlaneLogo from "public/plane-logos/black-horizontal-with-blue-logo.svg";
import UserLoggedInImage from "public/user-logged-in.svg";
export const UserLoggedIn = () => {
const { user: userStore } = useMobxStore();

View File

@ -1,7 +1,7 @@
// helpers
import { cn } from "helpers/common.helper";
// types
import { TProjectLogoProps } from "@plane/types";
import { cn } from "@/helpers/common.helper";
// types
type Props = {
className?: string;

View File

@ -1,7 +1,7 @@
"use client";
// helpers
import { renderFullDate } from "helpers/date-time.helper";
import { renderFullDate } from "@/helpers/date-time.helper";
export const dueDateIconDetails = (
date: string,

View File

@ -1,9 +1,9 @@
"use client";
// types
import { issuePriorityFilter } from "@/constants/data";
import { TIssuePriorityKey } from "types/issue";
// constants
import { issuePriorityFilter } from "constants/data";
export const IssueBlockPriority = ({ priority }: { priority: TIssuePriorityKey | null }) => {
const priority_detail = priority != null ? issuePriorityFilter(priority) : null;

View File

@ -1,7 +1,7 @@
// ui
import { StateGroupIcon } from "@plane/ui";
// constants
import { issueGroupFilter } from "constants/data";
import { issueGroupFilter } from "@/constants/data";
export const IssueBlockState = ({ state }: any) => {
const stateGroup = issueGroupFilter(state.group);

View File

@ -2,16 +2,16 @@
// mobx react lite
import { observer } from "mobx-react-lite";
import { useMobxStore } from "lib/mobx/store-provider";
import { useRouter } from "next/router";
import { IssueBlockDueDate } from "@/components/issues/board-views/block-due-date";
import { IssueBlockPriority } from "@/components/issues/board-views/block-priority";
import { IssueBlockState } from "@/components/issues/board-views/block-state";
import { useMobxStore } from "@/lib/mobx/store-provider";
// components
import { IssueBlockPriority } from "components/issues/board-views/block-priority";
import { IssueBlockState } from "components/issues/board-views/block-state";
import { IssueBlockDueDate } from "components/issues/board-views/block-due-date";
// interfaces
import { RootStore } from "@/store/root";
import { IIssue } from "types/issue";
import { RootStore } from "store/root";
import { useRouter } from "next/router";
export const IssueKanBanBlock = observer(({ issue }: { issue: IIssue }) => {
const { project: projectStore, issueDetails: issueDetailStore }: RootStore = useMobxStore();

View File

@ -1,14 +1,14 @@
// mobx react lite
import { observer } from "mobx-react-lite";
// interfaces
import { IIssueState } from "types/issue";
// constants
import { issueGroupFilter } from "constants/data";
// ui
import { StateGroupIcon } from "@plane/ui";
import { issueGroupFilter } from "@/constants/data";
// ui
// mobx hook
import { useMobxStore } from "lib/mobx/store-provider";
import { RootStore } from "store/root";
import { useMobxStore } from "@/lib/mobx/store-provider";
import { RootStore } from "@/store/root";
import { IIssueState } from "types/issue";
export const IssueKanBanHeader = observer(({ state }: { state: IIssueState }) => {
const store: RootStore = useMobxStore();

View File

@ -3,15 +3,15 @@
// mobx react lite
import { observer } from "mobx-react-lite";
// components
import { IssueKanBanHeader } from "components/issues/board-views/kanban/header";
import { IssueKanBanBlock } from "components/issues/board-views/kanban/block";
import { IssueKanBanBlock } from "@/components/issues/board-views/kanban/block";
import { IssueKanBanHeader } from "@/components/issues/board-views/kanban/header";
// ui
import { Icon } from "components/ui";
import { Icon } from "@/components/ui";
// interfaces
import { IIssueState, IIssue } from "types/issue";
// mobx hook
import { useMobxStore } from "lib/mobx/store-provider";
import { RootStore } from "store/root";
import { useMobxStore } from "@/lib/mobx/store-provider";
import { RootStore } from "@/store/root";
import { IIssueState, IIssue } from "types/issue";
export const IssueKanbanView = observer(() => {
const store: RootStore = useMobxStore();

View File

@ -1,17 +1,17 @@
import { FC } from "react";
import { useRouter } from "next/router";
import { observer } from "mobx-react-lite";
import { useRouter } from "next/router";
// components
import { IssueBlockPriority } from "components/issues/board-views/block-priority";
import { IssueBlockState } from "components/issues/board-views/block-state";
import { IssueBlockLabels } from "components/issues/board-views/block-labels";
import { IssueBlockDueDate } from "components/issues/board-views/block-due-date";
import { IssueBlockDueDate } from "@/components/issues/board-views/block-due-date";
import { IssueBlockLabels } from "@/components/issues/board-views/block-labels";
import { IssueBlockPriority } from "@/components/issues/board-views/block-priority";
import { IssueBlockState } from "@/components/issues/board-views/block-state";
// mobx hook
import { useMobxStore } from "lib/mobx/store-provider";
import { useMobxStore } from "@/lib/mobx/store-provider";
// interfaces
import { RootStore } from "@/store/root";
import { IIssue } from "types/issue";
// store
import { RootStore } from "store/root";
export const IssueListBlock: FC<{ issue: IIssue }> = observer((props) => {
const { issue } = props;

View File

@ -1,14 +1,14 @@
// mobx react lite
import { observer } from "mobx-react-lite";
// interfaces
import { IIssueState } from "types/issue";
// ui
import { StateGroupIcon } from "@plane/ui";
// constants
import { issueGroupFilter } from "constants/data";
import { issueGroupFilter } from "@/constants/data";
// mobx hook
import { useMobxStore } from "lib/mobx/store-provider";
import { RootStore } from "store/root";
import { useMobxStore } from "@/lib/mobx/store-provider";
import { RootStore } from "@/store/root";
import { IIssueState } from "types/issue";
export const IssueListHeader = observer(({ state }: { state: IIssueState }) => {
const store: RootStore = useMobxStore();

View File

@ -1,13 +1,13 @@
import { observer } from "mobx-react-lite";
// components
import { IssueListHeader } from "components/issues/board-views/list/header";
import { IssueListBlock } from "components/issues/board-views/list/block";
import { IssueListBlock } from "@/components/issues/board-views/list/block";
import { IssueListHeader } from "@/components/issues/board-views/list/header";
// interfaces
import { IIssueState, IIssue } from "types/issue";
// mobx hook
import { useMobxStore } from "lib/mobx/store-provider";
import { useMobxStore } from "@/lib/mobx/store-provider";
// store
import { RootStore } from "store/root";
import { RootStore } from "@/store/root";
import { IIssueState, IIssue } from "types/issue";
export const IssueListView = observer(() => {
const { issue: issueStore }: RootStore = useMobxStore();

View File

@ -1,11 +1,11 @@
// components
import { AppliedPriorityFilters } from "./priority";
import { AppliedStateFilters } from "./state";
// icons
import { X } from "lucide-react";
// helpers
import { IIssueFilterOptions } from "store/issues/types";
import { IIssueFilterOptions } from "@/store/issues/types";
import { IIssueLabel, IIssueState } from "types/issue";
import { AppliedPriorityFilters } from "./priority";
import { AppliedStateFilters } from "./state";
// types
type Props = {

View File

@ -1,5 +1,5 @@
import { PriorityIcon } from "@plane/ui";
import { X } from "lucide-react";
import { PriorityIcon } from "@plane/ui";
type Props = {
handleRemove: (val: string) => void;

View File

@ -1,12 +1,12 @@
import { FC, useCallback } from "react";
import { useRouter } from "next/router";
import { observer } from "mobx-react-lite";
import { useRouter } from "next/router";
// components
import { AppliedFiltersList } from "./filters-list";
// store
import { useMobxStore } from "lib/mobx/store-provider";
import { RootStore } from "store/root";
import { IIssueFilterOptions } from "store/issues/types";
import { useMobxStore } from "@/lib/mobx/store-provider";
import { IIssueFilterOptions } from "@/store/issues/types";
import { RootStore } from "@/store/root";
import { AppliedFiltersList } from "./filters-list";
export const IssueAppliedFilters: FC = observer(() => {
const router = useRouter();

View File

@ -1,7 +1,7 @@
import React, { Fragment, useState } from "react";
import { Placement } from "@popperjs/core";
import { usePopper } from "react-popper";
import { Popover, Transition } from "@headlessui/react";
import { Placement } from "@popperjs/core";
// ui
import { Button } from "@plane/ui";

View File

@ -1,11 +1,11 @@
import React, { useState } from "react";
// components
import { FilterHeader, FilterOption } from "./helpers";
// ui
import { Loader } from "@plane/ui";
// types
import { IIssueLabel } from "types/issue";
import { FilterHeader, FilterOption } from "./helpers";
const LabelIcons = ({ color }: { color: string }) => (
<span className="h-2.5 w-2.5 rounded-full" style={{ backgroundColor: color }} />

View File

@ -3,9 +3,9 @@ import { observer } from "mobx-react-lite";
// ui
import { PriorityIcon } from "@plane/ui";
// components
import { issuePriorityFilters } from "@/constants/data";
import { FilterHeader, FilterOption } from "./helpers";
// constants
import { issuePriorityFilters } from "constants/data";
type Props = {
appliedFilters: string[] | null;

View File

@ -1,16 +1,16 @@
import { FC, useCallback } from "react";
import { useRouter } from "next/router";
import { observer } from "mobx-react-lite";
import { useRouter } from "next/router";
// components
import { useMobxStore } from "@/lib/mobx/store-provider";
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "@/store/issues/helpers";
import { IIssueFilterOptions } from "@/store/issues/types";
import { RootStore } from "@/store/root";
import { FiltersDropdown } from "./helpers/dropdown";
import { FilterSelection } from "./selection";
// types
import { IIssueFilterOptions } from "store/issues/types";
// helpers
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "store/issues/helpers";
// store
import { RootStore } from "store/root";
import { useMobxStore } from "lib/mobx/store-provider";
export const IssueFiltersDropdown: FC = observer(() => {
const router = useRouter();

View File

@ -2,13 +2,13 @@ import React, { useState } from "react";
import { observer } from "mobx-react-lite";
import { Search, X } from "lucide-react";
// components
import { FilterPriority, FilterState } from "./";
// types
// filter helpers
import { ILayoutDisplayFiltersOptions } from "store/issues/helpers";
import { IIssueFilterOptions } from "store/issues/types";
import { ILayoutDisplayFiltersOptions } from "@/store/issues/helpers";
import { IIssueFilterOptions } from "@/store/issues/types";
import { IIssueState, IIssueLabel } from "types/issue";
import { FilterPriority, FilterState } from "./";
type Props = {
filters: IIssueFilterOptions;

View File

@ -1,10 +1,10 @@
import React, { useState } from "react";
// components
import { FilterHeader, FilterOption } from "./helpers";
// ui
import { Loader, StateGroupIcon } from "@plane/ui";
// types
import { IIssueState } from "types/issue";
import { FilterHeader, FilterOption } from "./helpers";
type Props = {
appliedFilters: string[] | null;

View File

@ -1,20 +1,20 @@
import { useEffect } from "react";
import { observer } from "mobx-react-lite";
import Link from "next/link";
import { useRouter } from "next/router";
import { observer } from "mobx-react-lite";
// components
import { Briefcase } from "lucide-react";
import { Avatar, Button } from "@plane/ui";
import { ProjectLogo } from "@/components/common";
import { IssueFiltersDropdown } from "@/components/issues/filters";
// ui
// lib
import { useMobxStore } from "@/lib/mobx/store-provider";
// store
import { RootStore } from "@/store/root";
import { TIssueBoardKeys } from "types/issue";
import { NavbarIssueBoardView } from "./issue-board-view";
import { NavbarTheme } from "./theme";
import { IssueFiltersDropdown } from "components/issues/filters";
import { ProjectLogo } from "components/common";
// ui
import { Avatar, Button } from "@plane/ui";
import { Briefcase } from "lucide-react";
// lib
import { useMobxStore } from "lib/mobx/store-provider";
// store
import { RootStore } from "store/root";
import { TIssueBoardKeys } from "types/issue";
const IssueNavbar = observer(() => {
const {

View File

@ -1,10 +1,10 @@
import { useRouter } from "next/router";
import { observer } from "mobx-react-lite";
import { useRouter } from "next/router";
// constants
import { issueViews } from "constants/data";
import { issueViews } from "@/constants/data";
// mobx
import { useMobxStore } from "lib/mobx/store-provider";
import { RootStore } from "store/root";
import { useMobxStore } from "@/lib/mobx/store-provider";
import { RootStore } from "@/store/root";
import { TIssueBoardKeys } from "types/issue";
export const NavbarIssueBoardView = observer(() => {

View File

@ -1,9 +1,9 @@
// next theme
import { useEffect, useState } from "react";
import { observer } from "mobx-react-lite";
import { useTheme } from "next-themes";
// mobx react lite
import { observer } from "mobx-react-lite";
import { useEffect, useState } from "react";
export const NavbarTheme = observer(() => {
const [appTheme, setAppTheme] = useState("light");

View File

@ -1,20 +1,20 @@
import React, { useRef } from "react";
import { useRouter } from "next/router";
import { observer } from "mobx-react-lite";
import { useRouter } from "next/router";
import { useForm, Controller } from "react-hook-form";
// lib
import { useMobxStore } from "lib/mobx/store-provider";
import { LiteTextEditorWithRef } from "@plane/lite-text-editor";
import { Button } from "@plane/ui";
import { useMobxStore } from "@/lib/mobx/store-provider";
// hooks
import fileService from "@/services/file.service";
import { RootStore } from "@/store/root";
import useToast from "hooks/use-toast";
// ui
import { Button } from "@plane/ui";
// types
import { Comment } from "types/issue";
// components
import { LiteTextEditorWithRef } from "@plane/lite-text-editor";
// service
import fileService from "services/file.service";
import { RootStore } from "store/root";
const defaultValues: Partial<Comment> = {
comment_html: "",

View File

@ -1,23 +1,23 @@
import React, { useState } from "react";
import { observer } from "mobx-react-lite";
import { Controller, useForm } from "react-hook-form";
import { Menu, Transition } from "@headlessui/react";
import { Check, MessageSquare, MoreVertical, X } from "lucide-react";
import { Menu, Transition } from "@headlessui/react";
// mobx store
import { useMobxStore } from "lib/mobx/store-provider";
// components
import { LiteReadOnlyEditorWithRef, LiteTextEditorWithRef } from "@plane/lite-text-editor";
import { CommentReactions } from "components/issues/peek-overview";
import { CommentReactions } from "@/components/issues/peek-overview";
// helpers
import { timeAgo } from "helpers/date-time.helper";
import { timeAgo } from "@/helpers/date-time.helper";
import { useMobxStore } from "@/lib/mobx/store-provider";
// types
import { Comment } from "types/issue";
// services
import fileService from "services/file.service";
import fileService from "@/services/file.service";
import { RootStore } from "@/store/root";
import useEditorSuggestions from "hooks/use-editor-suggestions";
import { RootStore } from "store/root";
import { Comment } from "types/issue";
type Props = {
workspaceSlug: string;
comment: Comment;

View File

@ -1,15 +1,14 @@
import React from "react";
import { useRouter } from "next/router";
// mobx
import { observer } from "mobx-react-lite";
import { useMobxStore } from "lib/mobx/store-provider";
import { useRouter } from "next/router";
// ui
import { ReactionSelector } from "components/ui";
import { Tooltip } from "@plane/ui";
import { ReactionSelector } from "@/components/ui";
// helpers
import { groupReactions, renderEmoji } from "helpers/emoji.helper";
import { groupReactions, renderEmoji } from "@/helpers/emoji.helper";
import { useMobxStore } from "@/lib/mobx/store-provider";
type Props = {
commentId: string;

View File

@ -1,13 +1,13 @@
import { observer } from "mobx-react-lite";
// components
import { Loader } from "@plane/ui";
import {
PeekOverviewHeader,
PeekOverviewIssueActivity,
PeekOverviewIssueDetails,
PeekOverviewIssueProperties,
} from "components/issues/peek-overview";
} from "@/components/issues/peek-overview";
// types
import { Loader } from "@plane/ui";
import { IIssue } from "types/issue";
type Props = {

View File

@ -1,18 +1,18 @@
import React from "react";
import { observer } from "mobx-react-lite";
import { Listbox, Transition } from "@headlessui/react";
import { MoveRight } from "lucide-react";
import { Listbox, Transition } from "@headlessui/react";
// hooks
import useToast from "hooks/use-toast";
// ui
import { Icon } from "components/ui";
import { Icon } from "@/components/ui";
// helpers
import { copyTextToClipboard } from "helpers/string.helper";
import { copyTextToClipboard } from "@/helpers/string.helper";
// store
import { IPeekMode } from "store/issue_details";
import { RootStore } from "store/root";
import { useMobxStore } from "@/lib/mobx/store-provider";
import { IPeekMode } from "@/store/issue_details";
import { RootStore } from "@/store/root";
// lib
import { useMobxStore } from "lib/mobx/store-provider";
import useToast from "hooks/use-toast";
// types
import { IIssue } from "types/issue";

View File

@ -1,17 +1,17 @@
import React from "react";
import { observer } from "mobx-react-lite";
import Link from "next/link";
import { useRouter } from "next/router";
// mobx
import { observer } from "mobx-react-lite";
// lib
import { useMobxStore } from "lib/mobx/store-provider";
// components
import { CommentCard, AddComment } from "components/issues/peek-overview";
// ui
import { Icon } from "components/ui";
import { Button } from "@plane/ui";
import { CommentCard, AddComment } from "@/components/issues/peek-overview";
import { Icon } from "@/components/ui";
import { useMobxStore } from "@/lib/mobx/store-provider";
// components
// ui
// types
import { IIssue } from "types/issue";

View File

@ -1,8 +1,8 @@
import { IssueReactions } from "components/issues/peek-overview";
import { RichReadOnlyEditor } from "@plane/rich-text-editor";
import { IssueReactions } from "@/components/issues/peek-overview";
// types
import { IIssue } from "types/issue";
import useEditorSuggestions from "hooks/use-editor-suggestions";
import { IIssue } from "types/issue";
type Props = {
issueDetails: IIssue;

View File

@ -1,13 +1,13 @@
import { useEffect } from "react";
import { useRouter } from "next/router";
import { observer } from "mobx-react-lite";
import { useRouter } from "next/router";
// lib
import { useMobxStore } from "lib/mobx/store-provider";
// helpers
import { groupReactions, renderEmoji } from "helpers/emoji.helper";
// components
import { ReactionSelector } from "components/ui";
import { Tooltip } from "@plane/ui";
import { ReactionSelector } from "@/components/ui";
import { groupReactions, renderEmoji } from "@/helpers/emoji.helper";
import { useMobxStore } from "@/lib/mobx/store-provider";
// helpers
// components
export const IssueEmojiReactions: React.FC = observer(() => {
// router

View File

@ -1,18 +1,18 @@
// hooks
import useToast from "hooks/use-toast";
// ui
import { StateGroupIcon } from "@plane/ui";
// icons
import { Icon } from "components/ui";
import { Icon } from "@/components/ui";
// helpers
import { copyTextToClipboard, addSpaceIfCamelCase } from "helpers/string.helper";
import { renderFullDate } from "helpers/date-time.helper";
import { dueDateIconDetails } from "../board-views/block-due-date";
import { issueGroupFilter, issuePriorityFilter } from "@/constants/data";
import { renderFullDate } from "@/helpers/date-time.helper";
import { copyTextToClipboard, addSpaceIfCamelCase } from "@/helpers/string.helper";
// types
import { IIssue } from "types/issue";
import { IPeekMode } from "store/issue_details";
import { IPeekMode } from "@/store/issue_details";
// constants
import { issueGroupFilter, issuePriorityFilter } from "constants/data";
import useToast from "hooks/use-toast";
import { IIssue } from "types/issue";
import { dueDateIconDetails } from "../board-views/block-due-date";
type Props = {
issueDetails: IIssue;

View File

@ -1,5 +1,5 @@
import { IssueEmojiReactions, IssueVotes } from "components/issues/peek-overview";
import { useMobxStore } from "lib/mobx/store-provider";
import { IssueEmojiReactions, IssueVotes } from "@/components/issues/peek-overview";
import { useMobxStore } from "@/lib/mobx/store-provider";
export const IssueReactions: React.FC = () => {
const { project: projectStore } = useMobxStore();

View File

@ -1,13 +1,13 @@
import { useState, useEffect } from "react";
import { observer } from "mobx-react-lite";
import { useRouter } from "next/router";
// mobx
import { observer } from "mobx-react-lite";
// lib
import { useMobxStore } from "lib/mobx/store-provider";
// ui
import { Tooltip } from "@plane/ui";
import { useMobxStore } from "@/lib/mobx/store-provider";
// ui
export const IssueVotes: React.FC = observer(() => {
const [isSubmitting, setIsSubmitting] = useState(false);

View File

@ -1,15 +1,15 @@
import React, { useEffect, useState } from "react";
import { observer } from "mobx-react-lite";
import { useRouter } from "next/router";
// mobx
import { observer } from "mobx-react-lite";
// headless ui
import { Dialog, Transition } from "@headlessui/react";
// components
import { FullScreenPeekView, SidePeekView } from "components/issues/peek-overview";
import { FullScreenPeekView, SidePeekView } from "@/components/issues/peek-overview";
// lib
import { useMobxStore } from "lib/mobx/store-provider";
import { useMobxStore } from "@/lib/mobx/store-provider";
export const IssuePeekOverview: React.FC = observer(() => {
// states

View File

@ -1,13 +1,13 @@
import { observer } from "mobx-react-lite";
// components
import { Loader } from "@plane/ui";
import {
PeekOverviewHeader,
PeekOverviewIssueActivity,
PeekOverviewIssueDetails,
PeekOverviewIssueProperties,
} from "components/issues/peek-overview";
} from "@/components/issues/peek-overview";
import { Loader } from "@plane/ui";
import { IIssue } from "types/issue";
type Props = {

View File

@ -1,9 +1,9 @@
import { Fragment, useState, useRef } from "react";
import Link from "next/link";
import { Check, ChevronLeft } from "lucide-react";
import { Popover, Transition } from "@headlessui/react";
// hooks
import useOutSideClick from "hooks/use-outside-click";
import { Check, ChevronLeft } from "lucide-react";
type ItemOptionType = {
display: React.ReactNode;

View File

@ -4,10 +4,10 @@ import { Fragment } from "react";
import { Popover, Transition } from "@headlessui/react";
// helper
import { renderEmoji } from "helpers/emoji.helper";
import { Icon } from "@/components/ui";
import { renderEmoji } from "@/helpers/emoji.helper";
// icons
import { Icon } from "components/ui";
const reactionEmojis = ["128077", "128078", "128516", "128165", "128533", "129505", "9992", "128064"];

View File

@ -1,11 +1,11 @@
import { observer } from "mobx-react-lite";
import Image from "next/image";
// mobx
import { observer } from "mobx-react-lite";
import { useMobxStore } from "lib/mobx/store-provider";
// components
import { SignInRoot, UserLoggedIn } from "components/accounts";
import { Loader } from "@plane/ui";
import { SignInRoot, UserLoggedIn } from "@/components/accounts";
import { useMobxStore } from "@/lib/mobx/store-provider";
// components
// images
import BluePlaneLogoWithoutText from "public/plane-logos/blue-without-text-new.png";

View File

@ -1,18 +1,18 @@
import { useEffect } from "react";
import { observer } from "mobx-react-lite";
import Image from "next/image";
import { useRouter } from "next/router";
import { observer } from "mobx-react-lite";
// components
import { IssueListView } from "components/issues/board-views/list";
import { IssueKanbanView } from "components/issues/board-views/kanban";
import { IssueCalendarView } from "components/issues/board-views/calendar";
import { IssueSpreadsheetView } from "components/issues/board-views/spreadsheet";
import { IssueGanttView } from "components/issues/board-views/gantt";
import { IssuePeekOverview } from "components/issues/peek-overview";
import { IssueAppliedFilters } from "components/issues/filters/applied-filters/root";
import { IssueCalendarView } from "@/components/issues/board-views/calendar";
import { IssueGanttView } from "@/components/issues/board-views/gantt";
import { IssueKanbanView } from "@/components/issues/board-views/kanban";
import { IssueListView } from "@/components/issues/board-views/list";
import { IssueSpreadsheetView } from "@/components/issues/board-views/spreadsheet";
import { IssueAppliedFilters } from "@/components/issues/filters/applied-filters/root";
import { IssuePeekOverview } from "@/components/issues/peek-overview";
// mobx store
import { RootStore } from "store/root";
import { useMobxStore } from "lib/mobx/store-provider";
import { useMobxStore } from "@/lib/mobx/store-provider";
import { RootStore } from "@/store/root";
// assets
import SomethingWentWrongImage from "public/something-went-wrong.svg";

View File

@ -2,7 +2,7 @@ import React, { createContext, useCallback, useReducer } from "react";
// uuid
import { v4 as uuid } from "uuid";
// components
import ToastAlert from "components/ui/toast-alert";
import ToastAlert from "@/components/ui/toast-alert";
export const toastContext = createContext<ContextType>({} as ContextType);

View File

@ -1,5 +1,5 @@
import { useMobxStore } from "lib/mobx/store-provider";
import { RootStore } from "store/root";
import { useMobxStore } from "@/lib/mobx/store-provider";
import { RootStore } from "@/store/root";
const useEditorSuggestions = () => {
const { mentionsStore }: RootStore = useMobxStore();

View File

@ -1,7 +1,7 @@
import { useCallback, useState } from "react";
import { useRouter } from "next/router";
// mobx store
import { useMobxStore } from "lib/mobx/store-provider";
import { useMobxStore } from "@/lib/mobx/store-provider";
// types
import { IUser } from "types/user";

View File

@ -1,5 +1,5 @@
import { useContext } from "react";
import { toastContext } from "contexts/toast.context";
import { toastContext } from "@/contexts/toast.context";
const useToast = () => {
const toastContextData = useContext(toastContext);

View File

@ -4,7 +4,7 @@ import Image from "next/image";
import { observer } from "mobx-react-lite";
import planeLogo from "public/plane-logo.svg";
// components
import IssueNavbar from "components/issues/navbar";
import IssueNavbar from "@/components/issues/navbar";
const ProjectLayout = ({ children }: { children: React.ReactNode }) => (
<div className="relative flex h-screen min-h-[500px] w-screen flex-col overflow-hidden">

View File

@ -2,7 +2,7 @@ import { useEffect } from "react";
// js cookie
import Cookie from "js-cookie";
// mobx store
import { useMobxStore } from "lib/mobx/store-provider";
import { useMobxStore } from "@/lib/mobx/store-provider";
const MobxStoreInit = () => {
const { user: userStore } = useMobxStore();

View File

@ -2,7 +2,7 @@
import { createContext, useContext } from "react";
// mobx store
import { RootStore } from "store/root";
import { RootStore } from "@/store/root";
let rootStore: RootStore = new RootStore();

View File

@ -4,11 +4,11 @@ import { useRouter } from "next/router";
import useSWR from "swr";
/// layouts
import ProjectLayout from "layouts/project-layout";
// components
import { ProjectDetailsView } from "components/views/project-details";
import { ProjectDetailsView } from "@/components/views/project-details";
// lib
import { useMobxStore } from "lib/mobx/store-provider";
import { useMobxStore } from "@/lib/mobx/store-provider";
import ProjectLayout from "layouts/project-layout";
const WorkspaceProjectPage = (props: any) => {
const SITE_TITLE = props?.project_settings?.project_details?.name || "Plane | Deploy";

View File

@ -1,15 +1,15 @@
import Head from "next/head";
import type { AppProps } from "next/app";
import Head from "next/head";
import { ThemeProvider } from "next-themes";
// styles
import "styles/globals.css";
import "@/styles/globals.css";
// contexts
import { ToastContextProvider } from "contexts/toast.context";
import { SITE_NAME, SITE_DESCRIPTION, SITE_URL, TWITTER_USER_NAME, SITE_KEYWORDS, SITE_TITLE } from "@/constants/seo";
import { ToastContextProvider } from "@/contexts/toast.context";
// mobx store provider
import { MobxStoreProvider } from "lib/mobx/store-provider";
import MobxStoreInit from "lib/mobx/store-init";
import MobxStoreInit from "@/lib/mobx/store-init";
import { MobxStoreProvider } from "@/lib/mobx/store-provider";
// constants
import { SITE_NAME, SITE_DESCRIPTION, SITE_URL, TWITTER_USER_NAME, SITE_KEYWORDS, SITE_TITLE } from "constants/seo";
const prefix = parseInt(process.env.NEXT_PUBLIC_DEPLOY_WITH_NGINX || "0") === 0 ? "/" : "/spaces/";

View File

@ -3,20 +3,20 @@ import Image from "next/image";
import Link from "next/link";
import { useRouter } from "next/router";
import { useTheme } from "next-themes";
import { Lightbulb } from "lucide-react";
import { Controller, useForm } from "react-hook-form";
import { Lightbulb } from "lucide-react";
// services
import { AuthService } from "services/authentication.service";
// hooks
import useToast from "hooks/use-toast";
import useSignInRedirection from "hooks/use-sign-in-redirection";
// ui
import { Button, Input } from "@plane/ui";
import { checkEmailValidity } from "@/helpers/string.helper";
import { AuthService } from "@/services/authentication.service";
// hooks
import useSignInRedirection from "hooks/use-sign-in-redirection";
import useToast from "hooks/use-toast";
// ui
// images
import BluePlaneLogoWithoutText from "public/plane-logos/blue-without-text-new.png";
import latestFeatures from "public/onboarding/onboarding-pages.svg";
import BluePlaneLogoWithoutText from "public/plane-logos/blue-without-text-new.png";
// helpers
import { checkEmailValidity } from "helpers/string.helper";
type TResetPasswordFormValues = {
email: string;

View File

@ -1,13 +1,13 @@
import { useEffect } from "react";
import { observer } from "mobx-react-lite";
import { NextPage } from "next";
import { useRouter } from "next/router";
import { observer } from "mobx-react-lite";
// components
import { LoginView } from "components/views";
import { LoginView } from "@/components/views";
// store
import { RootStore } from "store/root";
import { useMobxStore } from "lib/mobx/store-provider";
import { useMobxStore } from "@/lib/mobx/store-provider";
import { RootStore } from "@/store/root";
const Index: NextPage = observer(() => {
const router = useRouter();

View File

@ -1,9 +1,9 @@
import React, { useEffect } from "react";
// mobx
import { observer } from "mobx-react-lite";
import { useMobxStore } from "lib/mobx/store-provider";
import { OnBoardingForm } from "@/components/accounts/onboarding-form";
import { useMobxStore } from "@/lib/mobx/store-provider";
// components
import { OnBoardingForm } from "components/accounts/onboarding-form";
const imagePrefix = Boolean(parseInt(process.env.NEXT_PUBLIC_DEPLOY_WITH_NGINX || "0")) ? "/spaces" : "";

View File

@ -1,7 +1,7 @@
// services
import APIService from "services/api.service";
import APIService from "@/services/api.service";
// helper
import { API_BASE_URL } from "helpers/common.helper";
import { API_BASE_URL } from "@/helpers/common.helper";
// types
import { IAppConfig } from "types/app";

View File

@ -1,6 +1,6 @@
// services
import APIService from "services/api.service";
import { API_BASE_URL } from "helpers/common.helper";
import APIService from "@/services/api.service";
import { API_BASE_URL } from "@/helpers/common.helper";
import { IEmailCheckData, IEmailCheckResponse, ILoginTokenResponse, IPasswordSignInData } from "types/auth";
export class AuthService extends APIService {

View File

@ -1,7 +1,7 @@
// services
import APIService from "services/api.service";
import APIService from "@/services/api.service";
// helpers
import { API_BASE_URL } from "helpers/common.helper";
import { API_BASE_URL } from "@/helpers/common.helper";
import axios from "axios";
interface UnSplashImage {

View File

@ -1,6 +1,6 @@
// services
import APIService from "services/api.service";
import { API_BASE_URL } from "helpers/common.helper";
import APIService from "@/services/api.service";
import { API_BASE_URL } from "@/helpers/common.helper";
class IssueService extends APIService {
constructor() {

View File

@ -1,6 +1,6 @@
// services
import APIService from "services/api.service";
import { API_BASE_URL } from "helpers/common.helper";
import APIService from "@/services/api.service";
import { API_BASE_URL } from "@/helpers/common.helper";
class ProjectService extends APIService {
constructor() {

View File

@ -1,7 +1,7 @@
// services
import APIService from "services/api.service";
import APIService from "@/services/api.service";
// helpers
import { API_BASE_URL } from "helpers/common.helper";
import { API_BASE_URL } from "@/helpers/common.helper";
// types
import { IUser } from "types/user";

View File

@ -1,6 +1,6 @@
import { observable, action, computed, makeObservable, runInAction } from "mobx";
// services
import IssueService from "services/issue.service";
import IssueService from "@/services/issue.service";
// store
import { RootStore } from "./root";
// types

View File

@ -3,7 +3,7 @@ import { v4 as uuidv4 } from "uuid";
// store
import { RootStore } from "./root";
// services
import IssueService from "services/issue.service";
import IssueService from "@/services/issue.service";
import { IIssue, IVote } from "types/issue";
export type IPeekMode = "side" | "modal" | "full";

View File

@ -1,5 +1,5 @@
// types
import { RootStore } from "store/root";
import { RootStore } from "@/store/root";
export interface IIssueFilterBaseStore {
// helper methods

View File

@ -1,6 +1,6 @@
import { action, makeObservable, observable, runInAction, computed } from "mobx";
// types
import { RootStore } from "store/root";
import { RootStore } from "@/store/root";
import { IIssueFilterOptions, TIssueParams } from "./types";
import { handleIssueQueryParamsByLayout } from "./helpers";
import { IssueFilterBaseStore } from "./base-issue-filter.store";

View File

@ -1,7 +1,7 @@
// mobx
import { observable, action, makeObservable, runInAction } from "mobx";
// service
import ProjectService from "services/project.service";
import ProjectService from "@/services/project.service";
import { TIssueBoardKeys } from "types/issue";
// types
import { IWorkspace, IProject, IProjectSettings } from "types/project";

View File

@ -1,7 +1,7 @@
// mobx
import { observable, action, computed, makeObservable, runInAction } from "mobx";
// service
import { UserService } from "services/user.service";
import { UserService } from "@/services/user.service";
// types
import { IUser } from "types/user";

View File

@ -4,6 +4,9 @@
"exclude": ["node_modules"],
"compilerOptions": {
"baseUrl": ".",
"jsx": "preserve"
"jsx": "preserve",
"paths": {
"@/*": ["*"]
}
}
}

View File

@ -11,93 +11,42 @@ module.exports = {
},
},
rules: {
// "import/order": [
// "error",
// {
// groups: ["builtin", "external", "internal", "parent", "sibling"],
// pathGroups: [
// {
// pattern: "react",
// group: "external",
// position: "before",
// },
// {
// pattern: "@headlessui/**",
// group: "external",
// position: "after",
// },
// {
// pattern: "lucide-react",
// group: "external",
// position: "after",
// },
// {
// pattern: "@plane/ui",
// group: "external",
// position: "after",
// },
// {
// pattern: "components/**",
// group: "internal",
// position: "before",
// },
// {
// pattern: "constants/**",
// group: "internal",
// position: "before",
// },
// {
// pattern: "contexts/**",
// group: "internal",
// position: "before",
// },
// {
// pattern: "helpers/**",
// group: "internal",
// position: "before",
// },
// {
// pattern: "hooks/**",
// group: "internal",
// position: "before",
// },
// {
// pattern: "layouts/**",
// group: "internal",
// position: "before",
// },
// {
// pattern: "lib/**",
// group: "internal",
// position: "before",
// },
// {
// pattern: "services/**",
// group: "internal",
// position: "before",
// },
// {
// pattern: "store/**",
// group: "internal",
// position: "before",
// },
// {
// pattern: "@plane/types",
// group: "internal",
// position: "after",
// },
// {
// pattern: "lib/types",
// group: "internal",
// position: "after",
// },
// ],
// pathGroupsExcludedImportTypes: ["builtin", "internal", "react"],
// alphabetize: {
// order: "asc",
// caseInsensitive: true,
// },
// },
// ],
"import/order": [
"error",
{
groups: ["builtin", "external", "internal", "parent", "sibling",],
pathGroups: [
{
pattern: "react",
group: "external",
position: "before",
},
{
pattern: "lucide-react",
group: "external",
position: "after",
},
{
pattern: "@headlessui/**",
group: "external",
position: "after",
},
{
pattern: "@plane/**",
group: "external",
position: "after",
},
{
pattern: "@/**",
group: "internal",
}
],
pathGroupsExcludedImportTypes: ["builtin", "internal", "react"],
alphabetize: {
order: "asc",
caseInsensitive: true,
},
},
],
},
};

View File

@ -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;

View File

@ -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>;

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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 = {

View File

@ -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

View File

@ -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 = {

View File

@ -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;

View File

@ -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

View File

@ -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>;

View File

@ -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

View File

@ -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 = {

View File

@ -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>;

View File

@ -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>;

View File

@ -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 = {

View File

@ -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 = {

View File

@ -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>;

View File

@ -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 = {

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