Files
Frontend/src/app/components/player/lookup-player.tsx

48 lines
1.2 KiB
TypeScript
Raw Normal View History

2024-04-16 19:03:11 +01:00
"use client";
import { useRouter } from "next/navigation";
import { useState } from "react";
2024-04-16 19:12:26 +01:00
import { Button } from "../ui/button";
import { Input } from "../ui/input";
2024-04-17 18:08:13 +01:00
import { Tooltip, TooltipContent, TooltipTrigger } from "../ui/tooltip";
2024-04-16 19:03:11 +01:00
2024-04-16 21:18:08 +01:00
export function LookupPlayer(): JSX.Element {
2024-04-16 19:03:11 +01:00
const router = useRouter();
const [player, setPlayer] = useState("");
/**
* Set the player value
*
* @param event the input event
*/
const setPlayerValue = (event: React.ChangeEvent<HTMLInputElement>) => {
setPlayer(event.target.value);
};
/**
* Lookup a player
*/
const lookupPlayer = () => {
if (!player || player.length === 0) {
return;
}
router.push(`/player/${player}`);
};
return (
2024-04-16 19:35:07 +01:00
<form className="flex gap-2 justify-center mt-2">
2024-04-17 04:07:39 +01:00
<Input className="w-fit" placeholder="Name / UUID" value={player} onChange={setPlayerValue} maxLength={36} />
2024-04-17 18:08:13 +01:00
<Tooltip>
<TooltipTrigger asChild>
<Button type="submit" onClick={() => lookupPlayer()}>
Lookup
</Button>
</TooltipTrigger>
<TooltipContent>
<p>Click to lookup the player</p>
</TooltipContent>
</Tooltip>
2024-04-16 19:35:07 +01:00
</form>
2024-04-16 19:03:11 +01:00
);
}