Skip to content

Commit c823a8d

Browse files
feat: Add blink animation to non-Outfront DUP Screens (#2978)
1 parent b0a7676 commit c823a8d

File tree

3 files changed

+42
-19
lines changed

3 files changed

+42
-19
lines changed

assets/css/dup.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
@use "dup/rotation/normal" as *;
2929
@use "dup/rotation/takeover";
3030
@use "dup/screen/normal" as *;
31+
@use "dup/screen_container";
3132
@use "dup/simulation" as *;
3233
@use "dup/viewport";
3334

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.screen-container {
2+
position: relative;
3+
margin: 0 auto;
4+
}
5+
6+
.screen-container-blink {
7+
position: absolute;
8+
top: 0;
9+
left: 0;
10+
width: 100%;
11+
height: 100%;
12+
background-color: black;
13+
}

assets/src/apps/dup.tsx

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ import PartialAlert from "Components/dup/partial_alert";
3131
import TakeoverAlert from "Components/dup/takeover_alert";
3232
import SimulationScreenPage from "Components/simulation_screen_page";
3333
import {
34+
BlinkConfig,
35+
BlinkConfigContext,
3436
ResponseMapper,
3537
ResponseMapperContext,
3638
} from "Components/screen_container";
@@ -118,6 +120,11 @@ const responseMapper: ResponseMapper = (apiResponse) => {
118120
}
119121
};
120122

123+
const blinkConfig: BlinkConfig = {
124+
refreshesPerBlink: 15,
125+
durationMs: 34,
126+
};
127+
121128
const App = (): JSX.Element => {
122129
const playerName = usePlayerName();
123130

@@ -130,27 +137,29 @@ const App = (): JSX.Element => {
130137
<ScreenPage id={`DUP-${playerName.trim()}`} />
131138
</Viewport>
132139
) : (
133-
<Router basename="v2/screen">
134-
<Routes>
135-
<Route path="dup_v2" element={<MultiScreenPage />} />
140+
<BlinkConfigContext.Provider value={blinkConfig}>
141+
<Router basename="v2/screen">
142+
<Routes>
143+
<Route path="dup_v2" element={<MultiScreenPage />} />
136144

137-
<Route
138-
path="pending?/:id"
139-
element={
140-
<Viewport>
141-
<ScreenPage />
142-
</Viewport>
143-
}
144-
/>
145+
<Route
146+
path="pending?/:id"
147+
element={
148+
<Viewport>
149+
<ScreenPage />
150+
</Viewport>
151+
}
152+
/>
145153

146-
<Route
147-
path="pending?/:id/simulation"
148-
element={
149-
<SimulationScreenPage opts={{ alternateView: true }} />
150-
}
151-
/>
152-
</Routes>
153-
</Router>
154+
<Route
155+
path="pending?/:id/simulation"
156+
element={
157+
<SimulationScreenPage opts={{ alternateView: true }} />
158+
}
159+
/>
160+
</Routes>
161+
</Router>
162+
</BlinkConfigContext.Provider>
154163
)}
155164
</ResponseMapperContext.Provider>
156165
</MappingContext.Provider>

0 commit comments

Comments
 (0)