diff --git a/src/code/addButtons.ts b/src/code/addButtons.ts
index 16635974..595cb131 100644
--- a/src/code/addButtons.ts
+++ b/src/code/addButtons.ts
@@ -3,6 +3,7 @@ import QuickdrawButton from "./buttons/quickdrawButton";
import WasabeeButton from "./buttons/wasabeeButton";
import SyncButton from "./buttons/syncButton";
import OpButton from "./buttons/opButton";
+import UndoButton from "./buttons/undoButton";
import LinkButton from "./buttons/linkButton";
import MarkerButton from "./buttons/markerButton";
import UploadButton from "./buttons/uploadButton";
@@ -24,6 +25,7 @@ export function addButtons() {
WasabeeButton,
OpButton,
QuickdrawButton,
+ UndoButton,
QuickDeleteButton,
LinkButton,
MarkerButton,
diff --git a/src/code/buttons/undoButton.d.ts b/src/code/buttons/undoButton.d.ts
new file mode 100644
index 00000000..ddeed722
--- /dev/null
+++ b/src/code/buttons/undoButton.d.ts
@@ -0,0 +1,4 @@
+import { WButton } from "../leafletClasses";
+
+declare class UndoButton extends WButton {}
+export default UndoButton;
diff --git a/src/code/buttons/undoButton.js b/src/code/buttons/undoButton.js
new file mode 100644
index 00000000..7427da6a
--- /dev/null
+++ b/src/code/buttons/undoButton.js
@@ -0,0 +1,30 @@
+import { WButton } from "../leafletClasses";
+import wX from "../wX";
+import { undo } from "../undo";
+import { postToFirebase } from "../firebase/logger";
+
+const UndoButton = WButton.extend({
+ statics: {
+ TYPE: "UndoButton",
+ },
+
+ needWritePermission: true,
+
+ initialize: function (container) {
+ this.type = UndoButton.TYPE;
+ this.title = wX("toolbar.op.undo");
+
+ this.button = this._createButton({
+ container: container,
+ className: "wasabee-toolbar-undo",
+ callback: () => {
+ postToFirebase({ id: "analytics", action: "undo" });
+ undo();
+ },
+ context: this,
+ title: this.title,
+ });
+ },
+});
+
+export default UndoButton;
diff --git a/src/code/css/toolbar.css b/src/code/css/toolbar.css
index 095514c7..765431b7 100644
--- a/src/code/css/toolbar.css
+++ b/src/code/css/toolbar.css
@@ -136,6 +136,14 @@
background-image: url(../images/toolbar_quickdelete.svg);
background-size: 60%;
}
+.wasabee-toolbar-undo {
+ background-image: url(../images/toolbar_undo.svg);
+ background-size: 60%;
+}
+.wasabee-toolbar-redo {
+ background-image: url(../images/toolbar_redo.svg);
+ background-size: 60%;
+}
.wasabee-toolbar-link {
background-image: url(../images/toolbar_addlinks.svg)
}
diff --git a/src/code/images/toolbar_quickdelete.svg b/src/code/images/toolbar_quickdelete.svg
index 15035f46..439a91b7 100644
--- a/src/code/images/toolbar_quickdelete.svg
+++ b/src/code/images/toolbar_quickdelete.svg
@@ -1,7 +1,7 @@
\ No newline at end of file
diff --git a/src/code/images/toolbar_redo.svg b/src/code/images/toolbar_redo.svg
new file mode 100644
index 00000000..086a3adf
--- /dev/null
+++ b/src/code/images/toolbar_redo.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/code/images/toolbar_undo.svg b/src/code/images/toolbar_undo.svg
new file mode 100644
index 00000000..2aa8c2d8
--- /dev/null
+++ b/src/code/images/toolbar_undo.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file