openreplay/frontend/app/components/hocs/withToggle.js
Andrey Babushkin fd5c0c9747
Add lokalisation (#3092)
* applied eslint

* add locales and lint the project

* removed error boundary

* updated locales

* fix min files

* fix locales
2025-03-06 17:43:15 +01:00

25 lines
610 B
JavaScript

import React from 'react';
const withToggle =
(stateName = 'open', handlerName = 'switchOpen', initial = false) =>
(BaseComponent) =>
class extends React.Component {
state = {
toggle: initial,
};
onToggle = (state) =>
this.setState({
toggle: typeof state === 'boolean' ? state : !this.state.toggle,
});
render() {
const newProps = {
[handlerName]: this.onToggle,
[stateName]: this.state.toggle,
};
return <BaseComponent {...newProps} {...this.props} />;
}
};
export default withToggle;