import * as React from 'react';
import { useState, useEffect } from 'react';
import './inventory.css'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faLock, faLockOpen, faBook, faHammer, faBan } from '@fortawesome/free-solid-svg-icons'
import Markdown from './Markdown';
import { useLoadDocQuery } from '../state/api';
function Inventory({ tactics, lemmas } :
{lemmas: {name: string, locked: boolean, disabled: boolean}[],
tactics: {name: string, locked: boolean, disabled: boolean}[]}) {
const [docName, setDocName] = useState(null)
const [docType, setDocType] = useState(null)
return (
Tactics
{ tactics.map(tac =>
{setDocName(tac.name); setDocType("Tactic")}}
name={tac.name} locked={tac.locked} disabled={tac.disabled} />) }
{/* TODO: Click on Tactic: show info
TODO: click on paste icon -> paste into command line */}
Lemmas
{ lemmas.map(lem =>
{setDocName(lem.name); setDocType("Lemma")}}
name={lem.name} locked={lem.locked} disabled={lem.disabled} />) }
{docName &&
}
)
}
function InventoryItem({name, locked, disabled, showDoc}) {
const icon = locked ? :
disabled ? : ""
const className = locked ? "locked" : disabled ? "disabled" : ""
const handleClick = () => {
if (!locked && !disabled) {
showDoc()
}
}
return {icon} {name}
}
function Documentation({name, type}) {
const doc = useLoadDocQuery({type: type, name: name})
return <>
{doc.data?.name}
{doc.data?.text}
>
}
export default Inventory;