@@ -9,36 +9,48 @@ export function buildTooltip(bucket, e) {
99 // WARNING: XSS risk, make sure to sanitize properly
1010 // FIXME: Not actually tested against XSS attacks, implementation needs to be verified in tests.
1111 let inner = 'Unknown bucket type' ;
12+
13+ // if same day, don't show date
14+ let start = moment ( e . timestamp ) ;
15+ let stop = moment ( e . timestamp ) . add ( e . duration , 'seconds' ) ;
16+ if ( start . isSame ( stop , 'day' ) ) {
17+ start = start . format ( 'HH:mm:ss' ) ;
18+ stop = stop . format ( 'HH:mm:ss' ) ;
19+ } else {
20+ start = start . format ( 'YYYY-MM-DD HH:mm:ss' ) ;
21+ stop = stop . format ( 'YYYY-MM-DD HH:mm:ss' ) ;
22+ }
23+
1224 if ( bucket . type == 'currentwindow' ) {
1325 inner = `
14- <tr><th>App: </th><td>${ sanitize ( e . data . app ) } </td></tr>
15- <tr><th>Title: </th><td>${ sanitize ( e . data . title ) } </td></tr>
26+ <tr><th>App</th><td>${ sanitize ( e . data . app ) } </td></tr>
27+ <tr><th>Title</th><td>${ sanitize ( e . data . title ) } </td></tr>
1628 ` ;
1729 } else if ( bucket . type == 'web.tab.current' ) {
1830 inner = `
19- <tr><th>Title: </th><td>${ sanitize ( e . data . title ) } </td></tr>
20- <tr><th>URL: </th><td><a href=${ sanitize ( e . data . url ) } >${ sanitize ( e . data . url ) } </a></td></tr>
31+ <tr><th>Title</th><td>${ sanitize ( e . data . title ) } </td></tr>
32+ <tr><th>URL</th><td><a href=${ sanitize ( e . data . url ) } >${ sanitize ( e . data . url ) } </a></td></tr>
2133 ` ;
2234 } else if ( bucket . type . startsWith ( 'app.editor' ) ) {
2335 inner = `
24- <tr><th>Filename: </th><td>${ sanitize ( _ . last ( e . data . file . split ( '/' ) ) ) } </td></tr>
25- <tr><th>Path: </th><td>${ sanitize ( e . data . file ) } </td></tr>
26- <tr><th>Language: </th><td>${ sanitize ( e . data . language ) } </td></tr>
36+ <tr><th>Filename</th><td>${ sanitize ( _ . last ( e . data . file . split ( '/' ) ) ) } </td></tr>
37+ <tr><th>Path</th><td>${ sanitize ( e . data . file ) } </td></tr>
38+ <tr><th>Language</th><td>${ sanitize ( e . data . language ) } </td></tr>
2739 ` ;
2840 } else if ( bucket . type . startsWith ( 'general.stopwatch' ) ) {
2941 inner = `
30- <tr><th>Label: </th><td>${ sanitize ( e . data . label ) } </td></tr>
42+ <tr><th>Label</th><td>${ sanitize ( e . data . label ) } </td></tr>
3143 ` ;
3244 } else {
3345 inner = `
34- <tr><td >Data:</td ><td>${ sanitize ( JSON . stringify ( e . data ) ) } </td></tr>
46+ <tr><th >Data</th ><td>${ sanitize ( JSON . stringify ( e . data ) ) } </td></tr>
3547 ` ;
3648 }
3749 return `<table>
3850 <tr></tr>
39- <tr><th>Start: </th><td>${ moment ( e . timestamp ) . format ( ) } </td></tr>
40- <tr><th>Stop: </th><td>${ moment ( e . timestamp ) . add ( e . duration , 'seconds' ) . format ( ) } </td></tr>
41- <tr><th>Duration: </th><td>${ seconds_to_duration ( e . duration ) } </td></tr>
51+ <tr><th>Start</th><td>${ start } </td></tr>
52+ <tr><th>Stop</th><td>${ stop } </td></tr>
53+ <tr><th>Duration </th><td>${ seconds_to_duration ( e . duration ) } </td></tr>
4254 ${ inner }
4355 </table>` ;
4456}
0 commit comments