Migrated project to Kotlin and created a new frontend
This commit is contained in:
16
frontend/src/app/broadcast/broadcast.component.html
Normal file
16
frontend/src/app/broadcast/broadcast.component.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<div *ngIf="broadcasts$ | async as broadcasts">
|
||||
<h1>{{broadcasts.sender.alias || broadcasts.sender.address}}</h1>
|
||||
<mat-expansion-panel *ngFor="let message of broadcasts.messages">
|
||||
<mat-expansion-panel-header>
|
||||
<mat-panel-title>
|
||||
{{message.subject}}
|
||||
</mat-panel-title>
|
||||
<mat-panel-description>
|
||||
{{message.received * 1000 | date:'medium'}}
|
||||
</mat-panel-description>
|
||||
</mat-expansion-panel-header>
|
||||
|
||||
<pre><code>{{message.body}}</code></pre>
|
||||
|
||||
</mat-expansion-panel>
|
||||
</div>
|
4
frontend/src/app/broadcast/broadcast.component.scss
Normal file
4
frontend/src/app/broadcast/broadcast.component.scss
Normal file
@@ -0,0 +1,4 @@
|
||||
:host {
|
||||
margin: 2em;
|
||||
display: block;
|
||||
}
|
25
frontend/src/app/broadcast/broadcast.component.spec.ts
Normal file
25
frontend/src/app/broadcast/broadcast.component.spec.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { BroadcastComponent } from './broadcast.component';
|
||||
|
||||
describe('BroadcastComponent', () => {
|
||||
let component: BroadcastComponent;
|
||||
let fixture: ComponentFixture<BroadcastComponent>;
|
||||
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ BroadcastComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(BroadcastComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
40
frontend/src/app/broadcast/broadcast.component.ts
Normal file
40
frontend/src/app/broadcast/broadcast.component.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import {Component, OnInit} from '@angular/core';
|
||||
import {ActivatedRoute} from "@angular/router";
|
||||
import {HttpClient} from "@angular/common/http";
|
||||
import {Observable} from "rxjs/Observable";
|
||||
|
||||
@Component({
|
||||
selector: 'app-broadcast',
|
||||
templateUrl: './broadcast.component.html',
|
||||
styleUrls: ['./broadcast.component.scss']
|
||||
})
|
||||
export class BroadcastComponent implements OnInit {
|
||||
|
||||
broadcasts$: Observable<Broadcasts>;
|
||||
|
||||
constructor(private route: ActivatedRoute, private http: HttpClient) {
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
let address = this.route.snapshot.params['address'];
|
||||
this.broadcasts$ = this.http.get<Broadcasts>('http://localhost:8080/read/' + address)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Sender {
|
||||
address: String;
|
||||
alias: String;
|
||||
}
|
||||
|
||||
class Message {
|
||||
id: any;
|
||||
received: number;
|
||||
subject: string;
|
||||
body: string;
|
||||
}
|
||||
|
||||
class Broadcasts {
|
||||
sender: Sender;
|
||||
messages: Message[]
|
||||
}
|
Reference in New Issue
Block a user