diff --git a/components/ChecklistItem/Heading.js b/components/ChecklistItem/Heading.js
index cadd92e..77c9fb5 100644
--- a/components/ChecklistItem/Heading.js
+++ b/components/ChecklistItem/Heading.js
@@ -1,16 +1,22 @@
// @flow
import React from 'react';
-import { Title, Description } from './style';
+import { Title, Description, Uncollapse } from './style';
import type { ChecklistResource } from '../../types';
type Props = {
resource: ChecklistResource,
isCollapsed: boolean,
+ handleCollapse: Function,
};
-export const Heading = ({ resource, isCollapsed }: Props) => (
+export const Heading = ({ resource, isCollapsed, handleCollapse }: Props) => (
- {resource.title}
+
+ {resource.title}
+
+ {isCollapsed ? 'Show details' : 'Hide details'}
+
+
{!isCollapsed && }
);
diff --git a/components/ChecklistItem/index.js b/components/ChecklistItem/index.js
index 73f6bbd..58b2a77 100644
--- a/components/ChecklistItem/index.js
+++ b/components/ChecklistItem/index.js
@@ -43,9 +43,12 @@ class ChecklistItem extends React.Component {
const { isChecked, isCollapsed } = this.state;
const { resource } = this.props;
setCheckedStatusById(resource.id, !isChecked);
- return this.setState({ isChecked: !isChecked, isCollapsed: !isCollapsed });
+ return this.setState({ isChecked: !isChecked, isCollapsed: !isChecked });
};
+ uncollapse = () =>
+ this.setState(state => ({ isCollapsed: !state.isCollapsed }));
+
render() {
const { isChecked, isLoading, isCollapsed } = this.state;
const { resource } = this.props;
@@ -61,7 +64,11 @@ class ChecklistItem extends React.Component {
-
+
{!isCollapsed && resource.apps && (
diff --git a/components/ChecklistItem/style.js b/components/ChecklistItem/style.js
index 03b4e52..86aee3e 100644
--- a/components/ChecklistItem/style.js
+++ b/components/ChecklistItem/style.js
@@ -22,6 +22,8 @@ export const Title = styled.h3`
font-size: 18px;
font-weight: 500;
color: ${theme.text.default};
+ display: flex;
+ justify-content: space-between;
`;
export const Description = styled(Markdown)`
@@ -103,7 +105,7 @@ export const Checkbox = styled.span`
export const ResourceContent = styled.div`
display: flex;
flex-direction: column;
- justify-content: ${props => (props.isCollapsed ? 'center' : 'flex-start')};
+ margin-top: 2px;
padding-left: 16px;
width: 100%;
@@ -304,3 +306,21 @@ export const Divider = styled.div`
display: none;
}
`;
+
+export const Uncollapse = styled.span`
+ background: ${theme.bg.wash};
+ border-radius: 20px;
+ padding: 8px 16px;
+ font-size: 15px;
+ color: ${theme.text.tertiary};
+ cursor: pointer;
+ line-height: 1;
+ display: flex;
+ align-items: center;
+ margin-right: 8px;
+
+ &:hover {
+ color: ${theme.text.default};
+ background: ${tint(theme.bg.wash, -4)};
+ }
+`;