mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-29 04:06:35 +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',
|
7, 'day',
|
||||||
];
|
];
|
||||||
|
|
||||||
export default function relativeTime(dateObj) {
|
export default function relativeTime(dateObj, localize) {
|
||||||
let delta = (new Date() - dateObj) / 1000;
|
let delta = (new Date() - dateObj) / 1000;
|
||||||
const tense = delta >= 0 ? 'past' : 'future';
|
const tense = delta >= 0 ? 'past' : 'future';
|
||||||
delta = Math.abs(delta);
|
delta = Math.abs(delta);
|
||||||
@ -17,20 +17,14 @@ export default function relativeTime(dateObj) {
|
|||||||
for (let i = 0; i < tests.length; i += 2) {
|
for (let i = 0; i < tests.length; i += 2) {
|
||||||
if (delta < tests[i]) {
|
if (delta < tests[i]) {
|
||||||
delta = Math.floor(delta);
|
delta = Math.floor(delta);
|
||||||
return {
|
const time = localize(`ui.components.relative_time.duration.${tests[i + 1]}`, 'count', delta);
|
||||||
tense,
|
return localize(`ui.components.relative_time.${tense}`, 'time', time);
|
||||||
value: delta,
|
|
||||||
unit: tests[i + 1]
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
delta /= tests[i];
|
delta /= tests[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
delta = Math.floor(delta);
|
delta = Math.floor(delta);
|
||||||
return {
|
const time = localize('ui.components.relative_time.duration.week', 'count', delta);
|
||||||
tense,
|
return localize(`ui.components.relative_time.${tense}`, 'time', time);
|
||||||
value: delta,
|
|
||||||
unit: 'week'
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
@ -59,10 +59,7 @@ class HaRelativeTime extends LocalizeMixin(PolymerElement) {
|
|||||||
if (!this.parsedDateTime) {
|
if (!this.parsedDateTime) {
|
||||||
root.innerHTML = this.localize('ui.components.relative_time.never');
|
root.innerHTML = this.localize('ui.components.relative_time.never');
|
||||||
} else {
|
} else {
|
||||||
const rel = relativeTime(this.parsedDateTime);
|
root.innerHTML = relativeTime(this.parsedDateTime, this.localize);
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -417,7 +417,14 @@
|
|||||||
"relative_time": {
|
"relative_time": {
|
||||||
"past": "{time} ago",
|
"past": "{time} ago",
|
||||||
"future": "In {time}",
|
"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": {
|
"history_charts": {
|
||||||
"loading_history": "Loading state history...",
|
"loading_history": "Loading state history...",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user