feat: set checklist badge color to green when all items complete
This commit is contained in:
		@@ -2,9 +2,17 @@ import styled, { css, keyframes } from 'styled-components';
 | 
				
			|||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
 | 
					import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
 | 
				
			||||||
import { mixin } from 'shared/utils/styles';
 | 
					import { mixin } from 'shared/utils/styles';
 | 
				
			||||||
import TextareaAutosize from 'react-autosize-textarea';
 | 
					import TextareaAutosize from 'react-autosize-textarea';
 | 
				
			||||||
import { CheckCircle } from 'shared/icons';
 | 
					import { CheckCircle, CheckSquare } from 'shared/icons';
 | 
				
			||||||
import { RefObject } from 'react';
 | 
					import { RefObject } from 'react';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const ChecklistIcon = styled(CheckSquare)<{ color: 'success' | 'normal' }>`
 | 
				
			||||||
 | 
					  ${props =>
 | 
				
			||||||
 | 
					    props.color === 'success' &&
 | 
				
			||||||
 | 
					    css`
 | 
				
			||||||
 | 
					      fill: rgba(${props.theme.colors.success});
 | 
				
			||||||
 | 
					      stroke: rgba(${props.theme.colors.success});
 | 
				
			||||||
 | 
					    `}
 | 
				
			||||||
 | 
					`;
 | 
				
			||||||
export const ClockIcon = styled(FontAwesomeIcon)``;
 | 
					export const ClockIcon = styled(FontAwesomeIcon)``;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const EditorTextarea = styled(TextareaAutosize)`
 | 
					export const EditorTextarea = styled(TextareaAutosize)`
 | 
				
			||||||
@@ -69,11 +77,12 @@ export const DueDateCardBadge = styled(ListCardBadge)<{ isPastDue: boolean }>`
 | 
				
			|||||||
    `}
 | 
					    `}
 | 
				
			||||||
`;
 | 
					`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const ListCardBadgeText = styled.span`
 | 
					export const ListCardBadgeText = styled.span<{ color?: 'success' | 'normal' }>`
 | 
				
			||||||
  font-size: 12px;
 | 
					  font-size: 12px;
 | 
				
			||||||
  padding: 0 4px 0 6px;
 | 
					  padding: 0 4px 0 6px;
 | 
				
			||||||
  vertical-align: top;
 | 
					  vertical-align: top;
 | 
				
			||||||
  white-space: nowrap;
 | 
					  white-space: nowrap;
 | 
				
			||||||
 | 
					  ${props => props.color === 'success' && `color: rgba(${props.theme.colors.success});`}
 | 
				
			||||||
`;
 | 
					`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const ListCardContainer = styled.div<{ isActive: boolean; editable: boolean }>`
 | 
					export const ListCardContainer = styled.div<{ isActive: boolean; editable: boolean }>`
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@ import { faClock, faCheckSquare, faEye } from '@fortawesome/free-regular-svg-ico
 | 
				
			|||||||
import {
 | 
					import {
 | 
				
			||||||
  EditorTextarea,
 | 
					  EditorTextarea,
 | 
				
			||||||
  EditorContent,
 | 
					  EditorContent,
 | 
				
			||||||
 | 
					  ChecklistIcon,
 | 
				
			||||||
  CompleteIcon,
 | 
					  CompleteIcon,
 | 
				
			||||||
  DescriptionBadge,
 | 
					  DescriptionBadge,
 | 
				
			||||||
  DueDateCardBadge,
 | 
					  DueDateCardBadge,
 | 
				
			||||||
@@ -23,6 +24,7 @@ import {
 | 
				
			|||||||
  CardTitle,
 | 
					  CardTitle,
 | 
				
			||||||
  CardMembers,
 | 
					  CardMembers,
 | 
				
			||||||
} from './Styles';
 | 
					} from './Styles';
 | 
				
			||||||
 | 
					import { CheckSquare } from 'shared/icons';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type DueDate = {
 | 
					type DueDate = {
 | 
				
			||||||
  isPastDue: boolean;
 | 
					  isPastDue: boolean;
 | 
				
			||||||
@@ -229,8 +231,14 @@ const Card = React.forwardRef(
 | 
				
			|||||||
              )}
 | 
					              )}
 | 
				
			||||||
              {checklists && (
 | 
					              {checklists && (
 | 
				
			||||||
                <ListCardBadge>
 | 
					                <ListCardBadge>
 | 
				
			||||||
                  <FontAwesomeIcon color="#6b778c" icon={faCheckSquare} size="xs" />
 | 
					                  <ChecklistIcon
 | 
				
			||||||
                  <ListCardBadgeText>{`${checklists.complete}/${checklists.total}`}</ListCardBadgeText>
 | 
					                    color={checklists.complete === checklists.total ? 'success' : 'normal'}
 | 
				
			||||||
 | 
					                    width={8}
 | 
				
			||||||
 | 
					                    height={8}
 | 
				
			||||||
 | 
					                  />
 | 
				
			||||||
 | 
					                  <ListCardBadgeText
 | 
				
			||||||
 | 
					                    color={checklists.complete === checklists.total ? 'success' : 'normal'}
 | 
				
			||||||
 | 
					                  >{`${checklists.complete}/${checklists.total}`}</ListCardBadgeText>
 | 
				
			||||||
                </ListCardBadge>
 | 
					                </ListCardBadge>
 | 
				
			||||||
              )}
 | 
					              )}
 | 
				
			||||||
            </ListCardBadges>
 | 
					            </ListCardBadges>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user