79 lines
4.3 KiB
HTML
Raw Normal View History

<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
2023-11-24 13:34:54 +01:00
<ion-back-button [text]="'core.back' | translate" />
</ion-buttons>
<ion-title>
<h1>{{ title | translate }}</h1>
</ion-title>
<ion-buttons slot="end">
2023-11-24 13:34:54 +01:00
<core-user-menu-button />
</ion-buttons>
</ion-toolbar>
</ion-header>
<ion-content class="limited-width">
<ion-refresher slot="fixed" [disabled]="!loaded" (ionRefresh)="refresh($event.target)">
2023-11-24 13:34:54 +01:00
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}" />
</ion-refresher>
<core-loading [hideUntil]="loaded">
<ion-item *ngIf="showMyEntriesToggle">
<ion-label>{{ 'addon.blog.showonlyyourentries' | translate }}</ion-label>
2023-11-24 13:34:54 +01:00
<ion-toggle [(ngModel)]="onlyMyEntries" (ionChange)="onlyMyEntriesToggleChanged(onlyMyEntries)" slot="end" />
</ion-item>
2023-11-24 13:34:54 +01:00
<core-empty-box *ngIf="entries && entries.length === 0" icon="far-newspaper" [message]="'addon.blog.noentriesyet' | translate" />
<ng-container *ngFor="let entry of entries">
2023-11-23 15:25:36 +01:00
<ion-card *ngIf="!onlyMyEntries || entry.userid === currentUserId">
<ion-item class="ion-text-wrap">
2023-11-24 13:34:54 +01:00
<core-user-avatar [user]="entry.user" slot="start" [courseId]="entry.courseid" />
<ion-label>
2023-02-13 12:09:10 +01:00
<div class="flex-row ion-justify-content-between ion-align-items-center">
<h2>
<core-format-text [text]="entry.subject" [contextLevel]="contextLevel"
2023-11-24 13:34:54 +01:00
[contextInstanceId]="contextInstanceId" />
2023-02-13 12:09:10 +01:00
</h2>
<ion-note class="ion-text-end">
{{ 'addon.blog.' + entry.publishTranslated! | translate}}
</ion-note>
2023-02-13 12:09:10 +01:00
</div>
<div class="flex-row ion-justify-content-between ion-align-items-center">
{{entry.user && entry.user.fullname}}
<ion-note class="ion-text-end">
{{entry.created | coreDateDayOrTime}}
</ion-note>
2023-02-13 12:09:10 +01:00
</div>
</ion-label>
</ion-item>
<ion-card-content>
<ion-item class="ion-text-wrap">
<ion-label>
<core-format-text [text]="entry.summary" [component]="this.component" [componentId]="entry.id"
2023-11-24 13:34:54 +01:00
[contextLevel]="contextLevel" [contextInstanceId]="contextInstanceId" />
</ion-label>
</ion-item>
<ion-item class="ion-text-wrap" *ngIf="tagsEnabled && entry.tags && entry.tags!.length > 0">
<ion-label>
<div slot="start">{{ 'core.tag.tags' | translate }}:</div>
2023-11-24 13:34:54 +01:00
<core-tag-list [tags]="entry.tags" />
</ion-label>
</ion-item>
<core-comments *ngIf="commentsEnabled" [component]="this.component" [itemId]="entry.id" area="format_blog"
2023-11-24 13:34:54 +01:00
[instanceId]="entry.userid" contextLevel="user" [showItem]="true" />
<core-file *ngFor="let file of entry.attachmentfiles" [file]="file" [component]="this.component"
2023-11-24 13:34:54 +01:00
[componentId]="entry.id" />
<ion-item *ngIf="entry.uniquehash" [href]="entry.uniquehash" core-link [detail]="true">
<ion-label>{{ 'addon.blog.linktooriginalentry' | translate }}</ion-label>
</ion-item>
</ion-card-content>
<div class="ion-text-center ion-margin-bottom" *ngIf="entry.lastmodified > entry.created">
<ion-note>
2023-11-24 13:34:54 +01:00
<ion-icon name="fas-clock" [attr.aria-label]="'core.lastmodified' | translate" /> {{entry.lastmodified
|
coreTimeAgo}}
</ion-note>
</div>
</ion-card>
</ng-container>
2023-11-24 13:34:54 +01:00
<core-infinite-loading [enabled]="canLoadMore" (action)="loadMore($event)" [error]="loadMoreError" />
</core-loading>
</ion-content>