diff --git a/src/app/components/app-scaffold/app-scaffold.component.html b/src/app/components/app-scaffold/app-scaffold.component.html
index ea1e121..ed80193 100644
--- a/src/app/components/app-scaffold/app-scaffold.component.html
+++ b/src/app/components/app-scaffold/app-scaffold.component.html
@@ -1,6 +1,6 @@
Greenvironment
-
+
diff --git a/src/app/components/app-scaffold/app-scaffold.component.ts b/src/app/components/app-scaffold/app-scaffold.component.ts
index b2b9801..cc28c79 100644
--- a/src/app/components/app-scaffold/app-scaffold.component.ts
+++ b/src/app/components/app-scaffold/app-scaffold.component.ts
@@ -1,6 +1,7 @@
import { Component, OnInit } from '@angular/core';
import { LoginComponent } from '../login/login.component';
import { DatasharingService } from '../../services/datasharing.service';
+import { SelfService } from '../../services/selfservice/self.service';
@Component({
selector: 'app-scaffold',
@@ -10,13 +11,23 @@ import { DatasharingService } from '../../services/datasharing.service';
export class AppScaffoldComponent implements OnInit {
loggedIn: boolean = false;
- constructor(private data: DatasharingService) { }
+ userId: number;
+ profileUrl: string;
+
+ constructor(private data: DatasharingService,private selfservice: SelfService) { }
ngOnInit() {
this.data.currentUserInfo.subscribe(user => {
this.loggedIn = user.loggedIn;
- console.log('he´s comming through!');
+ this.userId = user.userID;
+ this.profileUrl = '/profile/' + this.userId;
+ console.log(user.loggedIn);
})
+ if(this.loggedIn != true){
+ console.log('user is not logged in');
+ this.selfservice.checkIfLoggedIn;
+ };
+ console.log('loggedIn is ' + this.loggedIn)
}
}
diff --git a/src/app/components/home/home.component.html b/src/app/components/home/home.component.html
index eeee9e5..8027381 100644
--- a/src/app/components/home/home.component.html
+++ b/src/app/components/home/home.component.html
@@ -1,5 +1,4 @@
-
diff --git a/src/app/components/home/home.component.sass b/src/app/components/home/home.component.sass
index ad9fbaa..b0d77dd 100644
--- a/src/app/components/home/home.component.sass
+++ b/src/app/components/home/home.component.sass
@@ -2,30 +2,23 @@
@import '../../../styles/vars.sass'
#content
- grid-template: 7.5% 92.5% / 25% 50% 25%
+ grid-template: 100%/ 25% 50% 25%
display: grid
min-height: 100vh
max-height: 100vh
-#headerbar
- @include gridPosition(1, 2, 1, 4)
- display: grid
- grid-template: 100% /30% 10% 10% 10% 10% 10% 15% 5%
- background-color: $cHeadPrimaryBackground
- color: $cHeadFontColor
-
#chatcontainer
- @include gridPosition(2, 3, 1, 2)
+ @include gridPosition(1, 3, 1, 2)
background-color: $cBoxBodyBackground
#feedcontainer
- @include gridPosition(2, 3, 2, 3)
+ @include gridPosition(1, 3, 2, 3)
display: grid
grid-template: 10% 90% /100%
background-color: $cSecondaryBackground
#socialcontainer
- @include gridPosition(2, 3, 3, 4)
+ @include gridPosition(1, 3, 3, 4)
display: grid
grid-template: 50% 50% /100%
background-color: $cBoxBodyBackground
\ No newline at end of file
diff --git a/src/app/components/profile/profile.component.html b/src/app/components/profile/profile.component.html
index 2c55d7c..b8344fe 100644
--- a/src/app/components/profile/profile.component.html
+++ b/src/app/components/profile/profile.component.html
@@ -20,7 +20,7 @@
{{user.points}} |
level: |
- {{user.level}} |
+ {{user.level}} ({{rankname}}) |
What´s the level?
diff --git a/src/app/components/profile/profile.component.ts b/src/app/components/profile/profile.component.ts
index 593a073..9c04ba0 100644
--- a/src/app/components/profile/profile.component.ts
+++ b/src/app/components/profile/profile.component.ts
@@ -15,6 +15,7 @@ export class ProfileComponent implements OnInit {
levellist: Levellist = new Levellist();
user: User = new User()
id : string
+ rankname: string;
profileNotFound : boolean = false;
constructor(private router: Router,private http: Http) { }
@@ -43,6 +44,7 @@ export class ProfileComponent implements OnInit {
this.user.handle = response.data.getUser.handle;
this.user.points = response.data.getUser.points;
this.user.level = response.data.getUser.level;
+ this.rankname = this.levellist.getLevelName(this.user.level);
this.user.friendIDs = response.data.getUser.friends;
} else{
this.profileNotFound = true;
diff --git a/src/app/models/levellist.ts b/src/app/models/levellist.ts
index 999f59e..5f15ad5 100644
--- a/src/app/models/levellist.ts
+++ b/src/app/models/levellist.ts
@@ -8,4 +8,18 @@ export class Levellist{
{level: 5, name: "Champion of the Earth", points: 500 },
{level: 6, name: "Intergallactic Superhero", points: 600 },
];
+
+ getLevelName(lev:number): any{
+ var name: string = 'not defined';
+ console.log(lev);
+ this.levels.forEach(rank => {
+ console.log(rank.level);
+ if(lev == rank.level){
+ console.log('found matching level');
+ name = rank.name;
+ }
+ });
+ return name
+ }
+
}
\ No newline at end of file
diff --git a/src/app/services/selfservice/self.service.spec.ts b/src/app/services/selfservice/self.service.spec.ts
new file mode 100644
index 0000000..7e958ec
--- /dev/null
+++ b/src/app/services/selfservice/self.service.spec.ts
@@ -0,0 +1,12 @@
+import { TestBed } from '@angular/core/testing';
+
+import { SelfService } from './self.service';
+
+describe('Selfservice', () => {
+ beforeEach(() => TestBed.configureTestingModule({}));
+
+ it('should be created', () => {
+ const service: SelfService = TestBed.get(SelfService);
+ expect(service).toBeTruthy();
+ });
+});
diff --git a/src/app/services/selfservice/self.service.ts b/src/app/services/selfservice/self.service.ts
new file mode 100644
index 0000000..e6623b6
--- /dev/null
+++ b/src/app/services/selfservice/self.service.ts
@@ -0,0 +1,69 @@
+import { Injectable, EventEmitter, Output } from '@angular/core';
+import {Http, URLSearchParams, Headers} from '@angular/http';
+import { Login } from '../../models/login';
+import { User } from 'src/app/models/user';
+import { DatasharingService } from '../datasharing.service';
+import { userInfo } from 'os';
+import {Router} from '@angular/router';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class SelfService {
+
+ constructor(private http: Http, private data: DatasharingService,private router: Router) { }
+
+ public checkIfLoggedIn() {
+ console.log('check if logged in...');
+ //let url = './graphql'
+ let url = 'https://greenvironment.net/graphql'
+
+ let headers = new Headers();
+ headers.set('Content-Type', 'application/json');
+
+ return this.http.post(url, this.buildJson())
+ .subscribe(response => {
+ console.log(response.text());
+ this.stillLoggedIn();
+ this.updateUserInfo(response.json())
+ }, error => {
+ this.notLoggedIn()
+ console.log(error.text())
+ }
+ );
+ }
+ public stillLoggedIn(){
+ console.log('user was logged in');
+ }
+
+ public notLoggedIn(){
+ console.log('user was not logged in');
+ //do routing
+ this.router.navigateByUrl('/login');
+ }
+
+ public updateUserInfo(response : any){
+ const user: User = new User();
+ user.loggedIn = true;
+ user.userID = response.data.login.id;
+ user.username = response.data.login.name;
+ user.handle = response.data.login.handle;
+ user.email = response.data.login.email;
+ user.points = response.data.login.points;
+ user.level = response.data.login.level;
+ user.friendIDs = response.data.login.friends;
+ user.groupIDs = response.data.login.groups;
+ user.chatIDs = response.data.login.chats;
+ user.requestIDs = response.data.login.requests;
+
+ this.data.changeUserInfo(user)
+ }
+
+ public buildJson(): any {
+ const body = {query: `query() {
+ getSelf(){id, name, handle, points, level, friends{id}, groups{id},chats{id}}
+ }`, variables: {
+ }};
+ return body;
+ }
+}//add ,receivedRequests{id} later