Skip to content
This repository was archived by the owner on May 4, 2023. It is now read-only.

Commit b687335

Browse files
feat: added current votes to snippet/cookbook tables
1 parent 8c4ad22 commit b687335

File tree

5 files changed

+50
-4
lines changed

5 files changed

+50
-4
lines changed

src/renderer/components/CookbookTable/CookbookTable.tsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import { AssistantCookbook } from 'renderer/types/assistantTypes';
2424
import { PageTypes } from 'renderer/types/pageTypes';
2525
import FavoriteCookbook from 'renderer/components/Favorite/FavoriteCookbook';
2626
import UserLink from 'renderer/components/UserLink';
27+
import VotesCurrent from '../VotesCurrent';
2728

2829
const Td = (props: TableCellProps) => (
2930
<ChakraTd
@@ -120,10 +121,20 @@ export default function CookbookTable({ cookbooks, page }: CookbookTableProps) {
120121
</Td>
121122
<Td>
122123
<Flex alignItems="center" gap="space_8">
123-
<LockIcon open={!!cookbook.isPublic} />
124-
<Text size="xs" noOfLines={1}>
124+
<Text
125+
size="xs"
126+
noOfLines={1}
127+
gridGap="space_4"
128+
d="flex"
129+
alignItems="center"
130+
>
131+
<LockIcon open={!!cookbook.isPublic} />
125132
{cookbook.isPublic ? 'Public' : 'Private'}
126133
</Text>
134+
<VotesCurrent
135+
upvotes={cookbook.upvotes}
136+
downvotes={cookbook.downvotes}
137+
/>
127138
</Flex>
128139
</Td>
129140
<Td>

src/renderer/components/SnippetTable/SnippetTable.tsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { AssistantRecipeWithStats } from 'renderer/types/assistantTypes';
1919
import { PageTypes } from 'renderer/types/pageTypes';
2020
import FavoriteSnippet from 'renderer/components/Favorite/FavoriteSnippet';
2121
import UserLink from 'renderer/components/UserLink';
22+
import VotesCurrent from '../VotesCurrent';
2223

2324
const Td = (props: TableCellProps) => (
2425
<ChakraTd {...props} p="space_16" pr="space_64" _last={{ pr: 'space_56' }} />
@@ -121,10 +122,20 @@ export default function SnippetTable({ page, recipes }: SnippetTableProps) {
121122
</Td>
122123
<Td>
123124
<Flex alignItems="center" gap="space_8">
124-
<LockIcon open={!!recipe.isPublic} />
125-
<Text size="xs" noOfLines={1}>
125+
<Text
126+
size="xs"
127+
noOfLines={1}
128+
gridGap="space_4"
129+
d="flex"
130+
alignItems="center"
131+
>
132+
<LockIcon open={!!recipe.isPublic} />
126133
{recipe.isPublic ? 'Public' : 'Private'}
127134
</Text>
135+
<VotesCurrent
136+
upvotes={recipe.upvotes}
137+
downvotes={recipe.downvotes}
138+
/>
128139
</Flex>
129140
</Td>
130141
<Td>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { Flex, Text } from '@chakra-ui/react';
2+
import { DownVoteIcon, UpVoteIcon } from '@codiga/codiga-components';
3+
4+
type VotesCurrentProps = {
5+
upvotes?: number;
6+
downvotes?: number;
7+
};
8+
9+
export default function VotesCurrent({
10+
upvotes = 0,
11+
downvotes = 0,
12+
}: VotesCurrentProps) {
13+
const diff = upvotes - downvotes;
14+
15+
return (
16+
<Flex gridGap="space_4" alignItems="center">
17+
{diff >= 0 ? <UpVoteIcon /> : <DownVoteIcon />}
18+
<Text size="xs">{diff}</Text>
19+
</Flex>
20+
);
21+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { default } from './VotesCurrent';

src/renderer/types/assistantTypes.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ export interface AssistantCookbook {
5353
recipesCount: number;
5454
groups?: Group[];
5555
languages?: LanguageEnumeration[];
56+
upvotes?: number;
57+
downvotes?: number;
5658
}
5759

5860
export interface AssistantCookbookWithRecipeSummary {

0 commit comments

Comments
 (0)