crane-cloud/frontend

View on GitHub
src/components/ToggleOnOffButton/index.jsx

Summary

Maintainability
A
0 mins
Test Coverage
C
71%
import React, { useState } from "react";
import PropTypes from "prop-types";
import "./ToggleOnOffButton.css";

const ToggleOnOffButton = ({ onClick }) => {
  const [state, setState] = useState(true);

  const handleClick = () => {
    setState(!state);
    onClick();
  };

  return (
    <div
      className="ToggleButtonContainer"
      role="presentation"
      onClick={handleClick}
    >
      <div className={`ToggleBase ${state ? "ToggleOn" : "ToggleOff"}`}>
      <div
          className={`ToggleButtonSlider ${state ? "ToggleOn" : "ToggleOff"}`}
        />
      <div className="ToggleText">NO</div>  
      <div className="ToggleText">YES</div>    
      </div>
    </div>
  );
};

ToggleOnOffButton.propTypes = {
  onClick: PropTypes.func.isRequired,
};

export default ToggleOnOffButton;