import React, { useState } from 'react';
import { StyleSheet, View, Text, TouchableOpacity } from 'react-native';
import { BarChart, LineChart } from 'react-native-gifted-charts';
export default function AnalysisComponent() {
const [selectedComponent, setSelectedComponent] = useState('MainMark');
const renderComponent = () => {
switch (selectedComponent) {
case 'MainMark':
return ;
case 'DistanceMark':
return ;
case 'DriveScore':
return ;
default:
return null;
}
};
return (
<>
setSelectedComponent('MainMark')}>
주요 감점 요인
setSelectedComponent('DistanceMark')}>
거리별 감점 현황
setSelectedComponent('DriveScore')}>
운행 점수 비교
{renderComponent()}
>
);
}
// 주요 감점 요인 차트
const mainData = [
{ value: 60, label: '급가속' },
{ value: 90, label: '급감속' },
{ value: 88, label: '급출발' },
{ value: 75, label: '급정지' },
{ value: 97, label: '안전모착용' },
{ value: 80, label: '충돌위험' },
];
function MainMark() {
return (
);
}
// 거리별 감점 현황 차트
const distanceData = [
{ value: 15, label: '10km' },
{ value: 30, label: '20km' },
{ value: 23, label: '30km' },
{ value: 40, label: '40km' },
{ value: 16, label: '50km' },
{ value: 50, label: '60km' },
];
function DistanceMark() {
return (
);
}
// 운행 점수 비교 차트
const driveData = [
{
value: 65,
label: '이전 운행 점수',
frontColor: '#FFA311',
topLabelComponent: () => (
65
),
},
{
value: 94,
label: '현재 운행 점수',
frontColor: '#0F4BD3',
topLabelComponent: () => (
94
),
},
];
function DriveScore() {
return (
);
}
const styles = StyleSheet.create({
buttonContainer: {
flexDirection: 'row',
justifyContent: 'space-between',
},
button: {
flex: 1,
backgroundColor: '#BDBDBD',
paddingVertical: 10,
borderRadius: 10,
alignItems: 'center',
justifyContent: 'center',
marginHorizontal: 5,
},
selectedButton: {
backgroundColor: '#DDE7FF',
},
buttonText: {
color: '#ffffff',
},
selectedButtonText: {
color: '#5488FF',
},
chartContainer: {
flex: 1,
padding: 10,
marginTop: 30,
},
});