import { Table } from '@/ui/layout/table/components/Table'; import { TableBody } from '@/ui/layout/table/components/TableBody'; import { TableCell } from '@/ui/layout/table/components/TableCell'; import { TableRow } from '@/ui/layout/table/components/TableRow'; import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { Card } from 'twenty-ui/layout'; import { IconComponent } from 'twenty-ui/display'; const StyledCard = styled(Card)` background-color: ${({ theme }) => theme.background.secondary}; border: 1px solid ${({ theme }) => theme.border.color.medium}; `; const StyledTableRow = styled(TableRow)` height: ${({ theme }) => theme.spacing(6)}; `; const StyledTableCellLabel = styled(TableCell)<{ align?: 'left' | 'center' | 'right'; }>` color: ${({ theme }) => theme.font.color.tertiary}; height: ${({ theme }) => theme.spacing(6)}; display: flex; gap: ${({ theme }) => theme.spacing(2)}; justify-content: ${({ align }) => align === 'right' ? 'flex-end' : align === 'center' ? 'center' : 'flex-start'}; `; const StyledTableCellValue = styled(TableCell)<{ align?: 'left' | 'center' | 'right'; }>` color: ${({ theme }) => theme.font.color.primary}; height: ${({ theme }) => theme.spacing(6)}; justify-content: ${({ align }) => align === 'left' ? 'flex-start' : align === 'center' ? 'center' : 'flex-end'}; `; type TableItem = { Icon?: IconComponent; label: string; value: string | number | React.ReactNode; }; type SettingsAdminTableCardProps = { items: TableItem[]; rounded?: boolean; gridAutoColumns?: string; labelAlign?: 'left' | 'center' | 'right'; valueAlign?: 'left' | 'center' | 'right'; className?: string; }; export const SettingsAdminTableCard = ({ items, rounded = false, gridAutoColumns, labelAlign = 'left', valueAlign = 'left', className, }: SettingsAdminTableCardProps) => { const theme = useTheme(); return ( {items.map((item, index) => ( {item.Icon && } {item.label} {item.value} ))}
); };