1- import { ClassNames , BitmapFeedback } from '../../../feedback'
1+ import { ClassNames , BitmapFeedback , Tally } from '../../../feedback'
22import { BaseRenderer } from '../base'
33
44/**
@@ -54,6 +54,11 @@ const COLORS: Record<string, string> = {
5454 [ ClassNames . UNKNOWN ] : '#4b4b4b' ,
5555}
5656
57+ const TALLY_COLORS : Record < string , string > = {
58+ [ Tally . CURRENT ] : '#ff0000' ,
59+ [ Tally . NEXT ] : '#00ff00' ,
60+ }
61+
5762export class BaseAdLibRenderer extends BaseRenderer {
5863 private getAdLibColor ( classNames : string [ ] | undefined ) : string {
5964 if ( classNames === undefined ) return COLORS [ ClassNames . UNKNOWN ]
@@ -62,6 +67,13 @@ export class BaseAdLibRenderer extends BaseRenderer {
6267 return COLORS [ ClassNames . UNKNOWN ]
6368 }
6469
70+ private getTallyColor ( tally : Tally | undefined ) : string | undefined {
71+ if ( tally === undefined ) return undefined
72+ if ( Tally . CURRENT & tally ) return TALLY_COLORS [ Tally . CURRENT ]
73+ if ( Tally . NEXT & tally ) return TALLY_COLORS [ Tally . NEXT ]
74+ return undefined
75+ }
76+
6577 private getFontSize ( label : string ) : number {
6678 if ( label . length <= 3 ) {
6779 return 2.5
@@ -86,7 +98,7 @@ export class BaseAdLibRenderer extends BaseRenderer {
8698 spring : true ,
8799 fontSize : this . percentToPixels ( this . getFontSize ( label ) ) ,
88100 lineHeight : this . percentToPixels ( this . getFontSize ( label ) ) ,
89- background : this . getAdLibColor ( feedback . classNames ) ,
101+ background : this . getTallyColor ( feedback . tally ) ?? this . getAdLibColor ( feedback . classNames ) ,
90102 textShadowOffset : 1 ,
91103 lineClamp : 4 ,
92104 } )
0 commit comments