Files
masto-fe-archos/app/javascript/flavours/glitch/components/setting_text.jsx
2025-10-12 13:42:02 +02:00

36 lines
857 B
JavaScript

import PropTypes from "prop-types";
import { PureComponent } from "react";
import ImmutablePropTypes from "react-immutable-proptypes";
export default class SettingText extends PureComponent {
static propTypes = {
settings: ImmutablePropTypes.map.isRequired,
settingPath: PropTypes.array.isRequired,
label: PropTypes.string.isRequired,
onChange: PropTypes.func.isRequired,
};
handleChange = (e) => {
this.props.onChange(this.props.settingPath, e.target.value);
};
render () {
const { settings, settingPath, label } = this.props;
return (
<label>
<span style={{ display: "none" }}>{label}</span>
<input
className='setting-text'
value={settings.getIn(settingPath)}
onChange={this.handleChange}
placeholder={label}
/>
</label>
);
}
}