src/components/Scooters/ScooterRadioBtn.jsx   A
last analyzed

Complexity

Total Complexity 2
Complexity/F 0

Size

Lines of Code 93
Function Count 0

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 74
dl 0
loc 93
rs 10
c 0
b 0
f 0
wmc 2
mnd 2
bc 2
fnc 0
bpm 0
cpm 0
noi 0
1
import React, { useEffect } from "react";
2
3
const ScooterRadioBtn = ({ status, setStatus, setIsSaved }) => {
4
  useEffect(() => {
5
    const radios = document.getElementsByName("scootermode");
6
    let value = status;
7
    for (let i = 0, length = radios.length; i < length; i++) {
8
      if (radios[i].id == value) {
9
        radios[i].checked = true;
10
        break;
11
      }
12
    }
13
  }, []);
14
15
  return (
16
    <form
17
      className="flex flex-row justify-center my-4 flex-wrap"
18
      id="scootermode"
19
      onChange={(e) => {
20
        setIsSaved(false);
21
        setStatus(e.target.value);
22
      }}
23
    >
24
      <div className="p-3">
25
        <input
26
          id="Available"
27
          type="radio"
28
          name="scootermode"
29
          value="Available"
30
          className="peer hidden"
31
        />
32
        <label
33
          for="Available"
34
          className="peer-checked:bg-violet-700 px-4 py-3 rounded-xl
35
                text-white bg-blue-900 transition-colors"
36
        >
37
          Available
38
        </label>
39
      </div>
40
      <div className="p-3">
41
        <input
42
          id="Maintenance"
43
          type="radio"
44
          name="scootermode"
45
          value="Maintenance"
46
          className="peer hidden"
47
        />
48
        <label
49
          for="Maintenance"
50
          className="peer-checked:bg-violet-700 px-4 py-3 rounded-xl
51
                  text-white bg-blue-900 transition-colors"
52
        >
53
          Maintenace
54
        </label>
55
      </div>
56
      <div className="p-3">
57
        <input
58
          id="Off"
59
          type="radio"
60
          name="scootermode"
61
          value="Off"
62
          className="peer hidden"
63
        />
64
        <label
65
          for="Off"
66
          className="peer-checked:bg-violet-700 px-4 py-3 rounded-xl
67
                  text-white bg-blue-900 transition-colors"
68
        >
69
          Deactivate
70
        </label>
71
      </div>
72
      <div className="p-3">
73
        <input
74
          id="Unavailable"
75
          type="radio"
76
          name="scootermode"
77
          value="Unavailable"
78
          className="peer hidden"
79
        />
80
        <label
81
          for="Unavailable"
82
          className="peer-checked:bg-violet-700 px-4 py-3 rounded-xl
83
                  text-white bg-blue-900 transition-colors"
84
        >
85
          Charging
86
        </label>
87
      </div>
88
    </form>
89
  );
90
};
91
92
export default ScooterRadioBtn;
93