scouttracker/src/components/Achievement.js

80 lines
1.4 KiB
JavaScript
Raw Normal View History

2017-07-11 18:09:16 +00:00
import React from 'react';
2017-07-22 23:31:14 +00:00
import { Div } from 'glamorous';
const blue = "#00BCD4";
const size = 2.6;
const size_rem = `${size}rem`;
const pad = "0.5rem";
2017-07-11 18:09:16 +00:00
export default({
id,
number,
completed,
letter,
description,
additionalText,
scoutID,
completeAchievement,
uncompleteAchievement
}) => {
if(completed) {
const variables = {
id: completed.id
};
2017-07-22 23:31:14 +00:00
return <Div
onClick={()=>{uncompleteAchievement({variables})}}
2017-07-22 23:31:14 +00:00
fontSize={`${size/2}rem`}
border={`0.2rem solid ${blue}`}
display="inline-flex"
color="white"
backgroundColor={blue}
2017-07-22 23:31:14 +00:00
width={size_rem}
height={size_rem}
borderRadius={size_rem}
2017-07-22 23:31:14 +00:00
margin={pad}
cursor="pointer"
>
<Div
display="flex"
width={size_rem}
height={size_rem}
justifyContent="center"
alignItems="center"
2017-07-22 23:31:14 +00:00
>
<Div display="inline-flex">{number}{letter}</Div>
</Div>
</Div>
} else {
const variables = {
scoutID,
id,
date: (new Date(Date.now())).toISOString()
};
2017-07-22 23:31:14 +00:00
return <Div
onClick={()=>{completeAchievement({variables})}}
2017-07-22 23:31:14 +00:00
fontSize={`${size/2}rem`}
border={`0.15rem solid ${blue}`}
display="inline-flex"
color={blue}
width={size_rem}
height={size_rem}
borderRadius={size_rem}
2017-07-22 23:31:14 +00:00
margin={pad}
cursor="pointer"
>
<Div
display="flex"
width={size_rem}
height={size_rem}
justifyContent="center"
alignItems="center"
2017-07-22 23:31:14 +00:00
>
<Div display="inline-flex">{number}{letter}</Div>
</Div>
</Div>
}
2017-07-11 18:09:16 +00:00
};