akkoma-fe/src/components/timeline/timeline.vue

69 lines
2 KiB
Vue
Raw Normal View History

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