+ {!hideMessagesOverlay && (
+
+ )}
+ {!userOptions?.hideNav &&
}
{time.isNegative ? `-${timer}` : timer}
diff --git a/client/src/features/viewers/timer/MinimalTimer.module.scss b/client/src/features/viewers/timer/MinimalTimer.module.scss
index 40a0637b0..f06f0248b 100644
--- a/client/src/features/viewers/timer/MinimalTimer.module.scss
+++ b/client/src/features/viewers/timer/MinimalTimer.module.scss
@@ -5,10 +5,11 @@
background: $bg-black;
height: 100vh;
color: $title-white;
- display: grid;
- place-content: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
gap: 1vw;
- border: 1vw solid $bg-black;
+ border: 1vw solid transparent;
}
.containerFinished {
@@ -21,6 +22,7 @@
.timerPaused {
font-family: "Arial Black", sans-serif;
font-size: 20vw;
+ position: relative;
color: inherit;
opacity: 1;
transition: 0.5s;
diff --git a/server/cypress/integration/navigation.spec.js b/server/cypress/integration/navigation.spec.js
index c37c85c94..f23e1305b 100644
--- a/server/cypress/integration/navigation.spec.js
+++ b/server/cypress/integration/navigation.spec.js
@@ -91,4 +91,33 @@ describe('validate routes', () => {
cy.visit('http://localhost:4001/cuelist');
cy.contains('Running Timer');
});
+
+ describe('minimal timer and options', () => {
+ it('renders base route', () => {
+ // base route
+ cy.visit('http://localhost:4001/minimal');
+ cy.get('[data-testid="minimal-timer"]').should('exist');
+ // ontime fallsback to stage timer on errors, so we check for that
+ cy.get('.App').should('not.contain', 'Time Now');
+ });
+
+ it('renders with defined options', () => {
+ // route with options
+ cy.visit(
+ 'http://localhost:4001/minimal?font=arial=1&size=1.5&text=0f0&key=ff0&hideovertime=true&alignx=start&aligny=end&offsetx=100&offsety=-100&hidemessages=true'
+ );
+ cy.get('[data-testid="minimal-timer"]').should('exist');
+ // ontime fallback to stage timer on errors, so we check for that
+ cy.get('.App').should('not.contain', 'Time Now');
+ });
+
+ it('hides nav on given option', () => {
+ // route with options for no nav
+ cy.visit('http://localhost:4001/minimal?hidenav=true');
+ cy.get('[data-testid="minimal-timer"]').should('exist');
+ // ontime fallback to stage timer on errors, so we check for that
+ cy.get('.App').should('not.contain', 'Time Now');
+ cy.get('[data-testid="nav-logo"]').should('not.exist');
+ });
+ });
});