diff --git a/web/components/gantt-chart/chart/index.tsx b/web/components/gantt-chart/chart/index.tsx index 82a7ed61431..abd0c5e8a6c 100644 --- a/web/components/gantt-chart/chart/index.tsx +++ b/web/components/gantt-chart/chart/index.tsx @@ -165,6 +165,8 @@ export const ChartViewRoot: FC = ({ const handleScrollToCurrentSelectedDate = (currentState: ChartDataType, date: Date) => { const scrollContainer = document.getElementById("scroll-container") as HTMLElement; + if (!scrollContainer) return; + const clientVisibleWidth: number = scrollContainer?.clientWidth; let scrollWidth: number = 0; let daysDifference: number = 0; @@ -193,6 +195,8 @@ export const ChartViewRoot: FC = ({ const onScroll = () => { const scrollContainer = document.getElementById("scroll-container") as HTMLElement; + if (!scrollContainer) return; + const scrollWidth: number = scrollContainer?.scrollWidth; const clientVisibleWidth: number = scrollContainer?.clientWidth; const currentScrollPosition: number = scrollContainer?.scrollLeft; diff --git a/web/components/headers/project-issues.tsx b/web/components/headers/project-issues.tsx index f1d748e106d..55e44173a14 100644 --- a/web/components/headers/project-issues.tsx +++ b/web/components/headers/project-issues.tsx @@ -174,9 +174,11 @@ export const ProjectIssuesHeader: React.FC = observer(() => { diff --git a/web/components/issues/issue-layouts/roots/cycle-layout-root.tsx b/web/components/issues/issue-layouts/roots/cycle-layout-root.tsx index ffe78f3d8a1..31545f9c91f 100644 --- a/web/components/issues/issue-layouts/roots/cycle-layout-root.tsx +++ b/web/components/issues/issue-layouts/roots/cycle-layout-root.tsx @@ -15,6 +15,8 @@ import { CycleSpreadsheetLayout, } from "components/issues"; import { TransferIssues, TransferIssuesModal } from "components/cycles"; +// ui +import { Spinner } from "@plane/ui"; // helpers import { getDateRangeStatus } from "helpers/date-time.helper"; @@ -53,6 +55,13 @@ export const CycleLayoutRoot: React.FC = observer(() => { const issueCount = cycleIssueStore.getIssuesCount; + if (!cycleIssueStore.getIssues) + return ( +
+ +
+ ); + return ( <> setTransferIssuesModal(false)} isOpen={transferIssuesModal} /> diff --git a/web/components/issues/issue-layouts/roots/global-view-layout-root.tsx b/web/components/issues/issue-layouts/roots/global-view-layout-root.tsx index 77b3b6ee50c..018a63d2aa6 100644 --- a/web/components/issues/issue-layouts/roots/global-view-layout-root.tsx +++ b/web/components/issues/issue-layouts/roots/global-view-layout-root.tsx @@ -6,6 +6,8 @@ import useSWR from "swr"; import { useMobxStore } from "lib/mobx/store-provider"; // components import { GlobalViewEmptyState, GlobalViewsAppliedFiltersRoot, SpreadsheetView } from "components/issues"; +// ui +import { Spinner } from "@plane/ui"; // types import { IIssue, IIssueDisplayFilterOptions, TStaticViewTypes } from "types"; @@ -82,6 +84,13 @@ export const GlobalViewLayoutRoot: React.FC = observer((props) => { ? globalViewIssuesStore.viewIssues?.[globalViewId.toString()] : undefined; + if (!issues) + return ( +
+ +
+ ); + return (
diff --git a/web/components/issues/issue-layouts/roots/module-layout-root.tsx b/web/components/issues/issue-layouts/roots/module-layout-root.tsx index ff7867c3d08..bcdadab3d33 100644 --- a/web/components/issues/issue-layouts/roots/module-layout-root.tsx +++ b/web/components/issues/issue-layouts/roots/module-layout-root.tsx @@ -15,6 +15,8 @@ import { ModuleListLayout, ModuleSpreadsheetLayout, } from "components/issues"; +// ui +import { Spinner } from "@plane/ui"; export const ModuleLayoutRoot: React.FC = observer(() => { const router = useRouter(); @@ -49,6 +51,13 @@ export const ModuleLayoutRoot: React.FC = observer(() => { const issueCount = moduleIssueStore.getIssuesCount; + if (!moduleIssueStore.getIssues) + return ( +
+ +
+ ); + return (
diff --git a/web/components/issues/issue-layouts/roots/project-layout-root.tsx b/web/components/issues/issue-layouts/roots/project-layout-root.tsx index 0cd5911a56f..6990c43ef00 100644 --- a/web/components/issues/issue-layouts/roots/project-layout-root.tsx +++ b/web/components/issues/issue-layouts/roots/project-layout-root.tsx @@ -14,6 +14,7 @@ import { ProjectSpreadsheetLayout, ProjectEmptyState, } from "components/issues"; +import { Spinner } from "@plane/ui"; export const ProjectLayoutRoot: React.FC = observer(() => { const router = useRouter(); @@ -33,6 +34,13 @@ export const ProjectLayoutRoot: React.FC = observer(() => { const issueCount = issueStore.getIssuesCount; + if (!issueStore.getIssues) + return ( +
+ +
+ ); + return (
diff --git a/web/components/issues/issue-layouts/roots/project-view-layout-root.tsx b/web/components/issues/issue-layouts/roots/project-view-layout-root.tsx index dfb69e63a62..ce8051deac6 100644 --- a/web/components/issues/issue-layouts/roots/project-view-layout-root.tsx +++ b/web/components/issues/issue-layouts/roots/project-view-layout-root.tsx @@ -15,6 +15,7 @@ import { ProjectViewGanttLayout, ProjectViewSpreadsheetLayout, } from "components/issues"; +import { Spinner } from "@plane/ui"; export const ProjectViewLayoutRoot: React.FC = observer(() => { const router = useRouter(); @@ -51,6 +52,13 @@ export const ProjectViewLayoutRoot: React.FC = observer(() => { const issueCount = projectViewIssuesStore.getIssuesCount; + if (!projectViewIssuesStore.getIssues) + return ( +
+ +
+ ); + return (