fix: improve dropdown styles, add reset modal language support

This commit is contained in:
David Ralph
2021-04-02 22:27:44 +01:00
parent d0934d8e6d
commit 5c8c6b8d07
8 changed files with 34 additions and 89 deletions

View File

@@ -4,7 +4,8 @@ export default class Dropdown extends React.PureComponent {
constructor(props) {
super(props);
this.state = {
value: localStorage.getItem(this.props.name) || ''
value: localStorage.getItem(this.props.name) || '',
title: ''
};
}
@@ -16,7 +17,8 @@ export default class Dropdown extends React.PureComponent {
const { value } = e.target;
this.setState({
value: value
value: value,
title: e.target[e.target.selectedIndex].text
});
localStorage.setItem(this.props.name, value);
@@ -26,11 +28,19 @@ export default class Dropdown extends React.PureComponent {
}
}
// todo: find a better way to do this
componentDidMount() {
const element = document.getElementById(this.props.name);
this.setState({
title: element[element.selectedIndex].text
});
}
render() {
return (
<>
{this.getLabel()}
<select value={this.state.value} onChange={this.onChange}>
<select id={this.props.name} value={this.state.value} onChange={this.onChange} style={{width: `${(8*this.state.title.length) + 50}px`}}>
{this.props.children}
</select>
</>