starting displaying attachments
This commit is contained in:
parent
d58d1fed01
commit
1c16425bb0
|
@ -28,6 +28,7 @@ import { MessageEditorComponent } from './components/floating-column/message-edi
|
||||||
import { StreamsState } from "./states/streams.state";
|
import { StreamsState } from "./states/streams.state";
|
||||||
import { StatusComponent } from "./components/stream/status/status.component";
|
import { StatusComponent } from "./components/stream/status/status.component";
|
||||||
import { MastodonService } from "./services/mastodon.service";
|
import { MastodonService } from "./services/mastodon.service";
|
||||||
|
import { AttachementsComponent } from './components/stream/status/attachements/attachements.component';
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{ path: "", redirectTo: "home", pathMatch: "full" },
|
{ path: "", redirectTo: "home", pathMatch: "full" },
|
||||||
|
@ -48,7 +49,8 @@ const routes: Routes = [
|
||||||
AccountIconComponent,
|
AccountIconComponent,
|
||||||
FloatingColumnComponent,
|
FloatingColumnComponent,
|
||||||
ColumnsEditorComponent,
|
ColumnsEditorComponent,
|
||||||
MessageEditorComponent
|
MessageEditorComponent,
|
||||||
|
AttachementsComponent
|
||||||
],
|
],
|
||||||
imports: [
|
imports: [
|
||||||
BrowserModule,
|
BrowserModule,
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
<div class="galery__image" *ngIf="isImage">
|
||||||
|
<img class="galery__image--1" src="{{ imageUrl }}" />
|
||||||
|
</div>
|
|
@ -0,0 +1,11 @@
|
||||||
|
.galery__image {
|
||||||
|
width: 100%;
|
||||||
|
max-height: 150px;
|
||||||
|
overflow: hidden;
|
||||||
|
border-radius: 2px;
|
||||||
|
|
||||||
|
&--1 {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { AttachementsComponent } from './attachements.component';
|
||||||
|
|
||||||
|
describe('AttachementsComponent', () => {
|
||||||
|
let component: AttachementsComponent;
|
||||||
|
let fixture: ComponentFixture<AttachementsComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ AttachementsComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(AttachementsComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,32 @@
|
||||||
|
import { Component, OnInit, Input } from '@angular/core';
|
||||||
|
import { Attachment } from '../../../../services/models/mastodon.interfaces';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-attachements',
|
||||||
|
templateUrl: './attachements.component.html',
|
||||||
|
styleUrls: ['./attachements.component.scss']
|
||||||
|
})
|
||||||
|
export class AttachementsComponent implements OnInit {
|
||||||
|
private _attachments: Attachment[];
|
||||||
|
isImage: boolean;
|
||||||
|
imageUrl: string;
|
||||||
|
|
||||||
|
@Input('attachments')
|
||||||
|
set attachments(value: Attachment[]) {
|
||||||
|
this._attachments = value;
|
||||||
|
|
||||||
|
if(this._attachments[0].type === 'image'){
|
||||||
|
this.isImage = true;
|
||||||
|
this.imageUrl = this._attachments[0].url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
get attachments(): Attachment[] {
|
||||||
|
return this._attachments;
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor() { }
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -15,6 +15,10 @@
|
||||||
getCompactRelativeTime(status.created_at) }}</div>
|
getCompactRelativeTime(status.created_at) }}</div>
|
||||||
<div class="status__content" innerHTML="{{displayedStatus.content}}"></div>
|
<div class="status__content" innerHTML="{{displayedStatus.content}}"></div>
|
||||||
|
|
||||||
|
<div *ngIf="hasAttachments" class="attachments">
|
||||||
|
<app-attachements [attachments]="displayedStatus.media_attachments"></app-attachements>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- <div class="status_galery">
|
<!-- <div class="status_galery">
|
||||||
<p>
|
<p>
|
||||||
status.reblog: {{status.reblog}} <br />
|
status.reblog: {{status.reblog}} <br />
|
||||||
|
|
|
@ -106,4 +106,9 @@
|
||||||
& .invisible {
|
& .invisible {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.attachments{
|
||||||
|
width: calc(100% - 80px);
|
||||||
|
margin: 0px 10px 10px 70px;
|
||||||
}
|
}
|
|
@ -12,6 +12,7 @@ import { stateNameErrorMessage } from "@ngxs/store/src/decorators/state";
|
||||||
export class StatusComponent implements OnInit {
|
export class StatusComponent implements OnInit {
|
||||||
displayedStatus: Status;
|
displayedStatus: Status;
|
||||||
reblog: boolean;
|
reblog: boolean;
|
||||||
|
hasAttachments: boolean;
|
||||||
|
|
||||||
private _status: Status;
|
private _status: Status;
|
||||||
@Input('status')
|
@Input('status')
|
||||||
|
@ -29,6 +30,10 @@ export class StatusComponent implements OnInit {
|
||||||
this.displayedStatus.account.display_name = this.displayedStatus.account.username;
|
this.displayedStatus.account.display_name = this.displayedStatus.account.username;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(this.displayedStatus.media_attachments && this.displayedStatus.media_attachments.length > 0){
|
||||||
|
this.hasAttachments = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
get status(): Status{
|
get status(): Status{
|
||||||
|
|
Loading…
Reference in New Issue