diff --git a/packages/components/src/Workbench/DraftConfig/index.js b/packages/components/src/Workbench/DraftConfig/index.js
index 73713d9e879..f17034b583b 100644
--- a/packages/components/src/Workbench/DraftConfig/index.js
+++ b/packages/components/src/Workbench/DraftConfig/index.js
@@ -5,6 +5,7 @@ import Design from '../Design'
import DraftConfigurator from '../../DraftConfigurator'
import fileSaver from 'file-saver'
import theme from '@freesewing/plugin-theme'
+import Icon from '../../Icon'
import IconButton from '@material-ui/core/IconButton'
import DesignIcon from '@material-ui/icons/Fingerprint'
import DumpIcon from '@material-ui/icons/LocalSee'
@@ -12,8 +13,10 @@ import ClearIcon from '@material-ui/icons/HighlightOff'
import AdvancedIcon from '@material-ui/icons/Policy'
import PaperlessIcon from '@material-ui/icons/Nature'
import CompleteIcon from '@material-ui/icons/Style'
-import HideIcon from '@material-ui/icons/ChevronLeft'
+import { FormattedMessage } from 'react-intl'
import Events from './Events'
+import ActionsIcon from '@material-ui/icons/PlayCircleOutline'
+import Switch from '@material-ui/core/Switch';
const DraftPattern = (props) => {
const styles = {
@@ -48,65 +51,89 @@ const DraftPattern = (props) => {
const color = (check) => (check ? '#40c057' : '#fa5252')
return (
-
-
-
props.setHideAside(true)} title="Hide sidebar" {...iconProps}>
-
-
-
props.setDesign(!props.design)}
- title="Toggle design mode"
- {...iconProps}
- >
-
-
-
-
- {props.design && (
-
props.raiseEvent('clearFocusAll', null)}
- title="Clear design mode"
- {...iconProps}
- >
-
-
- )}
-
console.log(props.pattern)}
- title="console.log(pattern)"
- {...iconProps}
- >
-
-
- |
-
props.updateGist(!props.gist.settings.advanced, 'settings', 'advanced')}
- title="Toggle advanced settings"
- {...iconProps}
- >
-
-
-
-
-
props.updateGist(!props.gist.settings.paperless, 'settings', 'paperless')}
- title="Toggle paperless"
- {...iconProps}
- >
-
-
-
-
-
props.updateGist(!props.gist.settings.complete, 'settings', 'complete')}
- title="Toggle complete"
- {...iconProps}
- >
-
-
-
-
-
+
+ -
+
+
+
+
+
+ -
+ props.setDesign(!props.design)} title='Toggle design mode'>
+
+ }}
+ />
+ props.setDesign(!props.design)}
+ />
+
+
+ -
+ props.updateGist(!props.gist.settings.advanced, 'settings', 'advanced')} title='Toggle advanced settings'>
+
+ }}
+ />
+ props.updateGist(!props.gist.settings.advanced, 'settings', 'advanced')}
+ />
+
+
+ -
+ props.updateGist(!props.gist.settings.paperless, 'settings', 'paperless')} title='Toggle paperless'>
+
+ }}
+ />
+ props.updateGist(!props.gist.settings.paperless, 'settings', 'paperless')}
+ />
+
+
+ -
+ props.updateGist(!props.gist.settings.complete, 'settings', 'complete')} title='Toggle complete'>
+
+ }}
+ />
+ props.updateGist(!props.gist.settings.complete, 'settings', 'complete')}
+ />
+
+
+ -
+ console.log(props.pattern)} title='Log pattern object to console'>
+
+ console.log(pattern)
+
+
+ {props.design && (
+ -
+ props.raiseEvent('clearFocusAll', null)} title='Clear design mode'>
+
+
+
+
+ )}
+
+
{props.design && (
{
freesewing={props.freesewing}
units={props.units || 'metric'}
/>
-
+
-
-
-
+
+
)
}
diff --git a/packages/components/src/Workbench/DraftPattern/index.js b/packages/components/src/Workbench/DraftPattern/index.js
index 1eea448c753..d7b2dd0a813 100644
--- a/packages/components/src/Workbench/DraftPattern/index.js
+++ b/packages/components/src/Workbench/DraftPattern/index.js
@@ -37,7 +37,7 @@ const DraftPattern = (props) => {
}
return (
-
+ <>
{
className="freesewing draft shadow"
/>
-
+ >
)
}
diff --git a/packages/components/src/Workbench/Footer.js b/packages/components/src/Workbench/Footer.js
new file mode 100644
index 00000000000..51424b3c9a8
--- /dev/null
+++ b/packages/components/src/Workbench/Footer.js
@@ -0,0 +1,65 @@
+import React from 'react'
+import Logo from '../Logo'
+
+const Footer = (props) => {
+
+ return (
+
+ )
+}
+
+export default React.memo(Footer)
diff --git a/packages/components/src/Workbench/Welcome/index.js b/packages/components/src/Workbench/Welcome/index.js
index 0bd401d594b..96515323e3f 100644
--- a/packages/components/src/Workbench/Welcome/index.js
+++ b/packages/components/src/Workbench/Welcome/index.js
@@ -8,67 +8,46 @@ const Welcome = props => {
container: {
textAlign: "center",
maxWidth: "500px",
- margin: "2vh auto"
- },
- title: {
- fontFamily: "Roboto Condensed"
- },
- button: {
- margin: "0.5rem"
+ margin: "5vh auto",
+ minHeight: "65vh"
},
bigButton: {
margin: "0.5rem",
- width: "calc(100% - 1rem)"
+ width: "calc(100% - 3rem)"
},
- footer: {
- fontFamily: "Roboto Condensed",
- position: "fixed",
- bottom: "10px",
- left: 0,
- width: "100%",
- fontSize: "90%"
- }
- };
+ }
return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
export default Welcome;
diff --git a/packages/components/src/Workbench/index.js b/packages/components/src/Workbench/index.js
index a4a84547e87..fbe9245450b 100644
--- a/packages/components/src/Workbench/index.js
+++ b/packages/components/src/Workbench/index.js
@@ -24,6 +24,7 @@ import svgattrPlugin from '@freesewing/plugin-svgattr'
import Xport from './Export'
import axios from 'axios'
import yaml from 'yaml'
+import Footer from './Footer'
const icons = {
draft: ,
@@ -32,6 +33,8 @@ const icons = {
xport:
}
+const extraTranslations = {}
+
const Workbench = ({
updateGist,
setLanguage,
@@ -44,8 +47,13 @@ const Workbench = ({
units = 'metric',
translations = false,
addTranslations,
- recreate = false
+ recreate = false,
}) => {
+
+ if (translations) {
+ for (let key in translations) extraTranslations[key] = translations[key]
+ }
+
const [display, setDisplay] = useState(null)
const [theme, setTheme] = useState('light')
const [measurements, setMeasurements] = useState(null)
@@ -164,7 +172,7 @@ const Workbench = ({
//const raiseEvent = (type = null, data = null) => {}
const MainMenu = () => (
-
+
{Object.keys(icons).map((link) => {
return (
-
@@ -211,7 +219,7 @@ const Workbench = ({
}
let main = null
- let context = null
+ let preMenu = null
let pattern
switch (display) {
case 'languages':
@@ -223,19 +231,6 @@ const Workbench = ({
{languageButtons()}
>
)
- context = (
-
- )
break
case 'draft':
if (measurementsMissing()) {
@@ -263,7 +258,7 @@ const Workbench = ({
design={design}
/>
)
- context = (
+ preMenu = (
-
)
@@ -391,5 +390,5 @@ export default withLanguage(
gist: defaultGist,
store: true
}),
- 'en'
+ 'en', false, extraTranslations
)
diff --git a/packages/components/src/Workbench/navbar.js b/packages/components/src/Workbench/navbar.js
index 9fb6f21e88c..cb8b5087c35 100644
--- a/packages/components/src/Workbench/navbar.js
+++ b/packages/components/src/Workbench/navbar.js
@@ -2,10 +2,12 @@ import React, { useState } from 'react'
import AppBar from '@material-ui/core/AppBar'
import Toolbar from '@material-ui/core/Toolbar'
import Button from '@material-ui/core/Button'
+import IconButton from '@material-ui/core/IconButton'
import Logo from '../Logo'
import { FormattedMessage } from 'react-intl'
import Icon from '../Icon'
import LanguageIcon from '@material-ui/icons/Translate'
+import LightModeIcon from '@material-ui/icons/WbSunny'
import DarkModeIcon from '@material-ui/icons/Brightness3'
export default function ButtonAppBar(props) {
@@ -20,7 +22,7 @@ export default function ButtonAppBar(props) {
width: '100%',
margin: 0,
padding: 0,
- background: props.theme === 'dark' ? colors.light : colors.dark,
+ background: '#1a1d21',
zIndex: 15
},
logo: {
@@ -35,7 +37,6 @@ export default function ButtonAppBar(props) {
padding: '0 18px'
},
iconButton: {
- color: colors[props.theme]
},
icon: {
maxWidth: '24px',
@@ -48,7 +49,8 @@ export default function ButtonAppBar(props) {
darkModeIcon: {
transform: 'rotate(26deg)',
maxWidth: '24px',
- maxHeight: '24px'
+ maxHeight: '24px',
+ color: '#ffe066'
}
}
@@ -61,16 +63,15 @@ export default function ButtonAppBar(props) {
const iconStyle = {
marginRight: '0.5rem',
- color: props.theme === 'dark' ? '#b197fc' : '#845ef7'
}
return (
-
+
-
+
+ {props.theme === 'dark' ? (
+
+ ) : (
+
+ )}
+