Fix gauge on ios 15.2 (#10992)

This commit is contained in:
Bram Kragten 2021-12-27 06:56:24 +01:00 committed by GitHub
parent dced053ba2
commit 7b840527b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -8,6 +8,10 @@ import { FrontendLocaleData } from "../data/translation";
import { getValueInPercentage, normalize } from "../util/calculate"; import { getValueInPercentage, normalize } from "../util/calculate";
import { isSafari } from "../util/is_safari"; import { isSafari } from "../util/is_safari";
// Safari version 15.2 and up behaves differently than other Safari versions.
// https://github.com/home-assistant/frontend/issues/10766
const isSafari152 = isSafari && /Version\/15\.[^0-1]/.test(navigator.userAgent);
const getAngle = (value: number, min: number, max: number) => { const getAngle = (value: number, min: number, max: number) => {
const percentage = getValueInPercentage(normalize(value, min, max), min, max); const percentage = getValueInPercentage(normalize(value, min, max), min, max);
return (percentage * 180) / 100; return (percentage * 180) / 100;
@ -113,7 +117,9 @@ export class Gauge extends LitElement {
: undefined : undefined
)} )}
transform=${ifDefined( transform=${ifDefined(
isSafari ? `rotate(${this._angle} 50 50)` : undefined isSafari
? `rotate(${this._angle}${isSafari152 ? "" : " 50 50"})`
: undefined
)} )}
> >
` `
@ -126,7 +132,9 @@ export class Gauge extends LitElement {
: undefined : undefined
)} )}
transform=${ifDefined( transform=${ifDefined(
isSafari ? `rotate(${this._angle} 50 50)` : undefined isSafari
? `rotate(${this._angle}${isSafari152 ? "" : " 50 50"})`
: undefined
)} )}
>` >`
} }