Files

57 lines
1.5 KiB
TypeScript

"use client";
import { usePathname, useRouter, useSearchParams } from "next/navigation";
import { useEffect, useState } from "react";
interface urlProp {
value: string | null;
}
export default function SearchEquipo(props: urlProp) {
const [value, setValue] = useState("");
const router = useRouter();
const pathname = usePathname();
const searchParams = useSearchParams();
useEffect(() => {
if (props.value) {
setValue(props.value);
}
}, [props.value]);
const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {
e.preventDefault();
const params = new URLSearchParams(searchParams.toString());
if (value) {
params.set("machine", `${value}`);
router.push(`${pathname}?${params.toString()}`);
}
};
return (
<>
<form className="containerForm" onSubmit={handleSubmit}>
<label className="label">Ubicacion del equipo</label>
<div className="groupInput">
<input
type="text"
value={value}
onChange={(e) => {
const value = e.target.value;
if (/^\d*$/.test(value) && value.length <= 9) {
setValue(value);
}
}}
placeholder="Coloca un número de cuenta..."
inputMode="numeric"
pattern="[0-9]*"
/>
<button className="button buttonSearch" type="submit">
Buscar
</button>
</div>
</form>
</>
);
}
//IO