@@ -2,12 +2,44 @@ import React, { useCallback, useContext } from 'react';
2
2
import { useDispatch } from 'react-redux' ;
3
3
import { useTranslation } from 'react-i18next' ;
4
4
import PropTypes from 'prop-types' ;
5
+ import styled from 'styled-components' ;
5
6
7
+ import { prop } from '../../../theme' ;
6
8
import { useP5Version , p5Versions } from '../hooks/useP5Version' ;
7
9
import MenuItem from '../../../components/Dropdown/MenuItem' ;
8
10
import DropdownMenu from '../../../components/Dropdown/DropdownMenu' ;
9
11
import { updateFileContent } from '../actions/files' ;
10
12
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
+ ` ;
11
43
12
44
const VersionPicker = React . forwardRef ( ( { onChangeVersion } , ref ) => {
13
45
const { indexID, versionInfo } = useP5Version ( ) ;
@@ -29,16 +61,27 @@ const VersionPicker = React.forwardRef(({ onChangeVersion }, ref) => {
29
61
30
62
if ( ! versionInfo ) {
31
63
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 >
33
72
) ;
34
73
}
35
74
36
75
return (
37
- < DropdownMenu
76
+ < VersionDropdownMenu
77
+ className = "versionPicker"
38
78
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 >
42
85
}
43
86
align = "left"
44
87
maxHeight = "50vh"
@@ -48,7 +91,7 @@ const VersionPicker = React.forwardRef(({ onChangeVersion }, ref) => {
48
91
{ version }
49
92
</ MenuItem >
50
93
) ) }
51
- </ DropdownMenu >
94
+ </ VersionDropdownMenu >
52
95
) ;
53
96
} ) ;
54
97
0 commit comments