From caaa301349639a5c8f725f4f22e7a3c10de139f3 Mon Sep 17 00:00:00 2001 From: Nicolas Constant Date: Fri, 23 Aug 2019 22:59:57 -0400 Subject: [PATCH] added poll-editor and scheduler components --- src/app/app.module.ts | 6 ++++- .../create-status.component.html | 12 +++++++++ .../create-status.component.scss | 7 ++++++ .../create-status/create-status.component.ts | 18 +++++++++++-- .../poll-editor/poll-editor.component.html | 3 +++ .../poll-editor/poll-editor.component.scss | 0 .../poll-editor/poll-editor.component.spec.ts | 25 +++++++++++++++++++ .../poll-editor/poll-editor.component.ts | 15 +++++++++++ .../status-scheduler.component.html | 3 +++ .../status-scheduler.component.scss | 0 .../status-scheduler.component.spec.ts | 25 +++++++++++++++++++ .../status-scheduler.component.ts | 15 +++++++++++ 12 files changed, 126 insertions(+), 3 deletions(-) create mode 100644 src/app/components/create-status/poll-editor/poll-editor.component.html create mode 100644 src/app/components/create-status/poll-editor/poll-editor.component.scss create mode 100644 src/app/components/create-status/poll-editor/poll-editor.component.spec.ts create mode 100644 src/app/components/create-status/poll-editor/poll-editor.component.ts create mode 100644 src/app/components/create-status/status-scheduler/status-scheduler.component.html create mode 100644 src/app/components/create-status/status-scheduler/status-scheduler.component.scss create mode 100644 src/app/components/create-status/status-scheduler/status-scheduler.component.spec.ts create mode 100644 src/app/components/create-status/status-scheduler/status-scheduler.component.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 27e7c5e3..63b1fa1e 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -68,6 +68,8 @@ import { TimeLeftPipe } from './pipes/time-left.pipe'; import { AutosuggestComponent } from './components/create-status/autosuggest/autosuggest.component'; import { EmojiPickerComponent } from './components/create-status/emoji-picker/emoji-picker.component'; import { StatusUserContextMenuComponent } from './components/stream/status/action-bar/status-user-context-menu/status-user-context-menu.component'; +import { StatusSchedulerComponent } from './components/create-status/status-scheduler/status-scheduler.component'; +import { PollEditorComponent } from './components/create-status/poll-editor/poll-editor.component'; const routes: Routes = [ @@ -122,7 +124,9 @@ const routes: Routes = [ TimeLeftPipe, AutosuggestComponent, EmojiPickerComponent, - StatusUserContextMenuComponent + StatusUserContextMenuComponent, + StatusSchedulerComponent, + PollEditorComponent ], entryComponents: [ EmojiPickerComponent diff --git a/src/app/components/create-status/create-status.component.html b/src/app/components/create-status/create-status.component.html index 49d35cce..98c5e8ab 100644 --- a/src/app/components/create-status/create-status.component.html +++ b/src/app/components/create-status/create-status.component.html @@ -21,6 +21,10 @@ (suggestionSelectedEvent)="suggestionSelected($event)" (hasSuggestionsEvent)="suggestionsChanged($event)"> + + + + diff --git a/src/app/components/create-status/create-status.component.scss b/src/app/components/create-status/create-status.component.scss index e2814c6e..5f7bc2ad 100644 --- a/src/app/components/create-status/create-status.component.scss +++ b/src/app/components/create-status/create-status.component.scss @@ -128,6 +128,13 @@ $counter-width: 90px; margin: 2px 0 0 5px; } + &--add-poll { + font-size: 16px; + margin: 0 0 0 5px; + position: relative; + top: 0px; + } + &--send-button { @include clearButton; transition: all .2s; diff --git a/src/app/components/create-status/create-status.component.ts b/src/app/components/create-status/create-status.component.ts index ee96db49..6d118ee6 100644 --- a/src/app/components/create-status/create-status.component.ts +++ b/src/app/components/create-status/create-status.component.ts @@ -3,8 +3,8 @@ import { HttpErrorResponse } from '@angular/common/http'; import { Store } from '@ngxs/store'; import { Subscription, Observable } from 'rxjs'; import { UP_ARROW, DOWN_ARROW, ENTER, ESCAPE } from '@angular/cdk/keycodes'; -import { faPaperclip, faGlobe, faGlobeAmericas, faLock, faLockOpen, faEnvelope } from "@fortawesome/free-solid-svg-icons"; -import { faWindowClose as faWindowCloseRegular } from "@fortawesome/free-regular-svg-icons"; +import { faPaperclip, faGlobe, faGlobeAmericas, faLock, faLockOpen, faEnvelope, faPollH } from "@fortawesome/free-solid-svg-icons"; +import { faClock, faWindowClose as faWindowCloseRegular } from "@fortawesome/free-regular-svg-icons"; import { ContextMenuService, ContextMenuComponent } from 'ngx-contextmenu'; import { MastodonService, VisibilityEnum } from '../../services/mastodon.service'; @@ -32,6 +32,8 @@ export class CreateStatusComponent implements OnInit, OnDestroy { faLock = faLock; faLockOpen = faLockOpen; faEnvelope = faEnvelope; + faPollH = faPollH; + faClock = faClock; autoSuggestUserActionsStream = new EventEmitter(); @@ -705,4 +707,16 @@ export class CreateStatusComponent implements OnInit, OnDestroy { this.overlayRef.dispose(); return false; } + + pollIsActive: boolean; + addPoll(): boolean { + this.pollIsActive = !this.pollIsActive; + return false; + } + + scheduleIsActive: boolean; + schedule(): boolean { + this.scheduleIsActive = !this.scheduleIsActive; + return false; + } } diff --git a/src/app/components/create-status/poll-editor/poll-editor.component.html b/src/app/components/create-status/poll-editor/poll-editor.component.html new file mode 100644 index 00000000..b092ec89 --- /dev/null +++ b/src/app/components/create-status/poll-editor/poll-editor.component.html @@ -0,0 +1,3 @@ +

+ poll-editor works! +

diff --git a/src/app/components/create-status/poll-editor/poll-editor.component.scss b/src/app/components/create-status/poll-editor/poll-editor.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/src/app/components/create-status/poll-editor/poll-editor.component.spec.ts b/src/app/components/create-status/poll-editor/poll-editor.component.spec.ts new file mode 100644 index 00000000..64621826 --- /dev/null +++ b/src/app/components/create-status/poll-editor/poll-editor.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PollEditorComponent } from './poll-editor.component'; + +describe('PollEditorComponent', () => { + let component: PollEditorComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PollEditorComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PollEditorComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/create-status/poll-editor/poll-editor.component.ts b/src/app/components/create-status/poll-editor/poll-editor.component.ts new file mode 100644 index 00000000..a7edb132 --- /dev/null +++ b/src/app/components/create-status/poll-editor/poll-editor.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-poll-editor', + templateUrl: './poll-editor.component.html', + styleUrls: ['./poll-editor.component.scss'] +}) +export class PollEditorComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/components/create-status/status-scheduler/status-scheduler.component.html b/src/app/components/create-status/status-scheduler/status-scheduler.component.html new file mode 100644 index 00000000..f7760d48 --- /dev/null +++ b/src/app/components/create-status/status-scheduler/status-scheduler.component.html @@ -0,0 +1,3 @@ +

+ status-scheduler works! +

diff --git a/src/app/components/create-status/status-scheduler/status-scheduler.component.scss b/src/app/components/create-status/status-scheduler/status-scheduler.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/src/app/components/create-status/status-scheduler/status-scheduler.component.spec.ts b/src/app/components/create-status/status-scheduler/status-scheduler.component.spec.ts new file mode 100644 index 00000000..3d9f42c9 --- /dev/null +++ b/src/app/components/create-status/status-scheduler/status-scheduler.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { StatusSchedulerComponent } from './status-scheduler.component'; + +describe('StatusSchedulerComponent', () => { + let component: StatusSchedulerComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ StatusSchedulerComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(StatusSchedulerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/create-status/status-scheduler/status-scheduler.component.ts b/src/app/components/create-status/status-scheduler/status-scheduler.component.ts new file mode 100644 index 00000000..311941ee --- /dev/null +++ b/src/app/components/create-status/status-scheduler/status-scheduler.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-status-scheduler', + templateUrl: './status-scheduler.component.html', + styleUrls: ['./status-scheduler.component.scss'] +}) +export class StatusSchedulerComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +}