import { useState, useEffect } from "react"; import { useNavigate } from "react-router-dom"; import { User } from "../types"; import axios from "axios"; import TopBar from "../components/TopBar"; export default function CreateChannel() { const navigate = useNavigate(); const [name, setName] = useState(""); const [description, setDescription] = useState(""); const [token, setToken] = useState(""); const [user , setUser] = useState(); useEffect(() => { const localToken = localStorage.getItem("token"); if (localToken) { setToken(localToken) axios .post("/api/auth/me", { token: localToken }) .then((res) => { setUser(res.data); }); } }, []); function handleSubmit(e: React.FormEvent) { e.preventDefault(); axios .post("/api/channels/add", { name, description, token }) .then(() => { navigate(`/c/${name}`); }) .catch((err) => { console.error(err.response.data.message); }); } return (

Create Channel

{!/^[a-zA-Z0-9-_]+$/.test(name) && name.length != 0 && ( Channel name can only contain letters, numbers, - and _ )}

setName(e.target.value)} /> setDescription(e.target.value)} />
); }