Add retina detection
This commit is contained in:
parent
6a92e417ec
commit
3e2fbcee20
3 changed files with 9 additions and 2 deletions
3
State.ts
3
State.ts
|
@ -34,7 +34,8 @@ export class State {
|
||||||
tagsVisibleAndWikiLinked: 150,
|
tagsVisibleAndWikiLinked: 150,
|
||||||
themeGeneratorReadOnlyUnlock: 200,
|
themeGeneratorReadOnlyUnlock: 200,
|
||||||
themeGeneratorFullUnlock: 500,
|
themeGeneratorFullUnlock: 500,
|
||||||
addNewPointWithUnreadMessagesUnlock: 500
|
addNewPointWithUnreadMessagesUnlock: 500,
|
||||||
|
minZoomLevelToAddNewPoints: (Utils.isRetina() ? 18 : 19)
|
||||||
};
|
};
|
||||||
|
|
||||||
public static runningFromConsole: boolean = false;
|
public static runningFromConsole: boolean = false;
|
||||||
|
|
|
@ -204,7 +204,7 @@ export class SimpleAddUI extends UIElement {
|
||||||
"</span>"]).Render();
|
"</span>"]).Render();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (State.state.locationControl.data.zoom < 19) {
|
if (State.state.locationControl.data.zoom < State.userJourney.minZoomLevelToAddNewPoints) {
|
||||||
return new Combine([header, Translations.t.general.add.zoomInFurther]).Render()
|
return new Combine([header, Translations.t.general.add.zoomInFurther]).Render()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
6
Utils.ts
6
Utils.ts
|
@ -97,4 +97,10 @@ export class Utils {
|
||||||
return [a.substr(0, index), a.substr(index+sep.length)];
|
return [a.substr(0, index), a.substr(index+sep.length)];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static isRetina() : boolean{
|
||||||
|
// The cause for this line of code: https://github.com/pietervdvn/MapComplete/issues/115
|
||||||
|
// See https://stackoverflow.com/questions/19689715/what-is-the-best-way-to-detect-retina-support-on-a-device-using-javascript
|
||||||
|
return ((window.matchMedia && (window.matchMedia('only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx), only screen and (min-resolution: 75.6dpcm)').matches || window.matchMedia('only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min--moz-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2)').matches)) || (window.devicePixelRatio && window.devicePixelRatio >= 2));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue