mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-28 11:46:42 +00:00
Use separate duration for relative time (#1463)
This commit is contained in:
parent
7c5c5ea9b6
commit
4c3e039423
@ -9,7 +9,7 @@ const tests = [
|
||||
7, 'day',
|
||||
];
|
||||
|
||||
export default function relativeTime(dateObj) {
|
||||
export default function relativeTime(dateObj, localize) {
|
||||
let delta = (new Date() - dateObj) / 1000;
|
||||
const tense = delta >= 0 ? 'past' : 'future';
|
||||
delta = Math.abs(delta);
|
||||
@ -17,20 +17,14 @@ export default function relativeTime(dateObj) {
|
||||
for (let i = 0; i < tests.length; i += 2) {
|
||||
if (delta < tests[i]) {
|
||||
delta = Math.floor(delta);
|
||||
return {
|
||||
tense,
|
||||
value: delta,
|
||||
unit: tests[i + 1]
|
||||
};
|
||||
const time = localize(`ui.components.relative_time.duration.${tests[i + 1]}`, 'count', delta);
|
||||
return localize(`ui.components.relative_time.${tense}`, 'time', time);
|
||||
}
|
||||
|
||||
delta /= tests[i];
|
||||
}
|
||||
|
||||
delta = Math.floor(delta);
|
||||
return {
|
||||
tense,
|
||||
value: delta,
|
||||
unit: 'week'
|
||||
};
|
||||
const time = localize('ui.components.relative_time.duration.week', 'count', delta);
|
||||
return localize(`ui.components.relative_time.${tense}`, 'time', time);
|
||||
}
|
||||
|
@ -59,10 +59,7 @@ class HaRelativeTime extends LocalizeMixin(PolymerElement) {
|
||||
if (!this.parsedDateTime) {
|
||||
root.innerHTML = this.localize('ui.components.relative_time.never');
|
||||
} else {
|
||||
const rel = relativeTime(this.parsedDateTime);
|
||||
const time = this.localize(`ui.duration.${rel.unit}`, 'count', rel.value);
|
||||
const relTime = this.localize(`ui.components.relative_time.${rel.tense}`, 'time', time);
|
||||
root.innerHTML = relTime;
|
||||
root.innerHTML = relativeTime(this.parsedDateTime, this.localize);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -417,7 +417,14 @@
|
||||
"relative_time": {
|
||||
"past": "{time} ago",
|
||||
"future": "In {time}",
|
||||
"never": "Never"
|
||||
"never": "Never",
|
||||
"duration": {
|
||||
"second": "{count} {count, plural,\n one {second}\n other {seconds}\n}",
|
||||
"minute": "{count} {count, plural,\n one {minute}\n other {minutes}\n}",
|
||||
"hour": "{count} {count, plural,\n one {hour}\n other {hours}\n}",
|
||||
"day": "{count} {count, plural,\n one {day}\n other {days}\n}",
|
||||
"week": "{count} {count, plural,\n one {week}\n other {weeks}\n}"
|
||||
}
|
||||
},
|
||||
"history_charts": {
|
||||
"loading_history": "Loading state history...",
|
||||
|
Loading…
x
Reference in New Issue
Block a user