diff --git a/config.xml b/config.xml index 7fba698..274250a 100644 --- a/config.xml +++ b/config.xml @@ -1,8 +1,8 @@ openSenseApp - An awesome Ionic/Cordova app. - Ionic Framework Team + Apps utilizing the openSenseMap and senseBox. + re:edu @@ -82,4 +82,6 @@ + + diff --git a/package-lock.json b/package-lock.json index e7886c3..09ef33c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1079,6 +1079,901 @@ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, + "cordova-android": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-7.1.1.tgz", + "integrity": "sha512-MAOwEMT3TuGjKw4McNzzYyHmxkWY3ozafbIgdMAvPzqSBVGIcn+H3SmWfaHtUXfmIPFliT171ICsSm6W5lZXEA==", + "requires": { + "abbrev": "1.1.1", + "android-versions": "1.3.0", + "ansi": "0.3.1", + "balanced-match": "1.0.0", + "base64-js": "1.2.0", + "big-integer": "1.6.32", + "bplist-parser": "0.1.1", + "brace-expansion": "1.1.11", + "concat-map": "0.0.1", + "cordova-common": "2.2.5", + "cordova-registry-mapper": "1.1.15", + "elementtree": "0.1.6", + "glob": "5.0.15", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "nopt": "3.0.1", + "once": "1.4.0", + "path-is-absolute": "1.0.1", + "plist": "2.1.0", + "properties-parser": "0.2.3", + "q": "1.4.1", + "sax": "0.3.5", + "semver": "5.5.0", + "shelljs": "0.5.3", + "underscore": "1.9.1", + "unorm": "1.4.1", + "wrappy": "1.0.2", + "xmlbuilder": "8.2.2", + "xmldom": "0.1.27" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "android-versions": { + "version": "1.3.0", + "bundled": true, + "requires": { + "semver": "5.5.0" + } + }, + "ansi": { + "version": "0.3.1", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "base64-js": { + "version": "1.2.0", + "bundled": true + }, + "big-integer": { + "version": "1.6.32", + "bundled": true + }, + "bplist-parser": { + "version": "0.1.1", + "bundled": true, + "requires": { + "big-integer": "1.6.32" + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "cordova-common": { + "version": "2.2.5", + "bundled": true, + "requires": { + "ansi": "0.3.1", + "bplist-parser": "0.1.1", + "cordova-registry-mapper": "1.1.15", + "elementtree": "0.1.6", + "glob": "5.0.15", + "minimatch": "3.0.4", + "plist": "2.1.0", + "q": "1.4.1", + "shelljs": "0.5.3", + "underscore": "1.9.1", + "unorm": "1.4.1" + } + }, + "cordova-registry-mapper": { + "version": "1.1.15", + "bundled": true + }, + "elementtree": { + "version": "0.1.6", + "bundled": true, + "requires": { + "sax": "0.3.5" + } + }, + "glob": { + "version": "5.0.15", + "bundled": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "nopt": { + "version": "3.0.1", + "bundled": true, + "requires": { + "abbrev": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "plist": { + "version": "2.1.0", + "bundled": true, + "requires": { + "base64-js": "1.2.0", + "xmlbuilder": "8.2.2", + "xmldom": "0.1.27" + } + }, + "properties-parser": { + "version": "0.2.3", + "bundled": true + }, + "q": { + "version": "1.4.1", + "bundled": true + }, + "sax": { + "version": "0.3.5", + "bundled": true + }, + "semver": { + "version": "5.5.0", + "bundled": true + }, + "shelljs": { + "version": "0.5.3", + "bundled": true + }, + "underscore": { + "version": "1.9.1", + "bundled": true + }, + "unorm": { + "version": "1.4.1", + "bundled": true + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "xmlbuilder": { + "version": "8.2.2", + "bundled": true + }, + "xmldom": { + "version": "0.1.27", + "bundled": true + } + } + }, + "cordova-browser": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cordova-browser/-/cordova-browser-5.0.4.tgz", + "integrity": "sha512-EDuG+9NGsaYpNSY6wF0kR34m1m38V+nRglGXxQ609fgMYrMHEYR2lg38nDr1Os4qeF0LJz8UQ7nq7Y+idg6Aig==", + "requires": { + "abbrev": "1.1.1", + "accepts": "1.3.5", + "ansi": "0.3.1", + "ansi-regex": "2.1.1", + "ansi-styles": "2.2.1", + "array-flatten": "1.1.1", + "balanced-match": "1.0.0", + "base64-js": "1.2.0", + "big-integer": "1.6.32", + "body-parser": "1.18.2", + "bplist-parser": "0.1.1", + "brace-expansion": "1.1.11", + "bytes": "3.0.0", + "chalk": "1.1.3", + "compressible": "2.0.14", + "compression": "1.7.2", + "concat-map": "0.0.1", + "content-disposition": "0.5.2", + "content-type": "1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "cordova-common": "2.2.5", + "cordova-registry-mapper": "1.1.15", + "cordova-serve": "2.0.1", + "debug": "2.6.9", + "depd": "1.1.2", + "destroy": "1.0.4", + "ee-first": "1.1.1", + "elementtree": "0.1.6", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "escape-string-regexp": "1.0.5", + "etag": "1.8.1", + "express": "4.16.3", + "finalhandler": "1.1.1", + "forwarded": "0.1.2", + "fresh": "0.5.2", + "glob": "5.0.15", + "has-ansi": "2.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.19", + "inflight": "1.0.6", + "inherits": "2.0.3", + "ipaddr.js": "1.6.0", + "is-wsl": "1.1.0", + "media-typer": "0.3.0", + "merge-descriptors": "1.0.1", + "methods": "1.1.2", + "mime": "1.4.1", + "mime-db": "1.33.0", + "mime-types": "2.1.18", + "minimatch": "3.0.4", + "ms": "2.0.0", + "negotiator": "0.6.1", + "nopt": "3.0.6", + "on-finished": "2.3.0", + "on-headers": "1.0.1", + "once": "1.4.0", + "opn": "5.3.0", + "parseurl": "1.3.2", + "path-is-absolute": "1.0.1", + "path-to-regexp": "0.1.7", + "plist": "2.1.0", + "proxy-addr": "2.0.3", + "q": "1.5.1", + "qs": "6.5.1", + "range-parser": "1.2.0", + "raw-body": "2.3.2", + "safe-buffer": "5.1.1", + "sax": "0.3.5", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "shelljs": "0.5.3", + "statuses": "1.4.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0", + "type-is": "1.6.16", + "underscore": "1.9.1", + "unorm": "1.4.1", + "unpipe": "1.0.0", + "utils-merge": "1.0.1", + "vary": "1.1.2", + "wrappy": "1.0.2", + "xmlbuilder": "8.2.2", + "xmldom": "0.1.27" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "accepts": { + "version": "1.3.5", + "bundled": true, + "requires": { + "mime-types": "2.1.18", + "negotiator": "0.6.1" + } + }, + "ansi": { + "version": "0.3.1", + "bundled": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "ansi-styles": { + "version": "2.2.1", + "bundled": true + }, + "array-flatten": { + "version": "1.1.1", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "base64-js": { + "version": "1.2.0", + "bundled": true + }, + "big-integer": { + "version": "1.6.32", + "bundled": true + }, + "body-parser": { + "version": "1.18.2", + "bundled": true, + "requires": { + "bytes": "3.0.0", + "content-type": "1.0.4", + "debug": "2.6.9", + "depd": "1.1.2", + "http-errors": "1.6.3", + "iconv-lite": "0.4.19", + "on-finished": "2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "1.6.16" + } + }, + "bplist-parser": { + "version": "0.1.1", + "bundled": true, + "requires": { + "big-integer": "1.6.32" + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "bytes": { + "version": "3.0.0", + "bundled": true + }, + "chalk": { + "version": "1.1.3", + "bundled": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "compressible": { + "version": "2.0.14", + "bundled": true, + "requires": { + "mime-db": "1.34.0" + }, + "dependencies": { + "mime-db": { + "version": "1.34.0", + "bundled": true + } + } + }, + "compression": { + "version": "1.7.2", + "bundled": true, + "requires": { + "accepts": "1.3.5", + "bytes": "3.0.0", + "compressible": "2.0.14", + "debug": "2.6.9", + "on-headers": "1.0.1", + "safe-buffer": "5.1.1", + "vary": "1.1.2" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "content-disposition": { + "version": "0.5.2", + "bundled": true + }, + "content-type": { + "version": "1.0.4", + "bundled": true + }, + "cookie": { + "version": "0.3.1", + "bundled": true + }, + "cookie-signature": { + "version": "1.0.6", + "bundled": true + }, + "cordova-common": { + "version": "2.2.5", + "bundled": true, + "requires": { + "ansi": "0.3.1", + "bplist-parser": "0.1.1", + "cordova-registry-mapper": "1.1.15", + "elementtree": "0.1.6", + "glob": "5.0.15", + "minimatch": "3.0.4", + "plist": "2.1.0", + "q": "1.5.1", + "shelljs": "0.5.3", + "underscore": "1.9.1", + "unorm": "1.4.1" + } + }, + "cordova-registry-mapper": { + "version": "1.1.15", + "bundled": true + }, + "cordova-serve": { + "version": "2.0.1", + "bundled": true, + "requires": { + "chalk": "1.1.3", + "compression": "1.7.2", + "express": "4.16.3", + "opn": "5.3.0", + "shelljs": "0.5.3" + } + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "bundled": true + }, + "destroy": { + "version": "1.0.4", + "bundled": true + }, + "ee-first": { + "version": "1.1.1", + "bundled": true + }, + "elementtree": { + "version": "0.1.6", + "bundled": true, + "requires": { + "sax": "0.3.5" + } + }, + "encodeurl": { + "version": "1.0.2", + "bundled": true + }, + "escape-html": { + "version": "1.0.3", + "bundled": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true + }, + "etag": { + "version": "1.8.1", + "bundled": true + }, + "express": { + "version": "4.16.3", + "bundled": true, + "requires": { + "accepts": "1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "1.1.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "2.0.3", + "qs": "6.5.1", + "range-parser": "1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "1.4.0", + "type-is": "1.6.16", + "utils-merge": "1.0.1", + "vary": "1.1.2" + } + }, + "finalhandler": { + "version": "1.1.1", + "bundled": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.4.0", + "unpipe": "1.0.0" + } + }, + "forwarded": { + "version": "0.1.2", + "bundled": true + }, + "fresh": { + "version": "0.5.2", + "bundled": true + }, + "glob": { + "version": "5.0.15", + "bundled": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "http-errors": { + "version": "1.6.3", + "bundled": true, + "requires": { + "depd": "1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": "1.4.0" + } + }, + "iconv-lite": { + "version": "0.4.19", + "bundled": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ipaddr.js": { + "version": "1.6.0", + "bundled": true + }, + "is-wsl": { + "version": "1.1.0", + "bundled": true + }, + "media-typer": { + "version": "0.3.0", + "bundled": true + }, + "merge-descriptors": { + "version": "1.0.1", + "bundled": true + }, + "methods": { + "version": "1.1.2", + "bundled": true + }, + "mime": { + "version": "1.4.1", + "bundled": true + }, + "mime-db": { + "version": "1.33.0", + "bundled": true + }, + "mime-types": { + "version": "2.1.18", + "bundled": true, + "requires": { + "mime-db": "1.33.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true + }, + "negotiator": { + "version": "0.6.1", + "bundled": true + }, + "nopt": { + "version": "3.0.6", + "bundled": true, + "requires": { + "abbrev": "1.1.1" + } + }, + "on-finished": { + "version": "2.3.0", + "bundled": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "bundled": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "opn": { + "version": "5.3.0", + "bundled": true, + "requires": { + "is-wsl": "1.1.0" + } + }, + "parseurl": { + "version": "1.3.2", + "bundled": true + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "path-to-regexp": { + "version": "0.1.7", + "bundled": true + }, + "plist": { + "version": "2.1.0", + "bundled": true, + "requires": { + "base64-js": "1.2.0", + "xmlbuilder": "8.2.2", + "xmldom": "0.1.27" + } + }, + "proxy-addr": { + "version": "2.0.3", + "bundled": true, + "requires": { + "forwarded": "0.1.2", + "ipaddr.js": "1.6.0" + } + }, + "q": { + "version": "1.5.1", + "bundled": true + }, + "qs": { + "version": "6.5.1", + "bundled": true + }, + "range-parser": { + "version": "1.2.0", + "bundled": true + }, + "raw-body": { + "version": "2.3.2", + "bundled": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "bundled": true + }, + "http-errors": { + "version": "1.6.2", + "bundled": true, + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": "1.4.0" + } + }, + "setprototypeof": { + "version": "1.0.3", + "bundled": true + } + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true + }, + "sax": { + "version": "0.3.5", + "bundled": true + }, + "send": { + "version": "0.16.2", + "bundled": true, + "requires": { + "debug": "2.6.9", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "fresh": "0.5.2", + "http-errors": "1.6.3", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" + } + }, + "serve-static": { + "version": "1.13.2", + "bundled": true, + "requires": { + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.16.2" + } + }, + "setprototypeof": { + "version": "1.1.0", + "bundled": true + }, + "shelljs": { + "version": "0.5.3", + "bundled": true + }, + "statuses": { + "version": "1.4.0", + "bundled": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "bundled": true + }, + "type-is": { + "version": "1.6.16", + "bundled": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "2.1.18" + } + }, + "underscore": { + "version": "1.9.1", + "bundled": true + }, + "unorm": { + "version": "1.4.1", + "bundled": true + }, + "unpipe": { + "version": "1.0.0", + "bundled": true + }, + "utils-merge": { + "version": "1.0.1", + "bundled": true + }, + "vary": { + "version": "1.1.2", + "bundled": true + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "xmlbuilder": { + "version": "8.2.2", + "bundled": true + }, + "xmldom": { + "version": "0.1.27", + "bundled": true + } + } + }, + "cordova-plugin-device": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-2.0.2.tgz", + "integrity": "sha1-/Ajzci5n7ve2xnv8mag99q3Quro=" + }, + "cordova-plugin-ionic-keyboard": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/cordova-plugin-ionic-keyboard/-/cordova-plugin-ionic-keyboard-2.1.3.tgz", + "integrity": "sha512-6ucQ6FdlLdBm8kJfFnzozmBTjru/0xekHP/dAhjoCZggkGRlgs8TsUJFkxa/bV+qi7Dlo50JjmpE4UMWAO+aOQ==" + }, + "cordova-plugin-ionic-webview": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-ionic-webview/-/cordova-plugin-ionic-webview-2.2.0.tgz", + "integrity": "sha512-mNTJaIRsz83Vntk2d3jrPCnlqEPQsfOJW6U2AzS7WV1T15Jj/STdXI/Uv1vIyvPVd9h1OLF+yu64ZsmQH2VRMQ==" + }, + "cordova-plugin-splashscreen": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-splashscreen/-/cordova-plugin-splashscreen-5.0.2.tgz", + "integrity": "sha1-dH509W4gHNWFvGLRS8oZ9oZ/8e0=" + }, + "cordova-plugin-statusbar": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-statusbar/-/cordova-plugin-statusbar-2.4.2.tgz", + "integrity": "sha1-/B+9wNjXAzp+jh8ff/FnrJvU+vY=" + }, + "cordova-plugin-whitelist": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.3.tgz", + "integrity": "sha1-tehezbv+Wu3tQKG/TuI3LmfZb7Q=" + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", diff --git a/package.json b/package.json index bd884e4..cba779a 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "openSenseApp", "version": "0.0.1", - "author": "Ionic Framework", - "homepage": "http://ionicframework.com/", + "author": "Reedu GmbH", + "homepage": "https://reedu.de/", "private": true, "scripts": { "start": "ionic-app-scripts serve", @@ -24,6 +24,14 @@ "@ionic-native/splash-screen": "~4.15.0", "@ionic-native/status-bar": "~4.15.0", "@ionic/storage": "2.2.0", + "cordova-android": "7.1.1", + "cordova-browser": "5.0.4", + "cordova-plugin-device": "^2.0.2", + "cordova-plugin-ionic-keyboard": "^2.1.3", + "cordova-plugin-ionic-webview": "^2.2.0", + "cordova-plugin-splashscreen": "^5.0.2", + "cordova-plugin-statusbar": "^2.4.2", + "cordova-plugin-whitelist": "^1.3.3", "ionic-angular": "3.9.2", "ionicons": "3.0.0", "rxjs": "5.5.11", @@ -34,5 +42,21 @@ "@ionic/app-scripts": "3.2.0", "typescript": "~2.6.2" }, - "description": "An Ionic project" -} + "description": "OpenSenseApps by IfGI 2018 App-Dev course.", + "cordova": { + "plugins": { + "cordova-plugin-whitelist": {}, + "cordova-plugin-statusbar": {}, + "cordova-plugin-device": {}, + "cordova-plugin-splashscreen": {}, + "cordova-plugin-ionic-webview": { + "ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+" + }, + "cordova-plugin-ionic-keyboard": {} + }, + "platforms": [ + "android", + "browser" + ] + } +} \ No newline at end of file diff --git a/resources/android/icon/drawable-hdpi-icon.png b/resources/android/icon/drawable-hdpi-icon.png index b910093..34f8091 100644 Binary files a/resources/android/icon/drawable-hdpi-icon.png and b/resources/android/icon/drawable-hdpi-icon.png differ diff --git a/resources/android/icon/drawable-ldpi-icon.png b/resources/android/icon/drawable-ldpi-icon.png index 16cd5db..ec18d06 100644 Binary files a/resources/android/icon/drawable-ldpi-icon.png and b/resources/android/icon/drawable-ldpi-icon.png differ diff --git a/resources/android/icon/drawable-mdpi-icon.png b/resources/android/icon/drawable-mdpi-icon.png index 64a6cbc..615f2ce 100644 Binary files a/resources/android/icon/drawable-mdpi-icon.png and b/resources/android/icon/drawable-mdpi-icon.png differ diff --git a/resources/android/icon/drawable-xhdpi-icon.png b/resources/android/icon/drawable-xhdpi-icon.png index 1605f69..8454027 100644 Binary files a/resources/android/icon/drawable-xhdpi-icon.png and b/resources/android/icon/drawable-xhdpi-icon.png differ diff --git a/resources/android/icon/drawable-xxhdpi-icon.png b/resources/android/icon/drawable-xxhdpi-icon.png index 56fb29e..595df67 100644 Binary files a/resources/android/icon/drawable-xxhdpi-icon.png and b/resources/android/icon/drawable-xxhdpi-icon.png differ diff --git a/resources/android/icon/drawable-xxxhdpi-icon.png b/resources/android/icon/drawable-xxxhdpi-icon.png index e4a9152..86a5d3f 100644 Binary files a/resources/android/icon/drawable-xxxhdpi-icon.png and b/resources/android/icon/drawable-xxxhdpi-icon.png differ diff --git a/resources/android/splash/drawable-land-hdpi-screen.png b/resources/android/splash/drawable-land-hdpi-screen.png index 66b12fe..0a7468d 100644 Binary files a/resources/android/splash/drawable-land-hdpi-screen.png and b/resources/android/splash/drawable-land-hdpi-screen.png differ diff --git a/resources/android/splash/drawable-land-ldpi-screen.png b/resources/android/splash/drawable-land-ldpi-screen.png index 7dceec7..fe64d92 100644 Binary files a/resources/android/splash/drawable-land-ldpi-screen.png and b/resources/android/splash/drawable-land-ldpi-screen.png differ diff --git a/resources/android/splash/drawable-land-mdpi-screen.png b/resources/android/splash/drawable-land-mdpi-screen.png index 0dc2ba7..96e81eb 100644 Binary files a/resources/android/splash/drawable-land-mdpi-screen.png and b/resources/android/splash/drawable-land-mdpi-screen.png differ diff --git a/resources/android/splash/drawable-land-xhdpi-screen.png b/resources/android/splash/drawable-land-xhdpi-screen.png index 39ae00c..d50ebf6 100644 Binary files a/resources/android/splash/drawable-land-xhdpi-screen.png and b/resources/android/splash/drawable-land-xhdpi-screen.png differ diff --git a/resources/android/splash/drawable-land-xxhdpi-screen.png b/resources/android/splash/drawable-land-xxhdpi-screen.png index 3f591b1..15c6584 100644 Binary files a/resources/android/splash/drawable-land-xxhdpi-screen.png and b/resources/android/splash/drawable-land-xxhdpi-screen.png differ diff --git a/resources/android/splash/drawable-land-xxxhdpi-screen.png b/resources/android/splash/drawable-land-xxxhdpi-screen.png index 253e6f1..bd04209 100644 Binary files a/resources/android/splash/drawable-land-xxxhdpi-screen.png and b/resources/android/splash/drawable-land-xxxhdpi-screen.png differ diff --git a/resources/android/splash/drawable-port-hdpi-screen.png b/resources/android/splash/drawable-port-hdpi-screen.png index e0dbb62..73efa7f 100644 Binary files a/resources/android/splash/drawable-port-hdpi-screen.png and b/resources/android/splash/drawable-port-hdpi-screen.png differ diff --git a/resources/android/splash/drawable-port-ldpi-screen.png b/resources/android/splash/drawable-port-ldpi-screen.png index 8e93c2d..652b453 100644 Binary files a/resources/android/splash/drawable-port-ldpi-screen.png and b/resources/android/splash/drawable-port-ldpi-screen.png differ diff --git a/resources/android/splash/drawable-port-mdpi-screen.png b/resources/android/splash/drawable-port-mdpi-screen.png index 0aaad62..0019c27 100644 Binary files a/resources/android/splash/drawable-port-mdpi-screen.png and b/resources/android/splash/drawable-port-mdpi-screen.png differ diff --git a/resources/android/splash/drawable-port-xhdpi-screen.png b/resources/android/splash/drawable-port-xhdpi-screen.png index 64c27f8..5f091fc 100644 Binary files a/resources/android/splash/drawable-port-xhdpi-screen.png and b/resources/android/splash/drawable-port-xhdpi-screen.png differ diff --git a/resources/android/splash/drawable-port-xxhdpi-screen.png b/resources/android/splash/drawable-port-xxhdpi-screen.png index f605e6a..d98419f 100644 Binary files a/resources/android/splash/drawable-port-xxhdpi-screen.png and b/resources/android/splash/drawable-port-xxhdpi-screen.png differ diff --git a/resources/android/splash/drawable-port-xxxhdpi-screen.png b/resources/android/splash/drawable-port-xxxhdpi-screen.png index 2b993cf..9d26848 100644 Binary files a/resources/android/splash/drawable-port-xxxhdpi-screen.png and b/resources/android/splash/drawable-port-xxxhdpi-screen.png differ diff --git a/resources/icon.png b/resources/icon.png index bee7766..843b316 100644 Binary files a/resources/icon.png and b/resources/icon.png differ diff --git a/resources/icon.png.md5 b/resources/icon.png.md5 new file mode 100644 index 0000000..6242785 --- /dev/null +++ b/resources/icon.png.md5 @@ -0,0 +1 @@ +41e1c536c5dfb47db1311f7335b357b3 \ No newline at end of file diff --git a/resources/icon2.png b/resources/icon2.png new file mode 100644 index 0000000..bee7766 Binary files /dev/null and b/resources/icon2.png differ diff --git a/resources/splash.png b/resources/splash.png index 960cb82..746e432 100644 Binary files a/resources/splash.png and b/resources/splash.png differ diff --git a/resources/splash.png.md5 b/resources/splash.png.md5 new file mode 100644 index 0000000..f888ffa --- /dev/null +++ b/resources/splash.png.md5 @@ -0,0 +1 @@ +287a089b0cd0ff44dfda2fd7bd7ad812 \ No newline at end of file diff --git a/resources/splash2.png b/resources/splash2.png new file mode 100644 index 0000000..960cb82 Binary files /dev/null and b/resources/splash2.png differ diff --git a/src/app/app.component.ts b/src/app/app.component.ts index ab78376..e94fb1b 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,5 +1,5 @@ -import { Component } from '@angular/core'; -import { Platform } from 'ionic-angular'; +import { Component, ViewChild } from '@angular/core'; +import { Nav, Platform } from 'ionic-angular'; import { StatusBar } from '@ionic-native/status-bar'; import { SplashScreen } from '@ionic-native/splash-screen'; @@ -7,10 +7,21 @@ import { HomePage } from '../pages/home/home'; @Component({ templateUrl: 'app.html' }) -export class MyApp { +export class openSenseApp { + + @ViewChild(Nav) nav: Nav; + rootPage:any = HomePage; + pages: Array<{title: string, component: any}> = [ + { title: 'Home', component: HomePage }, + { title: 'About', component: 'AboutPage' }, + { title: 'senseBox', component: 'SenseBoxPage' } + ]; + constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) { + + platform.ready().then(() => { // Okay, so the platform is ready and our plugins are available. // Here you can do any higher level native things you might need. @@ -18,5 +29,11 @@ export class MyApp { splashScreen.hide(); }); } + + openPage(page) { + // Reset the content nav to have just this page + // we wouldn't want the back button to show in this scenario + this.nav.setRoot(page.component); + } } diff --git a/src/app/app.html b/src/app/app.html index 7b88c96..d1a04fd 100644 --- a/src/app/app.html +++ b/src/app/app.html @@ -1 +1,20 @@ - + + + + Menu + + + + + + + + + + + + + + diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 13bde06..de3d9a5 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -4,27 +4,31 @@ import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular'; import { SplashScreen } from '@ionic-native/splash-screen'; import { StatusBar } from '@ionic-native/status-bar'; -import { MyApp } from './app.component'; +import { openSenseApp } from './app.component'; import { HomePage } from '../pages/home/home'; +import { ApiProvider } from '../providers/api/api'; +import { HttpClientModule } from '@angular/common/http'; @NgModule({ declarations: [ - MyApp, - HomePage + openSenseApp, + HomePage, ], imports: [ + HttpClientModule, BrowserModule, - IonicModule.forRoot(MyApp) + IonicModule.forRoot(openSenseApp) ], bootstrap: [IonicApp], entryComponents: [ - MyApp, + openSenseApp, HomePage ], providers: [ StatusBar, SplashScreen, - {provide: ErrorHandler, useClass: IonicErrorHandler} + {provide: ErrorHandler, useClass: IonicErrorHandler}, + ApiProvider ] }) export class AppModule {} diff --git a/src/app/app.scss b/src/app/app.scss index 1392a6e..336ebd2 100644 --- a/src/app/app.scss +++ b/src/app/app.scss @@ -14,3 +14,16 @@ // To declare rules for a specific mode, create a child rule // for the .md, .ios, or .wp mode classes. The mode class is // automatically applied to the element in the app. + + +.toolbar { + .toolbar-title { + color: white; + } + .button-inner { + color: white; + } + .toolbar-background { + background: map-get($colors, primary); + } +} \ No newline at end of file diff --git a/src/assets/icon/favicon.ico b/src/assets/icon/favicon.ico deleted file mode 100644 index d76fa29..0000000 Binary files a/src/assets/icon/favicon.ico and /dev/null differ diff --git a/src/assets/icon/favicon.png b/src/assets/icon/favicon.png new file mode 100644 index 0000000..5dc7b7b Binary files /dev/null and b/src/assets/icon/favicon.png differ diff --git a/src/assets/imgs/logo.png b/src/assets/imgs/logo.png index 80f631d..843b316 100644 Binary files a/src/assets/imgs/logo.png and b/src/assets/imgs/logo.png differ diff --git a/src/assets/imgs/sensebox_wort_und_logo_no_bg.svg b/src/assets/imgs/sensebox_wort_und_logo_no_bg.svg new file mode 100644 index 0000000..ca0aa18 --- /dev/null +++ b/src/assets/imgs/sensebox_wort_und_logo_no_bg.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/index.html b/src/index.html index e254871..212d7bd 100644 --- a/src/index.html +++ b/src/index.html @@ -2,12 +2,12 @@ - Ionic App + openSenseApp - + diff --git a/src/manifest.json b/src/manifest.json index f6456bb..f1d873c 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,11 +1,11 @@ { - "name": "Ionic", - "short_name": "Ionic", + "name": "openSenseApp", + "short_name": "openSenseApp", "start_url": "index.html", "display": "standalone", "icons": [{ "src": "assets/imgs/logo.png", - "sizes": "512x512", + "sizes": "377x376", "type": "image/png" }], "background_color": "#4e8ef7", diff --git a/src/pages/about/about.html b/src/pages/about/about.html new file mode 100644 index 0000000..ceda3e1 --- /dev/null +++ b/src/pages/about/about.html @@ -0,0 +1,27 @@ + + + + + About + + + + + +

+ These apps were made at IfGI 2018. +

+ + +
diff --git a/src/pages/about/about.module.ts b/src/pages/about/about.module.ts new file mode 100644 index 0000000..f180630 --- /dev/null +++ b/src/pages/about/about.module.ts @@ -0,0 +1,13 @@ +import { NgModule } from '@angular/core'; +import { IonicPageModule } from 'ionic-angular'; +import { AboutPage } from './about'; + +@NgModule({ + declarations: [ + AboutPage, + ], + imports: [ + IonicPageModule.forChild(AboutPage), + ], +}) +export class AboutPageModule {} diff --git a/src/pages/about/about.scss b/src/pages/about/about.scss new file mode 100644 index 0000000..55fe91c --- /dev/null +++ b/src/pages/about/about.scss @@ -0,0 +1,9 @@ +page-about p{ + color: map-get($colors, primary); +} + +ul { + margin-top: 2.2em; + list-style: none; + padding: 0; +} \ No newline at end of file diff --git a/src/pages/about/about.ts b/src/pages/about/about.ts new file mode 100644 index 0000000..6ff96d5 --- /dev/null +++ b/src/pages/about/about.ts @@ -0,0 +1,25 @@ +import { Component } from '@angular/core'; +import { IonicPage, NavController, NavParams } from 'ionic-angular'; + +/** + * Generated class for the AboutPage page. + * + * See https://ionicframework.com/docs/components/#navigation for more info on + * Ionic pages and navigation. + */ + +@IonicPage() +@Component({ + selector: 'page-about', + templateUrl: 'about.html', +}) +export class AboutPage { + + constructor(public navCtrl: NavController, public navParams: NavParams) { + } + + ionViewDidLoad() { + console.log('ionViewDidLoad AboutPage'); + } + +} diff --git a/src/pages/home/home.html b/src/pages/home/home.html index bbe6e77..2a4ef44 100644 --- a/src/pages/home/home.html +++ b/src/pages/home/home.html @@ -1,14 +1,13 @@ - - - Ionic Blank - - - + + + Home + + - The world is your oyster. -

- If you get lost, the docs will be your guide. -

+

Its all about sensors.

+

Create new pages for your project und link them in the menu please.

diff --git a/src/pages/sense-box/sense-box.html b/src/pages/sense-box/sense-box.html new file mode 100644 index 0000000..f226491 --- /dev/null +++ b/src/pages/sense-box/sense-box.html @@ -0,0 +1,35 @@ + + + + + senseBox + + + + + + + + + + +
+

{{boxData.name}}

+ +
+

{{sensor.title}}

+

{{sensor.lastMeasurement.value}}   {{sensor.unit}}

+
+
+
+ +
diff --git a/src/pages/sense-box/sense-box.module.ts b/src/pages/sense-box/sense-box.module.ts new file mode 100644 index 0000000..0926410 --- /dev/null +++ b/src/pages/sense-box/sense-box.module.ts @@ -0,0 +1,13 @@ +import { NgModule } from '@angular/core'; +import { IonicPageModule } from 'ionic-angular'; +import { SenseBoxPage } from './sense-box'; + +@NgModule({ + declarations: [ + SenseBoxPage, + ], + imports: [ + IonicPageModule.forChild(SenseBoxPage), + ], +}) +export class SenseBoxPageModule {} diff --git a/src/pages/sense-box/sense-box.scss b/src/pages/sense-box/sense-box.scss new file mode 100644 index 0000000..d9bc03a --- /dev/null +++ b/src/pages/sense-box/sense-box.scss @@ -0,0 +1,3 @@ +page-sense-box { + +} diff --git a/src/pages/sense-box/sense-box.ts b/src/pages/sense-box/sense-box.ts new file mode 100644 index 0000000..405d5f9 --- /dev/null +++ b/src/pages/sense-box/sense-box.ts @@ -0,0 +1,36 @@ +import { ApiProvider } from './../../providers/api/api'; +import { Component } from '@angular/core'; +import { IonicPage, NavController, NavParams } from 'ionic-angular'; + +/** + * Generated class for the SenseBoxPage page. + * + * See https://ionicframework.com/docs/components/#navigation for more info on + * Ionic pages and navigation. + */ + +@IonicPage() +@Component({ + selector: 'page-sense-box', + templateUrl: 'sense-box.html', +}) +export class SenseBoxPage { + + boxData: any; + + constructor(public navCtrl: NavController, public navParams: NavParams, private api: ApiProvider) { + } + + ionViewDidLoad() { + console.log('ionViewDidLoad SenseBoxPage'); + } + + getData(){ + this.api.getData().subscribe(res => { + console.log(res); + this.boxData = res; + }) + + } + +} diff --git a/src/providers/api/api.ts b/src/providers/api/api.ts new file mode 100644 index 0000000..2fe8bda --- /dev/null +++ b/src/providers/api/api.ts @@ -0,0 +1,24 @@ +import { HttpClient } from '@angular/common/http'; +import { Injectable } from '@angular/core'; + +/* + Generated class for the ApiProvider provider. + + See https://angular.io/guide/dependency-injection for more info on providers + and Angular DI. +*/ +@Injectable() +export class ApiProvider { + + private API_URL = 'https://api.testing.opensensemap.org' + + constructor(public http: HttpClient) { + console.log('Hello ApiProvider Provider'); + } + + + getData(){ + return this.http.get(`${this.API_URL}/boxes/5b0d436fd40a290019ef444d`); + } + +} diff --git a/src/theme/variables.scss b/src/theme/variables.scss index 18276a4..492d52d 100644 --- a/src/theme/variables.scss +++ b/src/theme/variables.scss @@ -33,15 +33,19 @@ $app-direction: ltr; // colors so you can add, rename and remove colors as needed. // The "primary" color is the only required color in the map. + + $colors: ( - primary: #488aff, - secondary: #32db64, + primary: #4EAF47, + secondary: #45beed, + yellow: #fff200, danger: #f53d3d, light: #f4f4f4, dark: #222 ); + // App iOS Variables // -------------------------------------------------- // iOS only Sass variables can go here diff --git a/typings/cordova-typings.d.ts b/typings/cordova-typings.d.ts new file mode 100644 index 0000000..108537a --- /dev/null +++ b/typings/cordova-typings.d.ts @@ -0,0 +1,3 @@ + +/// +/// \ No newline at end of file