diff --git a/web/app/configs/widget/whiteboard/whiteboard.widget.component.html b/web/app/configs/widget/whiteboard/whiteboard.widget.component.html
new file mode 100644
index 0000000..49e80b1
--- /dev/null
+++ b/web/app/configs/widget/whiteboard/whiteboard.widget.component.html
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/web/app/configs/widget/whiteboard/whiteboard.widget.component.scss b/web/app/configs/widget/whiteboard/whiteboard.widget.component.scss
new file mode 100644
index 0000000..e69de29
diff --git a/web/app/configs/widget/whiteboard/whiteboard.widget.component.ts b/web/app/configs/widget/whiteboard/whiteboard.widget.component.ts
new file mode 100644
index 0000000..e10cd98
--- /dev/null
+++ b/web/app/configs/widget/whiteboard/whiteboard.widget.component.ts
@@ -0,0 +1,46 @@
+import { WidgetComponent } from "../widget.component";
+import { Component } from "@angular/core";
+import { EditableWidget, WIDGET_WHITEBOARD } from "../../../shared/models/widget";
+import * as url from "url";
+import { SessionStorage } from "../../../shared/SessionStorage";
+import { NameService } from "../../../shared/services/name.service";
+import { FE_WhiteBoardWidget } from "../../../shared/models/integration";
+
+@Component({
+ templateUrl: "whiteboard.widget.component.html",
+ styleUrls: ["whiteboard.widget.component.scss"],
+})
+export class WhiteboardWidgetComponent extends WidgetComponent {
+ private whiteBoardWidget: FE_WhiteBoardWidget = SessionStorage.editIntegration;
+
+ constructor(private nameService: NameService) {
+ super(WIDGET_WHITEBOARD, "Whiteboard", "generic", "whiteboard", "boardName");
+ }
+ protected OnWidgetsDiscovered(widgets: EditableWidget[]): void {
+ console.log(widgets);
+ for (const widget of widgets) {
+ if (!widget.dimension.newUrl.startsWith("http://") && !widget.dimension.newUrl.startsWith("https://")) {
+ const parsedUrl = url.parse(widget.url, true);
+ const boardName = parsedUrl.query["boardName"];
+
+ // Set the new URL so that it unpacks correctly
+ widget.url = `https://dev-whiteboard.nordeck.net/?whiteboardid=${boardName}`;
+ }
+ }
+ }
+
+ protected OnNewWidgetPrepared(widget: EditableWidget): void {
+ const name = this.nameService.getHumanReadableName();
+
+ let template = "https://dev-whiteboard.nordeck.net/?whiteboardid=$roomId_$boardName";
+ if (this.whiteBoardWidget.options && this.whiteBoardWidget.options.defaultUrl) {
+ template = this.whiteBoardWidget.options.defaultUrl;
+ }
+
+ template = template.replace("$roomId", encodeURIComponent(SessionStorage.roomId));
+ template = template.replace("$boardName", encodeURIComponent(name));
+
+ widget.dimension.newUrl = template;
+ widget.dimension.newName = name;
+ }
+}