changes to new server

This commit is contained in:
Axel Iván Solano González
2022-01-31 22:14:51 -06:00
parent 4f0c273d43
commit 968d97ffeb
32 changed files with 270 additions and 442 deletions
+2 -1
View File
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.unam.acatan.sintomapp" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<widget id="com.unam.acatan.sintomapp" version="0.0.5" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>SintomApp-Acatlan</name>
<description>An app for control an visualizatión of a pandemic data like simphtoms evolution and sumarized data in the 'FES Acatán UNAM'</description>
<author email="aisgxvso@comunidad.unam.com" href="http://ionicframework.com/">Axel Iván Solano González</author>
@@ -11,6 +11,7 @@
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<preference name="android-targetSdkVersion" value="30" />
<preference name="ScrollEnabled" value="false" />
<preference name="android-minSdkVersion" value="19" />
<preference name="BackupWebStorage" value="none" />
+180 -262
View File
@@ -14,6 +14,7 @@
"@angular/platform-browser": "~9.1.6",
"@angular/platform-browser-dynamic": "~9.1.6",
"@angular/router": "~9.1.6",
"@awesome-cordova-plugins/file-transfer": "^5.38.0",
"@ionic-native/camera": "^5.28.0",
"@ionic-native/core": "^5.0.7",
"@ionic-native/file": "^5.28.0",
@@ -29,7 +30,6 @@
"@ionic/storage": "^2.3.0",
"chart.js": "^2.9.3",
"cordova": "^10.0.0",
"cordova-android": "^8.1.0",
"cordova-ios": "^5.1.1",
"cordova-plugin-badge": "^0.8.8",
"cordova-plugin-camera": "^4.1.0",
@@ -59,6 +59,7 @@
"@types/jasminewd2": "~2.0.3",
"@types/node": "^12.11.1",
"codelyzer": "^5.1.2",
"cordova-android": "^9.1.0",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^4.2.1",
@@ -809,6 +810,30 @@
"tslib": "^1.10.0"
}
},
"node_modules/@awesome-cordova-plugins/core": {
"version": "5.38.0",
"resolved": "https://registry.npmjs.org/@awesome-cordova-plugins/core/-/core-5.38.0.tgz",
"integrity": "sha512-mXMsQLTkJ/BBA0a44KutxpZK9jvC7vY7b8XuuiemPhC/1KxKQ9NKUQrQpDKanpHMoiiGRpLqoCFxLS2ShOzC3w==",
"peer": true,
"dependencies": {
"@types/cordova": "latest"
},
"peerDependencies": {
"rxjs": "^5.5.0 || ^6.5.0 || ^7.3.0"
}
},
"node_modules/@awesome-cordova-plugins/file-transfer": {
"version": "5.38.0",
"resolved": "https://registry.npmjs.org/@awesome-cordova-plugins/file-transfer/-/file-transfer-5.38.0.tgz",
"integrity": "sha512-TDJk1J2e28VCMO6iauY6QHZWp8xehmJq8Aco0GqCU0xy5If61MRXerVaunrtdal1BdS9uiAgEja0UKNWeZEhEw==",
"dependencies": {
"@types/cordova": "latest"
},
"peerDependencies": {
"@awesome-cordova-plugins/core": "^5.1.0",
"rxjs": "^5.5.0 || ^6.5.0 || ^7.3.0"
}
},
"node_modules/@babel/code-frame": {
"version": "7.12.13",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
@@ -3914,9 +3939,10 @@
"dev": true
},
"node_modules/android-versions": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.6.0.tgz",
"integrity": "sha512-ojC2Ig7b/KJ6iNtR8e4bacmOsJyEkoERk3CKMIsnH7kJz5z6551NMbrVaRb7KXYavu1d74Uhml/bfcmqT3nAcg==",
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.7.0.tgz",
"integrity": "sha512-TCy4b8Dk8YS6A23ZPfhSKqK66JHFq0D8avGYiwvYpjno6HrrcI0DRgHx9+jtkvWYmrsE2vQWgbHJhvGGhhOb0g==",
"dev": true,
"dependencies": {
"semver": "^5.7.1"
}
@@ -3925,6 +3951,7 @@
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true,
"bin": {
"semver": "bin/semver"
}
@@ -4193,11 +4220,6 @@
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"node_modules/array-ify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
"integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4="
},
"node_modules/array-union": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
@@ -5859,34 +5881,6 @@
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
"node_modules/compare-func": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.4.tgz",
"integrity": "sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q==",
"dependencies": {
"array-ify": "^1.0.0",
"dot-prop": "^3.0.0"
}
},
"node_modules/compare-func/node_modules/dot-prop": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz",
"integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
"dependencies": {
"is-obj": "^1.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/compare-func/node_modules/is-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/compare-versions": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz",
@@ -6362,138 +6356,98 @@
}
},
"node_modules/cordova-android": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-8.1.0.tgz",
"integrity": "sha512-eAY6g9q3raJ4P03wNdSWC5MOW1EfxoomWNXsPhi7T6Q9yAqmxqn0sLEUjLL1Ib0LCH3nKQWBXdxapQ5LgbHu+g==",
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-9.1.0.tgz",
"integrity": "sha512-bzOX9E4eQsOSpa06oZZ7XAGq3DwB73juhhj0oPqHH/khWk0mkCD4aiVYMFoc0fmIaSQvzbY1ww7L6UBW5pyGfg==",
"dev": true,
"dependencies": {
"android-versions": "^1.4.0",
"compare-func": "^1.3.2",
"cordova-common": "^3.2.0",
"nopt": "^4.0.1",
"android-versions": "^1.5.0",
"cordova-common": "^4.0.1",
"execa": "^4.0.2",
"fast-glob": "^3.2.4",
"fs-extra": "^9.0.1",
"is-path-inside": "^3.0.2",
"nopt": "^4.0.3",
"properties-parser": "^0.3.1",
"q": "^1.5.1",
"shelljs": "^0.5.3"
"semver": "^7.3.4",
"which": "^2.0.2"
},
"bin": {
"create": "bin/create"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/cordova-android/node_modules/bplist-parser": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
"integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=",
"dependencies": {
"big-integer": "^1.6.7"
}
},
"node_modules/cordova-android/node_modules/cordova-common": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-3.2.1.tgz",
"integrity": "sha512-xg0EnjnA6EipxXG8cupdlYQYeDA6+ghbN+Pjq88xN1LInwP6Bo7IyGBdSV5QnfjOvzShF9BBwSxBAv0FOO0C2Q==",
"dependencies": {
"ansi": "^0.3.1",
"bplist-parser": "^0.1.0",
"cross-spawn": "^6.0.5",
"elementtree": "0.1.7",
"endent": "^1.1.1",
"fs-extra": "^8.0.0",
"glob": "^7.1.2",
"minimatch": "^3.0.0",
"plist": "^3.0.1",
"q": "^1.4.1",
"strip-bom": "^3.0.0",
"underscore": "^1.8.3",
"which": "^1.3.0"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/cordova-android/node_modules/cross-spawn": {
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"dependencies": {
"nice-try": "^1.0.4",
"path-key": "^2.0.1",
"semver": "^5.5.0",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
},
"engines": {
"node": ">=4.8"
"node": ">=10.10.0"
}
},
"node_modules/cordova-android/node_modules/fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"dev": true,
"dependencies": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
},
"engines": {
"node": ">=6 <7 || >=8"
"node": ">=10"
}
},
"node_modules/cordova-android/node_modules/path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
"node_modules/cordova-android/node_modules/jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dev": true,
"dependencies": {
"universalify": "^2.0.0"
},
"optionalDependencies": {
"graceful-fs": "^4.1.6"
}
},
"node_modules/cordova-android/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=4"
"node": ">=10"
}
},
"node_modules/cordova-android/node_modules/semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"bin": {
"semver": "bin/semver"
}
},
"node_modules/cordova-android/node_modules/shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"dev": true,
"dependencies": {
"shebang-regex": "^1.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/cordova-android/node_modules/shebang-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/cordova-android/node_modules/strip-bom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
"engines": {
"node": ">=4"
}
},
"node_modules/cordova-android/node_modules/which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dependencies": {
"isexe": "^2.0.0"
"lru-cache": "^6.0.0"
},
"bin": {
"which": "bin/which"
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/cordova-android/node_modules/universalify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
"dev": true,
"engines": {
"node": ">= 10.0.0"
}
},
"node_modules/cordova-android/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/cordova-app-hello-world": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/cordova-app-hello-world/-/cordova-app-hello-world-5.0.0.tgz",
@@ -17115,6 +17069,7 @@
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.3.1.tgz",
"integrity": "sha1-ExbpU5/7/ZOEXjabIRAiq9R4dxo=",
"dev": true,
"dependencies": {
"string.prototype.codepointat": "^0.2.0"
},
@@ -20026,7 +19981,8 @@
"node_modules/string.prototype.codepointat": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz",
"integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg=="
"integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==",
"dev": true
},
"node_modules/string.prototype.trimend": {
"version": "1.0.4",
@@ -24477,6 +24433,23 @@
"integrity": "sha512-AvqjCsxdzBqOGsPuyCtHb2ckfNhCEGrDfkFmZ5jT9MwohCVbChCKtwEH4cwlph6Tpxvu1a4zSryxOf5q8OSsJQ==",
"requires": {}
},
"@awesome-cordova-plugins/core": {
"version": "5.38.0",
"resolved": "https://registry.npmjs.org/@awesome-cordova-plugins/core/-/core-5.38.0.tgz",
"integrity": "sha512-mXMsQLTkJ/BBA0a44KutxpZK9jvC7vY7b8XuuiemPhC/1KxKQ9NKUQrQpDKanpHMoiiGRpLqoCFxLS2ShOzC3w==",
"peer": true,
"requires": {
"@types/cordova": "latest"
}
},
"@awesome-cordova-plugins/file-transfer": {
"version": "5.38.0",
"resolved": "https://registry.npmjs.org/@awesome-cordova-plugins/file-transfer/-/file-transfer-5.38.0.tgz",
"integrity": "sha512-TDJk1J2e28VCMO6iauY6QHZWp8xehmJq8Aco0GqCU0xy5If61MRXerVaunrtdal1BdS9uiAgEja0UKNWeZEhEw==",
"requires": {
"@types/cordova": "latest"
}
},
"@babel/code-frame": {
"version": "7.12.13",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
@@ -27032,9 +27005,10 @@
"dev": true
},
"android-versions": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.6.0.tgz",
"integrity": "sha512-ojC2Ig7b/KJ6iNtR8e4bacmOsJyEkoERk3CKMIsnH7kJz5z6551NMbrVaRb7KXYavu1d74Uhml/bfcmqT3nAcg==",
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.7.0.tgz",
"integrity": "sha512-TCy4b8Dk8YS6A23ZPfhSKqK66JHFq0D8avGYiwvYpjno6HrrcI0DRgHx9+jtkvWYmrsE2vQWgbHJhvGGhhOb0g==",
"dev": true,
"requires": {
"semver": "^5.7.1"
},
@@ -27042,7 +27016,8 @@
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
}
}
},
@@ -27259,11 +27234,6 @@
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"array-ify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
"integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4="
},
"array-union": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
@@ -28607,30 +28577,6 @@
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
"compare-func": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.4.tgz",
"integrity": "sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q==",
"requires": {
"array-ify": "^1.0.0",
"dot-prop": "^3.0.0"
},
"dependencies": {
"dot-prop": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz",
"integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
"requires": {
"is-obj": "^1.0.0"
}
},
"is-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
}
}
},
"compare-versions": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz",
@@ -29078,104 +29024,74 @@
}
},
"cordova-android": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-8.1.0.tgz",
"integrity": "sha512-eAY6g9q3raJ4P03wNdSWC5MOW1EfxoomWNXsPhi7T6Q9yAqmxqn0sLEUjLL1Ib0LCH3nKQWBXdxapQ5LgbHu+g==",
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-9.1.0.tgz",
"integrity": "sha512-bzOX9E4eQsOSpa06oZZ7XAGq3DwB73juhhj0oPqHH/khWk0mkCD4aiVYMFoc0fmIaSQvzbY1ww7L6UBW5pyGfg==",
"dev": true,
"requires": {
"android-versions": "^1.4.0",
"compare-func": "^1.3.2",
"cordova-common": "^3.2.0",
"nopt": "^4.0.1",
"android-versions": "^1.5.0",
"cordova-common": "^4.0.1",
"execa": "^4.0.2",
"fast-glob": "^3.2.4",
"fs-extra": "^9.0.1",
"is-path-inside": "^3.0.2",
"nopt": "^4.0.3",
"properties-parser": "^0.3.1",
"q": "^1.5.1",
"shelljs": "^0.5.3"
"semver": "^7.3.4",
"which": "^2.0.2"
},
"dependencies": {
"bplist-parser": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
"integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=",
"requires": {
"big-integer": "^1.6.7"
}
},
"cordova-common": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-3.2.1.tgz",
"integrity": "sha512-xg0EnjnA6EipxXG8cupdlYQYeDA6+ghbN+Pjq88xN1LInwP6Bo7IyGBdSV5QnfjOvzShF9BBwSxBAv0FOO0C2Q==",
"requires": {
"ansi": "^0.3.1",
"bplist-parser": "^0.1.0",
"cross-spawn": "^6.0.5",
"elementtree": "0.1.7",
"endent": "^1.1.1",
"fs-extra": "^8.0.0",
"glob": "^7.1.2",
"minimatch": "^3.0.0",
"plist": "^3.0.1",
"q": "^1.4.1",
"strip-bom": "^3.0.0",
"underscore": "^1.8.3",
"which": "^1.3.0"
}
},
"cross-spawn": {
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"requires": {
"nice-try": "^1.0.4",
"path-key": "^2.0.1",
"semver": "^5.5.0",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
}
},
"fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"dev": true,
"requires": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
}
},
"path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
"jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0"
}
},
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
}
},
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
},
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
"dev": true,
"requires": {
"shebang-regex": "^1.0.0"
"lru-cache": "^6.0.0"
}
},
"shebang-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
"universalify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
"dev": true
},
"strip-bom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
},
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"requires": {
"isexe": "^2.0.0"
}
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
}
}
},
@@ -37624,6 +37540,7 @@
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.3.1.tgz",
"integrity": "sha1-ExbpU5/7/ZOEXjabIRAiq9R4dxo=",
"dev": true,
"requires": {
"string.prototype.codepointat": "^0.2.0"
}
@@ -39982,7 +39899,8 @@
"string.prototype.codepointat": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz",
"integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg=="
"integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==",
"dev": true
},
"string.prototype.trimend": {
"version": "1.0.4",
+4 -3
View File
@@ -19,6 +19,7 @@
"@angular/platform-browser": "~9.1.6",
"@angular/platform-browser-dynamic": "~9.1.6",
"@angular/router": "~9.1.6",
"@awesome-cordova-plugins/file-transfer": "^5.38.0",
"@ionic-native/camera": "^5.28.0",
"@ionic-native/core": "^5.0.7",
"@ionic-native/file": "^5.28.0",
@@ -34,7 +35,6 @@
"@ionic/storage": "^2.3.0",
"chart.js": "^2.9.3",
"cordova": "^10.0.0",
"cordova-android": "^8.1.0",
"cordova-ios": "^5.1.1",
"cordova-plugin-badge": "^0.8.8",
"cordova-plugin-camera": "^4.1.0",
@@ -64,6 +64,7 @@
"@types/jasminewd2": "~2.0.3",
"@types/node": "^12.11.1",
"codelyzer": "^5.1.2",
"cordova-android": "^9.1.0",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^4.2.1",
@@ -104,8 +105,8 @@
"cordova-plugin-filepath": {}
},
"platforms": [
"android",
"ios"
"ios",
"android"
]
}
}
+6 -9
View File
@@ -1,13 +1,10 @@
#!/bin/sh
ionic cordova build --release android
#Gradlew build
./platform/android/gradlew bundle
#Just excecute on first time it's the keystore generation
#keytool -genkey -v -keystore SintomApp.keystore -alias sintomApp -keyalg RSA -keysize 2048 -validity 10000
#Password APPp455w0rd
#Signing APP
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore SintomApp.keystore ./platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk sintomApp
#APK signed and ready to upload
zipalign -v 4 ./platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk sintomApp.apk
#pepk.jar it to upload keystore to Google console
#java -jar pepk.jar --keystore=SintomApp.keystore --alias=sintomApp --output=keySintomApp.zip --include-cert --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
ionic cordova build android --release --prod
cd platforms/android/
./gradlew bundle
cd ../..
#Password APPp455w0rd
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore SintomApp.keystore ./platforms/android/app/build/outputs/bundle/release/app-release.aab sintomApp
Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 KiB

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 424 KiB

After

Width:  |  Height:  |  Size: 423 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 668 KiB

After

Width:  |  Height:  |  Size: 668 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1024 KiB

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 474 KiB

After

Width:  |  Height:  |  Size: 474 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 733 KiB

After

Width:  |  Height:  |  Size: 734 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

+3 -3
View File
@@ -16,7 +16,7 @@
<div class="ion-padding">
<ion-list class="list-bg">
<ion-item color="none" *ngFor="let entry of carrers" (click)="presentActionSheet(entry)">
<ion-label>{{entry.name}}</ion-label>
<ion-label color="ligth">{{entry.name}}</ion-label>
</ion-item>
</ion-list>
</div>
@@ -30,7 +30,7 @@
<div class="ion-padding">
<ion-list class="list-bg">
<ion-item color="none" *ngFor="let secretary of secretarys" (click)="presentActionSheet(secretary)">
<ion-label>{{secretary.name}}</ion-label>
<ion-label color="ligth">{{secretary.name}}</ion-label>
</ion-item>
</ion-list>
</div>
@@ -44,7 +44,7 @@
<div class="ion-padding">
<ion-list class="list-bg">
<ion-item color="none" *ngFor="let sympthom of symptoms" (click)="sympthomActionSheet(sympthom)">
<ion-label>{{sympthom.description}}</ion-label>
<ion-label color="ligth">{{sympthom.description}}</ion-label>
</ion-item>
</ion-list>
</div>
+23 -2
View File
@@ -39,6 +39,20 @@ export class AdminPagePage implements OnInit {
role: 'destructive',
icon: 'trash',
handler: () => {
if(data.email!= undefined){
this.auth.store.create(`admin/disableSecretary/${data.id}`).subscribe()
this.secretarys = this.secretarys.filter(function(value, index, arr){
return value.id != data.id;
});
}
else {
this.auth.store.create(`admin/disableCarer/${data.id}`)
this.carrers = this.carrers.filter(function(value, index, arr){
return value.id != data.id;
});
}
console.log('Delete clicked');
}
}, {
@@ -52,7 +66,7 @@ export class AdminPagePage implements OnInit {
icon: 'close',
role: 'cancel',
handler: () => {
console.log('Cancel clicked');
console.log('clicked', data.email!=undefined);
}
}]
});
@@ -67,6 +81,13 @@ export class AdminPagePage implements OnInit {
role: 'destructive',
icon: 'trash',
handler: () => {
this.auth.store.create(`admin/disableSymptom/${data.id}`).subscribe(
res =>
console.log(res, data)
);
this.symptoms = this.symptoms.filter(function(value, index, arr){
return value.id != data.id;
});
console.log('Delete clicked');
}
},{
@@ -74,7 +95,7 @@ export class AdminPagePage implements OnInit {
icon: 'close',
role: 'cancel',
handler: () => {
console.log('Cancel clicked');
console.log("cancel");
}
}]
});
+4 -4
View File
@@ -16,13 +16,13 @@
</ion-item>
<ion-item color="translucent">
<ion-icon name="mail" color="secondary"></ion-icon>
<ion-label>Correo: </ion-label>
<ion-input placeholder="Coreo" [(ngModel)]= "data.email" ></ion-input>
<ion-label >Correo: </ion-label>
<ion-input placeholder="Coreo" [(ngModel)]= "data.email" color="ligth"></ion-input>
</ion-item>
<ion-item color="translucent">
<ion-icon name="call-outline" color="secondary"></ion-icon>
<ion-label>Teléfono: </ion-label>
<ion-input placeholder="Coreo" [(ngModel)]= "data.phone" ></ion-input>
<ion-input placeholder="Coreo" [(ngModel)]= "data.phone" color="ligth"></ion-input>
</ion-item>
<ion-button (click)="sendUpdate()">
<ion-icon name="save-outline" color="secondary"></ion-icon>
@@ -34,7 +34,7 @@
</ion-item>
<ion-list class="list-bg">
<ion-item color="translucent" *ngFor="let student of students" (click)="action(student)">
<ion-label>{{student.user.name}}</ion-label>
<ion-label color="ligth">{{student.user.name}}</ion-label>
<ion-icon name="fitness-outline" slot="end" *ngIf="student.infected==true"></ion-icon>
</ion-item>
</ion-list>
+4 -3
View File
@@ -1,7 +1,7 @@
<ion-header>
<ion-toolbar>
<ion-title text-center>
Covid-UNAM
SintomAppAcatlán
</ion-title>
</ion-toolbar>
</ion-header>
@@ -21,7 +21,8 @@
<ion-icon slot="start" name="person" color="secondary"></ion-icon>
<ion-input inputmode="numeric" placeholder="Número de cuenta"
[(ngModel)]="data.cuenta"
name="cuenta" minlength=6 maxlength=8
name="cuenta" minlength=6 maxlength=9
color="ligth"
required>
</ion-input>
</ion-item>
@@ -36,7 +37,7 @@
</ion-item>
<ion-item color="translucent">
<ion-icon name="glasses-outline" color="secondary" ></ion-icon>
<ion-select class="my-select" placeholder="Carrera" interface="action-sheet" [(ngModel)]=data.carrer name="carrer" required >
<ion-select class="my-select" placeholder="Carrera" interface="action-sheet" [(ngModel)]=data.carer name="carer" required >
<ion-select-option *ngFor="let entry of carreras" [(value)]=entry.code>{{entry.name}}</ion-select-option>
</ion-select>
</ion-item>
+2 -2
View File
@@ -14,7 +14,7 @@ import { AlertController } from '@ionic/angular';
export class LogginPage implements OnInit {
@ViewChild(NgForm, {static: true}) ngForm: NgForm;
errorMessage = null;
data = {cuenta: null, password: null, carrer:null};
data = {cuenta: null, password: null, carer:null};
constructor(private auth: AuthService,
private loading: LoadingController,
private nav: NavController,
@@ -47,7 +47,7 @@ export class LogginPage implements OnInit {
this.errorMessage = 'Complete el formulario';
return;
}
localStorage.setItem('carrer', this.data.carrer);
localStorage.setItem('carer', this.data.carer);
this.startLoading()
.then(async _ => {await new Promise(r => setTimeout(r, 2000)); console.log("Data", this.data.cuenta, " ,", this.data.password)})
.then(_ => this.auth.signup(this.data).toPromise())
+6 -26
View File
@@ -8,30 +8,10 @@
</ion-header>
<ion-content class="ion-padding">
<ion-item>
<ion-label>
<ion-row>
<ion-col size="6">
<ion-button (click)="takePhoto()" color="danger" expand="full" shape="round" size="large" type="button">
<ion-icon name="camera"></ion-icon>
</ion-button>
</ion-col>
<ion-col size="6">
<ion-button (click)="selectPhoto()" color="secondary" expand="full" shape="round" size="large" type="button">
<ion-icon name="image"></ion-icon>
</ion-button>
</ion-col>
</ion-row>
</ion-label>
</ion-item>
<ion-item *ngIf="error">
<ion-label>
<strong>{{error}}</strong>
</ion-label>
</ion-item>
<ion-item>
<ion-label>
<img *ngIf="myPhoto" [src]="myPhoto"/>
</ion-label>
</ion-item>
<div id="container">
<ion-item>
<input type="file" (change)="onFileChange($event)" />
</ion-item>
<ion-button color="danger" expand="full" (click)="submitForm()"> Subir Archivo </ion-button>
</div>
</ion-content>
+19 -110
View File
@@ -1,8 +1,6 @@
import { Component, OnInit,ChangeDetectorRef } from '@angular/core';
import { ToastController, LoadingController } from '@ionic/angular';
import { Observable, throwError } from 'rxjs';
import { Component, OnInit } from '@angular/core';
import { environment } from '../../environments/environment';
import { AuthService } from '../services/auth.service';
import { LoaderService } from '../services/loader.service';
const STORAGE_KEY = 'my_images';
@@ -16,119 +14,30 @@ const STORAGE_KEY = 'my_images';
export class PhotoPage implements OnInit {
public myPhoto: any;
public error: string | null = null;
private loading: any;
private file: File;
constructor(private auth:AuthService,
private loader:LoaderService,
private readonly loadingCtrl: LoadingController,
private readonly toastCtrl: ToastController,
private readonly changeDetectorRef: ChangeDetectorRef) {
constructor(
private auth:AuthService) {
}
ngOnInit(): void {
}
takePhoto(): void {
// @ts-ignore
const camera: any = navigator.camera;
camera.getPicture((imageData: any) => {
this.myPhoto = this.convertFileSrc(imageData);
this.changeDetectorRef.detectChanges();
this.changeDetectorRef.markForCheck();
this.uploadPhoto(imageData);
}, (error: any) => this.error = JSON.stringify(error), {
quality: 100,
destinationType: camera.DestinationType.FILE_URI,
sourceType: camera.PictureSourceType.CAMERA,
encodingType: camera.EncodingType.JPEG
});
onFileChange(fileChangeEvent) {
this.file = fileChangeEvent.target.files[0];
}
selectPhoto(): void {
// @ts-ignore
const camera: any = navigator.camera;
camera.getPicture((imageData: any) => {
this.myPhoto = this.convertFileSrc(imageData);
this.uploadPhoto(imageData);
}, (error: any) => this.error = JSON.stringify(error), {
sourceType: camera.PictureSourceType.PHOTOLIBRARY,
destinationType: camera.DestinationType.FILE_URI,
quality: 100,
encodingType: camera.EncodingType.JPEG,
});
}
private convertFileSrc(url: string): string {
if (!url) {
return url;
async submitForm() {
let formData = new FormData();
formData.append("file", this.file, this.file.name);
this.auth.store.create("file", formData).subscribe((response) =>
{if(response){
console.log("exito");
}else{
console.log("error");
}
if (url.startsWith('/')) {
// @ts-ignore
return window.WEBVIEW_SERVER_URL + '/_app_file_' + url;
}
if (url.startsWith('file://')) {
// @ts-ignore
return window.WEBVIEW_SERVER_URL + url.replace('file://', '/_app_file_');
}
if (url.startsWith('content://')) {
// @ts-ignore
return window.WEBVIEW_SERVER_URL + url.replace('content:/', '/_app_content_');
}
return url;
});
}
private async uploadPhoto(imageFileUri: any): Promise<void> {
this.error = null;
// @ts-ignore
window.resolveLocalFileSystemURL(imageFileUri,
(entry: any) => {
entry.file((file: any) => this.readFile(file));
});
}
private readFile(file: any): void {
const reader = new FileReader();
reader.onloadend = () => {
const formData = new FormData();
if (reader.result) {
const imgBlob = new Blob([reader.result], {type: file.type});
formData.append('file', imgBlob, file.name);
this.postData(formData);
}
};
reader.readAsArrayBuffer(file);
}
private postData(formData: FormData): void {
const request = this.auth.store.create("file",formData);
console.log(request);
this.loader.do(request, 'Guardando información');
}
private async showToast(ok: boolean | {}): Promise<void> {
if (ok === true) {
const toast = await this.toastCtrl.create({
message: 'Upload successful',
duration: 3000,
position: 'top'
});
toast.present();
} else {
const toast = await this.toastCtrl.create({
message: 'Upload failed',
duration: 3000,
position: 'top'
});
toast.present();
}
}
private handleError(error: any): Observable<never> {
const errMsg = error.message ? error.message : error.toString();
this.error = errMsg;
this.changeDetectorRef.detectChanges();
return throwError(errMsg);
}
}
+7 -7
View File
@@ -26,26 +26,26 @@
<ion-label>Dirección</ion-label>
</ion-item>
<ion-item color="translucent">
<ion-label>Calle: {{ data.street }}</ion-label>
<ion-label color="ligth">Calle: {{ data.street }}</ion-label>
</ion-item>
<ion-item color="translucent">
<ion-label>Número: {{ data.noExt }} </ion-label>
<ion-label color="ligth">Número: {{ data.noExt }} </ion-label>
</ion-item>
<ion-item color="translucent">
<ion-label>Número Interior: {{ data.noInt }}</ion-label>
<ion-label color="ligth">Número Interior: {{ data.noInt }}</ion-label>
</ion-item>
<ion-item color="translucent">
<ion-label>Colonia:{{ data.suburb }} </ion-label>
<ion-label color="ligth">Colonia:{{ data.suburb }} </ion-label>
</ion-item>
<ion-item color="translucent">
<ion-label>Código postal: {{ data.cp }}</ion-label>
<ion-label color="ligth">Código postal: {{ data.cp }}</ion-label>
</ion-item>
<ion-item color="translucent">
<ion-label>Estado: {{ data.state }}</ion-label>
<ion-label color="ligth">Estado: {{ data.state }}</ion-label>
</ion-item>
<ion-item color="translucent">
<ion-icon name="fitness-outline" color="secondary"></ion-icon>
<ion-label>Infectado: {{ data.infected }}</ion-label>
<ion-label color="ligth">Infectado: {{ data.infected }}</ion-label>
</ion-item>
<ion-list class="list-bg">
<ion-item color="none" *ngFor="let photo of photos" >
+9 -9
View File
@@ -13,18 +13,18 @@
<ion-item color="translucent">
<ion-icon name="person" color="secondary"></ion-icon>
<ion-label>Nombre: {{name}}</ion-label>
<ion-input placeholder="Nombre"></ion-input>
<ion-input placeholder="Nombre" color="ligth"></ion-input>
</ion-item>
<form #ngForm="ngForm">
<ion-item color="translucent">
<ion-icon name="mail" color="secondary"></ion-icon>
<ion-label>Correo: </ion-label>
<ion-input placeholder="Correo" type="email" name="email" pattern="email" [(ngModel)]="data.email" required></ion-input>
<ion-input placeholder="Correo" type="email" name="email" pattern="email" [(ngModel)]="data.email" color="ligth" required></ion-input>
</ion-item>
<ion-item color="translucent">
<ion-icon name="call-outline" color="secondary"></ion-icon>
<ion-label>Teléfono Personal: </ion-label>
<ion-input placeholder="Teléfono celular" type="tel" name="phone"[(ngModel)]="data.phone" required maxlength="10" minlength="10"></ion-input>
<ion-input placeholder="Teléfono celular" type="tel" name="phone"[(ngModel)]="data.phone" required maxlength="10" minlength="10" color="ligth"></ion-input>
</ion-item>
<ion-item color="translucent">
<ion-icon name="home-outline" color="secondary"></ion-icon>
@@ -32,27 +32,27 @@
</ion-item>
<ion-item color="translucent">
<ion-label>Calle: </ion-label>
<ion-input placeholder="Calle" [(ngModel)]="data.street" name="street" required></ion-input>
<ion-input placeholder="Calle" [(ngModel)]="data.street" name="street" color="ligth" required></ion-input>
</ion-item>
<ion-item color="translucent">
<ion-label>Número: </ion-label>
<ion-input placeholder="Número" type="number" [(ngModel)]="data.noExt" name="noExt" required></ion-input>
<ion-input placeholder="Número" type="number" [(ngModel)]="data.noExt" name="noExt" color="ligth" required></ion-input>
</ion-item>
<ion-item color="translucent">
<ion-label>Número Interior: </ion-label>
<ion-input placeholder="Número Interior" type="number" min=1 [(ngModel)]="data.noInt" name="noInt" required></ion-input>
<ion-input placeholder="Número Interior" type="number" min=1 [(ngModel)]="data.noInt" name="noInt" color="ligth" required></ion-input>
</ion-item>
<ion-item color="translucent">
<ion-label>Colonia: </ion-label>
<ion-input placeholder="Colonia" [(ngModel)]="data.suburb" name="suburb" required></ion-input>
<ion-input placeholder="Colonia" [(ngModel)]="data.suburb" name="suburb" color="ligth" required></ion-input>
</ion-item>
<ion-item color="translucent">
<ion-label>Código postal: </ion-label>
<ion-input placeholder="Codigo postal" inputmode="numeric" [(ngModel)]="data.cp" name="cp" required></ion-input>
<ion-input placeholder="Codigo postal" inputmode="numeric" [(ngModel)]="data.cp" name="cp" color="ligth" required></ion-input>
</ion-item>
<ion-item color="translucent">
<ion-label>Estado: </ion-label>
<ion-input placeholder="Estado" [(ngModel)]="data.state" name="state" required></ion-input>
<ion-input placeholder="Estado" [(ngModel)]="data.state" name="state" color="ligth" required></ion-input>
</ion-item>
</form>
</ion-content>
+1 -1
View File
@@ -4,7 +4,7 @@
export const environment = {
production: false,
server: 'http://192.168.0.7:9707/'
server: 'http://192.168.0.13:9707/'
};
/*