File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ document . addEventListener ( 'DOMContentLoaded' , ( ) => {
2+ const updateInterval = 6e4 ; // updates relative time once a minute
3+ let lastRunAt = - 1 ;
4+
5+ /**
6+ * @type {FrameRequestCallback }
7+ */
8+ const updateRelativeTime = ( timestamp ) => {
9+ const elapsed = timestamp - lastRunAt ;
10+
11+ if ( elapsed < updateInterval && lastRunAt !== - 1 ) {
12+ requestAnimationFrame ( updateRelativeTime ) ;
13+ return ;
14+ }
15+
16+ document . querySelectorAll ( '[data-relstamp]' ) . forEach ( ( el ) => {
17+ if ( ! QPixel . DOM ?. isHTMLElement ( el ) ) {
18+ return ;
19+ }
20+
21+ const { relstamp } = el . dataset ;
22+
23+ if ( ! relstamp ) {
24+ return ;
25+ }
26+
27+ el . textContent = `${ QPixel . DOM . formatTimestamp ( relstamp ) } (${ moment ( relstamp ) . fromNow ( ) } )` ;
28+ } ) ;
29+
30+ lastRunAt = timestamp ;
31+ requestAnimationFrame ( updateRelativeTime ) ;
32+ } ;
33+
34+ requestAnimationFrame ( updateRelativeTime ) ;
35+ } ) ;
You can’t perform that action at this time.
0 commit comments