ADD: added function to update db scheme automaticly
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { fetchPlayers,createPlayer,deletePlayer,updatePlayer } from './api';
|
||||
import { Navigate, useNavigate } from 'react-router-dom';
|
||||
import { User, UserRole } from '../components/interfaces/users';
|
||||
|
||||
|
||||
interface Player {
|
||||
id: string;
|
||||
name: string;
|
||||
email: string;
|
||||
}
|
||||
// interface Player {
|
||||
// id: string;
|
||||
// name: string;
|
||||
// email: string;
|
||||
// }
|
||||
|
||||
export default function PlayerManagement() {
|
||||
const [players, setPlayers] = useState<Player[]>([]);
|
||||
const [players, setPlayers] = useState<User[]>([]);
|
||||
const [name, setName] = useState("");
|
||||
const [email, setEmail] = useState("");
|
||||
const [password, setPassword] = useState("");
|
||||
@@ -39,17 +39,19 @@ export default function PlayerManagement() {
|
||||
|
||||
if (editingId !== null) {
|
||||
setPlayers(players.map(p =>
|
||||
p.id === editingId ? { ...p, name, email } : p
|
||||
p.UUID === editingId ? { ...p, name, email } : p
|
||||
));
|
||||
if (token) {
|
||||
updatePlayer(editingId, { name, email }, token);
|
||||
}
|
||||
setEditingId(null);
|
||||
} else {
|
||||
const newPlayer: Player = {
|
||||
id: "",
|
||||
name,
|
||||
email,
|
||||
const newPlayer: User = {
|
||||
UUID: "",
|
||||
Username:"",
|
||||
Email: "",
|
||||
Roles: [UserRole.Player],
|
||||
IsActive: true,
|
||||
};
|
||||
|
||||
if (token) {
|
||||
@@ -68,7 +70,7 @@ export default function PlayerManagement() {
|
||||
};
|
||||
|
||||
const handleDelete = (id: string) => {
|
||||
setPlayers(players.filter(p => p.id !== id));
|
||||
setPlayers(players.filter(p => p.UUID !== id));
|
||||
if (token) {
|
||||
deletePlayer(id, token);
|
||||
}
|
||||
@@ -124,19 +126,19 @@ export default function PlayerManagement() {
|
||||
</thead>
|
||||
<tbody>
|
||||
{players.map(player => (
|
||||
<tr key={player.id}>
|
||||
<td className="border px-4 py-2">{player.name}</td>
|
||||
<td className="border px-4 py-2">{player.email}</td>
|
||||
<tr key={player.UUID}>
|
||||
<td className="border px-4 py-2">{player.Username}</td>
|
||||
<td className="border px-4 py-2">{player.Email}</td>
|
||||
<td className="border px-4 py-2 space-x-2">
|
||||
<button
|
||||
key={player.id}
|
||||
onClick={handleViewEdit(player.id)}
|
||||
key={player.UUID}
|
||||
onClick={handleViewEdit(player.UUID)}
|
||||
className="bg-blue-600 text-white px-4 py-2 rounded hover:bg-blue-700"
|
||||
>
|
||||
Bearbeiten
|
||||
</button>
|
||||
<button
|
||||
onClick={() => handleDelete(player.id)}
|
||||
onClick={() => handleDelete(player.UUID)}
|
||||
className="bg-red-500 text-white px-2 py-1 rounded"
|
||||
>
|
||||
Löschen
|
||||
|
||||
Reference in New Issue
Block a user