Sengi-Windows-MacOS-Linux/src/app/components/stream/user-profile/user-profile.component.html

205 lines
12 KiB
HTML
Raw Normal View History

2019-08-06 02:11:29 +02:00
<div class="outer-profile">
<div class="profile flexcroll" #statusstream (scroll)="onScroll()">
2019-08-09 04:11:12 +02:00
<div *ngIf="!isLoading" class="profile__floating-header"
[ngStyle]="{'background-image':'url('+displayedAccount.header+')'}"
2019-08-06 02:11:29 +02:00
[class.profile__floating-header__activated]="showFloatingHeader">
<div class="profile__floating-header__inner">
<a href (click)="showAvatar(displayedAccount.avatar)" (auxclick)="openAccount()" title="open avatar">
<img class="profile__floating-header__avatar" [class.profile__disabled]="displayedAccount.moved"
src="{{displayedAccount.avatar}}" alt="header" />
</a>
2019-08-07 02:13:40 +02:00
<div class="profile__floating-header__names">
2019-08-09 03:37:45 +02:00
<h2 class="profile__floating-header__names__display-name"
innerHTML="{{displayedAccount | accountEmoji }}" title="{{displayedAccount.display_name}}"></h2>
<a class="profile__floating-header__names__fullhandle" href="{{displayedAccount.url}}"
target="_blank" title="{{displayedAccount.acct}}">@{{displayedAccount.acct}}</a>
2019-08-07 02:13:40 +02:00
</div>
<div class="profile__floating-header__follow" *ngIf="relationship && !displayedAccount.moved">
<app-waiting-animation *ngIf="loadingRelationShip"
class="waiting-icon profile-header__follow--waiting">
</app-waiting-animation>
<div *ngIf="!loadingRelationShip">
<button class="profile-header__follow--button profile-header__follow--unfollowed" title="follow"
(click)="follow()" *ngIf="!relationship.following && !relationship.requested">
<fa-icon [icon]="faUserRegular"></fa-icon>
</button>
<button class="profile-header__follow--button profile-header__follow--followed" title="unfollow"
(click)="unfollow()" *ngIf="relationship.following">
<fa-icon [icon]="faUserCheck"></fa-icon>
</button>
<button class="profile-header__follow--button profile-header__follow--followed" title="pending"
(click)="unfollow()" *ngIf="relationship.requested">
<fa-icon [icon]="faHourglassHalf"></fa-icon>
</button>
</div>
</div>
2019-08-06 02:11:29 +02:00
</div>
2019-08-09 04:11:12 +02:00
</div>
2018-11-02 00:36:52 +01:00
2019-08-06 02:11:29 +02:00
<app-waiting-animation *ngIf="isLoading" class="waiting-icon"></app-waiting-animation>
<div class="profile__moved" *ngIf="displayedAccount && displayedAccount.moved">
{{displayedAccount | accountEmoji }} has moved to <a href
2019-08-07 02:16:10 +02:00
(click)="openMigratedAccount(displayedAccount.moved)" class="profile__moved--link"
2019-08-06 02:11:29 +02:00
title="open @{{displayedAccount.moved.acct }}">@{{displayedAccount.moved.acct }}</a>
2019-08-09 04:11:12 +02:00
</div>
2019-02-20 03:10:21 +01:00
2019-08-06 02:11:29 +02:00
<div *ngIf="displayedAccount" class="profile-header"
[ngStyle]="{'background-image':'url('+displayedAccount.header+')'}">
<div class="profile-header__inner">
<a href (click)="showAvatar(displayedAccount.avatar)" (auxclick)="openAccount()" title="open avatar">
<img class="profile-header__avatar" [class.profile__disabled]="displayedAccount.moved"
src="{{displayedAccount.avatar}}" alt="header" />
</a>
<h2 class="profile-header__display-name" innerHTML="{{displayedAccount | accountEmoji }}"
title="{{displayedAccount.display_name}}"></h2>
<h2 class="profile-header__fullhandle"><a href="{{displayedAccount.url}}" target="_blank"
title="{{displayedAccount.acct}}">@{{displayedAccount.acct}}</a></h2>
2019-08-06 02:11:29 +02:00
<div class="profile-header__follow" *ngIf="relationship && !displayedAccount.moved">
<app-waiting-animation *ngIf="loadingRelationShip"
class="waiting-icon profile-header__follow--waiting">
</app-waiting-animation>
2019-08-06 02:11:29 +02:00
<div *ngIf="!loadingRelationShip">
<button class="profile-header__follow--button profile-header__follow--unfollowed" title="follow"
(click)="follow()" *ngIf="!relationship.following && !relationship.requested">
<fa-icon [icon]="faUserRegular"></fa-icon>
</button>
<button class="profile-header__follow--button profile-header__follow--followed" title="unfollow"
(click)="unfollow()" *ngIf="relationship.following">
<fa-icon [icon]="faUserCheck"></fa-icon>
</button>
<button class="profile-header__follow--button profile-header__follow--followed" title="pending"
(click)="unfollow()" *ngIf="relationship.requested">
<fa-icon [icon]="faHourglassHalf"></fa-icon>
</button>
</div>
</div>
2019-08-06 02:11:29 +02:00
<div class="profile-header__state"
*ngIf="relationship && !displayedAccount.moved && !loadingRelationShip">
<div class="profile-header__state--data" *ngIf="relationship.followed_by">follows you</div>
<div class="profile-header__state--data" *ngIf="relationship.blocking">blocked</div>
<div class="profile-header__state--data" *ngIf="relationship.blocked_by">blocks you</div>
<div class="profile-header__state--data" *ngIf="relationship.domain_blocking">domain blocked</div>
<div class="profile-header__state--data" *ngIf="relationship.muting">muted</div>
<div class="profile-header__state--data" *ngIf="relationship.muting_notifications">notifications
muted
</div>
2019-08-06 00:42:06 +02:00
</div>
</div>
</div>
2019-08-06 00:42:06 +02:00
2019-08-09 03:37:45 +02:00
<div class="profile-sub-header">
<div *ngIf="displayedAccount">
<div *ngIf="hasNote" class="profile-description">
<app-databinded-text class="profile-description__content" [textIsSelectable]="false" [text]="note"
(accountSelected)="browseAccount($event)" (hashtagSelected)="browseHashtag($event)">
</app-databinded-text>
</div>
2019-08-09 04:41:59 +02:00
<!-- <div class="profile__extra-info">
2019-08-09 04:11:12 +02:00
<div class="profile__extra-info__section">
<a href class="profile__extra-info__links"
(click)="switchProfileSection('fields')"
[class.profile__extra-info__links--selected]="profileSection === 'fields'">Fields</a>
</div>
<div class="profile__extra-info__section">
<a href class="profile__extra-info__links"
(click)="switchProfileSection('choices')"
[class.profile__extra-info__links--selected]="profileSection === 'choices'">User choices</a>
</div>
<div class="profile__extra-info__section">
<a href class="profile__extra-info__links"
(click)="switchProfileSection('hashtags')"
[class.profile__extra-info__links--selected]="profileSection === 'hashtags'">Hashtags</a>
</div>
2019-08-09 04:41:59 +02:00
</div> -->
2019-08-09 03:37:45 +02:00
<div class="profile-fields" *ngIf="displayedAccount.fields.length > 0">
<div class="profile-fields__field" *ngFor="let field of displayedAccount.fields">
<div class="profile-fields__field--value"
innerHTML="{{ displayedAccount | accountEmoji:field.value}}"
[ngClass]="{'profile-fields__field--validated': field.verified_at }">
</div>
2019-08-09 04:41:59 +02:00
<div class="profile-fields__field--name" title="{{ field.name }}">
2019-08-09 03:37:45 +02:00
{{ field.name }}
</div>
2019-08-06 02:11:29 +02:00
</div>
2019-02-24 01:47:39 +01:00
</div>
</div>
2019-08-09 05:30:51 +02:00
<div class="profile-statuses" #profilestatuses>
<div class="profile__extra-info profile__extra-info__preparefloating" *ngIf="!isLoading"
[class.profile__extra-info__floating]="showFloatingStatusMenu">
<div class="profile__extra-info__section">
<a href class="profile__extra-info__links" (click)="switchStatusSection('status')"
title="Status"
[class.profile__extra-info__links--selected]="statusSection === 'status'">Status</a>
</div>
<div class="profile__extra-info__section">
<a href class="profile__extra-info__links" (click)="switchStatusSection('replies')"
title="Status & Replies"
[class.profile__extra-info__links--selected]="statusSection === 'replies'">Status &
Replies</a>
</div>
<div class="profile__extra-info__section">
<a href class="profile__extra-info__links" (click)="switchStatusSection('media')" title="Media"
[class.profile__extra-info__links--selected]="statusSection === 'media'">Media</a>
</div>
</div>
2019-08-09 04:41:59 +02:00
<div class="profile__extra-info" *ngIf="!isLoading">
2019-08-09 04:11:12 +02:00
<div class="profile__extra-info__section">
2019-08-09 04:41:59 +02:00
<a href class="profile__extra-info__links" (click)="switchStatusSection('status')"
title="Status"
2019-08-09 04:11:12 +02:00
[class.profile__extra-info__links--selected]="statusSection === 'status'">Status</a>
</div>
<div class="profile__extra-info__section">
2019-08-09 04:41:59 +02:00
<a href class="profile__extra-info__links" (click)="switchStatusSection('replies')"
title="Status & Replies"
[class.profile__extra-info__links--selected]="statusSection === 'replies'">Status &
Replies</a>
2019-08-09 04:11:12 +02:00
</div>
<div class="profile__extra-info__section">
2019-08-09 04:41:59 +02:00
<a href class="profile__extra-info__links" (click)="switchStatusSection('media')" title="Media"
2019-08-09 04:11:12 +02:00
[class.profile__extra-info__links--selected]="statusSection === 'media'">Media</a>
</div>
</div>
2019-08-06 02:11:29 +02:00
<div *ngIf="!isLoading && !statusLoading && statuses.length == 0" class="profile-no-toots">
2019-08-07 02:21:47 +02:00
no status found
2019-08-06 02:11:29 +02:00
</div>
2019-08-09 04:41:59 +02:00
<div *ngIf="statusSection === 'status'">
<div *ngFor="let statusWrapper of pinnedStatuses">
<app-status [statusWrapper]="statusWrapper" (browseHashtagEvent)="browseHashtag($event)"
(browseAccountEvent)="browseAccount($event)" (browseThreadEvent)="browseThread($event)">
</app-status>
</div>
2019-08-06 02:11:29 +02:00
</div>
2019-07-07 23:22:48 +02:00
2019-08-06 02:11:29 +02:00
<div *ngFor="let statusWrapper of statuses">
2019-08-09 05:00:49 +02:00
<div *ngIf="statusSection !== 'media'">
<app-status [statusWrapper]="statusWrapper" (browseHashtagEvent)="browseHashtag($event)"
(browseAccountEvent)="browseAccount($event)" (browseThreadEvent)="browseThread($event)">
</app-status>
</div>
<div *ngIf="statusSection === 'media'">
<div *ngFor="let media of statusWrapper.status.media_attachments">
<a href title="open image" (click)="openAttachment(media)">
<img class="status-media__image" src="{{media.preview_url}}" />
</a>
</div>
</div>
2019-08-06 02:11:29 +02:00
</div>
2019-04-07 20:47:09 +02:00
2019-06-15 20:32:08 +02:00
2019-08-06 02:11:29 +02:00
<app-waiting-animation *ngIf="statusLoading" class="waiting-icon"></app-waiting-animation>
</div>
</div>
2018-11-01 05:44:58 +01:00
</div>
</div>