feat(auth): Added authentication

This commit is contained in:
Fishandchips321 2026-03-05 12:34:55 +00:00
parent d85d4334f8
commit 5e100c75ed
39 changed files with 704 additions and 86 deletions

View file

@ -3,35 +3,51 @@ import { getServerList, type Server } from "../../Lib/Servers";
import ServerSearch from "../../Components/ServerSearch/ServerSearch";
import { useNavigate, useSearchParams } from "react-router-dom";
import { Spinner } from "react-bootstrap";
import Cookies from "js-cookie";
const Search = () => {
const [searchParams] = useSearchParams();
const [servers, setServers] = useState<Array<Server>>([]);
const navigate = useNavigate();
const sessionCookie = Cookies.get("session");
const searchTerm = searchParams.get("search") || "";
useEffect(() => {
if (!sessionCookie) {
navigate("/login");
return;
}
if (searchTerm === "") {
alert(`Error search term missing: ${searchTerm}`);
navigate("/");
}
if (servers.length > 0) {
// eslint-disable-next-line react-hooks/set-state-in-effect
setServers([]);
}
getServerList().then(servers => {
if (servers.length === 0) {
alert("No servers found");
}
setServers(servers);
const workingServers: Array<Server> = [];
servers.forEach(s => {
if (!s.errored) {
workingServers.push(s);
}
})
if (workingServers.length === 0) {
alert("No working servers");
navigate("/");
}
setServers(workingServers);
}).catch(e => {
alert(e);
});
}, [searchTerm]);
}, [searchTerm, navigate]);
return (
<>