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, }, });