ocr / src /pages /AnalyticsPage.jsx
ariansyahdedy's picture
Initial commit with clean Git repository
4fb0c68
import React from 'react';
import { Line, Bar, Doughnut } from 'react-chartjs-2';
import Sidebar from '../components/SideBarGPT';
const Analytics = () => {
// Sample data for charts
const messagesOverTimeData = {
labels: ['January', 'February', 'March', 'April', 'May', 'June'],
datasets: [
{
label: 'Messages',
data: [65, 59, 80, 81, 56, 55],
fill: false,
backgroundColor: 'rgba(75,192,192,0.2)',
borderColor: 'rgba(75,192,192,1)',
},
],
};
const userBotMessagesData = {
labels: ['User', 'Bot'],
datasets: [
{
label: 'Messages',
data: [300, 450],
backgroundColor: ['#36A2EB', '#FF6384'],
},
],
};
const responseTimeData = {
labels: ['<1s', '1-2s', '2-3s', '>3s'],
datasets: [
{
label: 'Response Time',
data: [50, 100, 75, 25],
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1,
},
],
};
return (
<div className="flex">
<Sidebar />
<div className="ml-64 flex-1 p-6 bg-gray-100">
<div className="p-4 bg-white rounded-lg shadow">
<h2 className="text-2xl font-bold mb-4">Analytics</h2>
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
<div className="p-4 bg-gray-100 rounded-lg">
<h3 className="text-xl font-semibold mb-2">Messages Over Time</h3>
<Line data={messagesOverTimeData} />
</div>
<div className="p-4 bg-gray-100 rounded-lg">
<h3 className="text-xl font-semibold mb-2">User vs Bot Messages</h3>
<Doughnut data={userBotMessagesData} />
</div>
<div className="p-4 bg-gray-100 rounded-lg">
<h3 className="text-xl font-semibold mb-2">Response Time Distribution</h3>
<Bar data={responseTimeData} />
</div>
</div>
</div>
</div>
</div>
);
};
export default Analytics;