diff --git a/app/client/src/ce/pages/Applications/ApplicationCardList.tsx b/app/client/src/ce/pages/Applications/ApplicationCardList.tsx
index 5d0f95ba99..a6fbfcd626 100644
--- a/app/client/src/ce/pages/Applications/ApplicationCardList.tsx
+++ b/app/client/src/ce/pages/Applications/ApplicationCardList.tsx
@@ -3,13 +3,8 @@ import { Button } from "design-system";
import { importSvg } from "design-system-old";
import { useSelector } from "react-redux";
-import {
- CardListContainer,
- CardListWrapper,
- PaddingWrapper,
- ResourceHeading,
- Space,
-} from "pages/Applications/CommonElements";
+import CardList from "pages/Applications/CardList";
+import { PaddingWrapper } from "pages/Applications/CommonElements";
import {
getIsCreatingApplicationByWorkspaceId,
getIsFetchingApplications,
@@ -55,51 +50,51 @@ function ApplicationCardList({
const isFetchingApplications = useSelector(getIsFetchingApplications);
return (
-
- Apps
-
-
- {applications.map((application: any) => {
- return (
-
-
-
- );
- })}
- {applications.length === 0 && (
-
-
- There’s nothing inside this workspace
- {/* below component is duplicate. This is because of cypress test were failing */}
- {hasCreateNewApplicationPermission && (
-
- )}
-
- )}
-
-
+
+ {applications.map((application: any) => {
+ return (
+
+
+
+ );
+ })}
+ {applications.length === 0 && (
+
+
+ There’s nothing inside this workspace
+ {/* below component is duplicate. This is because of cypress test were failing */}
+ {hasCreateNewApplicationPermission && (
+
+ )}
+
+ )}
+
);
}
diff --git a/app/client/src/ce/pages/Applications/ResourceListLoader.tsx b/app/client/src/ce/pages/Applications/ResourceListLoader.tsx
new file mode 100644
index 0000000000..86462f596f
--- /dev/null
+++ b/app/client/src/ce/pages/Applications/ResourceListLoader.tsx
@@ -0,0 +1,58 @@
+import React from "react";
+import { noop } from "lodash";
+
+import Card from "components/common/Card";
+import CardList from "pages/Applications/CardList";
+import { Button } from "design-system";
+import { PaddingWrapper } from "pages/Applications/CommonElements";
+import type { ApplicationPayload } from "@appsmith/constants/ReduxActionConstants";
+
+type ResourcesLoaderProps = {
+ isMobile: boolean;
+ resources: ApplicationPayload[];
+};
+
+const DEFAULT_BACKGROUND_COLOR = "#9747FF1A";
+const DEFAULT_ICON = "book";
+
+function ResourceListLoader({ isMobile, resources }: ResourcesLoaderProps) {
+ return (
+
+ {resources.map((resource: any) => {
+ return (
+
+
+
+
+
+ );
+ })}
+
+ );
+}
+
+export default ResourceListLoader;
diff --git a/app/client/src/ce/pages/Applications/index.tsx b/app/client/src/ce/pages/Applications/index.tsx
index ec5c7da248..8e47b64d55 100644
--- a/app/client/src/ce/pages/Applications/index.tsx
+++ b/app/client/src/ce/pages/Applications/index.tsx
@@ -98,6 +98,7 @@ import ApplicationCardList from "@appsmith/pages/Applications/ApplicationCardLis
import { usePackage } from "@appsmith/pages/Applications/helpers";
import PackageCardList from "@appsmith/pages/Applications/PackageCardList";
import WorkspaceAction from "@appsmith/pages/Applications/WorkspaceAction";
+import ResourceListLoader from "@appsmith/pages/Applications/ResourceListLoader";
export const { cloudHosting } = getAppsmithConfigs();
@@ -710,20 +711,28 @@ export function ApplicationsSection(props: any) {
)}
-
+ {isLoadingResources && (
+
+ )}
+ {!isLoadingResources && (
+
+ )}
{!isLoadingResources && (
;
+
+function CardList({ children, isLoading, isMobile, title }: CardListProps) {
+ return (
+
+ {title}
+
+ {children}
+
+ );
+}
+
+export default CardList;