Skip to content

Commit cae11eb

Browse files
committed
Style dropdown button
1 parent 2279d3a commit cae11eb

File tree

1 file changed

+49
-6
lines changed

1 file changed

+49
-6
lines changed

client/modules/IDE/components/VersionPicker.jsx

Lines changed: 49 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,44 @@ import React, { useCallback, useContext } from 'react';
22
import { useDispatch } from 'react-redux';
33
import { useTranslation } from 'react-i18next';
44
import PropTypes from 'prop-types';
5+
import styled from 'styled-components';
56

7+
import { prop } from '../../../theme';
68
import { useP5Version, p5Versions } from '../hooks/useP5Version';
79
import MenuItem from '../../../components/Dropdown/MenuItem';
810
import DropdownMenu from '../../../components/Dropdown/DropdownMenu';
911
import { updateFileContent } from '../actions/files';
1012
import { CmControllerContext } from '../pages/IDEView';
13+
import { DropdownArrowIcon } from '../.././../common/icons';
14+
15+
const VersionPickerButton = styled.div`
16+
display: flex;
17+
border: 1px solid ${prop('Modal.border')};
18+
background: ${prop('backgroundColor')};
19+
`;
20+
21+
const VersionPickerText = styled.div`
22+
padding: 0.5rem 1rem;
23+
min-width: 8rem;
24+
text-align: left;
25+
`;
26+
27+
const VersionPickerArrow = styled.div`
28+
background: ${prop('Button.primary.default.background')};
29+
align-self: stretch;
30+
width: 2rem;
31+
display: flex;
32+
align-items: center;
33+
justify-content: center;
34+
`;
35+
36+
const VersionDropdownMenu = styled(DropdownMenu)`
37+
& button {
38+
padding: 0;
39+
}
40+
41+
margin-bottom: 1rem;
42+
`;
1143

1244
const VersionPicker = React.forwardRef(({ onChangeVersion }, ref) => {
1345
const { indexID, versionInfo } = useP5Version();
@@ -29,16 +61,27 @@ const VersionPicker = React.forwardRef(({ onChangeVersion }, ref) => {
2961

3062
if (!versionInfo) {
3163
return (
32-
<span className="versionPicker">{t('Toolbar.CustomLibraryVersion')}</span>
64+
<VersionPickerButton>
65+
<VersionPickerText>
66+
{t('Toolbar.CustomLibraryVersion')}
67+
</VersionPickerText>
68+
<VersionPickerArrow>
69+
<DropdownArrowIcon />
70+
</VersionPickerArrow>
71+
</VersionPickerButton>
3372
);
3473
}
3574

3675
return (
37-
<DropdownMenu
76+
<VersionDropdownMenu
77+
className="versionPicker"
3878
anchor={
39-
<span className="versionPicker" ref={ref}>
40-
{versionInfo.version}
41-
</span>
79+
<VersionPickerButton ref={ref}>
80+
<VersionPickerText>{versionInfo.version}</VersionPickerText>
81+
<VersionPickerArrow>
82+
<DropdownArrowIcon />
83+
</VersionPickerArrow>
84+
</VersionPickerButton>
4285
}
4386
align="left"
4487
maxHeight="50vh"
@@ -48,7 +91,7 @@ const VersionPicker = React.forwardRef(({ onChangeVersion }, ref) => {
4891
{version}
4992
</MenuItem>
5093
))}
51-
</DropdownMenu>
94+
</VersionDropdownMenu>
5295
);
5396
});
5497

0 commit comments

Comments
 (0)