Skip to content

Commit 1953d6f

Browse files
[WEB-2762] chore: loader code refactor (#5992)
* chore: loader code refactor * chore: code refactor * chore: code refactor * chore: code refactor
1 parent 1b90339 commit 1953d6f

30 files changed

+84
-42
lines changed
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1+
import range from "lodash/range";
12
import React from "react";
23

34
export const DropdownOptionsLoader = () => (
45
<div className="flex flex-col gap-1 animate-pulse">
5-
{Array.from({ length: 6 }, (_, i) => (
6-
<div key={i} className="flex h-[1.925rem] w-full rounded px-1 py-1.5 bg-custom-background-90" />
6+
{range(6).map((index) => (
7+
<div key={index} className="flex h-[1.925rem] w-full rounded px-1 py-1.5 bg-custom-background-90" />
78
))}
89
</div>
910
);

web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/settings/sidebar.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"use client";
22

33
import React from "react";
4+
import range from "lodash/range";
45
import { observer } from "mobx-react";
56
import Link from "next/link";
67
import { useParams, usePathname } from "next/navigation";
@@ -29,7 +30,7 @@ export const ProjectSettingsSidebar = observer(() => {
2930
<div className="flex flex-col gap-2">
3031
<span className="text-xs font-semibold text-custom-sidebar-text-400">SETTINGS</span>
3132
<Loader className="flex w-full flex-col gap-2">
32-
{[...Array(8)].map((index) => (
33+
{range(8).map((index) => (
3334
<Loader.Item key={index} height="34px" />
3435
))}
3536
</Loader>

web/core/components/dashboard/widgets/loaders/issues-by-state-group.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"use client";
22

3+
import range from "lodash/range";
34
// ui
45
import { Loader } from "@plane/ui";
56

@@ -14,7 +15,7 @@ export const IssuesByStateGroupWidgetLoader = () => (
1415
</div>
1516
</div>
1617
<div className="w-1/2 space-y-7 flex-shrink-0">
17-
{Array.from({ length: 5 }).map((_, index) => (
18+
{range(5).map((index) => (
1819
<Loader.Item key={index} height="11px" width="100%" />
1920
))}
2021
</div>

web/core/components/dashboard/widgets/loaders/overview-stats.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
"use client";
22

3+
import range from "lodash/range";
34
// ui
45
import { Loader } from "@plane/ui";
56

67
export const OverviewStatsWidgetLoader = () => (
78
<Loader className="bg-custom-background-100 rounded-xl py-6 grid grid-cols-4 gap-36 px-12">
8-
{Array.from({ length: 4 }).map((_, index) => (
9+
{range(4).map((index) => (
910
<div key={index} className="space-y-3">
1011
<Loader.Item height="11px" width="50%" />
1112
<Loader.Item height="15px" />

web/core/components/dashboard/widgets/loaders/recent-activity.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
"use client";
22

3+
import range from "lodash/range";
34
// ui
45
import { Loader } from "@plane/ui";
56

67
export const RecentActivityWidgetLoader = () => (
78
<Loader className="bg-custom-background-100 rounded-xl p-6 space-y-6">
89
<Loader.Item height="17px" width="35%" />
9-
{Array.from({ length: 7 }).map((_, index) => (
10+
{range(7).map((index) => (
1011
<div key={index} className="flex items-start gap-3.5">
1112
<div className="flex-shrink-0">
1213
<Loader.Item height="16px" width="16px" />

web/core/components/dashboard/widgets/loaders/recent-collaborators.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
"use client";
22

3+
import range from "lodash/range";
34
// ui
45
import { Loader } from "@plane/ui";
56

67
export const RecentCollaboratorsWidgetLoader = () => (
78
<>
8-
{Array.from({ length: 8 }).map((_, index) => (
9+
{range(8).map((index) => (
910
<Loader key={index} className="bg-custom-background-100 rounded-xl px-6 pb-12">
1011
<div className="space-y-11 flex flex-col items-center">
1112
<div className="rounded-full overflow-hidden h-[69px] w-[69px]">

web/core/components/dashboard/widgets/loaders/recent-projects.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
"use client";
22

3+
import range from "lodash/range";
34
// ui
45
import { Loader } from "@plane/ui";
56

67
export const RecentProjectsWidgetLoader = () => (
78
<Loader className="bg-custom-background-100 rounded-xl p-6 space-y-6">
89
<Loader.Item height="17px" width="35%" />
9-
{Array.from({ length: 5 }).map((_, index) => (
10+
{range(5).map((index) => (
1011
<div key={index} className="flex items-center gap-6">
1112
<div className="flex-shrink-0">
1213
<Loader.Item height="60px" width="60px" />

web/core/components/issues/workspace-draft/loader.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"use client";
22

33
import { FC } from "react";
4+
import range from "lodash/range";
45
// components
56
import { ListLoaderItemRow } from "@/components/ui";
67

@@ -12,7 +13,7 @@ export const WorkspaceDraftIssuesLoader: FC<TWorkspaceDraftIssuesLoader> = (prop
1213
const { items = 14 } = props;
1314
return (
1415
<div className="relative h-full w-full">
15-
{[...Array(items)].map((_, index) => (
16+
{range(items).map((index) => (
1617
<ListLoaderItemRow key={index} />
1718
))}
1819
</div>

web/core/components/pages/loaders/page-loader.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"use client";
22

3+
import range from "lodash/range";
34
import { Loader } from "@plane/ui";
45

56
export const PageLoader: React.FC = (props) => {
@@ -17,7 +18,7 @@ export const PageLoader: React.FC = (props) => {
1718
</Loader>
1819
</div>
1920
<div>
20-
{Array.from(Array(10)).map((i) => (
21+
{range(10).map((i) => (
2122
<Loader key={i} className="relative flex items-center gap-2 p-3 py-4 border-b border-custom-border-100">
2223
<Loader.Item width={`${250 + 10 * Math.floor(Math.random() * 10)}px`} height="22px" />
2324
<div className="ml-auto relative flex items-center gap-2">

web/core/components/ui/loader/cycle-module-board-loader.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
import range from "lodash/range";
2+
13
export const CycleModuleBoardLayout = () => (
24
<div className="h-full w-full animate-pulse">
35
<div className="flex h-full w-full justify-between">
46
<div className="grid h-full w-full grid-cols-1 gap-6 overflow-y-auto p-8 lg:grid-cols-2 xl:grid-cols-3 3xl:grid-cols-4 auto-rows-max transition-all">
5-
{[...Array(5)].map((i) => (
7+
{range(5).map((i) => (
68
<div
79
key={i}
810
className="flex h-44 w-full flex-col justify-between rounded border border-custom-border-100 bg-custom-background-100 p-4 text-sm"

0 commit comments

Comments
 (0)