@@ -2,12 +2,44 @@ import React, { useCallback, useContext } from 'react';
22import { useDispatch } from 'react-redux' ;
33import { useTranslation } from 'react-i18next' ;
44import PropTypes from 'prop-types' ;
5+ import styled from 'styled-components' ;
56
7+ import { prop } from '../../../theme' ;
68import { useP5Version , p5Versions } from '../hooks/useP5Version' ;
79import MenuItem from '../../../components/Dropdown/MenuItem' ;
810import DropdownMenu from '../../../components/Dropdown/DropdownMenu' ;
911import { updateFileContent } from '../actions/files' ;
1012import { 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
1244const 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