* Add query to get api keys * Add a link to apiKey detail page * Reset generatedApiKey when leaving page * Simplify stuff * Regenerate key when clicking on button * Simplify * Fix test * Refetch apiKeys when delete or create one * Add test for utils * Create utils function * Enable null expiration dates * Update formatExpiration * Fix display * Fix noteCard * Fix errors * Fix reset * Fix display * Fix renaming * Fix tests * Fix ci * Fix mocked data * Fix test * Update coverage requiremeents * Rename folder * Code review returns * Symplify sht code
58 lines
1.6 KiB
TypeScript
58 lines
1.6 KiB
TypeScript
import { useTheme } from '@emotion/react';
|
|
import styled from '@emotion/styled';
|
|
|
|
import { ApiFieldItem } from '@/settings/developers/types/ApiFieldItem';
|
|
import { IconChevronRight } from '@/ui/display/icon';
|
|
import { TableCell } from '@/ui/layout/table/components/TableCell';
|
|
import { TableRow } from '@/ui/layout/table/components/TableRow';
|
|
|
|
export const StyledApisFieldTableRow = styled(TableRow)`
|
|
grid-template-columns: 180px 148px 148px 36px;
|
|
`;
|
|
|
|
const StyledNameTableCell = styled(TableCell)`
|
|
color: ${({ theme }) => theme.font.color.primary};
|
|
gap: ${({ theme }) => theme.spacing(2)};
|
|
`;
|
|
|
|
const StyledIconTableCell = styled(TableCell)`
|
|
justify-content: center;
|
|
padding-right: ${({ theme }) => theme.spacing(1)};
|
|
`;
|
|
|
|
const StyledIconChevronRight = styled(IconChevronRight)`
|
|
color: ${({ theme }) => theme.font.color.tertiary};
|
|
`;
|
|
|
|
export const SettingsApiKeysFieldItemTableRow = ({
|
|
fieldItem,
|
|
onClick,
|
|
}: {
|
|
fieldItem: ApiFieldItem;
|
|
onClick: () => void;
|
|
}) => {
|
|
const theme = useTheme();
|
|
|
|
return (
|
|
<StyledApisFieldTableRow onClick={() => onClick()}>
|
|
<StyledNameTableCell>{fieldItem.name}</StyledNameTableCell>
|
|
<TableCell color={theme.font.color.tertiary}>Internal</TableCell>{' '}
|
|
<TableCell
|
|
color={
|
|
fieldItem.expiration === 'Expired'
|
|
? theme.font.color.danger
|
|
: theme.font.color.tertiary
|
|
}
|
|
>
|
|
{fieldItem.expiration}
|
|
</TableCell>
|
|
<StyledIconTableCell>
|
|
<StyledIconChevronRight
|
|
size={theme.icon.size.md}
|
|
stroke={theme.icon.stroke.sm}
|
|
/>
|
|
</StyledIconTableCell>
|
|
</StyledApisFieldTableRow>
|
|
);
|
|
};
|