diff --git a/website/src/components/broadcast/roots/QuadTallyDot.vue b/website/src/components/broadcast/roots/QuadTallyDot.vue
new file mode 100644
index 00000000..8b6f6b2f
--- /dev/null
+++ b/website/src/components/broadcast/roots/QuadTallyDot.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/src/components/broadcast/roots/TallyDot.vue b/website/src/components/broadcast/roots/TallyDot.vue
new file mode 100644
index 00000000..9770a120
--- /dev/null
+++ b/website/src/components/broadcast/roots/TallyDot.vue
@@ -0,0 +1,128 @@
+
+
+
+
{{ number }}
+
{{ observer || '' }}
+
+
+
+
+
+
+
diff --git a/website/src/components/broadcast/roots/TallyViewer.vue b/website/src/components/broadcast/roots/TallyViewer.vue
index bc6a8981..17313d8e 100644
--- a/website/src/components/broadcast/roots/TallyViewer.vue
+++ b/website/src/components/broadcast/roots/TallyViewer.vue
@@ -40,10 +40,10 @@ export default {
this.producerPreviewScene = data.previewScene;
this.producerProgramScene = data.programScene;
- if (this.targetsMe(this.producerPreviewScene)) {
- this.state = "preview";
- } else if (this.targetsMe(this.producerProgramScene)) {
+ if (this.targetsMe(this.producerProgramScene)) {
this.state = "active";
+ } else if (this.targetsMe(this.producerPreviewScene)) {
+ this.state = "preview";
} else {
this.state = "inactive";
}
diff --git a/website/src/router/broadcast.js b/website/src/router/broadcast.js
index 4c10166b..d9e1c847 100644
--- a/website/src/router/broadcast.js
+++ b/website/src/router/broadcast.js
@@ -37,6 +37,8 @@ const IframeOverlay = () => import("@/components/broadcast/roots/IframeOverlay")
const TallyTransmitter = () => import("@/components/broadcast/roots/TallyTransmitter");
const WebsocketTransmitter = () => import("@/components/broadcast/roots/WebsocketTransmitter");
const TallyViewer = () => import("@/components/broadcast/roots/TallyViewer");
+const TallyDot = () => import("@/components/broadcast/roots/TallyDot");
+const QuadTallyDot = () => import("@/components/broadcast/roots/QuadTallyDot");
const PlayerHistory = () => import("@/components/broadcast/PlayerHistory");
const OverviewOverlay = () => import("@/components/broadcast/roots/OverviewOverlay");
const MediaOverlay = () => import("@/components/broadcast/roots/MediaOverlay");
@@ -107,6 +109,8 @@ export default [
})
},
{ path: "tally-viewer", component: TallyViewer },
+ { path: "tally-dot", component: TallyDot, props: route => ({ number: parseInt(route.query.number) }) },
+ { path: "quad", component: QuadTallyDot },
{ path: "break-bar", component: BreakBarOverlay },
{
path: "bracket",