0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-06 05:42:40 +00:00

Change from require to import

This commit is contained in:
Trevor Buckner
2025-08-30 20:14:29 -04:00
parent d01860d4de
commit 93b86632fc

View File

@@ -1,25 +1,25 @@
require('./homePage.less'); import './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'); import React from 'react';
const Navbar = require('../../navbar/navbar.jsx'); import { useEffect, useState, useRef } from 'react';
const NewBrewItem = require('../../navbar/newbrew.navitem.jsx'); import request from '../../utils/request-middleware.js';
const HelpNavItem = require('../../navbar/help.navitem.jsx'); import { Meta } from 'vitreum/headtags';
const VaultNavItem = require('../../navbar/vault.navitem.jsx');
const RecentNavItem = require('../../navbar/recent.navitem.jsx').both;
const AccountNavItem = require('../../navbar/account.navitem.jsx');
const ErrorNavItem = require('../../navbar/error-navitem.jsx');
const { fetchThemeBundle } = require('../../../../shared/helpers.js');
const SplitPane = require('client/components/splitPane/splitPane.jsx'); import Nav from 'naturalcrit/nav/nav.jsx';
const Editor = require('../../editor/editor.jsx'); import Navbar from '../../navbar/navbar.jsx';
const BrewRenderer = require('../../brewRenderer/brewRenderer.jsx'); import NewBrewItem from '../../navbar/newbrew.navitem.jsx';
import HelpNavItem from '../../navbar/help.navitem.jsx';
import VaultNavItem from '../../navbar/vault.navitem.jsx';
import { both as RecentNavItem } from '../../navbar/recent.navitem.jsx';
import AccountNavItem from '../../navbar/account.navitem.jsx';
import ErrorNavItem from '../../navbar/error-navitem.jsx';
import { fetchThemeBundle } from '../../../../shared/helpers.js';
const { DEFAULT_BREW } = require('../../../../server/brewDefaults.js'); import SplitPane from 'client/components/splitPane/splitPane.jsx';
import Editor from '../../editor/editor.jsx';
import BrewRenderer from '../../brewRenderer/brewRenderer.jsx';
import { DEFAULT_BREW } from '../../../../server/brewDefaults.js';
const HomePage =(props)=>{ const HomePage =(props)=>{
props = { props = {
@@ -35,6 +35,7 @@ const HomePage =(props)=>{
const [currentEditorCursorPageNum, setCurrentEditorCursorPageNum] = useState(1); const [currentEditorCursorPageNum, setCurrentEditorCursorPageNum] = useState(1);
const [currentBrewRendererPageNum, setCurrentBrewRendererPageNum] = useState(1); const [currentBrewRendererPageNum, setCurrentBrewRendererPageNum] = useState(1);
const [themeBundle , setThemeBundle] = useState({}); const [themeBundle , setThemeBundle] = useState({});
const [isSaving , setIsSaving] = useState(false);
const editorRef = useRef(null); const editorRef = useRef(null);
@@ -42,53 +43,49 @@ const HomePage =(props)=>{
fetchThemeBundle(setError, setThemeBundle, brew.renderer, brew.theme); fetchThemeBundle(setError, setThemeBundle, brew.renderer, brew.theme);
}, []); }, []);
const handleSave = ()=>{ const save = ()=>{
request.post('/api') request.post('/api')
.send(brew) .send(brew)
.end((err, res)=>{ .end((err, res)=>{
if(err) { if(err) {
this.setState({ error: err }); setError(err);
return; return;
} }
const brew = res.body; const saved = res.body;
window.location = `/edit/${brew.editId}`; window.location = `/edit/${saved.editId}`;
}); });
}; };
const handleSplitMove = ()=>{ const handleSplitMove = ()=>{
this.editor.current.update(); editorRef.current.update();
}; };
const handleEditorViewPageChange = (pageNumber)=>{ const handleEditorViewPageChange = (pageNumber)=>{
this.setState({ currentEditorViewPageNum: pageNumber }); setCurrentEditorViewPageNum(pageNumber);
}; };
const handleEditorCursorPageChange = (pageNumber)=>{ const handleEditorCursorPageChange = (pageNumber)=>{
this.setState({ currentEditorCursorPageNum: pageNumber }); setCurrentEditorCursorPageNum(pageNumber);
}; };
const handleBrewRendererPageChange = (pageNumber)=>{ const handleBrewRendererPageChange = (pageNumber)=>{
this.setState({ currentBrewRendererPageNum: pageNumber }); setCurrentBrewRendererPageNum(pageNumber);
}; };
const handleTextChange = (text)=>{ const handleTextChange = (text)=>{
this.setState((prevState)=>({ setBrew((prevBrew) => ({ ...prevBrew, text }));
brew : { ...prevState.brew, text: text },
}));
}; };
const clearError = ()=>{ const clearError = ()=>{
setState({ setError(null);
error : null, setIsSaving(false);
isSaving : false
})
}; };
renderNavbar : function(){ const renderNavbar = ()=>{
return <Navbar ver={this.props.ver}> return <Navbar ver={props.ver}>
<Nav.section> <Nav.section>
{this.state.error ? {error ?
<ErrorNavItem error={this.state.error} clearError={clearError}></ErrorNavItem> : <ErrorNavItem error={error} clearError={clearError}></ErrorNavItem> :
null null
} }
<NewBrewItem /> <NewBrewItem />
@@ -131,7 +128,7 @@ const HomePage =(props)=>{
/> />
</SplitPane> </SplitPane>
</div> </div>
<div className={cx('floatingSaveButton', { show: welcomeText != brew.text })} onClick={handleSave}> <div className={`floatingSaveButton${welcomeText !== brew.text ? ' show' : ''}`} onClick={save}>
Save current <i className='fas fa-save' /> Save current <i className='fas fa-save' />
</div> </div>