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>
)
}