require('./homePage.less'); const React = require('react'); const createClass = require('create-react-class'); const cx = require('classnames'); import request from '../../utils/request-middleware.js'; const { Meta } = require('vitreum/headtags'); const Nav = require('naturalcrit/nav/nav.jsx'); const ErrorNavItem = require('../../navbar/error-navitem.jsx'); const { fetchThemeBundle } = require('../../../../shared/helpers.js'); const BaseEditPage = require('../basePages/editPage/editPage.jsx'); const SplitPane = require('client/components/splitPane/splitPane.jsx'); const Editor = require('../../editor/editor.jsx'); const BrewRenderer = require('../../brewRenderer/brewRenderer.jsx'); const { DEFAULT_BREW } = require('../../../../server/brewDefaults.js'); const HomePage = createClass({ displayName : 'HomePage', getDefaultProps : function() { return { brew : DEFAULT_BREW }; }, editor : React.createRef(null), componentDidMount : function() { fetchThemeBundle(this, this.props.brew.renderer, this.props.brew.theme); }, save : function(){ this.setState({ isSaving : true }); request.post('/api') .send(this.state.brew) .end((err, res)=>{ if(err) { this.setState({ error: err }); return; } const brew = res.body; window.location = `/edit/${brew.editId}`; }) .catch((err)=>{ this.setState({ isSaving: false, error: err }); }); }, renderSaveButton : function(){ if(this.state.isSaving){ return save... ; } else { return save ; } }, renderNavbar : function(){ return <> {this.state.error ? : null } ; }, render : function(){ return {(welcomeText, brewText, save) => { return <>
Save current
Create your own }}
} }); module.exports = HomePage;