forked from MapComplete/MapComplete
Android: Small fixes to landing page and passthrough
This commit is contained in:
parent
baa7379fbf
commit
77f4bc84aa
12 changed files with 55 additions and 31 deletions
|
@ -1,9 +1,12 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head><title>MapComplete Auth</title></head>
|
<head><title>MapComplete Auth</title>
|
||||||
|
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||||
|
|
||||||
|
</head>
|
||||||
<body>
|
<body>
|
||||||
Authorizing and redirecting, hang on...
|
Authorizing and redirecting, hang on...
|
||||||
<div id="token"></div>
|
<div id="token">Waiting for token</div>
|
||||||
<script type="module" src="./land.ts"></script>
|
<script type="module" src="./land.ts"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -12,6 +12,9 @@ const tokenSrc = new UIEventSource("")
|
||||||
new VariableUiElement(tokenSrc).AttachTo("token")
|
new VariableUiElement(tokenSrc).AttachTo("token")
|
||||||
new OsmConnection().finishLogin(async (_, token: string) => {
|
new OsmConnection().finishLogin(async (_, token: string) => {
|
||||||
console.log("Login finished, redirecting to passthrough; token is "+token)
|
console.log("Login finished, redirecting to passthrough; token is "+token)
|
||||||
await Utils.waitFor(10)
|
tokenSrc.set(token)
|
||||||
window.location.href = "https://app.mapcomplete.org/passthrough.html?oauth_token="+token
|
await Utils.waitFor(500)
|
||||||
|
window.location.href = "orgmapcomplete://passthrough.html?oauth_token="+token
|
||||||
|
await Utils.waitFor(500)
|
||||||
|
window.close()
|
||||||
})
|
})
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
|
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||||
|
|
||||||
<title>MapComplete Login</title>
|
<title>MapComplete Login</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
|
@ -9,6 +9,15 @@
|
||||||
"nl": "Wijzigingen gemaakt met MapComplete",
|
"nl": "Wijzigingen gemaakt met MapComplete",
|
||||||
"ko": "MapComplete로 이루어진 변경 사항"
|
"ko": "MapComplete로 이루어진 변경 사항"
|
||||||
},
|
},
|
||||||
|
"shortDescription": {
|
||||||
|
"en": "Shows changes made by MapComplete",
|
||||||
|
"de": "Zeigt die von MapComplete vorgenommenen Änderungen an",
|
||||||
|
"cs": "Zobrazuje změny provedené nástrojem MapComplete",
|
||||||
|
"es": "Muestra los cambios realizados por MapComplete",
|
||||||
|
"fr": "Afficher les modifications faites avec MapComplete",
|
||||||
|
"nl": "Toont wijzigingen gemaakt met MapComplete",
|
||||||
|
"ko": "MapComplete를 통해 이루어진 변경 사항을 표시합니다"
|
||||||
|
},
|
||||||
"description": {
|
"description": {
|
||||||
"en": "This maps shows all the changes made with MapComplete",
|
"en": "This maps shows all the changes made with MapComplete",
|
||||||
"de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen",
|
"de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen",
|
||||||
|
@ -19,17 +28,11 @@
|
||||||
"nl": "Deze kaarten tonen alle wijzigingen die zijn gemaakt met MapComplete",
|
"nl": "Deze kaarten tonen alle wijzigingen die zijn gemaakt met MapComplete",
|
||||||
"ko": "이 지도는 MapComplete를 사용하여 이루어진 모든 변경 사항을 표시합니다"
|
"ko": "이 지도는 MapComplete를 사용하여 이루어진 모든 변경 사항을 표시합니다"
|
||||||
},
|
},
|
||||||
"shortDescription": {
|
|
||||||
"en": "Shows changes made by MapComplete",
|
|
||||||
"de": "Zeigt die von MapComplete vorgenommenen Änderungen an",
|
|
||||||
"cs": "Zobrazuje změny provedené nástrojem MapComplete",
|
|
||||||
"es": "Muestra los cambios realizados por MapComplete",
|
|
||||||
"fr": "Afficher les modifications faites avec MapComplete",
|
|
||||||
"nl": "Toont wijzigingen gemaakt met MapComplete",
|
|
||||||
"ko": "MapComplete를 통해 이루어진 변경 사항을 표시합니다"
|
|
||||||
},
|
|
||||||
"icon": "./assets/svg/logo.svg",
|
"icon": "./assets/svg/logo.svg",
|
||||||
"hideFromOverview": true,
|
"hideFromOverview": true,
|
||||||
|
"startLat": 0,
|
||||||
|
"startLon": 0,
|
||||||
|
"startZoom": 1,
|
||||||
"layers": [
|
"layers": [
|
||||||
{
|
{
|
||||||
"id": "mapcomplete-changes",
|
"id": "mapcomplete-changes",
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -31,6 +31,8 @@ cp dist/*.css dist-full/
|
||||||
cp -r dist/css dist-full/
|
cp -r dist/css dist-full/
|
||||||
|
|
||||||
mkdir dist-full/assets
|
mkdir dist-full/assets
|
||||||
|
mkdir dist-full/assets/generated
|
||||||
|
|
||||||
cp dist/assets/*.js dist-full/assets
|
cp dist/assets/*.js dist-full/assets
|
||||||
cp dist/assets/*.svg dist-full/assets
|
cp dist/assets/*.svg dist-full/assets
|
||||||
cp dist/assets/*.woff dist-full/assets
|
cp dist/assets/*.woff dist-full/assets
|
||||||
|
@ -39,16 +41,16 @@ cp dist/assets/*.png dist-full/assets
|
||||||
cp dist/assets/*.json dist-full/assets
|
cp dist/assets/*.json dist-full/assets
|
||||||
cp dist/assets/*.css dist-full/assets
|
cp dist/assets/*.css dist-full/assets
|
||||||
|
|
||||||
cp -r dist/assets/data dist-full/assets
|
cp -r dist/assets/data dist-full/assets/
|
||||||
cp -r dist/assets/docs dist-full/assets
|
cp -r dist/assets/docs dist-full/assets/
|
||||||
cp -r dist/assets/fonts dist-full/assets
|
cp -r dist/assets/fonts dist-full/assets/
|
||||||
cp -r dist/assets/langs dist-full/assets
|
cp -r dist/assets/langs dist-full/assets/
|
||||||
cp -r dist/assets/layers dist-full/assets
|
cp -r dist/assets/layers dist-full/assets/
|
||||||
cp -r dist/assets/png dist-full/assets
|
cp -r dist/assets/png dist-full/assets/
|
||||||
cp -r dist/assets/svg dist-full/assets
|
cp -r dist/assets/svg dist-full/assets/
|
||||||
cp -r dist/assets/templates dist-full/assets
|
cp -r dist/assets/templates dist-full/assets/
|
||||||
cp -r dist/assets/themes dist-full/assets
|
cp -r dist/assets/generated/themes/ dist-full/assets/generated/
|
||||||
|
cp -r dist/assets/themes dist-full/assets/
|
||||||
# mkdir dist-full/assets/generated
|
# mkdir dist-full/assets/generated
|
||||||
nvm use
|
nvm use
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,6 @@ interface OsmUserInfo {
|
||||||
}
|
}
|
||||||
|
|
||||||
export default interface UserDetails {
|
export default interface UserDetails {
|
||||||
loggedIn: boolean
|
|
||||||
name: string
|
name: string
|
||||||
uid: number
|
uid: number
|
||||||
csCount: number
|
csCount: number
|
||||||
|
@ -165,7 +164,6 @@ export class OsmConnection {
|
||||||
const ud = this.userDetails.data
|
const ud = this.userDetails.data
|
||||||
ud.csCount = 5678
|
ud.csCount = 5678
|
||||||
ud.uid = 42
|
ud.uid = 42
|
||||||
ud.loggedIn = true
|
|
||||||
ud.unreadMessages = 0
|
ud.unreadMessages = 0
|
||||||
ud.name = "Fake user"
|
ud.name = "Fake user"
|
||||||
ud.totalMessages = 42
|
ud.totalMessages = 42
|
||||||
|
@ -236,7 +234,6 @@ export class OsmConnection {
|
||||||
|
|
||||||
public LogOut() {
|
public LogOut() {
|
||||||
this.auth.logout()
|
this.auth.logout()
|
||||||
this.userDetails.data.loggedIn = false
|
|
||||||
this.userDetails.data.csCount = 0
|
this.userDetails.data.csCount = 0
|
||||||
this.userDetails.data.name = ""
|
this.userDetails.data.name = ""
|
||||||
this.userDetails.ping()
|
this.userDetails.ping()
|
||||||
|
@ -296,7 +293,6 @@ export class OsmConnection {
|
||||||
name: user.display_name,
|
name: user.display_name,
|
||||||
csCount: user.changesets.count,
|
csCount: user.changesets.count,
|
||||||
description: user.description,
|
description: user.description,
|
||||||
loggedIn: true,
|
|
||||||
backend: this.Backend(),
|
backend: this.Backend(),
|
||||||
home: user.home,
|
home: user.home,
|
||||||
languages: user.languages,
|
languages: user.languages,
|
||||||
|
|
|
@ -279,7 +279,7 @@ export class OsmPreferences {
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
private deleteKeyDirectly(k: string) {
|
private deleteKeyDirectly(k: string) {
|
||||||
if (!this.osmConnection.userDetails.data.loggedIn) {
|
if (!this.osmConnection.isLoggedIn.data) {
|
||||||
console.debug(`Not saving preference ${k}: user not logged in`)
|
console.debug(`Not saving preference ${k}: user not logged in`)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -312,7 +312,7 @@ export class OsmPreferences {
|
||||||
* Deletes it if 'v' is undefined, null or empty
|
* Deletes it if 'v' is undefined, null or empty
|
||||||
*/
|
*/
|
||||||
private async uploadKeyDirectly(k: string, v: string) {
|
private async uploadKeyDirectly(k: string, v: string) {
|
||||||
if (!this.osmConnection.userDetails.data.loggedIn) {
|
if (!this.osmConnection.isLoggedIn.data) {
|
||||||
console.debug(`Not saving preference ${k}: user not logged in`)
|
console.debug(`Not saving preference ${k}: user not logged in`)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,9 +14,11 @@ const DatabridgePluginSingleton = registerPlugin<DatabridgePlugin>("Databridge",
|
||||||
web: () => {
|
web: () => {
|
||||||
return <DatabridgePlugin>{
|
return <DatabridgePlugin>{
|
||||||
async request(options: { key: string }): Promise<{ value: string | object }> {
|
async request(options: { key: string }): Promise<{ value: string | object }> {
|
||||||
|
console.log("Android polyfill got request for", options.key)
|
||||||
if (options.key === "meta") {
|
if (options.key === "meta") {
|
||||||
return { value: "web" }
|
return { value: "web" }
|
||||||
}
|
}
|
||||||
|
return null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,6 +67,12 @@ export class AndroidPolyfill {
|
||||||
console.log("Registering back button callback", callback)
|
console.log("Registering back button callback", callback)
|
||||||
DatabridgePluginSingleton.request({ key: "backbutton" }).then(ev => {
|
DatabridgePluginSingleton.request({ key: "backbutton" }).then(ev => {
|
||||||
console.log("AndroidPolyfill: received backbutton: ", ev)
|
console.log("AndroidPolyfill: received backbutton: ", ev)
|
||||||
|
if(ev === null){
|
||||||
|
// Probably in web environment
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// We have to re-register every time
|
||||||
|
AndroidPolyfill.onBackButton(callback, options)
|
||||||
if (callback()) {
|
if (callback()) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -153,6 +153,10 @@ export default class ThemeViewStateHashActor {
|
||||||
state.previewedImage.setData(undefined)
|
state.previewedImage.setData(undefined)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
if(state.searchState.showSearchDrawer.data){
|
||||||
|
state.searchState.showSearchDrawer.set(false)
|
||||||
|
return true
|
||||||
|
}
|
||||||
if (state.guistate.closeAll()) {
|
if (state.guistate.closeAll()) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,6 +120,9 @@ export class MenuState {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (ps.menu.data) {
|
if (ps.menu.data) {
|
||||||
ps.menu.set(false)
|
ps.menu.set(false)
|
||||||
return true
|
return true
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"properties":{"name":"Bing Maps Aerial","id":"Bing","url":"https://ecn.t2.tiles.virtualearth.net/tiles/a{quadkey}.jpeg?g=14880&pr=odbl&n=f","type":"bing","category":"photo","min_zoom":1,"max_zoom":22},"type":"Feature","geometry":null}
|
{"properties":{"name":"Bing Maps Aerial","id":"Bing","url":"https://ecn.t3.tiles.virtualearth.net/tiles/a{quadkey}.jpeg?g=14880&pr=odbl&n=f","type":"bing","category":"photo","min_zoom":1,"max_zoom":22},"type":"Feature","geometry":null}
|
Loading…
Add table
Add a link
Reference in a new issue