Refactoring

Move Top Played part.
Move pipes and dashboard
Rename object folder to model
Doc pipes
This commit is contained in:
2018-03-20 23:05:46 +01:00
parent efac03a1c7
commit 6300e9cfc7
27 changed files with 239 additions and 175 deletions

View File

@@ -0,0 +1,56 @@
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'convertMoreExact'
})
export class ConvertMoreExactPipe implements PipeTransform {
/**
* Convert milliseconds to rounded time e.g. ~84d
* @param timeMs time in milliseconds
*/
transform(timeMs: number): string {
let x = timeMs / 1000;
const seconds = Math.round(x % 60);
x /= 60;
let minutes = 0;
if (x > 1) { minutes = Math.round(x % 60); }
x /= 60;
let hours = 0;
if (x > 1) { hours = Math.round(x % 24); }
// TODO Enable/disable day
x /= 24;
const days = Math.round(x);
// Final string
let ret = '~';
if (days > 0) {
return '~' + (days + (hours > 12 ? 1 : 0)) + 'd';
}
if (hours > 0) {
if (minutes > 45) {
ret += (hours + 1) + 'h';
} else if (minutes < 15) {
ret += hours + 'h';
} else {
ret += hours + 'h 1/2';
}
return ret;
}
if (minutes > 0) {
ret += (minutes + (seconds > 35 ? 1 : 0)) + 'min';
return ret;
}
if (seconds > 0) {
if (seconds > 35) {
return '~1min';
} else {
return seconds + 's';
}
}
}
}