import React from 'react'; import CreateNew from './CreateNew'; import { ReactSVG } from 'react-svg'; import Switch from "react-switch"; import './intro.scss'; const IntroContent = ({ recentDocs }) => (

Existential Graphs

Using this tool, you can initialize proofs in the existential graph schema and then you can go through the process of solving them. You can save these proofs and look back at them later.

Recent Proofs

{Object.keys(recentDocs).map(name => (
recentDocs[name].open()}> {name} recentDocs[name].delete()} >Delete
))}
); class IntroWindow extends React.Component { constructor(props) { super(props); this.createView = React.createRef(); this.callCreate = this.callCreate.bind(this); this.animateAway = this.animateAway.bind(this); this.openFile = this.openFile.bind(this); this.state = { createShown: false, floatingWindowCSS: 'floating-window shown' }; } componentDidMount() { } animateAway() { this.setState({ floatingWindowCSS: 'floating-window' }) } callCreate() { this.createView.current.create(); } openFile() { const input = document.createElement("input"); input.setAttribute("type", "file"); input.setAttribute("accept", ".egprf"); input.onchange = (evt) => { console.log("ONCHANGE") evt.stopPropagation(); evt.preventDefault(); var file = evt.target.files[0]; console.log(file); var reader = new FileReader(); reader.addEventListener('load', (evt) => { try { let res = JSON.parse(evt.target.result); console.log(res); this.props.setupFunc(file.name.split(".egprf")[0], res); } catch (e) { console.error(e); alert("Corrupt file or improper formatting."); } }); reader.readAsText(file); }; input.click(); } render() { const { createShown, floatingWindowCSS } = this.state; const swi = (
Fitch-Style Notation
); return (
{!createShown && } {createShown && } {!createShown && (
{swi}
)} {createShown && (
{swi}
)}
); } } export default IntroWindow;