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