diff --git a/app/(prowler)/scans/page.tsx b/app/(prowler)/scans/page.tsx
index 3ce355a465..56043a18fe 100644
--- a/app/(prowler)/scans/page.tsx
+++ b/app/(prowler)/scans/page.tsx
@@ -3,7 +3,11 @@ import { Suspense } from "react";
import { getProviders } from "@/actions/providers";
import { FilterControls, filterScans } from "@/components/filters";
-import { ColumnScans, SkeletonTableScans } from "@/components/scans/table";
+import {
+ ColumnGetScans,
+ ColumnProviderScans,
+ SkeletonTableScans,
+} from "@/components/scans/table";
import { Header } from "@/components/ui";
import { DataTable } from "@/components/ui/table";
import { SearchParamsProps } from "@/types";
@@ -23,8 +27,8 @@ export default async function Scans({
-
-
+
+
}>
@@ -59,10 +63,9 @@ const SSRDataTableProviders = async ({
return (
);
};
@@ -87,7 +90,7 @@ const SSRDataTableScans = async ({
return (
= ({
{getProviderLogo()}
- {providerAlias}
-
+
+ {providerAlias}
+
+
diff --git a/components/providers/provider-info.tsx b/components/providers/provider-info.tsx
index 7ff3a52821..47fb6c293c 100644
--- a/components/providers/provider-info.tsx
+++ b/components/providers/provider-info.tsx
@@ -60,13 +60,15 @@ export const ProviderInfo: React.FC
= ({
};
return (
-
+
{getProviderLogo()}
{getIcon()}
- {providerAlias}
+
+ {providerAlias}
+
{/* */}
diff --git a/components/providers/snippet-id-provider.tsx b/components/providers/snippet-id-provider.tsx
index 0bcc0951c7..0d3c76d566 100644
--- a/components/providers/snippet-id-provider.tsx
+++ b/components/providers/snippet-id-provider.tsx
@@ -25,7 +25,7 @@ export const SnippetIdProvider: React.FC
= ({
>
-
+
{providerId}
diff --git a/components/scans/table/column-get-scans.tsx b/components/scans/table/column-get-scans.tsx
new file mode 100644
index 0000000000..caf45268e5
--- /dev/null
+++ b/components/scans/table/column-get-scans.tsx
@@ -0,0 +1,122 @@
+"use client";
+
+import { ColumnDef } from "@tanstack/react-table";
+import { add } from "date-fns";
+
+import {
+ DateWithTime,
+ ProviderInfo,
+ SnippetIdProvider,
+} from "@/components/providers";
+import { DataTableColumnHeader, StatusBadge } from "@/components/ui/table";
+import { ProviderProps } from "@/types";
+
+import { DataTableRowActions } from "./data-table-row-actions";
+
+const getProviderData = (row: { original: ProviderProps }) => {
+ return row.original;
+};
+
+export const ColumnGetScans: ColumnDef[] = [
+ {
+ header: " ",
+ cell: ({ row }) => {row.index + 1}
,
+ },
+ {
+ accessorKey: "account",
+ header: ({ column }) => (
+
+ ),
+ cell: ({ row }) => {
+ const {
+ attributes: { connection, provider, alias },
+ } = getProviderData(row);
+ return (
+
+ );
+ },
+ },
+ {
+ accessorKey: "uid",
+ header: ({ column }) => (
+
+ ),
+ cell: ({ row }) => {
+ const {
+ attributes: { uid },
+ } = getProviderData(row);
+ return ;
+ },
+ },
+ {
+ accessorKey: "status",
+ header: "Scan Status",
+ cell: () => {
+ // Temporarily overwriting the value until the API is functional.
+ return ;
+ },
+ },
+ {
+ accessorKey: "lastScan",
+ header: ({ column }) => (
+
+ ),
+ cell: ({ row }) => {
+ const {
+ attributes: { updated_at },
+ } = getProviderData(row);
+ return ;
+ },
+ },
+ {
+ accessorKey: "nextScan",
+ header: "Next Scan",
+ cell: ({ row }) => {
+ const {
+ attributes: { updated_at },
+ } = getProviderData(row);
+ const nextDay = add(new Date(updated_at), {
+ hours: 24,
+ });
+ return ;
+ },
+ },
+ {
+ accessorKey: "resources",
+ header: "Resources",
+ cell: () => {
+ // Temporarily overwriting the value until the API is functional.
+ return {288}
;
+ },
+ },
+ {
+ accessorKey: "added",
+ header: ({ column }) => (
+
+ ),
+ cell: ({ row }) => {
+ const {
+ attributes: { inserted_at },
+ } = getProviderData(row);
+ return ;
+ },
+ },
+ {
+ id: "actions",
+ cell: ({ row }) => {
+ return ;
+ },
+ },
+];
diff --git a/components/scans/table/column-scans.tsx b/components/scans/table/column-provider-scans.tsx
similarity index 95%
rename from components/scans/table/column-scans.tsx
rename to components/scans/table/column-provider-scans.tsx
index 624d2bdc40..9311f50086 100644
--- a/components/scans/table/column-scans.tsx
+++ b/components/scans/table/column-provider-scans.tsx
@@ -11,7 +11,7 @@ const getProviderData = (row: { original: ProviderProps }) => {
return row.original;
};
-export const ColumnScans: ColumnDef[] = [
+export const ColumnProviderScans: ColumnDef[] = [
{
accessorKey: "provider",
header: "Provider",
diff --git a/components/scans/table/index.ts b/components/scans/table/index.ts
index 62300a2d96..471e150f9f 100644
--- a/components/scans/table/index.ts
+++ b/components/scans/table/index.ts
@@ -1,3 +1,4 @@
-export * from "./column-scans";
+export * from "./column-get-scans";
+export * from "./column-provider-scans";
export * from "./data-table-row-actions";
export * from "./skeleton-table-scans";