diff --git a/website/package.json b/website/package.json index 786701dd..4b01caf0 100644 --- a/website/package.json +++ b/website/package.json @@ -23,6 +23,7 @@ "spacetime-informal": "^0.6.1", "timesync": "^1.0.11", "vue": "^2.7", + "vue-confetti": "^2.3.0", "vue-cookies": "^1.8.1", "vue-meta": "^2.4.0", "vue-router": "^3.2.0", diff --git a/website/src/apps/BroadcastApp.vue b/website/src/apps/BroadcastApp.vue index 618abfe5..34355936 100644 --- a/website/src/apps/BroadcastApp.vue +++ b/website/src/apps/BroadcastApp.vue @@ -1,5 +1,5 @@ diff --git a/website/src/components/broadcast/roots/ConfettiOverlay.vue b/website/src/components/broadcast/roots/ConfettiOverlay.vue new file mode 100644 index 00000000..fbd40c9e --- /dev/null +++ b/website/src/components/broadcast/roots/ConfettiOverlay.vue @@ -0,0 +1,104 @@ + + + + diff --git a/website/src/router/broadcast.js b/website/src/router/broadcast.js index d3e47552..d7e84660 100644 --- a/website/src/router/broadcast.js +++ b/website/src/router/broadcast.js @@ -221,6 +221,20 @@ export default [ index: parseInt(route.params.index) || parseInt(route.query.index ?? route.query.number) || 1 }) }, + { + path: "confetti", + component: () => import("@/components/broadcast/roots/ConfettiOverlay.vue"), + props: route => ({ + themeId: route.query.theme || route.query.themeId || route.query.themeid || route.query.themeID + }) + }, + { + path: "champions", + component: () => import("@/components/broadcast/roots/ChampionsOverlay.vue"), + props: route => ({ + stingerText: route.query.stingerText + }) + }, /* Production staff stuff */ { path: "clock", component: () => import("@/components/broadcast/roots/MediaClock.vue") }, diff --git a/website/src/router/default.js b/website/src/router/default.js index c32c123c..992a9e7e 100644 --- a/website/src/router/default.js +++ b/website/src/router/default.js @@ -72,6 +72,7 @@ export default [ code: route.params.broadcastCode, title: route.query.title, stingerText: route.query.stingerText, + stingerThemeOverride: route.query.stingerThemeOverride || route.query.stingerTheme, top: route.query.top, noAnimation: (route.query.noAnimate || route.query.dontAnimate || route.query.noAnimation), noStinger: (route.query.noStinger || route.query.stinger === "false"), @@ -88,6 +89,7 @@ export default [ client: route.params.clientID, title: route.query.title, stingerText: route.query.stingerText, + stingerThemeOverride: route.query.stingerThemeOverride || route.query.stingerTheme, noAnimation: (route.query.noAnimate || route.query.dontAnimate || route.query.noAnimation), noStinger: (route.query.noStinger || route.query.stinger === "false"), bodyClass: route.query.class || route.query.bodyClass,