2016-10-26 19:03:55 +02:00
|
|
|
<template>
|
2018-12-17 17:14:38 +01:00
|
|
|
<div :class="classes.root">
|
|
|
|
<div :class="classes.header">
|
2017-03-05 18:00:35 +01:00
|
|
|
<div class="title">
|
2019-07-05 09:17:44 +02:00
|
|
|
{{ title }}
|
2016-10-28 15:40:13 +02:00
|
|
|
</div>
|
2019-07-05 09:17:44 +02:00
|
|
|
<div
|
|
|
|
v-if="timelineError"
|
|
|
|
class="loadmore-error alert error"
|
|
|
|
@click.prevent
|
|
|
|
>
|
|
|
|
{{ $t('timeline.error_fetching') }}
|
2017-06-21 16:15:45 +02:00
|
|
|
</div>
|
2019-07-05 09:17:44 +02:00
|
|
|
<button
|
|
|
|
v-if="timeline.newStatusCount > 0 && !timelineError"
|
|
|
|
class="loadmore-button"
|
|
|
|
@click.prevent="showNewStatuses"
|
|
|
|
>
|
|
|
|
{{ $t('timeline.show_new') }}{{ newStatusCountStr }}
|
2018-09-03 21:12:18 +02:00
|
|
|
</button>
|
2019-07-05 09:17:44 +02:00
|
|
|
<div
|
|
|
|
v-if="!timeline.newStatusCount > 0 && !timelineError"
|
|
|
|
class="loadmore-text faint"
|
|
|
|
@click.prevent
|
|
|
|
>
|
|
|
|
{{ $t('timeline.up_to_date') }}
|
2017-06-21 16:15:45 +02:00
|
|
|
</div>
|
2017-03-05 18:00:35 +01:00
|
|
|
</div>
|
2018-12-17 17:14:38 +01:00
|
|
|
<div :class="classes.body">
|
2019-07-20 04:40:37 +02:00
|
|
|
<div class="timeline">
|
|
|
|
<template v-for="statusId in pinnedStatusIds">
|
|
|
|
<conversation
|
|
|
|
v-if="timeline.statusesObject[statusId]"
|
2019-07-20 04:46:11 +02:00
|
|
|
:key="statusId + '-pinned'"
|
2019-07-20 04:40:37 +02:00
|
|
|
class="status-fadein"
|
|
|
|
:statusoid="timeline.statusesObject[statusId]"
|
|
|
|
:collapsable="true"
|
|
|
|
:show-pinned="true"
|
|
|
|
/>
|
|
|
|
</template>
|
2019-07-20 22:54:30 +02:00
|
|
|
<template v-for="status in timeline.visibleStatuses">
|
|
|
|
<conversation
|
|
|
|
v-if="!excludedStatusIdsObject[status.id]"
|
|
|
|
:key="status.id"
|
|
|
|
class="status-fadein"
|
|
|
|
:statusoid="status"
|
|
|
|
:collapsable="true"
|
|
|
|
/>
|
|
|
|
</template>
|
2016-11-06 17:44:05 +01:00
|
|
|
</div>
|
2017-03-01 20:36:37 +01:00
|
|
|
</div>
|
2018-12-17 17:14:38 +01:00
|
|
|
<div :class="classes.footer">
|
2019-07-05 09:17:44 +02:00
|
|
|
<div
|
|
|
|
v-if="count===0"
|
|
|
|
class="new-status-notification text-center panel-footer faint"
|
|
|
|
>
|
|
|
|
{{ $t('timeline.no_statuses') }}
|
2019-02-20 16:13:28 +01:00
|
|
|
</div>
|
2019-07-05 09:17:44 +02:00
|
|
|
<div
|
|
|
|
v-else-if="bottomedOut"
|
|
|
|
class="new-status-notification text-center panel-footer faint"
|
|
|
|
>
|
|
|
|
{{ $t('timeline.no_more_statuses') }}
|
2019-01-29 20:04:52 +01:00
|
|
|
</div>
|
2019-07-05 09:17:44 +02:00
|
|
|
<a
|
|
|
|
v-else-if="!timeline.loading"
|
|
|
|
href="#"
|
|
|
|
@click.prevent="fetchOlderStatuses()"
|
|
|
|
>
|
|
|
|
<div class="new-status-notification text-center panel-footer">{{ $t('timeline.load_older') }}</div>
|
2018-04-11 18:34:40 +02:00
|
|
|
</a>
|
2019-07-05 09:17:44 +02:00
|
|
|
<div
|
|
|
|
v-else
|
|
|
|
class="new-status-notification text-center panel-footer"
|
|
|
|
>
|
|
|
|
<i class="icon-spin3 animate-spin" />
|
2019-01-29 20:04:52 +01:00
|
|
|
</div>
|
2018-04-11 18:34:40 +02:00
|
|
|
</div>
|
2016-10-26 19:03:55 +02:00
|
|
|
</div>
|
|
|
|
</template>
|
2018-12-17 17:14:38 +01:00
|
|
|
|
2016-10-26 19:03:55 +02:00
|
|
|
<script src="./timeline.js"></script>
|
2017-01-15 15:44:56 +01:00
|
|
|
|
|
|
|
<style lang="scss">
|
2018-04-01 04:28:20 +02:00
|
|
|
@import '../../_variables.scss';
|
2017-01-15 15:44:56 +01:00
|
|
|
|
2018-04-01 04:28:20 +02:00
|
|
|
.timeline {
|
2018-04-07 18:30:27 +02:00
|
|
|
.loadmore-text {
|
2018-11-26 01:19:04 +01:00
|
|
|
opacity: 1;
|
2018-04-13 22:04:31 +02:00
|
|
|
}
|
2018-04-01 04:28:20 +02:00
|
|
|
}
|
2017-03-05 18:00:35 +01:00
|
|
|
|
2018-04-01 04:28:20 +02:00
|
|
|
.new-status-notification {
|
2018-04-07 18:30:27 +02:00
|
|
|
position:relative;
|
|
|
|
margin-top: -1px;
|
|
|
|
font-size: 1.1em;
|
|
|
|
border-width: 1px 0 0 0;
|
|
|
|
border-style: solid;
|
|
|
|
border-color: var(--border, $fallback--border);
|
|
|
|
padding: 10px;
|
|
|
|
z-index: 1;
|
2018-10-07 18:59:22 +02:00
|
|
|
background-color: $fallback--fg;
|
2018-11-21 16:22:05 +01:00
|
|
|
background-color: var(--panel, $fallback--fg);
|
2018-04-07 18:30:27 +02:00
|
|
|
}
|
2017-01-15 15:44:56 +01:00
|
|
|
</style>
|