diff --git a/src/App.jsx b/src/App.jsx index 79ba42b..07d017c 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,5 +1,5 @@ import React, { useState, useEffect, useMemo, useCallback } from 'react'; -import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, LineChart, Line } from 'recharts'; +import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, LineChart, Line, Legend } from 'recharts'; // Define image URLs for students const studentImageMap = { @@ -33,6 +33,7 @@ const studentImageMap = { "2031024": "https://i.ibb.co/mCNbhMpX/MST-AFROZA-KHATUN24.png", // Specific for 2031024 "2031042": "https://i.postimg.cc/bNJkZxJB/KHADIJA-AKTER.png", // Unique image for Khadija Akter }; + const sharedImageUrl = "https://i.ibb.co/BVc0jwkq/JASMIN-AKTER-MUKTA.png"; // JASMIN AKTER MUKTA's image const studentsUsingSharedImage = [ "2031042", // KHADIJA AKTER @@ -46,229 +47,377 @@ const studentsUsingSharedImage = [ "2031027" // SADIA ISLAM ]; -// Manually extracted data from the provided Excel sheet image +// Manually extracted data from the provided Excel sheet with corrected values const studentData = [ { - "name": "MEFTAHUL JANNAT", "roll": "2031025", - "gpa_1_1": 3.90, "grade_1_1": "A-", "gpa_1_2": 3.737, "grade_1_2": "A-", - "gpa_2_1": 3.779, "grade_2_1": "A", "gpa_2_2": 3.852, "grade_2_2": "A", - "gpa_3_1": 3.89, "grade_3_1": "B+", + "name": "KOBIR HOSSAIN ", + "roll": "2031001", + "gpa_1_1": 3.54, + "gpa_1_2": 3.421, + "gpa_2_1": 3.517, + "gpa_2_2": 3.517, + "gpa_3_1": 3.705, + "cgpa": 3.54 }, { - "name": "MD. PARVEJ HOSSAIN", "roll": "2031005", - "gpa_1_1": 3.74, "grade_1_1": "A-", "gpa_1_2": 3.612, "grade_1_2": "A-", - "gpa_2_1": 3.750, "grade_2_1": "A-", "gpa_2_2": 3.886, "grade_2_2": "A", - "gpa_3_1": 3.936, "grade_3_1": "A", + "name": "MOHD. TAKIUDDIN ", + "roll": "2031003", + "gpa_1_1": 3.6, + "gpa_1_2": 3.651, + "gpa_2_1": 3.605, + "gpa_2_2": 3.841, + "gpa_3_1": 3.936, + "cgpa": 3.73 }, { - "name": "MST. AFROZA KHATUN", "roll": "2031036", - "gpa_1_1": 3.67, "grade_1_1": "A-", "gpa_1_2": 3.638, "grade_1_2": "A-", - "gpa_2_1": 3.605, "grade_2_1": "A-", "gpa_2_2": 3.992, "grade_2_2": "A", - "gpa_3_1": 3.85, "grade_3_1": "A", + "name": "MD. NAIMUL ISLAM", + "roll": "2031004", + "gpa_1_1": 2.71, + "gpa_1_2": 3.039, + "gpa_2_1": 3.047, + "gpa_2_2": 3.438, + "gpa_3_1": 3.56, + "cgpa": 3.16 }, { - "name": "MOHD. TAKIUDDIN", "roll": "2031003", - "gpa_1_1": 3.60, "grade_1_1": "A-", "gpa_1_2": 3.651, "grade_1_2": "A-", - "gpa_2_1": 3.605, "grade_2_1": "A-", "gpa_2_2": 3.841, "grade_2_2": "A", - "gpa_3_1": 3.936, "grade_3_1": "A-", + "name": "MD. PARVEJ HOSSAIN ", + "roll": "2031005", + "gpa_1_1": 3.74, + "gpa_1_2": 3.612, + "gpa_2_1": 3.75, + "gpa_2_2": 3.886, + "gpa_3_1": 3.936, + "cgpa": 3.78 }, { - "name": "SHAFKAT TASEEN SADIYA", "roll": "2031030", // Corrected name here - "gpa_1_1": 3.58, "grade_1_1": "A-", "gpa_1_2": 3.579, "grade_1_2": "A-", - "gpa_2_1": 3.551, "grade_2_1": "A-", "gpa_2_2": 3.852, "grade_2_2": "A", - "gpa_3_1": 3.86, "grade_3_1": "B+", + "name": "MD. MASHUK E RAHMAN ", + "roll": "2031006", + "gpa_1_1": 3.16, + "gpa_1_2": 3.224, + "gpa_2_1": 2.791, + "gpa_2_2": 3.472, + "gpa_3_1": 3.566, + "cgpa": 3.24 }, { - "name": "MST. AFROZA KHATUN", "roll": "2031024", - "gpa_1_1": 3.52, "grade_1_1": "A-", "gpa_1_2": 3.737, "grade_1_2": "A-", - "gpa_2_1": 3.587, "grade_2_1": "A-", "gpa_2_2": 3.716, "grade_2_2": "A-", - "gpa_3_1": 3.92, "grade_3_1": "A", + "name": "M.D. BELAL HOSSAIN BADHON ", + "roll": "2031007", + "gpa_1_1": 2.82, + "gpa_1_2": 3.059, + "gpa_2_1": 2.895, + "gpa_2_2": 3.233, + "gpa_3_1": 3.391, + "cgpa": 3.08 }, { - "name": "MST. ANANNA-AFRIN", "roll": "2031040", - "gpa_1_1": 3.44, "grade_1_1": "B+", "gpa_1_2": 3.592, "grade_1_2": "A-", - "gpa_2_1": 3.640, "grade_2_1": "A-", "gpa_2_2": 3.864, "grade_2_2": "A", - "gpa_3_1": 3.91, "grade_3_1": "A", + "name": "MD. TORIKUL ISLAM HIMAL ", + "roll": "2031008", + "gpa_1_1": 3.03, + "gpa_1_2": 3.513, + "gpa_2_1": 3.413, + "gpa_2_2": 3.614, + "gpa_3_1": 3.7, + "cgpa": 3.45 }, { - "name": "ORPA AHMED", "roll": "2031041", - "gpa_1_1": 3.53, "grade_1_1": "A-", "gpa_1_2": 3.704, "grade_1_2": "A-", - "gpa_2_1": 3.552, "grade_2_1": "A-", "gpa_2_2": 3.739, "grade_2_2": "A-", - "gpa_3_1": 3.89, "grade_3_1": "A", + "name": "MD. RASHIDUL ISLAM", + "roll": "2031009", + "gpa_1_1": 2.96, + "gpa_1_2": 3.184, + "gpa_2_1": 2.744, + "gpa_2_2": 3.426, + "gpa_3_1": 3.468, + "cgpa": 3.16 }, { - "name": "MD. SHANZAD ALI", "roll": "2031012", - "gpa_1_1": 3.45, "grade_1_1": "B+", "gpa_1_2": 3.566, "grade_1_2": "A-", - "gpa_2_1": 3.517, "grade_2_1": "A-", "gpa_2_2": 3.773, "grade_2_2": "A-", - "gpa_3_1": 3.91, "grade_3_1": "A", + "name": "WASHIM SHAHED SOVON ", + "roll": "2031010", + "gpa_1_1": 3.21, + "gpa_1_2": 3.487, + "gpa_2_1": 3.43, + "gpa_2_2": 3.784, + "gpa_3_1": 3.974, + "cgpa": 3.58 }, { - "name": "HOSSAIN MOHAMMAD SHIHAB", "roll": "2031013", - "gpa_1_1": 3.43, "grade_1_1": "B+", "gpa_1_2": 3.579, "grade_1_2": "A-", - "gpa_2_1": 3.500, "grade_2_1": "A-", "gpa_2_2": 3.795, "grade_2_2": "A-", - "gpa_3_1": 3.82, "grade_3_1": "B+", + "name": "MD. HABIBUL HASAN ", + "roll": "2031011", + "gpa_1_1": 3.34, + "gpa_1_2": 3.382, + "gpa_2_1": 3.157, + "gpa_2_2": 3.301, + "gpa_3_1": 3.44, + "cgpa": 3.32 }, { - "name": "MD. OMAYER HAQUE KHAN", "roll": "2031016", - "gpa_1_1": 3.42, "grade_1_1": "B+", "gpa_1_2": 3.559, "grade_1_2": "A-", - "gpa_2_1": 3.483, "grade_2_1": "B+", "gpa_2_2": 3.739, "grade_2_2": "A-", - "gpa_3_1": 3.87, "grade_3_1": "A-", + "name": "MD. SHANZAD ALI ", + "roll": "2031012", + "gpa_1_1": 3.45, + "gpa_1_2": 3.566, + "gpa_2_1": 3.517, + "gpa_2_2": 3.773, + "gpa_3_1": 3.91, + "cgpa": 3.64 }, { - "name": "KHADIJA AKTER", "roll": "2031042", - "gpa_1_1": 3.36, "grade_1_1": "B+", "gpa_1_2": 3.559, "grade_1_2": "A-", - "gpa_2_1": 3.517, "grade_2_1": "A-", "gpa_2_2": 3.682, "grade_2_2": "A-", - "gpa_3_1": 3.89, "grade_3_1": "A", + "name": "HOSSAIN MOHAMMAD SHIHAB SHARAR HIMEL ", + "roll": "2031013", + "gpa_1_1": 3.54, + "gpa_1_2": 3.579, + "gpa_2_1": 3.5, + "gpa_2_2": 3.795, + "gpa_3_1": 3.82, + "cgpa": 3.65 }, { - "name": "KOBIR HOSSAIN", "roll": "2031001", - "gpa_1_1": 3.54, "grade_1_1": "A-", "gpa_1_2": 3.421, "grade_1_2": "B+", - "gpa_2_1": 3.517, "grade_2_1": "A-", "gpa_2_2": 3.517, "grade_2_2": "A-", - "gpa_3_1": 3.705, "grade_3_1": "A-", + "name": "MD. OMAYER HAQUE KHAN ", + "roll": "2031016", + "gpa_1_1": 3.42, + "gpa_1_2": 3.559, + "gpa_2_1": 3.483, + "gpa_2_2": 3.739, + "gpa_3_1": 3.807, + "cgpa": 3.6 }, { - "name": "MOST. MAHFUJA ANAN", "roll": "2031023", - "gpa_1_1": 3.37, "grade_1_1": "B+", "gpa_1_2": 3.546, "grade_1_2": "A-", - "gpa_2_1": 3.360, "grade_2_1": "B+", "gpa_2_2": 3.705, "grade_2_2": "A-", - "gpa_3_1": 3.9, "grade_3_1": "A", + "name": "MD. NAFIU-UL-HAQUE", + "roll": "2031017", + "gpa_1_1": 3.32, + "gpa_1_2": 3.289, + "gpa_2_1": 3.355, + "gpa_2_2": 3.733, + "gpa_3_1": 3.64, + "cgpa": 3.47 }, { - "name": "SADIA ISLAM", "roll": "2031027", - "gpa_1_1": 3.44, "grade_1_1": "B+", "gpa_1_2": 3.382, "grade_1_2": "B+", - "gpa_2_1": 3.448, "grade_2_1": "B+", "gpa_2_2": 3.682, "grade_2_2": "A-", - "gpa_3_1": 3.82, "grade_3_1": "B+", + "name": "MD. EMRAN HOSSAIN ", + "roll": "2031018", + "gpa_1_1": 2.85, + "gpa_1_2": 3.283, + "gpa_2_1": 3.116, + "gpa_2_2": 3.653, + "gpa_3_1": 3.45, + "cgpa": 3.27 }, { - "name": "WASHIM SHAHED SOVON", "roll": "2031010", - "gpa_1_1": 3.21, "grade_1_1": "B", "gpa_1_2": 3.487, "grade_1_2": "B+", - "gpa_2_1": 3.430, "grade_2_1": "B+", "gpa_2_2": 3.784, "grade_2_2": "A-", - "gpa_3_1": 3.974, "grade_3_1": "A+", + "name": "TUSHAR BISWAS", + "roll": "2031019", + "gpa_1_1": 2.92, + "gpa_1_2": 3.434, + "gpa_2_1": 3.355, + "gpa_2_2": 3.574, + "gpa_3_1": 3.77, + "cgpa": 3.41 }, { - "name": "MD. NAFIU-UL-HAQUE", "roll": "2031017", - "gpa_1_1": 3.32, "grade_1_1": "B+", "gpa_1_2": 3.289, "grade_1_2": "B+", - "gpa_2_1": 3.355, "grade_2_1": "B+", "gpa_2_2": 3.733, "grade_2_2": "A-", - "gpa_3_1": 3.64, "grade_3_1": "A-", + "name": "MD. SHAHRIAR HOSSAIN ", + "roll": "2031021", + "gpa_1_1": 3.34, + "gpa_1_2": 3.368, + "gpa_2_1": 3.11, + "gpa_2_2": 3.466, + "gpa_3_1": 3.57, + "cgpa": 3.37 }, { - "name": "JASMIN AKTER MUKTA", "roll": "2031032", - "gpa_1_1": 3.22, "grade_1_1": "B", "gpa_1_2": 3.553, "grade_1_2": "A-", - "gpa_2_1": 3.203, "grade_2_1": "B", "gpa_2_2": 3.67, "grade_2_2": "A-", - "gpa_3_1": 3.735, "grade_3_1": "A-", + "name": "MOST. MAHFUJA ANAN", + "roll": "2031023", + "gpa_1_1": 3.45, + "gpa_1_2": 3.55, + "gpa_2_1": 3.36, + "gpa_2_2": 3.7, + "gpa_3_1": 3.9, + "cgpa": 3.59 }, { - "name": "UMME SAMIHA ISLAM", "roll": "2031038", - "gpa_1_1": 3.32, "grade_1_1": "B+", "gpa_1_2": 3.428, "grade_1_2": "B+", - "gpa_2_1": 3.331, "grade_2_1": "B+", "gpa_2_2": 3.506, "grade_2_2": "A-", - "gpa_3_1": 3.78, "grade_3_1": "A-", + "name": "MOST. AFROZA KHATUN ", + "roll": "2031024", + "gpa_1_1": 3.52, + "gpa_1_2": 3.737, + "gpa_2_1": 3.587, + "gpa_2_2": 3.716, + "gpa_3_1": 3.92, + "cgpa": 3.7 }, { - "name": "MD. TORIKUL ISLAM HIMEL", "roll": "2031008", - "gpa_1_1": 3.03, "grade_1_1": "B", "gpa_1_2": 3.513, "grade_1_2": "A-", - "gpa_2_1": 3.413, "grade_2_1": "B+", "gpa_2_2": 3.614, "grade_2_2": "A-", - "gpa_3_1": 3.70, "grade_3_1": "B+", + "name": "MEFTAHUL JANNAT", + "roll": "2031025", + "gpa_1_1": 3.9, + "gpa_1_2": 3.737, + "gpa_2_1": 3.779, + "gpa_2_2": 3.852, + "gpa_3_1": 3.89, + "cgpa": 3.83 }, { - "name": "ASHIKA RAHMAN PANNA", "roll": "2031039", - "gpa_1_1": 3.22, "grade_1_1": "B", "gpa_1_2": 3.434, "grade_1_2": "B+", - "gpa_2_1": 3.273, "grade_2_1": "B+", "gpa_2_2": 3.528, "grade_2_2": "A-", - "gpa_3_1": 3.79, "grade_3_1": "A-", + "name": "SADIA ISLAM", + "roll": "2031027", + "gpa_1_1": 3.44, + "gpa_1_2": 3.382, + "gpa_2_1": 3.448, + "gpa_2_2": 3.682, + "gpa_3_1": 3.82, + "cgpa": 3.55 }, { - "name": "RUKAIYA HOSSAIN", "roll": "2031045", - "gpa_1_1": 3.05, "grade_1_1": "B", "gpa_1_2": 3.454, "grade_1_2": "B+", - "gpa_2_1": 3.326, "grade_2_1": "B+", "gpa_2_2": 3.619, "grade_2_2": "A-", - "gpa_3_1": 3.48, "grade_3_1": "B+", + "name": "MST. SULTANA PARVIN SHIFA ", + "roll": "2031028", + "gpa_1_1": 2.76, + "gpa_1_2": 2.48, + "gpa_2_1": 1.895, + "gpa_2_2": 2.432, + "gpa_3_1": 2.955, + "cgpa": 2.5 }, { - "name": "MD. SHAHRIAR HOSSAIN", "roll": "2031021", - "gpa_1_1": 3.34, "grade_1_1": "B+", "gpa_1_2": 3.368, "grade_1_2": "B+", - "gpa_2_1": 3.110, "grade_2_1": "B", "gpa_2_2": 3.486, "grade_2_2": "B+", - "gpa_3_1": 3.57, "grade_3_1": "A-", + "name": "SHAFKAT TASEEN SADIYA ", + "roll": "2031030", + "gpa_1_1": 3.58, + "gpa_1_2": 3.579, + "gpa_2_1": 3.651, + "gpa_2_2": 3.852, + "gpa_3_1": 3.86, + "cgpa": 3.7 }, { - "name": "TUSHAR BISWAS", "roll": "2031019", - "gpa_1_1": 2.92, "grade_1_1": "B-", "gpa_1_2": 3.434, "grade_1_2": "B+", - "gpa_2_1": 3.355, "grade_2_1": "B+", "gpa_2_2": 3.574, "grade_2_2": "A-", - "gpa_3_1": 3.77, "grade_3_1": "A-", + "name": "JASMIN AKTER MUKTA ", + "roll": "2031032", + "gpa_1_1": 3.22, + "gpa_1_2": 3.553, + "gpa_2_1": 3.203, + "gpa_2_2": 3.67, + "gpa_3_1": 3.735, + "cgpa": 3.48 }, { - "name": "MST. ANIKA TABASSUM", "roll": "2031037", - "gpa_1_1": 3.17, "grade_1_1": "B", "gpa_1_2": 3.414, "grade_1_2": "B+", - "gpa_2_1": 3.233, "grade_2_1": "B", "gpa_2_2": 3.369, "grade_2_2": "B+", - "gpa_3_1": 3.54, "grade_3_1": "A-", + "name": "NAFIJA TASNIM ANNANA ", + "roll": "2031034", + "gpa_1_1": 2.78, + "gpa_1_2": 3.132, + "gpa_2_1": 2.93, + "gpa_2_2": 3.381, + "gpa_3_1": 3.19, + "cgpa": 3.08 }, { - "name": "MD. HABIBUL HASAN", "roll": "2031011", - "gpa_1_1": 3.34, "grade_1_1": "B+", "gpa_1_2": 3.382, "grade_1_2": "B+", - "gpa_2_1": 3.157, "grade_2_1": "B", "gpa_2_2": 3.301, "grade_2_2": "B+", - "gpa_3_1": 3.44, "grade_3_1": "B+", + "name": "MST. AFROZA KHATUN ", + "roll": "2031036", + "gpa_1_1": 3.67, + "gpa_1_2": 3.638, + "gpa_2_1": 3.605, + "gpa_2_2": 3.92, + "gpa_3_1": 3.85, + "cgpa": 3.74 }, { - "name": "AUTHORY BISWAS BIDDA", "roll": "2031048", - "gpa_1_1": 3.25, "grade_1_1": "B", "gpa_1_2": 3.211, "grade_1_2": "B", - "gpa_2_1": 3.070, "grade_2_1": "B", "gpa_2_2": 3.631, "grade_2_2": "A-", - "gpa_3_1": 3.58, "grade_3_1": "A-", + "name": "MST. ANIKA TABASSUM ", + "roll": "2031037", + "gpa_1_1": 3.17, + "gpa_1_2": 3.414, + "gpa_2_1": 3.233, + "gpa_2_2": 3.369, + "gpa_3_1": 3.54, + "cgpa": 3.35 }, { - "name": "MD. EMRAN HOSSAIN", "roll": "2031018", - "gpa_1_1": 2.85, "grade_1_1": "B-", "gpa_1_2": 3.283, "grade_1_2": "B+", - "gpa_2_1": 3.116, "grade_2_1": "B", "gpa_2_2": 3.653, "grade_2_2": "A-", - "gpa_3_1": 3.45, "grade_3_1": "A-", + "name": "UMME SAMIHA ISLAM ", + "roll": "2031038", + "gpa_1_1": 3.32, + "gpa_1_2": 3.428, + "gpa_2_1": 3.331, + "gpa_2_2": 3.506, + "gpa_3_1": 3.78, + "cgpa": 3.47 }, { - "name": "MAHMUDA JANNAT OWYSHE", "roll": "2031044", - "gpa_1_1": 3.10, "grade_1_1": "B", "gpa_1_2": 3.289, "grade_1_2": "B+", - "gpa_2_1": 2.797, "grade_2_1": "B-", "gpa_2_2": 3.483, "grade_2_2": "B+", - "gpa_3_1": 2.9, "grade_3_1": "B+", + "name": "ASHIKA RAHMAN PANNA", + "roll": "2031039", + "gpa_1_1": 3.22, + "gpa_1_2": 3.434, + "gpa_2_1": 3.273, + "gpa_2_2": 3.528, + "gpa_3_1": 3.79, + "cgpa": 3.45 }, { - "name": "MD. MASHUK E RAHMAN", "roll": "2031006", - "gpa_1_1": 3.16, "grade_1_1": "B", "gpa_1_2": 3.224, "grade_1_2": "B", - "gpa_2_1": 2.791, "grade_2_1": "B-", "gpa_2_2": 3.472, "grade_2_2": "B+", - "gpa_3_1": 3.566, "grade_3_1": "A-", + "name": "MST. ANANNA AFRIN ", + "roll": "2031040", + "gpa_1_1": 3.44, + "gpa_1_2": 3.592, + "gpa_2_1": 3.64, + "gpa_2_2": 3.864, + "gpa_3_1": 3.91, + "cgpa": 3.69 }, { - "name": "MAHFUZA KHATUN", "roll": "2031046", - "gpa_1_1": 2.88, "grade_1_1": "B-", "gpa_1_2": 3.072, "grade_1_2": "B", - "gpa_2_1": 2.953, "grade_2_1": "B-", "gpa_2_2": 3.483, "grade_2_2": "B+", - "gpa_3_1": 3.49, "grade_3_1": "B+", + "name": "ORPA AHMED ", + "roll": "2031041", + "gpa_1_1": 3.53, + "gpa_1_2": 3.704, + "gpa_2_1": 3.552, + "gpa_2_2": 3.739, + "gpa_3_1": 3.89, + "cgpa": 3.68 }, { - "name": "MD. RASHIDUL ISLAM", "roll": "2031009", - "gpa_1_1": 2.96, "grade_1_1": "B-", "gpa_1_2": 3.184, "grade_1_2": "B", - "gpa_2_1": 2.744, "grade_2_1": "C+", "gpa_2_2": 3.426, "grade_2_2": "B+", - "gpa_3_1": 3.468, "grade_3_1": "B+", + "name": "KHADIJA AKTER ", + "roll": "2031042", + "gpa_1_1": 3.36, + "gpa_1_2": 3.559, + "gpa_2_1": 3.512, + "gpa_2_2": 3.682, + "gpa_3_1": 3.89, + "cgpa": 3.6 }, { - "name": "MD. NAIMUL ISLAM", "roll": "2031004", - "gpa_1_1": 2.71, "grade_1_1": "C", "gpa_1_2": 3.039, "grade_1_2": "B", - "gpa_2_1": 3.047, "grade_2_1": "B", "gpa_2_2": 3.438, "grade_2_2": "B+", - "gpa_3_1": 3.56, "grade_3_1": "A", + "name": "JANNATUL MAOUA PROME ", + "roll": "2031043", + "gpa_1_1": 2.7, + "gpa_1_2": 3.039, + "gpa_2_1": 3.07, + "gpa_2_2": 3.267, + "gpa_3_1": 3.41, + "cgpa": 3.1 }, { - "name": "NAFiJA TASNIM ANANNA", "roll": "2031034", // Corrected name here - "gpa_1_1": 2.78, "grade_1_1": "B-", "gpa_1_2": 3.132, "grade_1_2": "B", - "gpa_2_1": 2.930, "grade_2_1": "B-", "gpa_2_2": 3.381, "grade_2_2": "B+", - "gpa_3_1": 3.19, "grade_3_1": "B", + "name": "MAHMUDA JANNAT OWYSHE", + "roll": "2031044", + "gpa_1_1": 3.1, + "gpa_1_2": 3.289, + "gpa_2_1": 2.797, + "gpa_2_2": 3.483, + "gpa_3_1": 2.9, + "cgpa": 3.11 }, { - "name": "JANNATUL MAOUA PROME", "roll": "2031043", - "gpa_1_1": 2.70, "grade_1_1": "C", "gpa_1_2": 3.039, "grade_1_2": "B", - "gpa_2_1": 3.070, "grade_2_1": "B", "gpa_2_2": 3.267, "grade_2_2": "B", - "gpa_3_1": 3.41, "grade_3_1": "B+", + "name": "RUKAIYA HOSSAIN ", + "roll": "2031045", + "gpa_1_1": 3.05, + "gpa_1_2": 3.454, + "gpa_2_1": 3.326, + "gpa_2_2": 3.619, + "gpa_3_1": 3.48, + "cgpa": 3.39 }, { - "name": "M.D. BELAL HOSSAIN BADHON", "roll": "2031007", - "gpa_1_1": 2.82, "grade_1_1": "B-", "gpa_1_2": 3.059, "grade_1_2": "B", - "gpa_2_1": 2.895, "grade_2_1": "B-", "gpa_2_2": 3.233, "grade_2_2": "B", - "gpa_3_1": 3.391, "grade_3_1": "B+", + "name": "MAHFUZA KHATUN ", + "roll": "2031046", + "gpa_1_1": 2.9, + "gpa_1_2": 3.072, + "gpa_2_1": 2.953, + "gpa_2_2": 3.483, + "gpa_3_1": 3.49, + "cgpa": 3.18 }, { - "name": "MST. SULTANA PARVIN SHIFA", "roll": "2031028", - "gpa_1_1": 2.76, "grade_1_1": "C", "gpa_1_2": 2.480, "grade_1_2": "C", - "gpa_2_1": 1.895, "grade_2_1": "F", "gpa_2_2": 2.438, "grade_2_2": "C", - "gpa_3_1": 2.955, "grade_3_1": "C", + "name": "AUTHOY BISWAS BIDDA ", + "roll": "2031048", + "gpa_1_1": 3.25, + "gpa_1_2": 3.211, + "gpa_2_1": 3.07, + "gpa_2_2": 3.631, + "gpa_3_1": 3.58, + "cgpa": 3.35 } ].map(student => { let imageUrl = studentImageMap[student.roll]; @@ -279,11 +428,9 @@ const studentData = [ if (!imageUrl) { imageUrl = "https://placehold.co/96x96/aabbcc/ffffff?text=No+Image"; // Generic placeholder } - // Calculate new CGPA as the average of the five semesters const totalGpa = (student.gpa_1_1 + student.gpa_1_2 + student.gpa_2_1 + student.gpa_2_2 + student.gpa_3_1); const newCgpa = (totalGpa / 5).toFixed(2); - return { ...student, imageUrl, cgpa: parseFloat(newCgpa) }; }); @@ -294,15 +441,14 @@ const chartColors = ['#6366F1', '#EC4899', '#10B981', '#F59E0B', '#EF4444', '#3B const CustomTooltip = ({ active, payload, label }) => { if (active && payload && payload.length) { const data = payload[0].payload; - // Collect all student rolls into a single comma-separated string + // Format students list to fit without a scrollbar const studentRolls = data.students.map(student => student.roll).join(', '); - return ( -
{`CGPA ≥ ${data.threshold}`}
+{`CGPA \u2265 ${data.threshold}`}
{`Number of Students: ${data.count}`}
Student Rolls:
-+ Comparing {comparedStudents.length} students +
+| + Category + | + {comparedStudents.map(student => ( +
+ {student.name} + ({student.roll}) + |
+ ))}
+
|---|---|
| + First Semester + | + {comparedStudents.map(student => ( ++ {student.gpa_1_1 !== undefined ? + `${student.gpa_1_1.toFixed(3)}` : + 'N/A'} + | + ))} +
| + Second Semester + | + {comparedStudents.map(student => ( ++ {student.gpa_1_2 !== undefined ? + `${student.gpa_1_2.toFixed(3)}` : + 'N/A'} + | + ))} +
| + Third Semester + | + {comparedStudents.map(student => ( ++ {student.gpa_2_1 !== undefined ? + `${student.gpa_2_1.toFixed(3)}` : + 'N/A'} + | + ))} +
| + Fourth Semester + | + {comparedStudents.map(student => ( ++ {student.gpa_2_2 !== undefined ? + `${student.gpa_2_2.toFixed(3)}` : + 'N/A'} + | + ))} +
| + Fifth Semester + | + {comparedStudents.map(student => ( ++ {student.gpa_3_1 !== undefined ? + `${student.gpa_3_1.toFixed(3)}` : + 'N/A'} + | + ))} +
| + CGPA + | + {comparedStudents.map(student => ( ++ {student.cgpa} + | + ))} +
Select at least 2 students to compare
++ No students selected. Search and add students above. +
+ ) : ( +