add toasts for invalid player and invalid server
All checks were successful
Deploy App / docker (ubuntu-latest) (push) Successful in 1m18s
All checks were successful
Deploy App / docker (ubuntu-latest) (push) Successful in 1m18s
This commit is contained in:
@ -1,5 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { useToast } from "@/common/use-toast";
|
||||
import { getPlayer } from "mcutils-library";
|
||||
import { useRouter } from "next/navigation";
|
||||
import { useState } from "react";
|
||||
import { Button } from "../ui/button";
|
||||
@ -8,30 +10,43 @@ import { Tooltip, TooltipContent, TooltipTrigger } from "../ui/tooltip";
|
||||
|
||||
export function LookupPlayer(): JSX.Element {
|
||||
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);
|
||||
};
|
||||
const { toast } = useToast();
|
||||
const [id, setId] = useState("");
|
||||
|
||||
/**
|
||||
* Lookup a player
|
||||
*/
|
||||
const lookupPlayer = () => {
|
||||
if (!player || player.length === 0) {
|
||||
const lookupPlayer = async () => {
|
||||
if (!id || id.length === 0) {
|
||||
return;
|
||||
}
|
||||
router.push(`/player/${player}`);
|
||||
|
||||
try {
|
||||
await getPlayer(id);
|
||||
} catch (err) {
|
||||
toast({
|
||||
title: "Error",
|
||||
variant: "destructive",
|
||||
description: (err as Error).message,
|
||||
duration: 5000,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
router.push(`/player/${id}`);
|
||||
};
|
||||
|
||||
return (
|
||||
<form className="flex gap-2 justify-center mt-2">
|
||||
<Input className="w-fit" placeholder="Name / UUID" value={player} onChange={setPlayerValue} maxLength={36} />
|
||||
<form className="flex gap-2 justify-center mt-2" action="" onSubmit={(event) => event.preventDefault()}>
|
||||
<Input
|
||||
className="w-fit"
|
||||
placeholder="Name / UUID"
|
||||
value={id}
|
||||
onChange={(event) => {
|
||||
setId(event.target.value);
|
||||
}}
|
||||
maxLength={36}
|
||||
/>
|
||||
<Tooltip>
|
||||
<TooltipTrigger asChild>
|
||||
<Button type="submit" onClick={() => lookupPlayer()}>
|
||||
|
Reference in New Issue
Block a user