fix: remove unused imports and variables (part 1 — packages & non-web-core) (#8751)

* fix: remove unused imports and variables (part 1)

Resolve oxlint no-unused-vars warnings in packages/*, apps/admin,
apps/space, apps/live, and apps/web (non-core).

* fix: resolve CI check failures

* fix: resolve check:types failures

* fix: resolve check:types and check:format failures

- Use destructuring alias for activeCycleResolvedPath
- Format propel tab-navigation file

* fix: format propel button helper with oxfmt

Reorder Tailwind classes to match oxfmt canonical ordering.
This commit is contained in:
darkingtail 2026-03-25 04:17:03 +08:00 committed by sriram veeraghanta
parent c3c7c72aff
commit d9695afcdc
95 changed files with 71 additions and 145 deletions

View file

@ -88,7 +88,7 @@ export function HydrateFallback() {
);
}
export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) {
export function ErrorBoundary({ error: _error }: Route.ErrorBoundaryProps) {
return (
<div>
<p>Something went wrong.</p>

View file

@ -12,7 +12,6 @@ import {
CODE_COLORS,
LINK_COLORS,
MENTION_COLORS,
NEUTRAL_COLORS,
TEXT_COLORS,
} from "./colors";

View file

@ -95,6 +95,6 @@ export function HydrateFallback() {
);
}
export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) {
export function ErrorBoundary({ error: _error }: Route.ErrorBoundaryProps) {
return <ErrorPage />;
}

View file

@ -25,7 +25,7 @@ export type TEditorFlaggingHookReturnType = {
/**
* @description extensions disabled in various editors
*/
export const useEditorFlagging = (anchor: string): TEditorFlaggingHookReturnType => ({
export const useEditorFlagging = (_anchor: string): TEditorFlaggingHookReturnType => ({
document: {
disabled: [],
flagged: [],

View file

@ -9,7 +9,7 @@ import { action, makeObservable, observable, runInAction } from "mobx";
import { SitesCycleService } from "@plane/services";
import type { TPublicCycle } from "@/types/cycle";
// store
import type { CoreRootStore } from "./root.store";
import type { RootStore } from "./root.store";
export interface ICycleStore {
// observables
@ -23,9 +23,9 @@ export interface ICycleStore {
export class CycleStore implements ICycleStore {
cycles: TPublicCycle[] | undefined = undefined;
cycleService: SitesCycleService;
rootStore: CoreRootStore;
rootStore: RootStore;
constructor(_rootStore: CoreRootStore) {
constructor(_rootStore: RootStore) {
makeObservable(this, {
// observables
cycles: observable,

View file

@ -23,7 +23,7 @@ import type {
} from "@plane/types";
// types
import type { IIssue, TIssuesResponse } from "@/types/issue";
import type { CoreRootStore } from "../root.store";
import type { RootStore } from "../root.store";
// constants
// helpers
@ -81,7 +81,7 @@ export abstract class BaseIssuesStore implements IBaseIssuesStore {
// root store
rootIssueStore;
constructor(_rootStore: CoreRootStore) {
constructor(_rootStore: RootStore) {
makeObservable(this, {
// observable
loader: observable,

View file

@ -10,7 +10,7 @@ import { observable, action, makeObservable, runInAction } from "mobx";
import { InstanceService } from "@plane/services";
import type { IInstance, IInstanceConfig } from "@plane/types";
// store
import type { CoreRootStore } from "@/store/root.store";
import type { RootStore } from "@/store/root.store";
type TError = {
status: string;
@ -40,7 +40,7 @@ export class InstanceStore implements IInstanceStore {
// services
instanceService;
constructor(private store: CoreRootStore) {
constructor(private store: RootStore) {
makeObservable(this, {
// observable
isLoading: observable.ref,

View file

@ -13,7 +13,7 @@ import { SitesFileService, SitesIssueService } from "@plane/services";
import type { TFileSignedURLResponse, TIssuePublicComment } from "@plane/types";
import { EFileAssetType } from "@plane/types";
// store
import type { CoreRootStore } from "@/store/root.store";
import type { RootStore } from "@/store/root.store";
// types
import type { IIssue, IPeekMode, IVote } from "@/types/issue";
@ -60,12 +60,12 @@ export class IssueDetailStore implements IIssueDetailStore {
[key: string]: IIssue;
} = {};
// root store
rootStore: CoreRootStore;
rootStore: RootStore;
// services
issueService: SitesIssueService;
fileService: SitesFileService;
constructor(_rootStore: CoreRootStore) {
constructor(_rootStore: RootStore) {
makeObservable(this, {
loader: observable.ref,
error: observable.ref,

View file

@ -11,7 +11,7 @@ import { computedFn } from "mobx-utils";
import { ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "@plane/constants";
import type { IssuePaginationOptions, TIssueParams } from "@plane/types";
// store
import type { CoreRootStore } from "@/store/root.store";
import type { RootStore } from "@/store/root.store";
// types
import type {
TIssueLayoutOptions,
@ -60,7 +60,7 @@ export class IssueFilterStore implements IIssueFilterStore {
};
filters: { [anchor: string]: TIssueFilters } | undefined = undefined;
constructor(private store: CoreRootStore) {
constructor(private store: RootStore) {
makeObservable(this, {
// observables
layoutOptions: observable,

View file

@ -9,7 +9,7 @@ import { action, makeObservable, runInAction } from "mobx";
import { SitesIssueService } from "@plane/services";
import type { IssuePaginationOptions, TLoader } from "@plane/types";
// store
import type { CoreRootStore } from "@/store/root.store";
import type { RootStore } from "@/store/root.store";
// types
import { BaseIssuesStore } from "./helpers/base-issues.store";
import type { IBaseIssuesStore } from "./helpers/base-issues.store";
@ -28,11 +28,11 @@ export interface IIssueStore extends IBaseIssuesStore {
export class IssueStore extends BaseIssuesStore implements IIssueStore {
// root store
rootStore: CoreRootStore;
rootStore: RootStore;
// services
issueService: SitesIssueService;
constructor(_rootStore: CoreRootStore) {
constructor(_rootStore: RootStore) {
super(_rootStore);
makeObservable(this, {
// actions

View file

@ -10,7 +10,7 @@ import { action, computed, makeObservable, observable, runInAction } from "mobx"
import { SitesLabelService } from "@plane/services";
import type { IIssueLabel } from "@plane/types";
// store
import type { CoreRootStore } from "./root.store";
import type { RootStore } from "./root.store";
export interface IIssueLabelStore {
// observables
@ -25,9 +25,9 @@ export interface IIssueLabelStore {
export class LabelStore implements IIssueLabelStore {
labelMap: Record<string, IIssueLabel> = {};
labelService: SitesLabelService;
rootStore: CoreRootStore;
rootStore: RootStore;
constructor(_rootStore: CoreRootStore) {
constructor(_rootStore: RootStore) {
makeObservable(this, {
// observables
labelMap: observable,

View file

@ -9,7 +9,7 @@ import { action, computed, makeObservable, observable, runInAction } from "mobx"
// plane imports
import { SitesMemberService } from "@plane/services";
import type { TPublicMember } from "@/types/member";
import type { CoreRootStore } from "./root.store";
import type { RootStore } from "./root.store";
export interface IIssueMemberStore {
// observables
@ -24,9 +24,9 @@ export interface IIssueMemberStore {
export class MemberStore implements IIssueMemberStore {
memberMap: Record<string, TPublicMember> = {};
memberService: SitesMemberService;
rootStore: CoreRootStore;
rootStore: RootStore;
constructor(_rootStore: CoreRootStore) {
constructor(_rootStore: RootStore) {
makeObservable(this, {
// observables
memberMap: observable,

View file

@ -11,7 +11,7 @@ import { SitesModuleService } from "@plane/services";
// types
import type { TPublicModule } from "@/types/modules";
// root store
import type { CoreRootStore } from "./root.store";
import type { RootStore } from "./root.store";
export interface IIssueModuleStore {
// observables
@ -26,9 +26,9 @@ export interface IIssueModuleStore {
export class ModuleStore implements IIssueModuleStore {
moduleMap: Record<string, TPublicModule> = {};
moduleService: SitesModuleService;
rootStore: CoreRootStore;
rootStore: RootStore;
constructor(_rootStore: CoreRootStore) {
constructor(_rootStore: RootStore) {
makeObservable(this, {
// observables
moduleMap: observable,

View file

@ -11,7 +11,7 @@ import { UserService } from "@plane/services";
import type { TUserProfile } from "@plane/types";
import { EStartOfTheWeek } from "@plane/types";
// store
import type { CoreRootStore } from "@/store/root.store";
import type { RootStore } from "@/store/root.store";
type TError = {
status: string;
@ -64,7 +64,7 @@ export class ProfileStore implements IProfileStore {
// services
userService: UserService;
constructor(public store: CoreRootStore) {
constructor(public store: RootStore) {
makeObservable(this, {
// observables
isLoading: observable.ref,

View file

@ -14,7 +14,7 @@ import type {
TProjectPublishViewProps,
} from "@plane/types";
// store
import type { CoreRootStore } from "../root.store";
import type { RootStore } from "../root.store";
export interface IPublishStore extends TProjectPublishSettings {
// computed
@ -45,7 +45,7 @@ export class PublishStore implements IPublishStore {
workspace_detail: IWorkspaceLite | undefined;
constructor(
private store: CoreRootStore,
private store: RootStore,
publishSettings: TProjectPublishSettings
) {
this.anchor = publishSettings.anchor;

View file

@ -11,7 +11,7 @@ import { SitesProjectPublishService } from "@plane/services";
import type { TProjectPublishSettings } from "@plane/types";
// store
import { PublishStore } from "@/store/publish/publish.store";
import type { CoreRootStore } from "@/store/root.store";
import type { RootStore } from "@/store/root.store";
export interface IPublishListStore {
// observables
@ -26,7 +26,7 @@ export class PublishListStore implements IPublishListStore {
// service
publishService;
constructor(private rootStore: CoreRootStore) {
constructor(private rootStore: RootStore) {
makeObservable(this, {
// observables
publishMap: observable,

View file

@ -12,7 +12,7 @@ import type { IState } from "@plane/types";
// helpers
import { sortStates } from "@/helpers/state.helper";
// store
import type { CoreRootStore } from "./root.store";
import type { RootStore } from "./root.store";
export interface IStateStore {
// observables
@ -28,9 +28,9 @@ export interface IStateStore {
export class StateStore implements IStateStore {
states: IState[] | undefined = undefined;
stateService: SitesStateService;
rootStore: CoreRootStore;
rootStore: RootStore;
constructor(_rootStore: CoreRootStore) {
constructor(_rootStore: RootStore) {
makeObservable(this, {
// observables
states: observable,

View file

@ -14,7 +14,7 @@ import type { ActorDetail, IUser } from "@plane/types";
import type { IProfileStore } from "@/store/profile.store";
import { ProfileStore } from "@/store/profile.store";
// store
import type { CoreRootStore } from "@/store/root.store";
import type { RootStore } from "@/store/root.store";
type TUserErrorStatus = {
status: string;
@ -50,7 +50,7 @@ export class UserStore implements IUserStore {
// service
userService: UserService;
constructor(private store: CoreRootStore) {
constructor(private store: RootStore) {
// stores
this.profile = new ProfileStore(store);
// service

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import { useState } from "react";
import { observer } from "mobx-react";
// plane imports

View file

@ -5,7 +5,6 @@
*/
// ui
import type { FC } from "react";
import { observer } from "mobx-react";
import { useParams, useRouter } from "next/navigation";
import { PanelRight } from "lucide-react";
@ -14,7 +13,6 @@ import { useTranslation } from "@plane/i18n";
import { YourWorkIcon, ChevronDownIcon } from "@plane/propel/icons";
import type { IUserProfileProjectSegregation } from "@plane/types";
import { Breadcrumbs, Header, CustomMenu } from "@plane/ui";
import { cn } from "@plane/utils";
// components
import { BreadcrumbLink } from "@/components/common/breadcrumb-link";
import { ProfileIssuesFilter } from "@/components/profile/profile-issues-filter";

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import { isEmpty } from "lodash-es";
import { observer } from "mobx-react";
// plane helpers

View file

@ -81,7 +81,6 @@ function UserInvitationsPage() {
.then(() => {
mutate(USER_WORKSPACES_LIST);
const firstInviteId = invitationsRespond[0];
const invitation = invitations?.find((i) => i.id === firstInviteId);
const redirectWorkspace = invitations?.find((i) => i.id === firstInviteId)?.workspace;
updateUserProfile({ last_workspace_id: redirectWorkspace?.id })
.then(() => {

View file

@ -8,7 +8,7 @@ import { useMemo } from "react";
import { useTranslation } from "@plane/i18n";
import { getAnalyticsTabs } from "./tabs";
export const useAnalyticsTabs = (workspaceSlug: string) => {
export const useAnalyticsTabs = (_workspaceSlug: string) => {
const { t } = useTranslation();
const analyticsTabs = useMemo(() => getAnalyticsTabs(t), [t]);

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import React from "react";
export type TCustomAutomationsRootProps = {

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
// plane imports

View file

@ -10,6 +10,6 @@ type TProps = {
workspace?: IWorkspace;
};
export function SubscriptionPill(props: TProps) {
export function SubscriptionPill(_props: TProps) {
return <></>;
}

View file

@ -46,7 +46,7 @@ type ActiveCyclesComponentProps = {
const ActiveCyclesComponent = observer(function ActiveCyclesComponent({
cycleId,
activeCycle,
activeCycleResolvedPath,
activeCycleResolvedPath: _activeCycleResolvedPath,
workspaceSlug,
projectId,
handleFiltersUpdate,

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import { observer } from "mobx-react";
type Props = {
cycleId: string;

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import React from "react";
// components
import { SidebarChart } from "./base";

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import React from "react";
// local components
@ -15,7 +14,6 @@ type TDeDupeButtonRoot = {
label: string;
};
export function DeDupeButtonRoot(props: TDeDupeButtonRoot) {
const { workspaceSlug, isDuplicateModalOpen, label, handleOnClick } = props;
export function DeDupeButtonRoot(_props: TDeDupeButtonRoot) {
return <></>;
}

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
// types
import type { TDeDupeIssue } from "@plane/types";
@ -14,7 +13,6 @@ type TDuplicateModalRootProps = {
handleDuplicateIssueModal: (value: boolean) => void;
};
export function DuplicateModalRoot(props: TDuplicateModalRootProps) {
const { workspaceSlug, issues, handleDuplicateIssueModal } = props;
export function DuplicateModalRoot(_props: TDuplicateModalRootProps) {
return <></>;
}

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react";
// types

View file

@ -4,14 +4,11 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
type TDeDupeIssueButtonLabelProps = {
isOpen: boolean;
buttonLabel: string;
};
export function DeDupeIssueButtonLabel(props: TDeDupeIssueButtonLabelProps) {
const { isOpen, buttonLabel } = props;
export function DeDupeIssueButtonLabel(_props: TDeDupeIssueButtonLabelProps) {
return <></>;
}

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import React from "react";
import type { TIssue } from "@plane/types";
@ -22,6 +21,6 @@ export interface EpicModalProps {
isProjectSelectionDisabled?: boolean;
}
export function CreateUpdateEpicModal(props: EpicModalProps) {
export function CreateUpdateEpicModal(_props: EpicModalProps) {
return <></>;
}

View file

@ -4,8 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
export type TEstimateTimeInputProps = {
value?: number;
handleEstimateInputValue: (value: string) => void;

View file

@ -4,8 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import type { TEstimatePointsObject, TEstimateSystemKeys, TEstimateTypeErrorObject } from "@plane/types";
export type TEstimatePointDelete = {

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import { observer } from "mobx-react";
type TUpdateEstimateModal = {

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
//
import type { IBlockUpdateDependencyData } from "@plane/types";
import { GanttChartBlock } from "@/components/gantt-chart/blocks/block";

View file

@ -12,6 +12,6 @@ type LeftDependencyDraggableProps = {
ganttContainerRef: RefObject<HTMLDivElement>;
};
export function LeftDependencyDraggable(props: LeftDependencyDraggableProps) {
export function LeftDependencyDraggable(_props: LeftDependencyDraggableProps) {
return <></>;
}

View file

@ -11,6 +11,6 @@ type RightDependencyDraggableProps = {
block: IGanttBlock;
ganttContainerRef: RefObject<HTMLDivElement>;
};
export function RightDependencyDraggable(props: RightDependencyDraggableProps) {
export function RightDependencyDraggable(_props: RightDependencyDraggableProps) {
return <></>;
}

View file

@ -4,12 +4,9 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
type Props = {
isEpic?: boolean;
};
export function TimelineDependencyPaths(props: Props) {
const { isEpic = false } = props;
export function TimelineDependencyPaths(_props: Props) {
return <></>;
}

View file

@ -10,6 +10,6 @@ export type TInboxSourcePill = {
source: EInboxIssueSource;
};
export function InboxSourcePill(props: TInboxSourcePill) {
export function InboxSourcePill(_props: TInboxSourcePill) {
return <></>;
}

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type React from "react";
import { observer } from "mobx-react";
type Props = {

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type React from "react";
import { observer } from "mobx-react";
type Props = {

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
// plane types
import type { TIssueServiceType, TWorkItemWidgets } from "@plane/types";

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
// plane types
import type { TIssueServiceType, TWorkItemWidgets } from "@plane/types";

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
// plane types
import type { TIssueServiceType, TWorkItemWidgets } from "@plane/types";

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import { observer } from "mobx-react";
export type TAdditionalActivityRoot = {

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import React from "react";
// plane imports

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import Link from "next/link";
// hooks
import { useIssueDetail } from "@/hooks/store/use-issue-detail";

View file

@ -4,8 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
type TIssueAdditionalPropertiesActivity = {
activityId: string;
ends: "top" | "bottom" | undefined;

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import { observer } from "mobx-react";
export type TIssueTypeActivity = { activityId: string; showIssue?: boolean; ends: "top" | "bottom" | undefined };

View file

@ -47,7 +47,7 @@ export const IssueParentSelectRoot = observer(function IssueParentSelectRoot(pro
await issueOperations.fetch(workspaceSlug, projectId, issueId, false);
if (_issueId) await fetchSubIssues(workspaceSlug, projectId, _issueId);
toggleParentIssueModal(null);
} catch (error) {
} catch (_error) {
console.error("something went wrong while fetching the issue");
}
};
@ -63,7 +63,7 @@ export const IssueParentSelectRoot = observer(function IssueParentSelectRoot(pro
await removeSubIssue(workspaceSlug, projectId, parentIssueId, issueId);
await fetchSubIssues(workspaceSlug, projectId, parentIssueId);
setSubIssueHelpers(parentIssueId, "issue_loader", issueId);
} catch (error) {
} catch (_error) {
setToast({
type: TOAST_TYPE.ERROR,
title: t("common.error.label"),

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import React from "react";
import type { IIssueDisplayProperties, TIssue } from "@plane/types";
@ -13,6 +12,6 @@ export type TWorkItemLayoutAdditionalProperties = {
issue: TIssue;
};
export function WorkItemLayoutAdditionalProperties(props: TWorkItemLayoutAdditionalProperties) {
export function WorkItemLayoutAdditionalProperties(_props: TWorkItemLayoutAdditionalProperties) {
return <></>;
}

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import React from "react";
type Props = {
@ -15,6 +14,6 @@ type Props = {
showLabel?: boolean;
};
export function IssueStats(props: Props) {
export function IssueStats(_props: Props) {
return <></>;
}

View file

@ -4,8 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
type TDuplicateWorkItemModalProps = {
workItemId: string;
onClose: () => void;

View file

@ -4,8 +4,6 @@
* See the LICENSE file for details.
*/
import type React from "react";
export type TWorkItemModalAdditionalPropertiesProps = {
isDraft?: boolean;
projectId: string | null;

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
// plane imports
import type { TActivityFilters, TActivityFilterOption } from "@plane/constants";
import { ACTIVITY_FILTER_TYPE_OPTIONS } from "@plane/constants";

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import type { TIssueActivityComment } from "@plane/types";
type TIssueActivityWorklog = {

View file

@ -4,8 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
type TIssueActivityWorklogCreateButton = {
workspaceSlug: string;
projectId: string;

View file

@ -4,8 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
type TIssueWorklogProperty = {
workspaceSlug: string;
projectId: string;

View file

@ -7,7 +7,6 @@
import { useState } from "react";
import { observer } from "mobx-react";
// plane imports
import { PRODUCT_TOUR_TRACKER_ELEMENTS } from "@plane/constants";
import { Button } from "@plane/propel/button";
import { CloseIcon, PlaneLockup } from "@plane/propel/icons";
// assets

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type React from "react";
import { observer } from "mobx-react";
// components
import type { EPageStoreType } from "@/plane-web/hooks/store";
@ -16,6 +15,6 @@ export type TPageModalsProps = {
storeType: EPageStoreType;
};
export const PageModals = observer(function PageModals(props: TPageModalsProps) {
export const PageModals = observer(function PageModals(_props: TPageModalsProps) {
return null;
});

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
// components
import { ProjectNavigation } from "@/components/workspace/sidebar/project-navigation";

View file

@ -13,11 +13,11 @@ export type TLayoutSelectionProps = {
workspaceSlug: string;
};
export function GlobalViewLayoutSelection(props: TLayoutSelectionProps) {
export function GlobalViewLayoutSelection(_props: TLayoutSelectionProps) {
return <></>;
}
export function WorkspaceAdditionalLayouts(props: TWorkspaceLayoutProps) {
export function WorkspaceAdditionalLayouts(_props: TWorkspaceLayoutProps) {
return <></>;
}

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import { observer } from "mobx-react";
// plane imports
import { ENotificationLoader, ENotificationQueryParamType } from "@plane/constants";

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import type { IWorkspaceSidebarNavigationItem } from "@plane/constants";
import { SidebarItemBase } from "@/components/workspace/sidebar/sidebar-item";

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
// helpers
import { useTranslation } from "@plane/i18n";
import { cn } from "@plane/utils";

View file

@ -7,10 +7,10 @@
import type { TDeDupeIssue } from "@plane/types";
export const useDebouncedDuplicateIssues = (
workspaceSlug: string | undefined,
workspaceId: string | undefined,
projectId: string | undefined,
formData: { name: string | undefined; description_html?: string | undefined; issueId?: string | undefined }
_workspaceSlug: string | undefined,
_workspaceId: string | undefined,
_projectId: string | undefined,
_formData: { name: string | undefined; description_html?: string | undefined; issueId?: string | undefined }
) => {
const duplicateIssues: TDeDupeIssue[] = [];

View file

@ -10,7 +10,7 @@ export const useWorkItemProperties = (
projectId: string | null | undefined,
workspaceSlug: string | null | undefined,
workItemId: string | null | undefined,
issueServiceType: TIssueServiceType
_issueServiceType: TIssueServiceType
) => {
if (!projectId || !workspaceSlug || !workItemId) return;
};

View file

@ -7,4 +7,4 @@
import type { TIssue } from "@plane/types";
import { getIssueIds } from "@/store/issue/helpers/base-issues-utils";
export const workItemSortWithOrderByExtended = (array: TIssue[], key?: string) => getIssueIds(array);
export const workItemSortWithOrderByExtended = (array: TIssue[], _key?: string) => getIssueIds(array);

View file

@ -7,4 +7,4 @@
import type { TIssue } from "@plane/types";
import { getIssueIds } from "@/store/issue/helpers/base-issues-utils";
export const workItemSortWithOrderByExtended = (array: TIssue[], key?: string) => getIssueIds(array);
export const workItemSortWithOrderByExtended = (array: TIssue[], _key?: string) => getIssueIds(array);

View file

@ -342,5 +342,5 @@ export class BaseTimeLineStore implements IBaseTimelineStore {
});
// Dummy method to return if the current Block's dependency is being dragged
getIsCurrentDependencyDragging = computedFn((blockId: string) => false);
getIsCurrentDependencyDragging = computedFn((_blockId: string) => false);
}

View file

@ -6,7 +6,7 @@
import type { HocuspocusProvider } from "@hocuspocus/provider";
import type { Editor } from "@tiptap/react";
import type { FC, ReactNode } from "react";
import type { ReactNode } from "react";
import { useCallback, useEffect, useRef } from "react";
// plane utils
import { cn } from "@plane/utils";

View file

@ -7,7 +7,6 @@
import { autoUpdate, flip, hide, shift, useDismiss, useFloating, useInteractions } from "@floating-ui/react";
import type { Editor } from "@tiptap/react";
import { useEditorState } from "@tiptap/react";
import type { FC } from "react";
import { useCallback, useEffect, useRef, useState } from "react";
// components

View file

@ -42,7 +42,7 @@ export type BlockMenuOption = {
};
export function BlockMenu(props: Props) {
const { editor, workItemIdentifier } = props;
const { editor } = props;
const [isOpen, setIsOpen] = useState(false);
const [isAnimatedIn, setIsAnimatedIn] = useState(false);
const menuRef = useRef<HTMLDivElement | null>(null);

View file

@ -7,7 +7,6 @@
import type { Editor } from "@tiptap/react";
import { ALargeSmall, Ban } from "lucide-react";
import { useMemo } from "react";
import type { FC } from "react";
// plane utils
import { cn } from "@plane/utils";
// constants

View file

@ -6,7 +6,6 @@
import type { Editor } from "@tiptap/core";
import type { FC } from "react";
import { useCallback, useRef, useState } from "react";
import { LinkIcon, TrashIcon, CheckIcon } from "@plane/propel/icons";
// plane imports

View file

@ -6,7 +6,6 @@
import type { Editor } from "@tiptap/react";
import type { FC } from "react";
import { CheckIcon, ChevronDownIcon } from "@plane/propel/icons";
// plane utils
import { cn } from "@plane/utils";

View file

@ -8,7 +8,6 @@ import { isNodeSelection } from "@tiptap/core";
import type { Editor } from "@tiptap/core";
import { BubbleMenu, useEditorState } from "@tiptap/react";
import type { BubbleMenuProps } from "@tiptap/react";
import type { FC } from "react";
import { useEffect, useState, useRef } from "react";
// plane utils
import { cn } from "@plane/utils";

View file

@ -252,7 +252,7 @@ export function CustomImageBlock(props: CustomImageBlockProps) {
src={displayedImageSrc}
alt=""
onLoad={handleImageLoad}
onError={(e) =>
onError={(_e) =>
void (async () => {
// for old image extension this command doesn't exist or if the image failed to load for the first time
if (!extension.options.restoreImage || hasTriedRestoringImageOnce) {

View file

@ -65,7 +65,6 @@ export const useCollaborativeEditor = (props: UseCollaborativeEditorArgs) => {
titleRef,
updatePageProperties,
user,
actions,
} = props;
const { mainNavigationExtension, titleNavigationExtension, setMainEditor, setTitleEditor } = useEditorNavigation();

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import { DOMParser } from "@tiptap/pm/model";
import type { EditorProps } from "@tiptap/pm/view";
// plane utils
import { cn } from "@plane/utils";

View file

@ -5,7 +5,6 @@
*/
// plane imports
import type { TWebhookConnectionQueryParams } from "@plane/types";
import type { TExtendedFileHandler } from "@/plane-editor/types/config";
export type TFileHandler = {

View file

@ -17,9 +17,9 @@ export const buttonVariants = cva(
"error-fill":
"bg-danger-primary text-on-color hover:bg-danger-primary-hover active:bg-danger-primary-active disabled:bg-layer-disabled disabled:text-disabled",
"error-outline":
"bg-layer-2 hover:bg-danger-subtle active:bg-danger-subtle-hover disabled:bg-layer-2 text-danger-secondary disabled:text-disabled border border-danger-strong disabled:border-subtle-1",
"border border-danger-strong bg-layer-2 text-danger-secondary hover:bg-danger-subtle active:bg-danger-subtle-hover disabled:border-subtle-1 disabled:bg-layer-2 disabled:text-disabled",
secondary:
"bg-layer-2 hover:bg-layer-2-hover active:bg-layer-2-active disabled:bg-layer-transparent text-secondary disabled:text-disabled border border-strong disabled:border-subtle-1 shadow-raised-100",
"border border-strong bg-layer-2 text-secondary shadow-raised-100 hover:bg-layer-2-hover active:bg-layer-2-active disabled:border-subtle-1 disabled:bg-layer-transparent disabled:text-disabled",
tertiary:
"bg-layer-3 text-secondary hover:bg-layer-3-hover active:bg-layer-3-active disabled:bg-layer-transparent disabled:text-disabled",
ghost:

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import { LayoutGroup } from "framer-motion";
import { cn } from "../utils";
import type { TTabNavigationListProps } from "./tab-navigation-types";

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import React from "react";
import type { ISvgIcons } from "@plane/propel/icons";
import { DropdownIcon } from "@plane/propel/icons";

View file

@ -28,7 +28,6 @@ export function DropdownOptions(props: IMultiSelectDropdownOptions | ISingleSele
keyExtractor,
options,
handleClose,
value,
renderItem,
loader,
isMobile = false,

View file

@ -6,7 +6,6 @@
import { Combobox } from "@headlessui/react";
import { sortBy } from "lodash-es";
import type { FC } from "react";
import React, { useMemo, useRef, useState } from "react";
import { usePopper } from "react-popper";
// plane imports

View file

@ -6,7 +6,6 @@
import { Combobox } from "@headlessui/react";
import { sortBy } from "lodash-es";
import type { FC } from "react";
import React, { useMemo, useRef, useState } from "react";
import { usePopper } from "react-popper";
// plane imports

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import React from "react";
// plane utils
import { calculateTimeAgo, cn, getIconForLink } from "@plane/utils";

View file

@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
import type { FC } from "react";
import React, { useState, useEffect } from "react";
interface IRadialProgressBar {

View file

@ -5,7 +5,6 @@
*/
import * as RadixScrollArea from "@radix-ui/react-scroll-area";
import type { FC } from "react";
import React from "react";
import { cn } from "./utils";

View file

@ -5,7 +5,6 @@
*/
import { Tab } from "@headlessui/react";
import type { FC } from "react";
import React, { Fragment, useEffect, useState } from "react";
// helpers
import { useLocalStorage } from "@plane/hooks";

View file

@ -261,7 +261,7 @@ export function extractURLComponents(url: URL | string): IURLComponents | undefi
}
return undefined;
} catch (error) {
} catch (_error) {
return undefined;
}
}
@ -323,7 +323,7 @@ export function isValidNextPath(url: string): boolean {
];
return !maliciousPatterns.some((pattern) => pattern.test(pathname));
} catch (error) {
} catch (_error) {
// If URL constructor fails, it's an invalid path
return false;
}