+
+ {/*
+ table.getColumn('email')?.setFilterValue(event.target.value)
+ }
+ placeholder="Filter emails..."
+ value={(table.getColumn('email')?.getFilterValue() as string) ?? ''}
+ /> */}
+ {/*
+
+
+
+
+ {table
+ .getAllColumns()
+ .filter((column) => column.getCanHide())
+ .map((column) => {
+ return (
+ {
+ column.toggleVisibility(Boolean(value))
+ }}
+ >
+ {column.id}
+
+ )
+ })}
+
+ */}
+
+
+
+
+ {table.getHeaderGroups().map((headerGroup) => (
+
+ {headerGroup.headers.map((header) => {
+ return (
+
+ {header.isPlaceholder
+ ? null
+ : flexRender(
+ header.column.columnDef.header,
+ header.getContext()
+ )}
+
+ )
+ })}
+
+ ))}
+
+
+ {table.getRowModel().rows.length ? (
+ table.getRowModel().rows.map((row) => (
+
+ {row.getVisibleCells().map((cell) => (
+
+ {flexRender(
+ cell.column.columnDef.cell,
+ cell.getContext()
+ )}
+
+ ))}
+
+ ))
+ ) : (
+
+
+ No results.
+
+
+ )}
+
+
+
+
+
+ {table.getFilteredSelectedRowModel().rows.length} of{' '}
+ {table.getFilteredRowModel().rows.length} row(s) selected.
+
+
+
+
+
+
+
+ )
+}
diff --git a/apps/platform/src/components/ui/avatar.tsx b/apps/platform/src/components/ui/avatar.tsx
new file mode 100644
index 00000000..509f3caf
--- /dev/null
+++ b/apps/platform/src/components/ui/avatar.tsx
@@ -0,0 +1,47 @@
+import * as React from 'react'
+import * as AvatarPrimitive from '@radix-ui/react-avatar'
+import { cn } from '@/lib/utils'
+
+const Avatar = React.forwardRef<
+ React.ElementRef