fix: eslint issues and reconfiguring (#3891)

* fix: eslint fixes

---------

Co-authored-by: gurusainath <gurusainath007@gmail.com>
This commit is contained in:
sriram veeraghanta 2024-03-06 18:39:14 +05:30 committed by GitHub
parent 921b9078f1
commit 3d09a69d58
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
790 changed files with 4155 additions and 4051 deletions

View file

@ -1,17 +1,17 @@
import React, { useState } from "react";
import { observer } from "mobx-react-lite";
import { useRouter } from "next/router";
import { Dialog, Transition } from "@headlessui/react";
import { observer } from "mobx-react-lite";
// hooks
import { AlertTriangle } from "lucide-react";
import { Button, TOAST_TYPE, setToast } from "@plane/ui";
import { MODULE_DELETED } from "constants/event-tracker";
import { useEventTracker, useModule } from "hooks/store";
// ui
import { Button, TOAST_TYPE, setToast } from "@plane/ui";
// icons
import { AlertTriangle } from "lucide-react";
// types
import type { IModule } from "@plane/types";
// constants
import { MODULE_DELETED } from "constants/event-tracker";
type Props = {
data: IModule;

View file

@ -1,10 +1,10 @@
import { useEffect } from "react";
import { Controller, useForm } from "react-hook-form";
// components
import { ModuleStatusSelect } from "components/modules";
import { DateRangeDropdown, ProjectDropdown, MemberDropdown } from "components/dropdowns";
// ui
import { Button, Input, TextArea } from "@plane/ui";
import { DateRangeDropdown, ProjectDropdown, MemberDropdown } from "components/dropdowns";
import { ModuleStatusSelect } from "components/modules";
// ui
// helpers
import { renderFormattedPayloadDate } from "helpers/date-time.helper";
// types

View file

@ -1,13 +1,13 @@
import { useRouter } from "next/router";
import { observer } from "mobx-react";
import { useRouter } from "next/router";
// hooks
import { useApplication, useModule } from "hooks/store";
// ui
import { Tooltip, ModuleStatusIcon } from "@plane/ui";
// helpers
import { MODULE_STATUS } from "constants/module";
import { renderFormattedDate } from "helpers/date-time.helper";
// constants
import { MODULE_STATUS } from "constants/module";
import { useApplication, useModule } from "hooks/store";
type Props = {
moduleId: string;

View file

@ -1,10 +1,10 @@
import { useRouter } from "next/router";
import { observer } from "mobx-react-lite";
import { useRouter } from "next/router";
// mobx store
import { useModule, useProject } from "hooks/store";
// components
import { GanttChartRoot, IBlockUpdateData, ModuleGanttSidebar } from "components/gantt-chart";
import { ModuleGanttBlock } from "components/modules";
import { useModule, useProject } from "hooks/store";
// types
import { IModule } from "@plane/types";

View file

@ -2,16 +2,16 @@ import React, { useEffect, useState } from "react";
import { observer } from "mobx-react-lite";
import { useForm } from "react-hook-form";
import { Dialog, Transition } from "@headlessui/react";
// components
import { TOAST_TYPE, setToast } from "@plane/ui";
import { ModuleForm } from "components/modules";
import { MODULE_CREATED, MODULE_UPDATED } from "constants/event-tracker";
// hooks
import { useEventTracker, useModule, useProject } from "hooks/store";
// ui
import { TOAST_TYPE, setToast } from "@plane/ui";
// components
import { ModuleForm } from "components/modules";
// types
import type { IModule } from "@plane/types";
// constants
import { MODULE_CREATED, MODULE_UPDATED } from "constants/event-tracker";
type Props = {
isOpen: boolean;
@ -77,7 +77,7 @@ export const CreateUpdateModuleModal: React.FC<Props> = observer((props) => {
});
};
const handleUpdateModule = async (payload: Partial<IModule>, dirtyFields: any) => {
const handleUpdateModule = async (payload: Partial<IModule>, dirtyFields: unknown) => {
if (!workspaceSlug || !projectId || !data) return;
const selectedProjectId = payload.project_id ?? projectId.toString();
@ -92,7 +92,7 @@ export const CreateUpdateModuleModal: React.FC<Props> = observer((props) => {
});
captureModuleEvent({
eventName: MODULE_UPDATED,
payload: { ...res, changed_properties: Object.keys(dirtyFields), state: "SUCCESS" },
payload: { ...res, changed_properties: Object.keys(dirtyFields || {}), state: "SUCCESS" },
});
})
.catch((err) => {
@ -108,7 +108,7 @@ export const CreateUpdateModuleModal: React.FC<Props> = observer((props) => {
});
};
const handleFormSubmit = async (formData: Partial<IModule>, dirtyFields: any) => {
const handleFormSubmit = async (formData: Partial<IModule>, dirtyFields: unknown) => {
if (!workspaceSlug || !projectId) return;
const payload: Partial<IModule> = {

View file

@ -1,21 +1,21 @@
import React, { useState } from "react";
import { observer } from "mobx-react-lite";
import Link from "next/link";
import { useRouter } from "next/router";
import { observer } from "mobx-react-lite";
import { Info, LinkIcon, Pencil, Star, Trash2 } from "lucide-react";
// hooks
import { useEventTracker, useMember, useModule, useUser } from "hooks/store";
// components
import { CreateUpdateModuleModal, DeleteModuleModal } from "components/modules";
// ui
import { Avatar, AvatarGroup, CustomMenu, LayersIcon, Tooltip, TOAST_TYPE, setToast, setPromiseToast } from "@plane/ui";
// helpers
import { copyUrlToClipboard } from "helpers/string.helper";
import { renderFormattedDate } from "helpers/date-time.helper";
// constants
import { CreateUpdateModuleModal, DeleteModuleModal } from "components/modules";
import { MODULE_FAVORITED, MODULE_UNFAVORITED } from "constants/event-tracker";
import { MODULE_STATUS } from "constants/module";
import { EUserProjectRoles } from "constants/project";
import { MODULE_FAVORITED, MODULE_UNFAVORITED } from "constants/event-tracker";
import { renderFormattedDate } from "helpers/date-time.helper";
import { copyUrlToClipboard } from "helpers/string.helper";
import { useEventTracker, useMember, useModule, useUser } from "hooks/store";
// components
// ui
// helpers
// constants
type Props = {
moduleId: string;

View file

@ -1,13 +1,9 @@
import React, { useState } from "react";
import { observer } from "mobx-react-lite";
import Link from "next/link";
import { useRouter } from "next/router";
import { observer } from "mobx-react-lite";
import { Check, Info, LinkIcon, Pencil, Star, Trash2, User2 } from "lucide-react";
// hooks
import { useModule, useUser, useEventTracker, useMember } from "hooks/store";
// components
import { CreateUpdateModuleModal, DeleteModuleModal } from "components/modules";
// ui
import {
Avatar,
AvatarGroup,
@ -18,13 +14,17 @@ import {
setToast,
setPromiseToast,
} from "@plane/ui";
// helpers
import { copyUrlToClipboard } from "helpers/string.helper";
import { renderFormattedDate } from "helpers/date-time.helper";
// constants
import { CreateUpdateModuleModal, DeleteModuleModal } from "components/modules";
import { MODULE_FAVORITED, MODULE_UNFAVORITED } from "constants/event-tracker";
import { MODULE_STATUS } from "constants/module";
import { EUserProjectRoles } from "constants/project";
import { MODULE_FAVORITED, MODULE_UNFAVORITED } from "constants/event-tracker";
import { renderFormattedDate } from "helpers/date-time.helper";
import { copyUrlToClipboard } from "helpers/string.helper";
import { useModule, useUser, useEventTracker, useMember } from "hooks/store";
// components
// ui
// helpers
// constants
type Props = {
moduleId: string;
@ -175,9 +175,9 @@ export const ModuleListItem: React.FC<Props> = observer((props) => {
)}
<DeleteModuleModal data={moduleDetails} isOpen={deleteModal} onClose={() => setDeleteModal(false)} />
<Link href={`/${workspaceSlug}/projects/${moduleDetails.project_id}/modules/${moduleDetails.id}`}>
<div className="group flex w-full items-center justify-between gap-5 border-b border-custom-border-100 bg-custom-background-100 flex-col sm:flex-row px-5 py-6 text-sm hover:bg-custom-background-90">
<div className="relative flex w-full items-center gap-3 justify-between overflow-hidden">
<div className="relative w-full flex items-center gap-3 overflow-hidden">
<div className="group flex w-full flex-col items-center justify-between gap-5 border-b border-custom-border-100 bg-custom-background-100 px-5 py-6 text-sm hover:bg-custom-background-90 sm:flex-row">
<div className="relative flex w-full items-center justify-between gap-3 overflow-hidden">
<div className="relative flex w-full items-center gap-3 overflow-hidden">
<div className="flex items-center gap-4 truncate">
<span className="flex-shrink-0">
<CircularProgressIndicator size={38} percentage={progress}>
@ -202,10 +202,10 @@ export const ModuleListItem: React.FC<Props> = observer((props) => {
<Info className="h-4 w-4 text-custom-text-400" />
</button>
</div>
<div className="flex items-center justify-center flex-shrink-0">
<div className="flex flex-shrink-0 items-center justify-center">
{moduleStatus && (
<span
className="flex h-6 w-20 items-center justify-center rounded-sm text-center text-xs flex-shrink-0"
className="flex h-6 w-20 flex-shrink-0 items-center justify-center rounded-sm text-center text-xs"
style={{
color: moduleStatus.color,
backgroundColor: `${moduleStatus.color}20`,
@ -217,7 +217,7 @@ export const ModuleListItem: React.FC<Props> = observer((props) => {
</div>
</div>
<div className="flex w-full sm:w-auto relative overflow-hidden items-center gap-2.5 justify-between sm:justify-end sm:flex-shrink-0 ">
<div className="relative flex w-full items-center justify-between gap-2.5 overflow-hidden sm:w-auto sm:flex-shrink-0 sm:justify-end ">
<div className="text-xs text-custom-text-300">
{renderDate && (
<span className=" text-xs text-custom-text-300">
@ -226,7 +226,7 @@ export const ModuleListItem: React.FC<Props> = observer((props) => {
)}
</div>
<div className="flex-shrink-0 relative flex items-center gap-3">
<div className="relative flex flex-shrink-0 items-center gap-3">
<Tooltip tooltipContent={`${moduleDetails?.member_ids?.length || 0} Members`}>
<div className="flex w-10 cursor-default items-center justify-center gap-1">
{moduleDetails.member_ids.length > 0 ? (

View file

@ -1,12 +1,12 @@
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions, TIssueLayouts } from "@plane/types";
import { useCallback, useState } from "react";
import router from "next/router";
import { Calendar, ChevronDown, Kanban, List } from "lucide-react";
import { CustomMenu } from "@plane/ui";
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, useLabel, useMember, useModule, useProjectState } from "hooks/store";
import { Calendar, ChevronDown, Kanban, List } from "lucide-react";
import router from "next/router";
import { useCallback, useState } from "react";
import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions, TIssueLayouts } from "@plane/types";
export const ModuleMobileHeader = () => {
const [analyticsModal, setAnalyticsModal] = useState(false);
@ -83,35 +83,36 @@ export const ModuleMobileHeader = () => {
onClose={() => setAnalyticsModal(false)}
moduleDetails={moduleDetails ?? undefined}
/>
<div className="flex justify-evenly py-2 border-b border-custom-border-200">
<div className="flex justify-evenly border-b border-custom-border-200 py-2">
<CustomMenu
maxHeight={"md"}
className="flex flex-grow justify-center text-custom-text-200 text-sm"
className="flex flex-grow justify-center text-sm text-custom-text-200"
placement="bottom-start"
customButton={<span className="flex flex-grow justify-center text-custom-text-200 text-sm">Layout</span>}
customButton={<span className="flex flex-grow justify-center text-sm text-custom-text-200">Layout</span>}
customButtonClassName="flex flex-grow justify-center text-custom-text-200 text-sm"
closeOnSelect
>
{layouts.map((layout, index) => (
<CustomMenu.MenuItem
key={layout.key}
onClick={() => {
handleLayoutChange(ISSUE_LAYOUTS[index].key);
}}
className="flex items-center gap-2"
>
<layout.icon className="w-3 h-3" />
<layout.icon className="h-3 w-3" />
<div className="text-custom-text-300">{layout.title}</div>
</CustomMenu.MenuItem>
))}
</CustomMenu>
<div className="flex flex-grow justify-center border-l border-custom-border-200 items-center text-custom-text-200 text-sm">
<div className="flex flex-grow items-center justify-center border-l border-custom-border-200 text-sm text-custom-text-200">
<FiltersDropdown
title="Filters"
placement="bottom-end"
menuButton={
<span className="flex items-center text-custom-text-200 text-sm">
<span className="flex items-center text-sm text-custom-text-200">
Filters
<ChevronDown className="text-custom-text-200 h-4 w-4 ml-2" />
<ChevronDown className="ml-2 h-4 w-4 text-custom-text-200" />
</span>
}
>
@ -127,14 +128,14 @@ export const ModuleMobileHeader = () => {
/>
</FiltersDropdown>
</div>
<div className="flex flex-grow justify-center border-l border-custom-border-200 items-center text-custom-text-200 text-sm">
<div className="flex flex-grow items-center justify-center border-l border-custom-border-200 text-sm text-custom-text-200">
<FiltersDropdown
title="Display"
placement="bottom-end"
menuButton={
<span className="flex items-center text-custom-text-200 text-sm">
<span className="flex items-center text-sm text-custom-text-200">
Display
<ChevronDown className="text-custom-text-200 h-4 w-4 ml-2" />
<ChevronDown className="ml-2 h-4 w-4 text-custom-text-200" />
</span>
}
>
@ -153,7 +154,7 @@ export const ModuleMobileHeader = () => {
<button
onClick={() => setAnalyticsModal(true)}
className="flex flex-grow justify-center text-custom-text-200 text-sm border-l border-custom-border-200"
className="flex flex-grow justify-center border-l border-custom-border-200 text-sm text-custom-text-200"
>
Analytics
</button>

View file

@ -1,6 +1,6 @@
import React, { useEffect } from "react";
import { useRouter } from "next/router";
import { observer } from "mobx-react-lite";
import { useRouter } from "next/router";
// hooks
import { useModule } from "hooks/store";
// components

View file

@ -1,17 +1,17 @@
import { useRouter } from "next/router";
import { observer } from "mobx-react-lite";
import { useRouter } from "next/router";
import { useTheme } from "next-themes";
// hooks
import { useApplication, useEventTracker, useModule, useUser } from "hooks/store";
import useLocalStorage from "hooks/use-local-storage";
// components
import { ModuleCardItem, ModuleListItem, ModulePeekOverview, ModulesListGanttChartView } from "components/modules";
import { EmptyState, getEmptyStateImagePath } from "components/empty-state";
import { ModuleCardItem, ModuleListItem, ModulePeekOverview, ModulesListGanttChartView } from "components/modules";
// ui
import { CycleModuleBoardLayout, CycleModuleListLayout, GanttLayoutLoader } from "components/ui";
// constants
import { EUserProjectRoles } from "constants/project";
import { MODULE_EMPTY_STATE_DETAILS } from "constants/empty-state";
import { EUserProjectRoles } from "constants/project";
import { useApplication, useEventTracker, useModule, useUser } from "hooks/store";
import useLocalStorage from "hooks/use-local-storage";
export const ModulesListView: React.FC = observer(() => {
// router

View file

@ -5,9 +5,9 @@ import { Controller, FieldError, Control } from "react-hook-form";
// ui
import { CustomSelect, DoubleCircleIcon, ModuleStatusIcon } from "@plane/ui";
// types
import { MODULE_STATUS } from "constants/module";
import type { IModule } from "@plane/types";
// constants
import { MODULE_STATUS } from "constants/module";
type Props = {
control: Control<IModule, any>;

View file

@ -5,10 +5,10 @@ import { Control, Controller, UseFormWatch } from "react-hook-form";
// ui
import { CustomSelect, DoubleCircleIcon } from "@plane/ui";
// types
import { MODULE_STATUS } from "constants/module";
import { IModule } from "@plane/types";
// common
// constants
import { MODULE_STATUS } from "constants/module";
type Props = {
control: Control<Partial<IModule>, any>;

View file

@ -1,6 +1,6 @@
import React, { useEffect, useState } 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 { Disclosure, Transition } from "@headlessui/react";
import {
@ -14,13 +14,6 @@ import {
Trash2,
UserCircle2,
} from "lucide-react";
// hooks
import { useModule, useUser, useEventTracker } from "hooks/store";
// components
import { LinkModal, LinksList, SidebarProgressStats } from "components/core";
import { DeleteModuleModal } from "components/modules";
import ProgressChart from "components/core/sidebar/progress-chart";
import { DateRangeDropdown, MemberDropdown } from "components/dropdowns";
// ui
import {
CustomMenu,
@ -32,15 +25,22 @@ import {
TOAST_TYPE,
setToast,
} from "@plane/ui";
// components
import { LinkModal, LinksList, SidebarProgressStats } from "components/core";
import ProgressChart from "components/core/sidebar/progress-chart";
import { DateRangeDropdown, MemberDropdown } from "components/dropdowns";
import { DeleteModuleModal } from "components/modules";
// constant
import { MODULE_LINK_CREATED, MODULE_LINK_DELETED, MODULE_LINK_UPDATED, MODULE_UPDATED } from "constants/event-tracker";
import { MODULE_STATUS } from "constants/module";
import { EUserProjectRoles } from "constants/project";
// helpers
import { renderFormattedPayloadDate } from "helpers/date-time.helper";
import { copyUrlToClipboard } from "helpers/string.helper";
// hooks
import { useModule, useUser, useEventTracker } from "hooks/store";
// types
import { ILinkDetails, IModule, ModuleLink } from "@plane/types";
// constant
import { MODULE_STATUS } from "constants/module";
import { EUserProjectRoles } from "constants/project";
import { MODULE_LINK_CREATED, MODULE_LINK_DELETED, MODULE_LINK_UPDATED, MODULE_UPDATED } from "constants/event-tracker";
const defaultValues: Partial<IModule> = {
lead_id: "",
@ -340,7 +340,7 @@ export const ModuleDetailsSidebar: React.FC<Props> = observer((props) => {
<CalendarClock className="h-4 w-4" />
<span className="text-base">Date range</span>
</div>
<div className="w-3/5 h-7">
<div className="h-7 w-3/5">
<Controller
control={control}
name="start_date"
@ -384,7 +384,7 @@ export const ModuleDetailsSidebar: React.FC<Props> = observer((props) => {
control={control}
name="lead_id"
render={({ field: { value } }) => (
<div className="w-3/5 h-7">
<div className="h-7 w-3/5">
<MemberDropdown
value={value ?? null}
onChange={(val) => {
@ -408,7 +408,7 @@ export const ModuleDetailsSidebar: React.FC<Props> = observer((props) => {
control={control}
name="member_ids"
render={({ field: { value } }) => (
<div className="w-3/5 h-7">
<div className="h-7 w-3/5">
<MemberDropdown
value={value ?? []}
onChange={(val: string[]) => {
@ -429,7 +429,7 @@ export const ModuleDetailsSidebar: React.FC<Props> = observer((props) => {
<LayersIcon className="h-4 w-4" />
<span className="text-base">Issues</span>
</div>
<div className="h-7 w-3/5 flex items-center">
<div className="flex h-7 w-3/5 items-center">
<span className="px-1.5 text-sm text-custom-text-300">{issueCount}</span>
</div>
</div>