@@ -20,6 +20,7 @@ const Countdown = ({ blok }) => {
20
20
const [ days , hours , minutes , seconds ] = UseCountdown ( countdownDate ) || [ ] ;
21
21
const displayHours = hasDays ? hours : convertDaysToHours ( days ) + hours ;
22
22
const displayHourPieRange = hasDays ? 24 : hourPieRange ;
23
+ const noTime = days + hours + minutes + seconds <= 0 ;
23
24
const daysClassName = useMemo ( ( ) => generateClassName ( 'days' ) , [ ] ) ;
24
25
const hoursClassName = useMemo ( ( ) => generateClassName ( 'hours' ) , [ ] ) ;
25
26
const minutesClassName = useMemo ( ( ) => generateClassName ( 'minutes' ) , [ ] ) ;
@@ -48,11 +49,6 @@ const Countdown = ({ blok }) => {
48
49
* the date prop returns in the following format: "2023-11-21 23:56"
49
50
* we have convert it to be usable for the js Date object
50
51
*/
51
- console . log ( date ) ;
52
- console . log ( daysClassName ) ;
53
- console . log ( hoursClassName ) ;
54
- console . log ( minutesClassName ) ;
55
- console . log ( secondsClassName ) ;
56
52
const dateArray = date . split ( ' ' ) ;
57
53
58
54
setCountdownDate ( new Date ( `${ dateArray [ 0 ] } T${ dateArray [ 1 ] } ` ) ) ;
@@ -62,71 +58,44 @@ const Countdown = ({ blok }) => {
62
58
63
59
return (
64
60
< SbEditable content = { blok } >
65
- { days + hours + minutes + seconds <= 0 ? (
66
- < div
67
- className = { classNames ( 'countdown-wrapper' , {
68
- [ 'has-days' ] : days > 0 ,
69
- } ) }
70
- >
71
- { days > 0 && hasDays && (
72
- < CountdownPie className = { daysClassName } descriptor = "days" percent = { 0 } >
73
- 0
74
- </ CountdownPie >
75
- ) }
76
- < CountdownPie className = { hoursClassName } descriptor = "hours" percent = { 0 } >
77
- 0
78
- </ CountdownPie >
79
- < CountdownPie className = { minutesClassName } descriptor = "minutes" percent = { 0 } >
80
- 0
81
- </ CountdownPie >
61
+ < div
62
+ aria-atomic = "true"
63
+ className = { classNames ( 'countdown-wrapper' , {
64
+ [ 'has-days' ] : days > 0 && hasDays ,
65
+ } ) }
66
+ role = "timer"
67
+ >
68
+ { days > 0 && hasDays && (
82
69
< CountdownPie
83
- className = { secondsClassName }
84
- descriptor = "seconds"
85
- percent = { 0 }
70
+ className = { daysClassName }
71
+ descriptor = { getDescriptorString ( 'day' , days ) }
72
+ percent = { noTime ? 0 : ( days / 29 ) * 100 }
86
73
>
87
- 0
74
+ { noTime ? 0 : days }
88
75
</ CountdownPie >
89
- </ div >
90
- ) : (
91
- < div
92
- aria-atomic = "true"
93
- className = { classNames ( 'countdown-wrapper' , {
94
- [ 'has-days' ] : days > 0 ,
95
- } ) }
96
- role = "timer"
76
+ ) }
77
+ < CountdownPie
78
+ className = { hoursClassName }
79
+ descriptor = { getDescriptorString ( 'hour' , displayHours ) }
80
+ percent = { noTime ? 0 : ( displayHours / displayHourPieRange ) * 100 }
97
81
>
98
- { days > 0 && hasDays && (
99
- < CountdownPie
100
- className = { daysClassName }
101
- descriptor = { getDescriptorString ( 'day' , days ) }
102
- percent = { ( days / 29 ) * 100 }
103
- >
104
- { days }
105
- </ CountdownPie >
106
- ) }
107
- < CountdownPie
108
- className = { hoursClassName }
109
- descriptor = { getDescriptorString ( 'hour' , displayHours ) }
110
- percent = { ( displayHours / displayHourPieRange ) * 100 }
111
- >
112
- { displayHours }
113
- </ CountdownPie >
114
- < CountdownPie
115
- className = { minutesClassName }
116
- descriptor = { getDescriptorString ( 'minute' , minutes ) }
117
- percent = { ( minutes / 60 ) * 100 }
118
- >
119
- { minutes }
120
- </ CountdownPie >
121
- < CountdownPie
122
- className = { secondsClassName }
123
- descriptor = { getDescriptorString ( 'second' , seconds ) }
124
- percent = { ( seconds / 60 ) * 100 }
125
- >
126
- { seconds }
127
- </ CountdownPie >
128
- </ div >
129
- ) }
82
+ { noTime ? 0 : displayHours }
83
+ </ CountdownPie >
84
+ < CountdownPie
85
+ className = { minutesClassName }
86
+ descriptor = { getDescriptorString ( 'minute' , minutes ) }
87
+ percent = { noTime ? 0 : ( minutes / 60 ) * 100 }
88
+ >
89
+ { noTime ? 0 : minutes }
90
+ </ CountdownPie >
91
+ < CountdownPie
92
+ className = { secondsClassName }
93
+ descriptor = { getDescriptorString ( 'second' , seconds ) }
94
+ percent = { noTime ? 0 : ( seconds / 60 ) * 100 }
95
+ >
96
+ { noTime ? 0 : seconds }
97
+ </ CountdownPie >
98
+ </ div >
130
99
</ SbEditable >
131
100
) ;
132
101
} ;
0 commit comments