creation of new components for account panel
This commit is contained in:
parent
b1b92a17ac
commit
f1f809cc10
|
@ -50,6 +50,11 @@ import { NotificationService } from "./services/notification.service";
|
||||||
import { MediaViewerComponent } from './components/media-viewer/media-viewer.component';
|
import { MediaViewerComponent } from './components/media-viewer/media-viewer.component';
|
||||||
import { CreateStatusComponent } from './components/create-status/create-status.component';
|
import { CreateStatusComponent } from './components/create-status/create-status.component';
|
||||||
import { MediaComponent } from './components/create-status/media/media.component';
|
import { MediaComponent } from './components/create-status/media/media.component';
|
||||||
|
import { MyAccountComponent } from './components/floating-column/manage-account/my-account/my-account.component';
|
||||||
|
import { FavoritesComponent } from './components/floating-column/manage-account/favorites/favorites.component';
|
||||||
|
import { DirectMessagesComponent } from './components/floating-column/manage-account/direct-messages/direct-messages.component';
|
||||||
|
import { MentionsComponent } from './components/floating-column/manage-account/mentions/mentions.component';
|
||||||
|
import { NotificationsComponent } from './components/floating-column/manage-account/notifications/notifications.component';
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{ path: "", redirectTo: "home", pathMatch: "full" },
|
{ path: "", redirectTo: "home", pathMatch: "full" },
|
||||||
|
@ -89,7 +94,12 @@ const routes: Routes = [
|
||||||
NotificationHubComponent,
|
NotificationHubComponent,
|
||||||
MediaViewerComponent,
|
MediaViewerComponent,
|
||||||
CreateStatusComponent,
|
CreateStatusComponent,
|
||||||
MediaComponent
|
MediaComponent,
|
||||||
|
MyAccountComponent,
|
||||||
|
FavoritesComponent,
|
||||||
|
DirectMessagesComponent,
|
||||||
|
MentionsComponent,
|
||||||
|
NotificationsComponent
|
||||||
],
|
],
|
||||||
imports: [
|
imports: [
|
||||||
FontAwesomeModule,
|
FontAwesomeModule,
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
<p>
|
||||||
|
direct-messages works!
|
||||||
|
</p>
|
|
@ -0,0 +1,25 @@
|
||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { DirectMessagesComponent } from './direct-messages.component';
|
||||||
|
|
||||||
|
xdescribe('DirectMessagesComponent', () => {
|
||||||
|
let component: DirectMessagesComponent;
|
||||||
|
let fixture: ComponentFixture<DirectMessagesComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ DirectMessagesComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(DirectMessagesComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,15 @@
|
||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-direct-messages',
|
||||||
|
templateUrl: './direct-messages.component.html',
|
||||||
|
styleUrls: ['./direct-messages.component.scss']
|
||||||
|
})
|
||||||
|
export class DirectMessagesComponent implements OnInit {
|
||||||
|
|
||||||
|
constructor() { }
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
<p>
|
||||||
|
favorites works!
|
||||||
|
</p>
|
|
@ -0,0 +1,25 @@
|
||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { FavoritesComponent } from './favorites.component';
|
||||||
|
|
||||||
|
xdescribe('FavoritesComponent', () => {
|
||||||
|
let component: FavoritesComponent;
|
||||||
|
let fixture: ComponentFixture<FavoritesComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ FavoritesComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(FavoritesComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,15 @@
|
||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-favorites',
|
||||||
|
templateUrl: './favorites.component.html',
|
||||||
|
styleUrls: ['./favorites.component.scss']
|
||||||
|
})
|
||||||
|
export class FavoritesComponent implements OnInit {
|
||||||
|
|
||||||
|
constructor() { }
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -5,20 +5,25 @@
|
||||||
<img class="account__avatar" src="{{account.avatar}}" title="{{ account.info.id }} " />
|
<img class="account__avatar" src="{{account.avatar}}" title="{{ account.info.id }} " />
|
||||||
|
|
||||||
<!-- <a href class="account__header--button"><fa-icon [icon]="faUserPlus"></fa-icon></a> -->
|
<!-- <a href class="account__header--button"><fa-icon [icon]="faUserPlus"></fa-icon></a> -->
|
||||||
<a href class="account__header--button"
|
<a href class="account__header--button" title="favorites" (click)="loadSubPanel('favorites')"
|
||||||
[ngClass]="{ 'account__header--button--selected': true, 'account__header--button--notification': true }">
|
[ngClass]="{ 'account__header--button--selected': subPanel === 'favorites' }">
|
||||||
<fa-icon [icon]="faStar"></fa-icon>
|
<fa-icon [icon]="faStar"></fa-icon>
|
||||||
</a>
|
</a>
|
||||||
<a href class="account__header--button" [ngClass]="{ 'account__header--button--selected': true }">
|
<a href class="account__header--button" title="DM" (click)="loadSubPanel('dm')"
|
||||||
|
[ngClass]="{ 'account__header--button--selected': subPanel === 'dm' }">
|
||||||
<fa-icon [icon]="faEnvelope"></fa-icon>
|
<fa-icon [icon]="faEnvelope"></fa-icon>
|
||||||
</a>
|
</a>
|
||||||
<a href class="account__header--button" [ngClass]="{ 'account__header--button--selected': true }">
|
<a href class="account__header--button" title="mentions" (click)="loadSubPanel('mentions')"
|
||||||
|
[ngClass]="{ 'account__header--button--selected': subPanel === 'mentions', 'account__header--button--notification': hasMentions }">
|
||||||
<fa-icon [icon]="faAt"></fa-icon>
|
<fa-icon [icon]="faAt"></fa-icon>
|
||||||
</a>
|
</a>
|
||||||
<a href class="account__header--button" [ngClass]="{ 'account__header--button--selected': false }">
|
<a href class="account__header--button" title="notifications" (click)="loadSubPanel('notifications')"
|
||||||
|
[ngClass]="{ 'account__header--button--selected': subPanel === 'notifications',
|
||||||
|
'account__header--button--notification': hasNotifications }">
|
||||||
<fa-icon [icon]="faBell"></fa-icon>
|
<fa-icon [icon]="faBell"></fa-icon>
|
||||||
</a>
|
</a>
|
||||||
<a href class="account__header--button" [ngClass]="{ 'account__header--button--selected': true }">
|
<a href class="account__header--button" title="account" (click)="loadSubPanel('account')"
|
||||||
|
[ngClass]="{ 'account__header--button--selected': subPanel === 'account' }">
|
||||||
<fa-icon [icon]="faUser"></fa-icon>
|
<fa-icon [icon]="faUser"></fa-icon>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -42,7 +42,7 @@ $account-header-height: 60px;
|
||||||
&--notification {
|
&--notification {
|
||||||
color: rgb(250, 152, 41);
|
color: rgb(250, 152, 41);
|
||||||
&:hover {
|
&:hover {
|
||||||
color: rgb(250, 152, 41);
|
color: rgb(255, 185, 106);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,10 @@ export class ManageAccountComponent implements OnInit {
|
||||||
faStar = faStar;
|
faStar = faStar;
|
||||||
faUserPlus = faUserPlus;
|
faUserPlus = faUserPlus;
|
||||||
|
|
||||||
|
subPanel = 'account';
|
||||||
|
hasNotifications = false;
|
||||||
|
hasMentions = false;
|
||||||
|
|
||||||
@Input() account: AccountWrapper;
|
@Input() account: AccountWrapper;
|
||||||
|
|
||||||
availableStreams: StreamElement[] = [];
|
availableStreams: StreamElement[] = [];
|
||||||
|
@ -55,4 +59,9 @@ export class ManageAccountComponent implements OnInit {
|
||||||
this.navigationService.closePanel();
|
this.navigationService.closePanel();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
loadSubPanel(subpanel: string): boolean {
|
||||||
|
this.subPanel = subpanel;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
<p>
|
||||||
|
mentions works!
|
||||||
|
</p>
|
|
@ -0,0 +1,25 @@
|
||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { MentionsComponent } from './mentions.component';
|
||||||
|
|
||||||
|
xdescribe('MentionsComponent', () => {
|
||||||
|
let component: MentionsComponent;
|
||||||
|
let fixture: ComponentFixture<MentionsComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ MentionsComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(MentionsComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,15 @@
|
||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-mentions',
|
||||||
|
templateUrl: './mentions.component.html',
|
||||||
|
styleUrls: ['./mentions.component.scss']
|
||||||
|
})
|
||||||
|
export class MentionsComponent implements OnInit {
|
||||||
|
|
||||||
|
constructor() { }
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
<p>
|
||||||
|
my-account works!
|
||||||
|
</p>
|
|
@ -0,0 +1,25 @@
|
||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { MyAccountComponent } from './my-account.component';
|
||||||
|
|
||||||
|
xdescribe('MyAccountComponent', () => {
|
||||||
|
let component: MyAccountComponent;
|
||||||
|
let fixture: ComponentFixture<MyAccountComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ MyAccountComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(MyAccountComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,15 @@
|
||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-my-account',
|
||||||
|
templateUrl: './my-account.component.html',
|
||||||
|
styleUrls: ['./my-account.component.scss']
|
||||||
|
})
|
||||||
|
export class MyAccountComponent implements OnInit {
|
||||||
|
|
||||||
|
constructor() { }
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
<p>
|
||||||
|
notifications works!
|
||||||
|
</p>
|
|
@ -0,0 +1,25 @@
|
||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { NotificationsComponent } from './notifications.component';
|
||||||
|
|
||||||
|
xdescribe('NotificationsComponent', () => {
|
||||||
|
let component: NotificationsComponent;
|
||||||
|
let fixture: ComponentFixture<NotificationsComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ NotificationsComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(NotificationsComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,15 @@
|
||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-notifications',
|
||||||
|
templateUrl: './notifications.component.html',
|
||||||
|
styleUrls: ['./notifications.component.scss']
|
||||||
|
})
|
||||||
|
export class NotificationsComponent implements OnInit {
|
||||||
|
|
||||||
|
constructor() { }
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue