diff --git a/markdown/org/docs/patterns/noble/options/dartposition/en.md b/markdown/org/docs/patterns/noble/options/dartposition/en.md
index 2d9e2e6429c..af41560fa50 100644
--- a/markdown/org/docs/patterns/noble/options/dartposition/en.md
+++ b/markdown/org/docs/patterns/noble/options/dartposition/en.md
@@ -1,9 +1,5 @@
---
-title: Dart position
+title: "Dart position"
---
-Controls whether to split at the shoulder or armhole
-
-
-## Effect of this option on the pattern
-
+The **Dart position** option controls whether to create the princess seam at the shoulder or armhole.
diff --git a/sites/shared/components/error-boundary.js b/sites/shared/components/error/error-boundary.js
similarity index 77%
rename from sites/shared/components/error-boundary.js
rename to sites/shared/components/error/error-boundary.js
index 995ce81df2c..68bfb34efbf 100644
--- a/sites/shared/components/error-boundary.js
+++ b/sites/shared/components/error/error-boundary.js
@@ -1,4 +1,5 @@
import React from 'react';
+import ResetButtons from './reset-buttons'
class ErrorBoundary extends React.Component {
constructor(props) {
@@ -25,7 +26,11 @@ class ErrorBoundary extends React.Component {
render() {
if (this.state.hasError) {
// You can render any custom fallback UI
- return this.props.errorView || (
Something went wrong.
);
+ return (
+ {this.props.errorView || (
Something went wrong.
)}
+
+
)
+ return ;
}
try {
diff --git a/sites/shared/components/error/reset-buttons.js b/sites/shared/components/error/reset-buttons.js
new file mode 100644
index 00000000000..0e04c2e91d7
--- /dev/null
+++ b/sites/shared/components/error/reset-buttons.js
@@ -0,0 +1,10 @@
+import { useTranslation } from 'next-i18next'
+
+export default function ({resetGist, undoGist}) {
+ const {t} = useTranslation(['app'])
+
+ return (<>
+
+
+ >
+)}
diff --git a/sites/shared/components/workbench/layout/draft/index.js b/sites/shared/components/workbench/layout/draft/index.js
index 5a4c83dcfe6..e6df4fbb917 100644
--- a/sites/shared/components/workbench/layout/draft/index.js
+++ b/sites/shared/components/workbench/layout/draft/index.js
@@ -18,14 +18,14 @@ const Draft = props => {
...patternProps.autoLayout,
width: patternProps.width,
height: patternProps.height
- })
+ }, false, false)
}
}, [layout])
if (!patternProps || !layout) return null
// Helper method to update part layout and re-calculate width * height
- const updateLayout = (name, config) => {
+ const updateLayout = (name, config, history=true) => {
// Start creating new layout
const newLayout = {...layout}
newLayout.parts[name] = config
@@ -49,7 +49,7 @@ const Draft = props => {
newLayout.height = bottomRight.y - topLeft.y
newLayout.bottomRight = bottomRight
newLayout.topLeft = topLeft
- updateGist(['layout'], newLayout)
+ updateGist(['layout'], newLayout, false, history)
}
diff --git a/sites/shared/components/workbench/layout/draft/part.js b/sites/shared/components/workbench/layout/draft/part.js
index 564bf0b9edd..8c473dcfe47 100644
--- a/sites/shared/components/workbench/layout/draft/part.js
+++ b/sites/shared/components/workbench/layout/draft/part.js
@@ -94,7 +94,7 @@ const Part = props => {
// update the layout on mount
useEffect(() => {
- if (partRef.current) updateLayout()
+ if (partRef.current) updateLayout(false)
}, [partRef])
// Initialize drag handler
@@ -168,7 +168,7 @@ const Part = props => {
updateLayout()
setRotate(!rotate)
}
- const updateLayout = () => {
+ const updateLayout = (history=true) => {
const partRect = partRef.current.getBoundingClientRect();
const matrix = partRef.current.ownerSVGElement.getScreenCTM().inverse();
@@ -188,7 +188,7 @@ const Part = props => {
flipY,
tl,
br
- })
+ }, history)
}
// Method to flip (mirror) the part along the X or Y axis
diff --git a/sites/shared/components/workbench/menu/index.js b/sites/shared/components/workbench/menu/index.js
index 1f4d7d70e24..88a8881b8e7 100644
--- a/sites/shared/components/workbench/menu/index.js
+++ b/sites/shared/components/workbench/menu/index.js
@@ -4,7 +4,6 @@ import DesignOptions from './design-options'
import CoreSettings from './core-settings'
import Xray from './xray'
import TestDesignOptions from './test-design-options'
-import ErrorBoundary from 'shared/components/error-boundary'
export const Ul = props =>