import { request, gql } from "@solid-primitives/graphql"; import { createSignal, createEffect } from 'solid-js'; import { useNavigate } from '@solidjs/router'; import { useUserInfo } from '../user_info'; import { hasAccess, roles } from '../roles'; import type {CreatorDetails} from './creator_details'; export default function GenresNew() { const userInfo = useUserInfo(); const navigate = useNavigate(); const [genre, setGenre] = createSignal(''); createEffect(() => { const userRoles = userInfo?.[0]?.()?.roles || [] if (!hasAccess(userRoles, roles.ADD_BOOKS)) { navigate("/about") } }); return ( <div> <form> <input placeholder="genre" value={genre()} onInput={(e) => { setGenre(e.target.value); }} /> <button disabled={!genre()} onClick={(e) => { e.preventDefault(); const result = request( "http://localhost:8080/query", gql`mutation newGenre($genre: GenreInput!) { newGenre(genre: $genre) { id genre enum } }`, { variables: { genre: { genre: genre(), } }, }, ) .then((response) => { console.log(response) }) }} > Create </button> </form> </div> ) }