Untitled
unknown
plain_text
10 months ago
1.4 kB
3
Indexable
import React, { useEffect, useState } from 'react'; import { Box, Table, Thead, Tbody, Tr, Th, Td, Text, Button } from '@chakra-ui/react'; const Leaderboard = () => { const [leaders, setLeaders] = useState([]); useEffect(() => { // Fetch leaderboard data from localStorage const storedLeaders = JSON.parse(localStorage.getItem('leaders')) || []; setLeaders(storedLeaders); }, []); const deleteLeader = (name) => { const updatedLeaders = leaders.filter(leader => leader.name !== name); setLeaders(updatedLeaders); localStorage.setItem('leaders', JSON.stringify(updatedLeaders)); }; return ( <Box p={5}> <Text mb={4} fontSize="2xl" fontWeight="bold">Leaderboard</Text> <Table> <Thead> <Tr> <Th>Name</Th> <Th>Score</Th> <Th>Percentage</Th> <Th>Action</Th> </Tr> </Thead> <Tbody> {leaders.map((leader, index) => ( <Tr key={index}> <Td>{leader.name}</Td> <Td>{leader.score}</Td> <Td>{((leader.score / leader.totalQuestions) * 100).toFixed(2)}%</Td> <Td> <Button colorScheme="red" onClick={() => deleteLeader(leader.name)}>Delete</Button> </Td> </Tr> ))} </Tbody> </Table> </Box> ); }; export default Leaderboard;
Editor is loading...
Leave a Comment