mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-03-27 14:38:11 +00:00
Merge branch 'master' of https://github.com/naturalcrit/homebrewery into vitreum-to-vite
This commit is contained in:
@@ -1,20 +1,19 @@
|
||||
/*eslint max-lines: ["warn", {"max": 300, "skipBlankLines": true, "skipComments": true}]*/
|
||||
require('./brewRenderer.less');
|
||||
const React = require('react');
|
||||
const { useState, useRef, useMemo, useEffect } = React;
|
||||
const _ = require('lodash');
|
||||
import './brewRenderer.less';
|
||||
import React, { useState, useRef, useMemo, useEffect } from 'react';
|
||||
import _ from 'lodash';
|
||||
|
||||
const MarkdownLegacy = require('markdownLegacy.js');
|
||||
import MarkdownLegacy from 'markdownLegacy.js';
|
||||
import Markdown from 'markdown.js';
|
||||
const ErrorBar = require('./errorBar/errorBar.jsx');
|
||||
const ToolBar = require('./toolBar/toolBar.jsx');
|
||||
import ErrorBar from './errorBar/errorBar.jsx';
|
||||
import ToolBar from './toolBar/toolBar.jsx';
|
||||
|
||||
//TODO: move to the brew renderer
|
||||
const RenderWarnings = require('client/components/renderWarnings/renderWarnings.jsx');
|
||||
const NotificationPopup = require('./notificationPopup/notificationPopup.jsx');
|
||||
const Frame = require('react-frame-component').default;
|
||||
const dedent = require('dedent-tabs').default;
|
||||
const { printCurrentBrew } = require('../../../shared/helpers.js');
|
||||
import RenderWarnings from 'client/components/renderWarnings/renderWarnings.jsx';
|
||||
import NotificationPopup from './notificationPopup/notificationPopup.jsx';
|
||||
import Frame from 'react-frame-component';
|
||||
import dedent from 'dedent-tabs';
|
||||
import { printCurrentBrew } from '../../../shared/helpers.js';
|
||||
|
||||
import HeaderNav from './headerNav/headerNav.jsx';
|
||||
import { safeHTML } from './safeHTML.js';
|
||||
@@ -345,4 +344,4 @@ const BrewRenderer = (props)=>{
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = BrewRenderer;
|
||||
export default BrewRenderer;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
require('./errorBar.less');
|
||||
const React = require('react');
|
||||
import './errorBar.less';
|
||||
import React from 'react';
|
||||
|
||||
import Dialog from '../../../components/dialog.jsx';
|
||||
|
||||
@@ -50,4 +50,4 @@ const ErrorBar = (props)=>{
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = ErrorBar;
|
||||
export default ErrorBar;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
require('./headerNav.less');
|
||||
import './headerNav.less';
|
||||
|
||||
import * as React from 'react';
|
||||
import * as _ from 'lodash';
|
||||
import React from 'react';
|
||||
import _ from 'lodash';
|
||||
|
||||
const MAX_TEXT_LENGTH = 40;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
require('./notificationPopup.less');
|
||||
import './notificationPopup.less';
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import request from '../../utils/request-middleware.js';
|
||||
import Markdown from 'markdown.js';
|
||||
@@ -62,4 +62,4 @@ const NotificationPopup = ()=>{
|
||||
</Dialog>;
|
||||
};
|
||||
|
||||
module.exports = NotificationPopup;
|
||||
export default NotificationPopup;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
/* eslint-disable max-lines */
|
||||
require('./toolBar.less');
|
||||
const React = require('react');
|
||||
const { useState, useEffect } = React;
|
||||
const _ = require('lodash');
|
||||
import './toolBar.less';
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import _ from 'lodash';
|
||||
|
||||
import { Anchored, AnchoredBox, AnchoredTrigger } from '../../../components/Anchored.jsx';
|
||||
|
||||
@@ -259,4 +258,4 @@ const ToolBar = ({ displayOptions, onDisplayOptionsChange, visiblePages, totalPa
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = ToolBar;
|
||||
export default ToolBar;
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
/*eslint max-lines: ["warn", {"max": 500, "skipBlankLines": true, "skipComments": true}]*/
|
||||
require('./editor.less');
|
||||
const React = require('react');
|
||||
const createClass = require('create-react-class');
|
||||
const _ = require('lodash');
|
||||
const dedent = require('dedent-tabs').default;
|
||||
import './editor.less';
|
||||
import React from 'react';
|
||||
import createReactClass from 'create-react-class';
|
||||
import _ from 'lodash';
|
||||
import dedent from 'dedent-tabs';
|
||||
import Markdown from '../../../shared/markdown.js';
|
||||
|
||||
const CodeEditor = require('client/components/codeEditor/codeEditor.jsx');
|
||||
const SnippetBar = require('./snippetbar/snippetbar.jsx');
|
||||
const MetadataEditor = require('./metadataEditor/metadataEditor.jsx');
|
||||
import CodeEditor from 'client/components/codeEditor/codeEditor.jsx';
|
||||
import SnippetBar from './snippetbar/snippetbar.jsx';
|
||||
import MetadataEditor from './metadataEditor/metadataEditor.jsx';
|
||||
|
||||
const EDITOR_THEME_KEY = 'HB_editor_theme';
|
||||
|
||||
@@ -31,7 +31,7 @@ const DEFAULT_SNIPPET_TEXT = dedent`
|
||||
`;
|
||||
let isJumping = false;
|
||||
|
||||
const Editor = createClass({
|
||||
const Editor = createReactClass({
|
||||
displayName : 'Editor',
|
||||
getDefaultProps : function() {
|
||||
return {
|
||||
@@ -76,8 +76,8 @@ const Editor = createClass({
|
||||
document.getElementById('BrewRenderer').addEventListener('keydown', this.handleControlKeys);
|
||||
document.addEventListener('keydown', this.handleControlKeys);
|
||||
|
||||
this.codeEditor.current.codeMirror.on('cursorActivity', (cm)=>{this.updateCurrentCursorPage(cm.getCursor());});
|
||||
this.codeEditor.current.codeMirror.on('scroll', _.throttle(()=>{this.updateCurrentViewPage(this.codeEditor.current.getTopVisibleLine());}, 200));
|
||||
this.codeEditor.current.codeMirror?.on('cursorActivity', (cm)=>{this.updateCurrentCursorPage(cm.getCursor());});
|
||||
this.codeEditor.current.codeMirror?.on('scroll', _.throttle(()=>{this.updateCurrentViewPage(this.codeEditor.current.getTopVisibleLine());}, 200));
|
||||
|
||||
const editorTheme = window.localStorage.getItem(EDITOR_THEME_KEY);
|
||||
if(editorTheme) {
|
||||
@@ -156,21 +156,21 @@ const Editor = createClass({
|
||||
this.setState({
|
||||
view : newView
|
||||
}, ()=>{
|
||||
this.codeEditor.current?.codeMirror.focus();
|
||||
this.codeEditor.current?.codeMirror?.focus();
|
||||
});
|
||||
},
|
||||
|
||||
highlightCustomMarkdown : function(){
|
||||
if(!this.codeEditor.current) return;
|
||||
if(!this.codeEditor.current?.codeMirror) return;
|
||||
if((this.state.view === 'text') ||(this.state.view === 'snippet')) {
|
||||
const codeMirror = this.codeEditor.current.codeMirror;
|
||||
|
||||
codeMirror.operation(()=>{ // Batch CodeMirror styling
|
||||
codeMirror?.operation(()=>{ // Batch CodeMirror styling
|
||||
|
||||
const foldLines = [];
|
||||
|
||||
//reset custom text styles
|
||||
const customHighlights = codeMirror.getAllMarks().filter((mark)=>{
|
||||
const customHighlights = codeMirror?.getAllMarks().filter((mark)=>{
|
||||
// Record details of folded sections
|
||||
if(mark.__isFold) {
|
||||
const fold = mark.find();
|
||||
@@ -191,10 +191,10 @@ const Editor = createClass({
|
||||
const textOrSnip = this.state.view === 'text';
|
||||
|
||||
//reset custom line styles
|
||||
codeMirror.removeLineClass(lineNumber, 'background', 'pageLine');
|
||||
codeMirror.removeLineClass(lineNumber, 'background', 'snippetLine');
|
||||
codeMirror.removeLineClass(lineNumber, 'text');
|
||||
codeMirror.removeLineClass(lineNumber, 'wrap', 'sourceMoveFlash');
|
||||
codeMirror?.removeLineClass(lineNumber, 'background', 'pageLine');
|
||||
codeMirror?.removeLineClass(lineNumber, 'background', 'snippetLine');
|
||||
codeMirror?.removeLineClass(lineNumber, 'text');
|
||||
codeMirror?.removeLineClass(lineNumber, 'wrap', 'sourceMoveFlash');
|
||||
|
||||
// Don't process lines inside folded text
|
||||
// If the current lineNumber is inside any folded marks, skip line styling
|
||||
@@ -210,19 +210,19 @@ const Editor = createClass({
|
||||
else if(this.state.view !== 'text') userSnippetCount += 1;
|
||||
|
||||
// add back the original class 'background' but also add the new class '.pageline'
|
||||
codeMirror.addLineClass(lineNumber, 'background', tabHighlight);
|
||||
codeMirror?.addLineClass(lineNumber, 'background', tabHighlight);
|
||||
const pageCountElement = Object.assign(document.createElement('span'), {
|
||||
className : 'editor-page-count',
|
||||
textContent : textOrSnip ? editorPageCount : userSnippetCount
|
||||
});
|
||||
codeMirror.setBookmark({ line: lineNumber, ch: line.length }, pageCountElement);
|
||||
codeMirror?.setBookmark({ line: lineNumber, ch: line.length }, pageCountElement);
|
||||
};
|
||||
|
||||
|
||||
// New Codemirror styling for V3 renderer
|
||||
// New CodeMirror styling for V3 renderer
|
||||
if(this.props.renderer === 'V3') {
|
||||
if(line.match(/^\\column(?:break)?$/)){
|
||||
codeMirror.addLineClass(lineNumber, 'text', 'columnSplit');
|
||||
codeMirror?.addLineClass(lineNumber, 'text', 'columnSplit');
|
||||
}
|
||||
|
||||
// definition lists
|
||||
@@ -231,14 +231,14 @@ const Editor = createClass({
|
||||
const regex = /^([^\n]*?:?\s?)(::[^\n]*)(?:\n|$)/ymd; // the `d` flag, for match indices, throws an ESLint error.
|
||||
let match;
|
||||
while ((match = regex.exec(line)) != null){
|
||||
codeMirror.markText({ line: lineNumber, ch: match.indices[0][0] }, { line: lineNumber, ch: match.indices[0][1] }, { className: 'dl-highlight' });
|
||||
codeMirror.markText({ line: lineNumber, ch: match.indices[1][0] }, { line: lineNumber, ch: match.indices[1][1] }, { className: 'dt-highlight' });
|
||||
codeMirror.markText({ line: lineNumber, ch: match.indices[2][0] }, { line: lineNumber, ch: match.indices[2][1] }, { className: 'dd-highlight' });
|
||||
codeMirror?.markText({ line: lineNumber, ch: match.indices[0][0] }, { line: lineNumber, ch: match.indices[0][1] }, { className: 'dl-highlight' });
|
||||
codeMirror?.markText({ line: lineNumber, ch: match.indices[1][0] }, { line: lineNumber, ch: match.indices[1][1] }, { className: 'dt-highlight' });
|
||||
codeMirror?.markText({ line: lineNumber, ch: match.indices[2][0] }, { line: lineNumber, ch: match.indices[2][1] }, { className: 'dd-highlight' });
|
||||
const ddIndex = match.indices[2][0];
|
||||
const colons = /::/g;
|
||||
const colonMatches = colons.exec(match[2]);
|
||||
if(colonMatches !== null){
|
||||
codeMirror.markText({ line: lineNumber, ch: colonMatches.index + ddIndex }, { line: lineNumber, ch: colonMatches.index + colonMatches[0].length + ddIndex }, { className: 'dl-colon-highlight' });
|
||||
codeMirror?.markText({ line: lineNumber, ch: colonMatches.index + ddIndex }, { line: lineNumber, ch: colonMatches.index + colonMatches[0].length + ddIndex }, { className: 'dl-colon-highlight' });
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -255,7 +255,7 @@ const Editor = createClass({
|
||||
const match = subRegex.exec(line) || superRegex.exec(line);
|
||||
if(match) {
|
||||
isSuper = !subRegex.lastIndex;
|
||||
codeMirror.markText({ line: lineNumber, ch: match.index }, { line: lineNumber, ch: match.index + match[0].length }, { className: isSuper ? 'superscript' : 'subscript' });
|
||||
codeMirror?.markText({ line: lineNumber, ch: match.index }, { line: lineNumber, ch: match.index + match[0].length }, { className: isSuper ? 'superscript' : 'subscript' });
|
||||
}
|
||||
startIndex = line.indexOf('^', Math.max(startIndex + 1, subRegex.lastIndex, superRegex.lastIndex));
|
||||
}
|
||||
@@ -266,7 +266,7 @@ const Editor = createClass({
|
||||
const regex = /(?:^|[^{\n])({(?=((?:[:=](?:"[\w,\-()#%. ]*"|[\w\-()#%.]*)|[^"':={}\s]*)*))\2})/gm;
|
||||
let match;
|
||||
while ((match = regex.exec(line)) != null) {
|
||||
codeMirror.markText({ line: lineNumber, ch: line.indexOf(match[1]) }, { line: lineNumber, ch: line.indexOf(match[1]) + match[1].length }, { className: 'injection' });
|
||||
codeMirror?.markText({ line: lineNumber, ch: line.indexOf(match[1]) }, { line: lineNumber, ch: line.indexOf(match[1]) + match[1].length }, { className: 'injection' });
|
||||
}
|
||||
}
|
||||
// Highlight inline spans {{content}}
|
||||
@@ -284,7 +284,7 @@ const Editor = createClass({
|
||||
blockCount = 0;
|
||||
continue;
|
||||
}
|
||||
codeMirror.markText({ line: lineNumber, ch: match.index }, { line: lineNumber, ch: match.index + match[0].length }, { className: 'inline-block' });
|
||||
codeMirror?.markText({ line: lineNumber, ch: match.index }, { line: lineNumber, ch: match.index + match[0].length }, { className: 'inline-block' });
|
||||
}
|
||||
} else if(line.trimLeft().startsWith('{{') || line.trimLeft().startsWith('}}')){
|
||||
// Highlight block divs {{\n Content \n}}
|
||||
@@ -293,7 +293,7 @@ const Editor = createClass({
|
||||
const match = line.match(/^ *{{(?=((?:[:=](?:"[\w,\-()#%. ]*"|[\w\-()#%.]*)|[^"':={}\s]*)*))\1 *$|^ *}}$/);
|
||||
if(match)
|
||||
endCh = match.index+match[0].length;
|
||||
codeMirror.markText({ line: lineNumber, ch: 0 }, { line: lineNumber, ch: endCh }, { className: 'block' });
|
||||
codeMirror?.markText({ line: lineNumber, ch: 0 }, { line: lineNumber, ch: endCh }, { className: 'block' });
|
||||
}
|
||||
|
||||
// Emojis
|
||||
@@ -314,11 +314,11 @@ const Editor = createClass({
|
||||
const endPos = { line: lineNumber, ch: match.index + match[0].length };
|
||||
|
||||
// Iterate over conflicting marks and clear them
|
||||
const marks = codeMirror.findMarks(startPos, endPos);
|
||||
const marks = codeMirror?.findMarks(startPos, endPos);
|
||||
marks.forEach(function(marker) {
|
||||
if(!marker.__isFold) marker.clear();
|
||||
});
|
||||
codeMirror.markText(startPos, endPos, { className: 'emoji' });
|
||||
codeMirror?.markText(startPos, endPos, { className: 'emoji' });
|
||||
}
|
||||
startIndex = line.indexOf(':', Math.max(startIndex + 1, emojiRegex.lastIndex));
|
||||
}
|
||||
@@ -378,44 +378,46 @@ const Editor = createClass({
|
||||
const textString = this.props.brew.text.split(textSplit).slice(0, targetPage-1).join(textSplit);
|
||||
const targetLine = textString.match('\n') ? textString.split('\n').length - 1 : -1;
|
||||
|
||||
let currentY = this.codeEditor.current.codeMirror.getScrollInfo().top;
|
||||
let targetY = this.codeEditor.current.codeMirror.heightAtLine(targetLine, 'local', true);
|
||||
let currentY = this.codeEditor.current.codeMirror?.getScrollInfo().top;
|
||||
let targetY = this.codeEditor.current.codeMirror?.heightAtLine(targetLine, 'local', true);
|
||||
|
||||
let scrollingTimeout;
|
||||
const checkIfScrollComplete = ()=>{ // Prevent interrupting a scroll in progress if user clicks multiple times
|
||||
clearTimeout(scrollingTimeout); // Reset the timer every time a scroll event occurs
|
||||
scrollingTimeout = setTimeout(()=>{
|
||||
isJumping = false;
|
||||
this.codeEditor.current.codeMirror.off('scroll', checkIfScrollComplete);
|
||||
this.codeEditor.current.codeMirror?.off('scroll', checkIfScrollComplete);
|
||||
}, 150); // If 150 ms pass without a scroll event, assume scrolling is done
|
||||
};
|
||||
|
||||
isJumping = true;
|
||||
checkIfScrollComplete();
|
||||
this.codeEditor.current.codeMirror.on('scroll', checkIfScrollComplete);
|
||||
if (this.codeEditor.current?.codeMirror) {
|
||||
this.codeEditor.current.codeMirror?.on('scroll', checkIfScrollComplete);
|
||||
}
|
||||
|
||||
if(smooth) {
|
||||
//Scroll 1/10 of the way every 10ms until 1px off.
|
||||
const incrementalScroll = setInterval(()=>{
|
||||
currentY += (targetY - currentY) / 10;
|
||||
this.codeEditor.current.codeMirror.scrollTo(null, currentY);
|
||||
this.codeEditor.current.codeMirror?.scrollTo(null, currentY);
|
||||
|
||||
// Update target: target height is not accurate until within +-10 lines of the visible window
|
||||
if(Math.abs(targetY - currentY > 100))
|
||||
targetY = this.codeEditor.current.codeMirror.heightAtLine(targetLine, 'local', true);
|
||||
targetY = this.codeEditor.current.codeMirror?.heightAtLine(targetLine, 'local', true);
|
||||
|
||||
// End when close enough
|
||||
if(Math.abs(targetY - currentY) < 1) {
|
||||
this.codeEditor.current.codeMirror.scrollTo(null, targetY); // Scroll any remaining difference
|
||||
this.codeEditor.current.codeMirror?.scrollTo(null, targetY); // Scroll any remaining difference
|
||||
this.codeEditor.current.setCursorPosition({ line: targetLine + 1, ch: 0 });
|
||||
this.codeEditor.current.codeMirror.addLineClass(targetLine + 1, 'wrap', 'sourceMoveFlash');
|
||||
this.codeEditor.current.codeMirror?.addLineClass(targetLine + 1, 'wrap', 'sourceMoveFlash');
|
||||
clearInterval(incrementalScroll);
|
||||
}
|
||||
}, 10);
|
||||
} else {
|
||||
this.codeEditor.current.codeMirror.scrollTo(null, targetY); // Scroll any remaining difference
|
||||
this.codeEditor.current.codeMirror?.scrollTo(null, targetY); // Scroll any remaining difference
|
||||
this.codeEditor.current.setCursorPosition({ line: targetLine + 1, ch: 0 });
|
||||
this.codeEditor.current.codeMirror.addLineClass(targetLine + 1, 'wrap', 'sourceMoveFlash');
|
||||
this.codeEditor.current.codeMirror?.addLineClass(targetLine + 1, 'wrap', 'sourceMoveFlash');
|
||||
}
|
||||
},
|
||||
|
||||
@@ -542,4 +544,4 @@ const Editor = createClass({
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = Editor;
|
||||
export default Editor;
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
/* eslint-disable max-lines */
|
||||
require('./metadataEditor.less');
|
||||
const React = require('react');
|
||||
const createClass = require('create-react-class');
|
||||
const _ = require('lodash');
|
||||
import './metadataEditor.less';
|
||||
import React from 'react';
|
||||
import createReactClass from 'create-react-class';
|
||||
import _ from 'lodash';
|
||||
import request from '../../utils/request-middleware.js';
|
||||
const Combobox = require('client/components/combobox.jsx');
|
||||
const TagInput = require('../tagInput/tagInput.jsx');
|
||||
import Combobox from 'client/components/combobox.jsx';
|
||||
import TagInput from '../tagInput/tagInput.jsx';
|
||||
|
||||
|
||||
const Themes = require('themes/themes.json');
|
||||
const validations = require('./validations.js');
|
||||
import Themes from 'themes/themes.json';
|
||||
import validations from './validations.js';
|
||||
|
||||
const SYSTEMS = ['5e', '4e', '3.5e', 'Pathfinder'];
|
||||
|
||||
const homebreweryThumbnail = require('../../thumbnail.png');
|
||||
import homebreweryThumbnail from '../../thumbnail.png';
|
||||
|
||||
const callIfExists = (val, fn, ...args)=>{
|
||||
if(val[fn]) {
|
||||
@@ -21,7 +21,7 @@ const callIfExists = (val, fn, ...args)=>{
|
||||
}
|
||||
};
|
||||
|
||||
const MetadataEditor = createClass({
|
||||
const MetadataEditor = createReactClass({
|
||||
displayName : 'MetadataEditor',
|
||||
getDefaultProps : function() {
|
||||
return {
|
||||
@@ -411,4 +411,4 @@ const MetadataEditor = createClass({
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = MetadataEditor;
|
||||
export default MetadataEditor;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
module.exports = {
|
||||
export default {
|
||||
title : [
|
||||
(value)=>{
|
||||
return value?.length > 100 ? 'Max title length of 100 characters' : null;
|
||||
|
||||
@@ -1,29 +1,36 @@
|
||||
/*eslint max-lines: ["warn", {"max": 350, "skipBlankLines": true, "skipComments": true}]*/
|
||||
require('./snippetbar.less');
|
||||
const React = require('react');
|
||||
const createClass = require('create-react-class');
|
||||
const _ = require('lodash');
|
||||
const cx = require('classnames');
|
||||
import './snippetbar.less';
|
||||
import React from 'react';
|
||||
import createReactClass from 'create-react-class';
|
||||
|
||||
import _ from 'lodash';
|
||||
import cx from 'classnames';
|
||||
|
||||
import { loadHistory } from '../../utils/versionHistory.js';
|
||||
import { brewSnippetsToJSON } from '../../../../shared/helpers.js';
|
||||
|
||||
//Import all themes
|
||||
const ThemeSnippets = {};
|
||||
ThemeSnippets['Legacy_5ePHB'] = require('themes/Legacy/5ePHB/snippets.js');
|
||||
ThemeSnippets['V3_5ePHB'] = require('themes/V3/5ePHB/snippets.js');
|
||||
ThemeSnippets['V3_5eDMG'] = require('themes/V3/5eDMG/snippets.js');
|
||||
ThemeSnippets['V3_Journal'] = require('themes/V3/Journal/snippets.js');
|
||||
ThemeSnippets['V3_Blank'] = require('themes/V3/Blank/snippets.js');
|
||||
import Legacy5ePHB from 'themes/Legacy/5ePHB/snippets.js';
|
||||
import V3_5ePHB from 'themes/V3/5ePHB/snippets.js';
|
||||
import V3_5eDMG from 'themes/V3/5eDMG/snippets.js';
|
||||
import V3_Journal from 'themes/V3/Journal/snippets.js';
|
||||
import V3_Blank from 'themes/V3/Blank/snippets.js';
|
||||
|
||||
const EditorThemes = require('build/homebrew/codeMirror/editorThemes.json');
|
||||
const ThemeSnippets = {
|
||||
Legacy_5ePHB : Legacy5ePHB,
|
||||
V3_5ePHB : V3_5ePHB,
|
||||
V3_5eDMG : V3_5eDMG,
|
||||
V3_Journal : V3_Journal,
|
||||
V3_Blank : V3_Blank,
|
||||
};
|
||||
|
||||
import EditorThemes from 'build/homebrew/codeMirror/editorThemes.json';
|
||||
|
||||
const execute = function(val, props){
|
||||
if(_.isFunction(val)) return val(props);
|
||||
return val;
|
||||
};
|
||||
|
||||
const Snippetbar = createClass({
|
||||
const Snippetbar = createReactClass({
|
||||
displayName : 'SnippetBar',
|
||||
getDefaultProps : function() {
|
||||
return {
|
||||
@@ -281,9 +288,9 @@ const Snippetbar = createClass({
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = Snippetbar;
|
||||
export default Snippetbar;
|
||||
|
||||
const SnippetGroup = createClass({
|
||||
const SnippetGroup = createReactClass({
|
||||
displayName : 'SnippetGroup',
|
||||
getDefaultProps : function() {
|
||||
return {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
require('./tagInput.less');
|
||||
const React = require('react');
|
||||
const { useState, useEffect } = React;
|
||||
const _ = require('lodash');
|
||||
import './tagInput.less';
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import _ from 'lodash';
|
||||
|
||||
const TagInput = ({ unique = true, values = [], ...props })=>{
|
||||
const [tempInputText, setTempInputText] = useState('');
|
||||
@@ -102,4 +101,4 @@ const TagInput = ({ unique = true, values = [], ...props })=>{
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = TagInput;
|
||||
export default TagInput;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* eslint-disable camelcase */
|
||||
|
||||
import 'core-js/es/string/to-well-formed.js'; //Polyfill for older browsers
|
||||
import './homebrew.less';
|
||||
import React from 'react';
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
const React = require('react');
|
||||
const createClass = require('create-react-class');
|
||||
const Nav = require('client/homebrew/navbar/nav.jsx');
|
||||
const request = require('superagent');
|
||||
import React from 'react';
|
||||
import createReactClass from 'create-react-class';
|
||||
import request from 'superagent';
|
||||
import Nav from 'client/homebrew/navbar/nav.jsx';
|
||||
|
||||
const Account = createClass({
|
||||
const Account = createReactClass({
|
||||
displayName : 'AccountNavItem',
|
||||
getInitialState : function() {
|
||||
return {
|
||||
@@ -111,4 +111,4 @@ const Account = createClass({
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = Account;
|
||||
export default Account;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
require('./error-navitem.less');
|
||||
const React = require('react');
|
||||
const Nav = require('client/homebrew/navbar/nav.jsx');
|
||||
import './error-navitem.less';
|
||||
import React from 'react';
|
||||
import Nav from 'client/homebrew/navbar/nav.jsx';
|
||||
|
||||
const ErrorNavItem = ({ error = '', clearError })=>{
|
||||
const response = error.response;
|
||||
@@ -144,4 +144,4 @@ const ErrorNavItem = ({ error = '', clearError })=>{
|
||||
</Nav.item>;
|
||||
};
|
||||
|
||||
module.exports = ErrorNavItem;
|
||||
export default ErrorNavItem;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
const React = require('react');
|
||||
const dedent = require('dedent-tabs').default;
|
||||
import React from 'react';
|
||||
import dedent from 'dedent-tabs';
|
||||
|
||||
const Nav = require('client/homebrew/navbar/nav.jsx');
|
||||
import Nav from 'client/homebrew/navbar/nav.jsx';
|
||||
|
||||
module.exports = function(props){
|
||||
export default function(props){
|
||||
return <Nav.dropdown>
|
||||
<Nav.item color='grey' icon='fas fa-question-circle'>
|
||||
need help?
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
const React = require('react');
|
||||
const createClass = require('create-react-class');
|
||||
const Moment = require('moment');
|
||||
import React from 'react';
|
||||
import createReactClass from 'create-react-class';
|
||||
import Moment from 'moment';
|
||||
|
||||
const Nav = require('client/homebrew/navbar/nav.jsx');
|
||||
import Nav from 'client/homebrew/navbar/nav.jsx';
|
||||
|
||||
|
||||
const MetadataNav = createClass({
|
||||
const MetadataNav = createReactClass({
|
||||
displayName : 'MetadataNav',
|
||||
getDefaultProps : function() {
|
||||
return {
|
||||
@@ -86,4 +86,4 @@ const MetadataNav = createClass({
|
||||
|
||||
});
|
||||
|
||||
module.exports = MetadataNav;
|
||||
export default MetadataNav;
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
require('client/homebrew/navbar/navbar.less');
|
||||
const React = require('react');
|
||||
const { useState, useRef, useEffect } = React;
|
||||
const createClass = require('create-react-class');
|
||||
const _ = require('lodash');
|
||||
const cx = require('classnames');
|
||||
import 'client/homebrew/navbar/navbar.less';
|
||||
import React, { useState, useRef, useEffect } from 'react';
|
||||
import createReactClass from 'create-react-class';
|
||||
import _ from 'lodash';
|
||||
import cx from 'classnames';
|
||||
|
||||
const NaturalCritIcon = require('client/components/svg/naturalcrit-d20.svg.jsx');
|
||||
import NaturalCritIcon from 'client/components/svg/naturalcrit-d20.svg.jsx';
|
||||
|
||||
const Nav = {
|
||||
base : createClass({
|
||||
base : createReactClass({
|
||||
displayName : 'Nav.base',
|
||||
render : function(){
|
||||
return <nav>
|
||||
@@ -25,7 +24,7 @@ const Nav = {
|
||||
</a>;
|
||||
},
|
||||
|
||||
section : createClass({
|
||||
section : createReactClass({
|
||||
displayName : 'Nav.section',
|
||||
render : function(){
|
||||
return <div className={`navSection ${this.props.className ?? ''}`}>
|
||||
@@ -34,7 +33,7 @@ const Nav = {
|
||||
}
|
||||
}),
|
||||
|
||||
item : createClass({
|
||||
item : createReactClass({
|
||||
displayName : 'Nav.item',
|
||||
getDefaultProps : function() {
|
||||
return {
|
||||
@@ -117,4 +116,4 @@ const Nav = {
|
||||
};
|
||||
|
||||
|
||||
module.exports = Nav;
|
||||
export default Nav;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
require('./navbar.less');
|
||||
const React = require('react');
|
||||
const createClass = require('create-react-class');
|
||||
import './navbar.less';
|
||||
import React from 'react';
|
||||
import createReactClass from 'create-react-class';
|
||||
|
||||
const Nav = require('client/homebrew/navbar/nav.jsx');
|
||||
const PatreonNavItem = require('./patreon.navitem.jsx');
|
||||
import Nav from 'client/homebrew/navbar/nav.jsx';
|
||||
import PatreonNavItem from './patreon.navitem.jsx';
|
||||
|
||||
const Navbar = createClass({
|
||||
const Navbar = createReactClass({
|
||||
displayName : 'Navbar',
|
||||
getInitialState : function() {
|
||||
return {
|
||||
@@ -49,4 +49,4 @@ const Navbar = createClass({
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = Navbar;
|
||||
export default Navbar;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const React = require('react');
|
||||
const _ = require('lodash');
|
||||
const Nav = require('client/homebrew/navbar/nav.jsx');
|
||||
const { splitTextStyleAndMetadata } = require('../../../shared/helpers.js'); // Importing the function from helpers.js
|
||||
import React from 'react';
|
||||
import _ from 'lodash';
|
||||
import Nav from 'client/homebrew/navbar/nav.jsx';
|
||||
import { splitTextStyleAndMetadata } from '../../../shared/helpers.js';
|
||||
|
||||
const BREWKEY = 'HB_newPage_content';
|
||||
const STYLEKEY = 'HB_newPage_style';
|
||||
@@ -100,4 +100,4 @@ const NewBrew = ()=>{
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = NewBrew;
|
||||
export default NewBrew;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const React = require('react');
|
||||
const Nav = require('client/homebrew/navbar/nav.jsx');
|
||||
import React from 'react';
|
||||
import Nav from 'client/homebrew/navbar/nav.jsx';
|
||||
|
||||
module.exports = function(props){
|
||||
export default function(props){
|
||||
return <Nav.item
|
||||
className='patreon'
|
||||
newTab={true}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const React = require('react');
|
||||
const Nav = require('client/homebrew/navbar/nav.jsx');
|
||||
const { printCurrentBrew } = require('../../../shared/helpers.js');
|
||||
import React from 'react';
|
||||
import Nav from 'client/homebrew/navbar/nav.jsx';
|
||||
import { printCurrentBrew } from '../../../shared/helpers.js';
|
||||
|
||||
module.exports = function(){
|
||||
export default function(){
|
||||
return <Nav.item onClick={printCurrentBrew} color='purple' icon='far fa-file-pdf'>
|
||||
get PDF
|
||||
</Nav.item>;
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
const React = require('react');
|
||||
const createClass = require('create-react-class');
|
||||
const _ = require('lodash');
|
||||
const Moment = require('moment');
|
||||
import React from 'react';
|
||||
import createReactClass from 'create-react-class';
|
||||
import _ from 'lodash';
|
||||
import Moment from 'moment';
|
||||
|
||||
const Nav = require('client/homebrew/navbar/nav.jsx');
|
||||
import Nav from 'client/homebrew/navbar/nav.jsx';
|
||||
|
||||
const EDIT_KEY = 'HB_nav_recentlyEdited';
|
||||
const VIEW_KEY = 'HB_nav_recentlyViewed';
|
||||
|
||||
|
||||
const RecentItems = createClass({
|
||||
const RecentItems = createReactClass({
|
||||
DisplayName : 'RecentItems',
|
||||
getDefaultProps : function() {
|
||||
return {
|
||||
@@ -175,7 +175,7 @@ const RecentItems = createClass({
|
||||
|
||||
});
|
||||
|
||||
module.exports = {
|
||||
export default {
|
||||
|
||||
edited : (props)=>{
|
||||
return <RecentItems
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const React = require('react');
|
||||
import React from 'react';
|
||||
|
||||
const Nav = require('client/homebrew/navbar/nav.jsx');
|
||||
import Nav from 'client/homebrew/navbar/nav.jsx';
|
||||
|
||||
module.exports = function (props) {
|
||||
export default function (props) {
|
||||
return (
|
||||
<Nav.item
|
||||
color='purple'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const React = require('react');
|
||||
const moment = require('moment');
|
||||
const UIPage = require('../basePages/uiPage/uiPage.jsx');
|
||||
const NaturalCritIcon = require('client/components/svg/naturalcrit-d20.svg.jsx');
|
||||
import React from 'react';
|
||||
import moment from 'moment';
|
||||
import UIPage from '../basePages/uiPage/uiPage.jsx';
|
||||
import NaturalCritIcon from 'client/components/svg/naturalcrit-d20.svg.jsx';
|
||||
|
||||
let SAVEKEY = '';
|
||||
|
||||
@@ -79,4 +79,4 @@ const AccountPage = (props)=>{
|
||||
</UIPage>);
|
||||
};
|
||||
|
||||
module.exports = AccountPage;
|
||||
export default AccountPage;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
require('./brewItem.less');
|
||||
const React = require('react');
|
||||
const { useCallback } = React;
|
||||
const moment = require('moment');
|
||||
import './brewItem.less';
|
||||
import React, { useCallback } from 'react';
|
||||
import moment from 'moment';
|
||||
import request from '../../../../utils/request-middleware.js';
|
||||
|
||||
const googleDriveIcon = require('../../../../googleDrive.svg');
|
||||
const homebreweryIcon = require('../../../../thumbnail.svg');
|
||||
const dedent = require('dedent-tabs').default;
|
||||
import googleDriveIcon from '../../../../googleDrive.svg';
|
||||
import homebreweryIcon from '../../../../thumbnail.svg';
|
||||
import dedent from 'dedent-tabs';
|
||||
|
||||
const BrewItem = ({
|
||||
brew = {
|
||||
@@ -176,4 +175,4 @@ const BrewItem = ({
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = BrewItem;
|
||||
export default BrewItem;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/*eslint max-lines: ["warn", {"max": 300, "skipBlankLines": true, "skipComments": true}]*/
|
||||
require('./listPage.less');
|
||||
const React = require('react');
|
||||
const createClass = require('create-react-class');
|
||||
const _ = require('lodash');
|
||||
const moment = require('moment');
|
||||
import './listPage.less';
|
||||
import React from 'react';
|
||||
import createReactClass from 'create-react-class';
|
||||
import _ from 'lodash';
|
||||
import moment from 'moment';
|
||||
|
||||
const BrewItem = require('./brewItem/brewItem.jsx');
|
||||
import BrewItem from './brewItem/brewItem.jsx';
|
||||
|
||||
const USERPAGE_SORT_DIR = 'HB_listPage_sortDir';
|
||||
const USERPAGE_SORT_TYPE = 'HB_listPage_sortType';
|
||||
@@ -14,7 +14,7 @@ const USERPAGE_GROUP_VISIBILITY_PREFIX = 'HB_listPage_visibility_group';
|
||||
const DEFAULT_SORT_TYPE = 'alpha';
|
||||
const DEFAULT_SORT_DIR = 'asc';
|
||||
|
||||
const ListPage = createClass({
|
||||
const ListPage = createReactClass({
|
||||
displayName : 'ListPage',
|
||||
getDefaultProps : function() {
|
||||
return {
|
||||
@@ -279,4 +279,4 @@ const ListPage = createClass({
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = ListPage;
|
||||
export default ListPage;
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
require('./uiPage.less');
|
||||
const React = require('react');
|
||||
const createClass = require('create-react-class');
|
||||
import './uiPage.less';
|
||||
import React from 'react';
|
||||
import createReactClass from 'create-react-class';
|
||||
|
||||
const Nav = require('client/homebrew/navbar/nav.jsx');
|
||||
const Navbar = require('client/homebrew/navbar/navbar.jsx');
|
||||
const NewBrewItem = require('client/homebrew/navbar/newbrew.navitem.jsx');
|
||||
const HelpNavItem = require('client/homebrew/navbar/help.navitem.jsx');
|
||||
const RecentNavItem = require('client/homebrew/navbar/recent.navitem.jsx').both;
|
||||
const Account = require('client/homebrew/navbar/account.navitem.jsx');
|
||||
import Nav from 'client/homebrew/navbar/nav.jsx';
|
||||
import Navbar from 'client/homebrew/navbar/navbar.jsx';
|
||||
import NewBrewItem from 'client/homebrew/navbar/newbrew.navitem.jsx';
|
||||
import HelpNavItem from 'client/homebrew/navbar/help.navitem.jsx';
|
||||
import RecentNavItems from 'client/homebrew/navbar/recent.navitem.jsx';
|
||||
const { both: RecentNavItem } = RecentNavItems;
|
||||
import Account from 'client/homebrew/navbar/account.navitem.jsx';
|
||||
|
||||
|
||||
const UIPage = createClass({
|
||||
const UIPage = createReactClass({
|
||||
displayName : 'UIPage',
|
||||
|
||||
render : function(){
|
||||
@@ -35,4 +36,4 @@ const UIPage = createClass({
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = UIPage;
|
||||
export default UIPage;
|
||||
|
||||
@@ -22,7 +22,8 @@ import ErrorNavItem from 'client/homebrew/navbar/error-navitem.jsx'
|
||||
import HelpNavItem from 'client/homebrew/navbar/help.navitem.jsx';
|
||||
import VaultNavItem from 'client/homebrew/navbar/vault.navitem.jsx';
|
||||
import PrintNavItem from 'client/homebrew/navbar/print.navitem.jsx';
|
||||
import { both as RecentNavItem } from 'client/homebrew/navbar/recent.navitem.jsx';
|
||||
import RecentNavItems from 'client/homebrew/navbar/recent.navitem.jsx';
|
||||
const { both: RecentNavItem } = RecentNavItems;
|
||||
|
||||
// Page specific imports
|
||||
import { Meta } from 'vitreum/headtags';
|
||||
@@ -415,4 +416,4 @@ const EditPage = (props)=>{
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = EditPage;
|
||||
export default EditPage;
|
||||
|
||||
@@ -40,4 +40,4 @@ function LockNotification(props) {
|
||||
</Dialog>;
|
||||
};
|
||||
|
||||
module.exports = LockNotification;
|
||||
export default LockNotification;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
require('./errorPage.less');
|
||||
const React = require('react');
|
||||
const UIPage = require('../basePages/uiPage/uiPage.jsx');
|
||||
import Markdown from '../../../../shared/markdown.js';
|
||||
const ErrorIndex = require('./errors/errorIndex.js');
|
||||
import './errorPage.less';
|
||||
import React from 'react';
|
||||
import UIPage from '../basePages/uiPage/uiPage.jsx';
|
||||
import Markdown from '../../../../shared/markdown.js';
|
||||
import ErrorIndex from './errors/errorIndex.js';
|
||||
|
||||
const ErrorPage = ({ brew })=>{
|
||||
// Retrieving the error text based on the brew's error code from ErrorIndex
|
||||
@@ -22,4 +22,4 @@ const ErrorPage = ({ brew })=>{
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = ErrorPage;
|
||||
export default ErrorPage;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const dedent = require('dedent-tabs').default;
|
||||
import dedent from 'dedent-tabs';
|
||||
|
||||
const loginUrl = 'https://www.naturalcrit.com/login';
|
||||
|
||||
@@ -268,4 +268,4 @@ const errorIndex = (props)=>{
|
||||
};
|
||||
};
|
||||
|
||||
module.exports = errorIndex;
|
||||
export default errorIndex;
|
||||
|
||||
@@ -22,7 +22,9 @@ import ErrorNavItem from 'client/homebrew/navbar/error-navitem.jsx'
|
||||
import HelpNavItem from 'client/homebrew/navbar/help.navitem.jsx';
|
||||
import VaultNavItem from 'client/homebrew/navbar/vault.navitem.jsx';
|
||||
import PrintNavItem from 'client/homebrew/navbar/print.navitem.jsx';
|
||||
import { both as RecentNavItem } from 'client/homebrew/navbar/recent.navitem.jsx';
|
||||
import RecentNavItems from 'client/homebrew/navbar/recent.navitem.jsx';
|
||||
const { both: RecentNavItem } = RecentNavItems;
|
||||
|
||||
|
||||
// Page specific imports
|
||||
import { Meta } from 'vitreum/headtags';
|
||||
@@ -230,4 +232,4 @@ const HomePage =(props)=>{
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = HomePage;
|
||||
export default HomePage;
|
||||
|
||||
@@ -22,7 +22,8 @@ import ErrorNavItem from 'client/homebrew/navbar/error-navitem.jsx'
|
||||
import HelpNavItem from 'client/homebrew/navbar/help.navitem.jsx';
|
||||
import VaultNavItem from 'client/homebrew/navbar/vault.navitem.jsx';
|
||||
import PrintNavItem from 'client/homebrew/navbar/print.navitem.jsx';
|
||||
import { both as RecentNavItem } from 'client/homebrew/navbar/recent.navitem.jsx';
|
||||
import RecentNavItems from 'client/homebrew/navbar/recent.navitem.jsx';
|
||||
const { both: RecentNavItem } = RecentNavItems;
|
||||
|
||||
// Page specific imports
|
||||
import { Meta } from 'vitreum/headtags';
|
||||
@@ -276,4 +277,4 @@ const NewPage = (props)=>{
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = NewPage;
|
||||
export default NewPage;
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
require('./sharePage.less');
|
||||
const React = require('react');
|
||||
const { useState, useEffect, useCallback } = React;
|
||||
const { Meta } = require('vitreum/headtags');
|
||||
import './sharePage.less';
|
||||
import React, { useState, useEffect, useCallback } from 'react';
|
||||
import { Meta } from 'vitreum/headtags';
|
||||
|
||||
const Nav = require('client/homebrew/navbar/nav.jsx');
|
||||
const Navbar = require('client/homebrew/navbar/navbar.jsx');
|
||||
const MetadataNav = require('client/homebrew/navbar/metadata.navitem.jsx');
|
||||
const PrintNavItem = require('client/homebrew/navbar/print.navitem.jsx');
|
||||
const RecentNavItem = require('client/homebrew/navbar/recent.navitem.jsx').both;
|
||||
const Account = require('client/homebrew/navbar/account.navitem.jsx');
|
||||
const BrewRenderer = require('../../brewRenderer/brewRenderer.jsx');
|
||||
import Nav from 'client/homebrew/navbar/nav.jsx';
|
||||
import Navbar from 'client/homebrew/navbar/navbar.jsx';
|
||||
import MetadataNav from 'client/homebrew/navbar/metadata.navitem.jsx';
|
||||
import PrintNavItem from 'client/homebrew/navbar/print.navitem.jsx';
|
||||
import RecentNavItems from 'client/homebrew/navbar/recent.navitem.jsx';
|
||||
const { both: RecentNavItem } = RecentNavItems;
|
||||
import Account from 'client/homebrew/navbar/account.navitem.jsx';
|
||||
import BrewRenderer from '../../brewRenderer/brewRenderer.jsx';
|
||||
|
||||
const { DEFAULT_BREW_LOAD } = require('../../../../server/brewDefaults.js');
|
||||
const { printCurrentBrew, fetchThemeBundle } = require('../../../../shared/helpers.js');
|
||||
import { DEFAULT_BREW_LOAD } from '../../../../server/brewDefaults.js';
|
||||
import { printCurrentBrew, fetchThemeBundle } from '../../../../shared/helpers.js';
|
||||
|
||||
const SharePage = (props)=>{
|
||||
const { brew = DEFAULT_BREW_LOAD, disableMeta = false } = props;
|
||||
@@ -116,4 +116,4 @@ const SharePage = (props)=>{
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = SharePage;
|
||||
export default SharePage;
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
const React = require('react');
|
||||
const { useState } = React;
|
||||
const _ = require('lodash');
|
||||
import React, { useState } from 'react';
|
||||
import _ from 'lodash';
|
||||
|
||||
const ListPage = require('../basePages/listPage/listPage.jsx');
|
||||
import ListPage from '../basePages/listPage/listPage.jsx';
|
||||
|
||||
const Nav = require('client/homebrew/navbar/nav.jsx');
|
||||
const Navbar = require('client/homebrew/navbar/navbar.jsx');
|
||||
const RecentNavItem = require('client/homebrew/navbar/recent.navitem.jsx').both;
|
||||
const Account = require('client/homebrew/navbar/account.navitem.jsx');
|
||||
const NewBrew = require('client/homebrew/navbar/newbrew.navitem.jsx');
|
||||
const HelpNavItem = require('client/homebrew/navbar/help.navitem.jsx');
|
||||
const ErrorNavItem = require('client/homebrew/navbar/error-navitem.jsx');
|
||||
const VaultNavitem = require('client/homebrew/navbar/vault.navitem.jsx');
|
||||
import Nav from 'client/homebrew/navbar/nav.jsx';
|
||||
import Navbar from 'client/homebrew/navbar/navbar.jsx';
|
||||
import RecentNavItems from 'client/homebrew/navbar/recent.navitem.jsx';
|
||||
const { both: RecentNavItem } = RecentNavItems;
|
||||
import Account from 'client/homebrew/navbar/account.navitem.jsx';
|
||||
import NewBrew from 'client/homebrew/navbar/newbrew.navitem.jsx';
|
||||
import HelpNavItem from 'client/homebrew/navbar/help.navitem.jsx';
|
||||
import ErrorNavItem from 'client/homebrew/navbar/error-navitem.jsx';
|
||||
import VaultNavitem from 'client/homebrew/navbar/vault.navitem.jsx';
|
||||
|
||||
const UserPage = (props)=>{
|
||||
props = {
|
||||
@@ -61,4 +61,4 @@ const UserPage = (props)=>{
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = UserPage;
|
||||
export default UserPage;
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
/*eslint max-lines: ["warn", {"max": 400, "skipBlankLines": true, "skipComments": true}]*/
|
||||
/*eslint max-params:["warn", { max: 10 }], */
|
||||
require('./vaultPage.less');
|
||||
import './vaultPage.less';
|
||||
import React, { useState, useEffect, useRef } from 'react';
|
||||
|
||||
const React = require('react');
|
||||
const { useState, useEffect, useRef } = React;
|
||||
|
||||
const Nav = require('client/homebrew/navbar/nav.jsx');
|
||||
const Navbar = require('client/homebrew/navbar/navbar.jsx');
|
||||
const RecentNavItem = require('client/homebrew/navbar/recent.navitem.jsx').both;
|
||||
const Account = require('client/homebrew/navbar/account.navitem.jsx');
|
||||
const NewBrew = require('client/homebrew/navbar/newbrew.navitem.jsx');
|
||||
const HelpNavItem = require('client/homebrew/navbar/help.navitem.jsx');
|
||||
const BrewItem = require('../basePages/listPage/brewItem/brewItem.jsx');
|
||||
const SplitPane = require('client/components/splitPane/splitPane.jsx');
|
||||
const ErrorIndex = require('../errorPage/errors/errorIndex.js');
|
||||
import Nav from 'client/homebrew/navbar/nav.jsx';
|
||||
import Navbar from 'client/homebrew/navbar/navbar.jsx';
|
||||
import RecentNavItems from 'client/homebrew/navbar/recent.navitem.jsx';
|
||||
const { both: RecentNavItem } = RecentNavItems;
|
||||
import Account from 'client/homebrew/navbar/account.navitem.jsx';
|
||||
import NewBrew from 'client/homebrew/navbar/newbrew.navitem.jsx';
|
||||
import HelpNavItem from 'client/homebrew/navbar/help.navitem.jsx';
|
||||
import BrewItem from '../basePages/listPage/brewItem/brewItem.jsx';
|
||||
import SplitPane from 'client/components/splitPane/splitPane.jsx';
|
||||
import ErrorIndex from '../errorPage/errors/errorIndex.js';
|
||||
|
||||
import request from '../../utils/request-middleware.js';
|
||||
|
||||
@@ -430,4 +429,4 @@ const VaultPage = (props)=>{
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = VaultPage;
|
||||
export default VaultPage;
|
||||
|
||||
Reference in New Issue
Block a user