Merge branch 'master' of gitfub.space:caspervk/nightr
This commit is contained in:
commit
bcf52d1876
|
@ -1,14 +1,9 @@
|
|||
<ActionBar title="Home" class="action-bar"></ActionBar>
|
||||
<ActionBar title="Nightr" class="action-bar"></ActionBar>
|
||||
|
||||
<ScrollView class="page">
|
||||
<AbsoluteLayout>
|
||||
<StackLayout class="float-btn-container">
|
||||
<ns-my-button (tap)=onTap($event) text="Nightr"></ns-my-button>
|
||||
</StackLayout>
|
||||
<StackLayout>
|
||||
<ns-locationButton></ns-locationButton>
|
||||
<ns-camera-button></ns-camera-button>
|
||||
<Button class="btn btn-primary" text="Result page" [nsRouterLink]="['/result-page']"></Button>
|
||||
</StackLayout>
|
||||
</AbsoluteLayout>
|
||||
</ScrollView>
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
import { Component, OnInit } from "@angular/core";
|
||||
import * as dialogs from "tns-core-modules/ui/dialogs";
|
||||
import { RouterExtensions } from "nativescript-angular/router";
|
||||
import { TouchGestureEventData, GestureEventData } from 'tns-core-modules/ui/gestures'
|
||||
import { TouchGestureEventData, GestureEventData } from 'tns-core-modules/ui/gestures';
|
||||
import { isEnabled, enableLocationRequest, getCurrentLocation, watchLocation, distance, clearWatch, Location } from "nativescript-geolocation";
|
||||
|
||||
import { MyHttpPostService } from '../services/my-http-post-service';
|
||||
|
||||
|
||||
|
|
|
@ -1,11 +1,26 @@
|
|||
.title-container
|
||||
.h2
|
||||
{
|
||||
font-family: sans-serif;
|
||||
font-size: 30px;
|
||||
padding: 5px;
|
||||
font-size: 35px;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
.h1
|
||||
{
|
||||
font-family: sans-serif;
|
||||
font-size: 100px;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
.h3
|
||||
{
|
||||
font-family: sans-serif;
|
||||
font-style: italic;
|
||||
font-size: 20px;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.page {
|
||||
background-color: lightskyblue;
|
||||
}
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
<ActionBar title="Result" class="action-bar"></ActionBar>
|
||||
|
||||
<ActionBar title="Nightr" class="action-bar"></ActionBar>
|
||||
<StackLayout class="page" height="100%">
|
||||
<StackLayout height="20%" class="title-container">
|
||||
<Label text="{{night}}"></Label>
|
||||
<Label text="{{percentage}}" textWrap="true"></Label>
|
||||
<StackLayout height="45%" class="title-container">
|
||||
<Label text="{{itis}}" class="h3"></Label>
|
||||
<Label text="{{night}}" class="h1"></Label>
|
||||
<Label text="{{percentage}}" textWrap="true" class="h2"></Label>
|
||||
<Label text="{{hereswhy}}" class="h3"></Label>
|
||||
</StackLayout>
|
||||
<ScrollView height='80%'>
|
||||
<ScrollView height='55%'>
|
||||
<ListView [items]="reasons" class="list-group">
|
||||
<ng-template let-reason="item" let-i="index" let-odd="odd" let-even="even">
|
||||
<StackLayout orientation="vertical" class="list-group-item">
|
||||
|
@ -16,3 +17,4 @@
|
|||
</ListView>
|
||||
</ScrollView>
|
||||
</StackLayout>
|
||||
<ActivityIndicator #activityIndicator [busy]="isBusy" originX ="0.5" originY="0.5" width="100" height="100" class="activity-indicator"></ActivityIndicator>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
import { MyHttpPostService } from '../services/my-http-post-service'
|
||||
import { MyHttpPostService } from '../services/my-http-post-service';
|
||||
import { MyGeoLocationService} from '../services/my-geo-location.service';
|
||||
import { MyBatteryInfoService } from '../services/my-battery-info.service';
|
||||
import { MyCameraService } from '../services/my-camera-service'
|
||||
import { MyCameraService } from '../services/my-camera-service';
|
||||
import { RouterExtensions } from 'nativescript-angular/router';
|
||||
import { Location } from 'nativescript-geolocation';
|
||||
|
||||
|
@ -21,6 +21,7 @@ class Reason {
|
|||
})
|
||||
export class ResultPageComponent implements OnInit {
|
||||
returnMessage: string = "";
|
||||
isBusy: boolean;
|
||||
myReturnJSON: Object;
|
||||
locationData: Location;
|
||||
myPicture: String;
|
||||
|
@ -28,9 +29,12 @@ export class ResultPageComponent implements OnInit {
|
|||
flat_earth: boolean;
|
||||
in_australia: boolean;
|
||||
night: string = "";
|
||||
percentage: string = "";
|
||||
percentage: string = "Calculating...";
|
||||
hereswhy: string = "";
|
||||
itis: string = "";
|
||||
reasons: Array<Reason>;
|
||||
JSONObject;
|
||||
public reasons: Array<Reason>;
|
||||
|
||||
|
||||
constructor(private myHttpPostSerivce: MyHttpPostService,
|
||||
private routerExtensions: RouterExtensions,
|
||||
|
@ -39,6 +43,8 @@ export class ResultPageComponent implements OnInit {
|
|||
private cameraService: MyCameraService,){ }
|
||||
|
||||
ngOnInit(): Promise<void> {
|
||||
this.isBusy = true;
|
||||
this.reasons = new Array<Reason>();
|
||||
return this.cameraService.takePicture().
|
||||
then(picture => {
|
||||
this.image = JSON.stringify(picture);
|
||||
|
@ -60,11 +66,13 @@ public submit(): void {
|
|||
}
|
||||
|
||||
private makePostRequest(): void {
|
||||
this.isBusy = true;
|
||||
this.myHttpPostSerivce
|
||||
.postData({ position: this.locationData, image: this.image, flat_earth: true, in_australia: true, })
|
||||
.subscribe(res => {
|
||||
//console.log('This is res', res);
|
||||
console.log('This is res', res);
|
||||
this.JSONObject = res;
|
||||
this.isBusy = false;
|
||||
this.addToArray();
|
||||
//console.log('THis is myreturnJSON', this.myReturnJSON);
|
||||
});
|
||||
|
@ -73,17 +81,19 @@ private makePostRequest(): void {
|
|||
public addToArray(): void {
|
||||
|
||||
if (this.JSONObject.night) {
|
||||
this.night = "It is night";
|
||||
this.night = "NIGHT";
|
||||
} else {
|
||||
this.night = "It is day";
|
||||
this.night = "DAY";
|
||||
}
|
||||
|
||||
this.percentage = "At least we are "+Math.floor(this.JSONObject.weighted_probabilities_mean*100)+"% sure, here's why"
|
||||
this.percentage = "At least we are "+Math.floor(this.JSONObject.weighted_probabilities_mean*100)+"% sure"
|
||||
for (let i = 0; i < this.JSONObject.predictions.length; i++) {
|
||||
var causestring = ""
|
||||
for (let j = 0; j < this.JSONObject.predictions[i].reasons.length; j++) {
|
||||
causestring = causestring + " - " + this.JSONObject.predictions[i].reasons[j] + "\n";
|
||||
}
|
||||
this.itis = "It is"
|
||||
this.hereswhy = "Here's why:"
|
||||
this.reasons.push(new Reason(""+Math.round(this.JSONObject.predictions[i].contribution*100)+"% - " + this.JSONObject.predictions[i].name, causestring));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,4 +11,4 @@ var app_module_1 = require("./app/app.module");
|
|||
// so we provide a wrapper platform object, platformNativeScriptDynamic,
|
||||
// that sets up a NativeScript application and can bootstrap the Angular framework.
|
||||
platform_1.platformNativeScriptDynamic().bootstrapModule(app_module_1.AppModule);
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1haW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwR0FBMEc7QUFDMUcsMERBQTRFO0FBRTVFLCtDQUE2QztBQUU3QyxnRkFBZ0Y7QUFDaEYsMEVBQTBFO0FBQzFFLHNFQUFzRTtBQUN0RSx5REFBeUQ7QUFDekQseUVBQXlFO0FBQ3pFLHdFQUF3RTtBQUN4RSxtRkFBbUY7QUFDbkYsc0NBQTJCLEVBQUUsQ0FBQyxlQUFlLENBQUMsc0JBQVMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdGhpcyBpbXBvcnQgc2hvdWxkIGJlIGZpcnN0IGluIG9yZGVyIHRvIGxvYWQgc29tZSByZXF1aXJlZCBzZXR0aW5ncyAobGlrZSBnbG9iYWxzIGFuZCByZWZsZWN0LW1ldGFkYXRhKVxyXG5pbXBvcnQgeyBwbGF0Zm9ybU5hdGl2ZVNjcmlwdER5bmFtaWMgfSBmcm9tIFwibmF0aXZlc2NyaXB0LWFuZ3VsYXIvcGxhdGZvcm1cIjtcclxuXHJcbmltcG9ydCB7IEFwcE1vZHVsZSB9IGZyb20gXCIuL2FwcC9hcHAubW9kdWxlXCI7XHJcblxyXG4vLyBBIHRyYWRpdGlvbmFsIE5hdGl2ZVNjcmlwdCBhcHBsaWNhdGlvbiBzdGFydHMgYnkgaW5pdGlhbGl6aW5nIGdsb2JhbCBvYmplY3RzLFxyXG4vLyBzZXR0aW5nIHVwIGdsb2JhbCBDU1MgcnVsZXMsIGNyZWF0aW5nLCBhbmQgbmF2aWdhdGluZyB0byB0aGUgbWFpbiBwYWdlLlxyXG4vLyBBbmd1bGFyIGFwcGxpY2F0aW9ucyBuZWVkIHRvIHRha2UgY2FyZSBvZiB0aGVpciBvd24gaW5pdGlhbGl6YXRpb246XHJcbi8vIG1vZHVsZXMsIGNvbXBvbmVudHMsIGRpcmVjdGl2ZXMsIHJvdXRlcywgREkgcHJvdmlkZXJzLlxyXG4vLyBBIE5hdGl2ZVNjcmlwdCBBbmd1bGFyIGFwcCBuZWVkcyB0byBtYWtlIGJvdGggcGFyYWRpZ21zIHdvcmsgdG9nZXRoZXIsXHJcbi8vIHNvIHdlIHByb3ZpZGUgYSB3cmFwcGVyIHBsYXRmb3JtIG9iamVjdCwgcGxhdGZvcm1OYXRpdmVTY3JpcHREeW5hbWljLFxyXG4vLyB0aGF0IHNldHMgdXAgYSBOYXRpdmVTY3JpcHQgYXBwbGljYXRpb24gYW5kIGNhbiBib290c3RyYXAgdGhlIEFuZ3VsYXIgZnJhbWV3b3JrLlxyXG5wbGF0Zm9ybU5hdGl2ZVNjcmlwdER5bmFtaWMoKS5ib290c3RyYXBNb2R1bGUoQXBwTW9kdWxlKTtcclxuIl19
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1haW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwR0FBMEc7QUFDMUcsMERBQTRFO0FBRTVFLCtDQUE2QztBQUU3QyxnRkFBZ0Y7QUFDaEYsMEVBQTBFO0FBQzFFLHNFQUFzRTtBQUN0RSx5REFBeUQ7QUFDekQseUVBQXlFO0FBQ3pFLHdFQUF3RTtBQUN4RSxtRkFBbUY7QUFDbkYsc0NBQTJCLEVBQUUsQ0FBQyxlQUFlLENBQUMsc0JBQVMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdGhpcyBpbXBvcnQgc2hvdWxkIGJlIGZpcnN0IGluIG9yZGVyIHRvIGxvYWQgc29tZSByZXF1aXJlZCBzZXR0aW5ncyAobGlrZSBnbG9iYWxzIGFuZCByZWZsZWN0LW1ldGFkYXRhKVxuaW1wb3J0IHsgcGxhdGZvcm1OYXRpdmVTY3JpcHREeW5hbWljIH0gZnJvbSBcIm5hdGl2ZXNjcmlwdC1hbmd1bGFyL3BsYXRmb3JtXCI7XG5cbmltcG9ydCB7IEFwcE1vZHVsZSB9IGZyb20gXCIuL2FwcC9hcHAubW9kdWxlXCI7XG5cbi8vIEEgdHJhZGl0aW9uYWwgTmF0aXZlU2NyaXB0IGFwcGxpY2F0aW9uIHN0YXJ0cyBieSBpbml0aWFsaXppbmcgZ2xvYmFsIG9iamVjdHMsXG4vLyBzZXR0aW5nIHVwIGdsb2JhbCBDU1MgcnVsZXMsIGNyZWF0aW5nLCBhbmQgbmF2aWdhdGluZyB0byB0aGUgbWFpbiBwYWdlLlxuLy8gQW5ndWxhciBhcHBsaWNhdGlvbnMgbmVlZCB0byB0YWtlIGNhcmUgb2YgdGhlaXIgb3duIGluaXRpYWxpemF0aW9uOlxuLy8gbW9kdWxlcywgY29tcG9uZW50cywgZGlyZWN0aXZlcywgcm91dGVzLCBESSBwcm92aWRlcnMuXG4vLyBBIE5hdGl2ZVNjcmlwdCBBbmd1bGFyIGFwcCBuZWVkcyB0byBtYWtlIGJvdGggcGFyYWRpZ21zIHdvcmsgdG9nZXRoZXIsXG4vLyBzbyB3ZSBwcm92aWRlIGEgd3JhcHBlciBwbGF0Zm9ybSBvYmplY3QsIHBsYXRmb3JtTmF0aXZlU2NyaXB0RHluYW1pYyxcbi8vIHRoYXQgc2V0cyB1cCBhIE5hdGl2ZVNjcmlwdCBhcHBsaWNhdGlvbiBhbmQgY2FuIGJvb3RzdHJhcCB0aGUgQW5ndWxhciBmcmFtZXdvcmsuXG5wbGF0Zm9ybU5hdGl2ZVNjcmlwdER5bmFtaWMoKS5ib290c3RyYXBNb2R1bGUoQXBwTW9kdWxlKTtcbiJdfQ==
|
Loading…
Reference in New Issue
Block a user