Passed
Push — development ( 8e8ffd...1af938 )
by Peter
18:46 queued 06:25
created

frontend/src/components/BikeList.tsx   A

Complexity

Total Complexity 1
Complexity/F 1

Size

Lines of Code 64
Function Count 1

Duplication

Duplicated Lines 0
Ratio 0 %

Test Coverage

Coverage 50%

Importance

Changes 0
Metric Value
eloc 56
dl 0
loc 64
ccs 1
cts 2
cp 0.5
rs 10
c 0
b 0
f 0
wmc 1
mnd 0
bc 0
fnc 1
bpm 0
cpm 1
noi 0

1 Function

Rating   Name   Duplication   Size   Complexity  
B BikeList.tsx ➔ BikeList 0 53 1
1
import { Scooter } from '../helpers/map/leaflet-types'
2
import { Badge } from 'flowbite-react'
3
4
type Props = {
5
    scooterData: Scooter[];
6
    isCityList: boolean
7
8
}
9
10
export default function BikeList( {scooterData, isCityList} : Props) {
11 1
  return (
12
        <ul className="w-full sm:max-w-4xl mx-auto" data-testid="bikelist">
13
            {scooterData.map((scooter) => (
14
                <li key={scooter.id} className="flex flex-col w-full flex-nowrap justify-between gap-4 p-4 mb-6 bg-gray-100 rounded-lg
15
                    shadow-md sm:flex-row sm:items-center">
16
                    <div>
17
                        <div className="flex items-center p-1 rounded-lg">
18
                            <span className="font-semibold">id:</span>
19
                            <Badge>{scooter.id}</Badge>
20
                        </div>
21
                        { isCityList &&
22
                            <div className="flex items-center p-1 rounded-lg">
23
                                <span className="font-semibold">city:</span>
24
                                <Badge>{scooter.city}</Badge>
25
                            </div>
26
                        }
27
                        <div className="flex items-center p-1 rounded-lg">
28
                            <span className="font-semibold">createdAt:</span>
29
                            <Badge>{scooter.createdAt}</Badge>
30
                        </div>
31
32
                        <div className="flex items-center p-1 rounded-lg">
33
                            <span className="font-semibold">updatedAt:</span>
34
                            <Badge>{scooter.updatedAt}</Badge>
35
                        </div>
36
                    </div>
37
38
                    <div>
39
                        <div className="flex items-center p-1 rounded-lg">
40
                            <span className="font-semibold">batteryLevel:</span>
41
                            <Badge>{scooter.batteryLevel}</Badge>
42
                        </div>
43
44
                        <div className="flex items-center p-1 rounded-lg">
45
                            <span className="font-semibold">status:</span>
46
                            <Badge>{scooter.status}</Badge>
47
                        </div>
48
49
                        <div className="flex items-center p-1 rounded-lg">
50
                            <span className="font-semibold">longitude:</span>
51
                            <Badge>{scooter.longitude}</Badge>
52
                        </div>
53
54
                        <div className="flex items-center p-1 rounded-lg">
55
                            <span className="font-semibold">latitude:</span>
56
                            <Badge>{scooter.latitude}</Badge>
57
                        </div>
58
                    </div>
59
                </li>
60
            ))}
61
        </ul>
62
  )
63
}
64