Added simple page transition.
This commit is contained in:
@@ -1,291 +1,295 @@
|
||||
<template>
|
||||
<div class="columns is-multiline">
|
||||
<div class="column is-12 is-clearfix is-unselectable">
|
||||
<span class="title is-4">
|
||||
<span class="icon"><i class="fas fa-list-check"></i></span>
|
||||
Events
|
||||
</span>
|
||||
<div class="is-pulled-right">
|
||||
<div class="field is-grouped">
|
||||
<p class="control">
|
||||
<button class="button is-info" @click.prevent="loadContent">
|
||||
<span class="icon"><i class="fas fa-sync"></i></span>
|
||||
</button>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="is-hidden-mobile">
|
||||
<span class="subtitle">
|
||||
This page will show events that are queued to be handled or sent to the backends.
|
||||
<div>
|
||||
<div class="columns is-multiline">
|
||||
<div class="column is-12 is-clearfix is-unselectable">
|
||||
<span class="title is-4">
|
||||
<span class="icon"><i class="fas fa-list-check"></i></span>
|
||||
Events
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-12" v-if="queue.length < 1 && progress.length < 1 && requests.length < 1">
|
||||
<Message v-if="isLoading" message_class="has-background-info-90 has-text-dark" title="Loading"
|
||||
icon="fas fa-spinner fa-spin" message="Loading data. Please wait..."/>
|
||||
<Message v-else message_class="is-background-success-90 has-text-dark" title="Information"
|
||||
icon="fas fa-info-circle"
|
||||
message="There are currently no queued events."/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="columns is-multiline" v-if="queue.length > 0">
|
||||
<div class="column is-12">
|
||||
<span class="title is-5">
|
||||
<span class="icon"><i class="fas fa-eye"></i></span>
|
||||
State events
|
||||
</span>
|
||||
<div class="subtitle is-hidden-mobile">
|
||||
Events that are changing the play state. Consumed by <code>state:push</code> task.
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-4 is-6-tablet" v-for="i in queue" :key="`queue-${i.key}`">
|
||||
<div class="card" :class="{ 'is-success': i.item.watched }">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title is-text-overflow pr-1">
|
||||
<span class="icon">
|
||||
<i class="fas" :class="{'fa-eye-slash': !i.item.watched,'fa-eye': i.item.watched}"></i>
|
||||
</span>
|
||||
<NuxtLink :to="'/history/'+i.item.id" v-text="makeName(i.item)"/>
|
||||
</p>
|
||||
<span class="card-header-icon">
|
||||
<button class="button is-danger is-small" @click="deleteItem(i.item, 'queue', i.key)">
|
||||
<span class="icon"><i class="fas fa-trash"></i></span>
|
||||
</button>
|
||||
<div class="is-pulled-right">
|
||||
<div class="field is-grouped">
|
||||
<p class="control">
|
||||
<button class="button is-info" @click.prevent="loadContent">
|
||||
<span class="icon"><i class="fas fa-sync"></i></span>
|
||||
</button>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="is-hidden-mobile">
|
||||
<span class="subtitle">
|
||||
This page will show events that are queued to be handled or sent to the backends.
|
||||
</span>
|
||||
</header>
|
||||
<div class="card-content">
|
||||
<div class="columns is-multiline is-mobile has-text-centered">
|
||||
<div class="column is-12 has-text-left" v-if="i.item?.content_title">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-heading"></i> </span>
|
||||
<NuxtLink :to="makeSearchLink('subtitle',i.item.content_title)" v-text="i.item.content_title"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12 has-text-left" v-if="i.item?.content_path">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-file"></i> </span>
|
||||
<NuxtLink :to="makeSearchLink('path',i.item.content_path)" v-text="i.item.content_path"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12 has-text-left" v-if="i.item?.progress">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-bars-progress"></i></span>
|
||||
{{ formatDuration(i.item.progress) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer has-text-centered">
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-calendar"></i> </span>
|
||||
<span class="has-tooltip"
|
||||
v-tooltip="`${getMoment(ag(i.item.extra, `${i.item.via}.received_at`, i.item.updated_at)).format(TOOLTIP_DATE_FORMAT)}`">
|
||||
{{ getMoment(ag(i.item.extra, `${i.item.via}.received_at`, i.item.updated_at)).fromNow() }}
|
||||
</div>
|
||||
|
||||
<div class="column is-12" v-if="queue.length < 1 && progress.length < 1 && requests.length < 1">
|
||||
<Message v-if="isLoading" message_class="has-background-info-90 has-text-dark" title="Loading"
|
||||
icon="fas fa-spinner fa-spin" message="Loading data. Please wait..."/>
|
||||
<Message v-else message_class="is-background-success-90 has-text-dark" title="Information"
|
||||
icon="fas fa-info-circle"
|
||||
message="There are currently no queued events."/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="columns is-multiline" v-if="queue.length > 0">
|
||||
<div class="column is-12">
|
||||
<span class="title is-5">
|
||||
<span class="icon"><i class="fas fa-eye"></i></span>
|
||||
State events
|
||||
</span>
|
||||
<div class="subtitle is-hidden-mobile">
|
||||
Events that are changing the play state. Consumed by <code>state:push</code> task.
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-4 is-6-tablet" v-for="i in queue" :key="`queue-${i.key}`">
|
||||
<div class="card" :class="{ 'is-success': i.item.watched }">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title is-text-overflow pr-1">
|
||||
<span class="icon">
|
||||
<i class="fas" :class="{'fa-eye-slash': !i.item.watched,'fa-eye': i.item.watched}"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-server"></i> </span>
|
||||
<NuxtLink :to="'/backend/'+i.item.via" v-text="i.item.via"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-envelope"></i> </span>
|
||||
<span>{{ i.item.event ?? '-' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="columns is-multiline" v-if="progress.length > 0">
|
||||
<div class="column is-12">
|
||||
<span class="title is-5">
|
||||
<span class="icon"><i class="fas fa-bars-progress"></i></span>
|
||||
Watch progress events
|
||||
</span>
|
||||
<div class="subtitle is-hidden-mobile">
|
||||
Events that are changing the play progress. Consumed by <code>state:progress</code> task.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-4 is-6-tablet" v-for="i in progress" :key="`progress-${i.key}`">
|
||||
<div class="card" :class="{ 'is-success': i.item.watched }">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title is-text-overflow pr-1">
|
||||
<span class="icon">
|
||||
<i class="fas" :class="{'fa-eye-slash': !i.item.watched,'fa-eye': i.item.watched}"></i>
|
||||
<NuxtLink :to="'/history/'+i.item.id" v-text="makeName(i.item)"/>
|
||||
</p>
|
||||
<span class="card-header-icon">
|
||||
<button class="button is-danger is-small" @click="deleteItem(i.item, 'queue', i.key)">
|
||||
<span class="icon"><i class="fas fa-trash"></i></span>
|
||||
</button>
|
||||
</span>
|
||||
<NuxtLink :to="'/history/'+i.item.id" v-text="makeName(i.item)"/>
|
||||
</p>
|
||||
<span class="card-header-icon">
|
||||
<button class="button is-danger is-small" @click="deleteItem(i.item, 'progress', i.key)">
|
||||
<span class="icon"><i class="fas fa-trash"></i></span>
|
||||
</button>
|
||||
</span>
|
||||
</header>
|
||||
<div class="card-content">
|
||||
<div class="columns is-multiline is-mobile has-text-centered">
|
||||
<div class="column is-12 has-text-left" v-if="i.item?.content_title">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-heading"></i> </span>
|
||||
<NuxtLink :to="makeSearchLink('subtitle',i.item.content_title)" v-text="i.item.content_title"/>
|
||||
</header>
|
||||
<div class="card-content">
|
||||
<div class="columns is-multiline is-mobile has-text-centered">
|
||||
<div class="column is-12 has-text-left" v-if="i.item?.content_title">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-heading"></i> </span>
|
||||
<NuxtLink :to="makeSearchLink('subtitle',i.item.content_title)" v-text="i.item.content_title"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12 has-text-left" v-if="i.item?.content_path">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-file"></i> </span>
|
||||
<NuxtLink :to="makeSearchLink('path',i.item.content_path)" v-text="i.item.content_path"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12 has-text-left" v-if="i.item?.progress">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-bars-progress"></i></span>
|
||||
{{ formatDuration(i.item.progress) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12 has-text-left" v-if="i.item?.content_path">
|
||||
</div>
|
||||
<div class="card-footer has-text-centered">
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-file"></i> </span>
|
||||
<NuxtLink :to="makeSearchLink('path',i.item.content_path)" v-text="i.item.content_path"/>
|
||||
<span class="icon"><i class="fas fa-calendar"></i> </span>
|
||||
<span class="has-tooltip"
|
||||
v-tooltip="`${getMoment(ag(i.item.extra, `${i.item.via}.received_at`, i.item.updated_at)).format(TOOLTIP_DATE_FORMAT)}`">
|
||||
{{ getMoment(ag(i.item.extra, `${i.item.via}.received_at`, i.item.updated_at)).fromNow() }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-6 has-text-left">
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-info-circle"></i></span>
|
||||
is Tainted: {{ i.item?.isTainted ? 'Yes' : 'No' }}
|
||||
<span class="icon"><i class="fas fa-server"></i> </span>
|
||||
<NuxtLink :to="'/backend/'+i.item.via" v-text="i.item.via"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-6 has-text-right" v-if="i.item?.progress">
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-bars-progress"></i></span>
|
||||
{{ formatDuration(i.item.progress) }}
|
||||
<span class="icon"><i class="fas fa-envelope"></i> </span>
|
||||
<span>{{ i.item.event ?? '-' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer has-text-centered">
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-calendar"></i> </span>
|
||||
<span class="has-tooltip"
|
||||
v-tooltip="`${getMoment(ag(i.item.extra, `${i.item.via}.received_at`, i.item.updated_at)).format(TOOLTIP_DATE_FORMAT)}`">
|
||||
{{ getMoment(ag(i.item.extra, `${i.item.via}.received_at`, i.item.updated_at)).fromNow() }}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="columns is-multiline" v-if="progress.length > 0">
|
||||
<div class="column is-12">
|
||||
<span class="title is-5">
|
||||
<span class="icon"><i class="fas fa-bars-progress"></i></span>
|
||||
Watch progress events
|
||||
</span>
|
||||
<div class="subtitle is-hidden-mobile">
|
||||
Events that are changing the play progress. Consumed by <code>state:progress</code> task.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-4 is-6-tablet" v-for="i in progress" :key="`progress-${i.key}`">
|
||||
<div class="card" :class="{ 'is-success': i.item.watched }">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title is-text-overflow pr-1">
|
||||
<span class="icon">
|
||||
<i class="fas" :class="{'fa-eye-slash': !i.item.watched,'fa-eye': i.item.watched}"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-server"></i> </span>
|
||||
<NuxtLink :to="'/backend/'+i.item.via" v-text="i.item.via"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-envelope"></i> </span>
|
||||
<span>{{ i.item.event ?? '-' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="columns is-multiline" v-if="requests.length > 0">
|
||||
<div class="column is-12">
|
||||
<span class="title is-5 is-unselectable">
|
||||
<span class="icon"><i class="fas fa-envelope"></i></span>
|
||||
Request events
|
||||
</span>
|
||||
<div class="subtitle is-hidden-mobile">
|
||||
Events from backends. Consumed by <code>state:requests</code> task.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-4 is-6-tablet" v-for="i in requests" :key="`requests-${i.key}`">
|
||||
<div class="card" :class="{ 'is-success': i.item.watched }">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title is-text-overflow pr-1">
|
||||
<span class="icon">
|
||||
<i class="fas" :class="{'fa-eye-slash': !i.item.watched, 'fa-eye': i.item.watched}"></i>
|
||||
<NuxtLink :to="'/history/'+i.item.id" v-text="makeName(i.item)"/>
|
||||
</p>
|
||||
<span class="card-header-icon">
|
||||
<button class="button is-danger is-small" @click="deleteItem(i.item, 'progress', i.key)">
|
||||
<span class="icon"><i class="fas fa-trash"></i></span>
|
||||
</button>
|
||||
</span>
|
||||
<NuxtLink :to="'/history/'+i.item.id" v-text="makeName(i.item)" v-if="i.item.id"/>
|
||||
<template v-else>{{ makeName(i.item) }}</template>
|
||||
</p>
|
||||
<span class="card-header-icon">
|
||||
<button class="button is-danger is-small" @click="deleteItem(i.item, 'requests', i.key)">
|
||||
<span class="icon"><i class="fas fa-trash"></i></span>
|
||||
</button>
|
||||
</span>
|
||||
</header>
|
||||
<div class="card-content">
|
||||
<div class="columns is-multiline is-mobile has-text-centered">
|
||||
<div class="column is-12 has-text-left" v-if="i.item?.content_title">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-heading"></i> </span>
|
||||
<NuxtLink :to="makeSearchLink('subtitle',i.item.content_title)" v-text="i.item.content_title"/>
|
||||
</header>
|
||||
<div class="card-content">
|
||||
<div class="columns is-multiline is-mobile has-text-centered">
|
||||
<div class="column is-12 has-text-left" v-if="i.item?.content_title">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-heading"></i> </span>
|
||||
<NuxtLink :to="makeSearchLink('subtitle',i.item.content_title)" v-text="i.item.content_title"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12 has-text-left" v-if="i.item?.content_path">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-file"></i> </span>
|
||||
<NuxtLink :to="makeSearchLink('path',i.item.content_path)" v-text="i.item.content_path"/>
|
||||
<div class="column is-12 has-text-left" v-if="i.item?.content_path">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-file"></i> </span>
|
||||
<NuxtLink :to="makeSearchLink('path',i.item.content_path)" v-text="i.item.content_path"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-6 has-text-left">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-info-circle"></i></span>
|
||||
is Tainted: {{ i.item?.isTainted ? 'Yes' : 'No' }}
|
||||
<div class="column is-6 has-text-left">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-info-circle"></i></span>
|
||||
is Tainted: {{ i.item?.isTainted ? 'Yes' : 'No' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-6 has-text-right" v-if="i.item?.progress">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-bars-progress"></i></span>
|
||||
{{ formatDuration(i.item.progress) }}
|
||||
<div class="column is-6 has-text-right" v-if="i.item?.progress">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-bars-progress"></i></span>
|
||||
{{ formatDuration(i.item.progress) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer has-text-centered">
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-calendar"></i> </span>
|
||||
<span class="has-tooltip"
|
||||
v-tooltip="`${getMoment(ag(i.item.extra, `${i.item.via}.received_at`, i.item.updated)).format(TOOLTIP_DATE_FORMAT)}`">
|
||||
{{ getMoment(ag(i.item.extra, `${i.item.via}.received_at`, i.item.updated)).fromNow() }}
|
||||
</span>
|
||||
<div class="card-footer has-text-centered">
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-calendar"></i> </span>
|
||||
<span class="has-tooltip"
|
||||
v-tooltip="`${getMoment(ag(i.item.extra, `${i.item.via}.received_at`, i.item.updated_at)).format(TOOLTIP_DATE_FORMAT)}`">
|
||||
{{ getMoment(ag(i.item.extra, `${i.item.via}.received_at`, i.item.updated_at)).fromNow() }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-server"></i> </span>
|
||||
<NuxtLink :to="'/backend/'+i.item.via" v-text="i.item.via"/>
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-server"></i> </span>
|
||||
<NuxtLink :to="'/backend/'+i.item.via" v-text="i.item.via"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-envelope"></i> </span>
|
||||
<span>{{ i.item.event ?? '-' }}</span>
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-envelope"></i> </span>
|
||||
<span>{{ i.item.event ?? '-' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="columns is-multiline">
|
||||
<div class="column is-12">
|
||||
<Message message_class="has-background-info-90 has-text-dark" :toggle="show_page_tips"
|
||||
@toggle="show_page_tips = !show_page_tips" :use-toggle="true" title="Tips" icon="fas fa-info-circle">
|
||||
<ul>
|
||||
<li>
|
||||
Events marked with <code>is Tainted: Yes</code>, are interesting but are too chaotic to be useful be used to
|
||||
determine play state. However, we do use them to update local metadata & play progress.
|
||||
</li>
|
||||
<li>
|
||||
Events marked with <code>is Tainted: No</code>, are events that are used to determine play state.
|
||||
</li>
|
||||
<li>
|
||||
If you are fast enough, you might be able to see the event before it is consumed by the backend. which allow
|
||||
you to delete it from the queue if you desire.
|
||||
</li>
|
||||
</ul>
|
||||
</Message>
|
||||
<div class="columns is-multiline" v-if="requests.length > 0">
|
||||
<div class="column is-12">
|
||||
<span class="title is-5 is-unselectable">
|
||||
<span class="icon"><i class="fas fa-envelope"></i></span>
|
||||
Request events
|
||||
</span>
|
||||
<div class="subtitle is-hidden-mobile">
|
||||
Events from backends. Consumed by <code>state:requests</code> task.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-4 is-6-tablet" v-for="i in requests" :key="`requests-${i.key}`">
|
||||
<div class="card" :class="{ 'is-success': i.item.watched }">
|
||||
<header class="card-header">
|
||||
<p class="card-header-title is-text-overflow pr-1">
|
||||
<span class="icon">
|
||||
<i class="fas" :class="{'fa-eye-slash': !i.item.watched, 'fa-eye': i.item.watched}"></i>
|
||||
</span>
|
||||
<NuxtLink :to="'/history/'+i.item.id" v-text="makeName(i.item)" v-if="i.item.id"/>
|
||||
<template v-else>{{ makeName(i.item) }}</template>
|
||||
</p>
|
||||
<span class="card-header-icon">
|
||||
<button class="button is-danger is-small" @click="deleteItem(i.item, 'requests', i.key)">
|
||||
<span class="icon"><i class="fas fa-trash"></i></span>
|
||||
</button>
|
||||
</span>
|
||||
</header>
|
||||
<div class="card-content">
|
||||
<div class="columns is-multiline is-mobile has-text-centered">
|
||||
<div class="column is-12 has-text-left" v-if="i.item?.content_title">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-heading"></i> </span>
|
||||
<NuxtLink :to="makeSearchLink('subtitle',i.item.content_title)" v-text="i.item.content_title"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12 has-text-left" v-if="i.item?.content_path">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-file"></i> </span>
|
||||
<NuxtLink :to="makeSearchLink('path',i.item.content_path)" v-text="i.item.content_path"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-6 has-text-left">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-info-circle"></i></span>
|
||||
is Tainted: {{ i.item?.isTainted ? 'Yes' : 'No' }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-6 has-text-right" v-if="i.item?.progress">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-bars-progress"></i></span>
|
||||
{{ formatDuration(i.item.progress) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer has-text-centered">
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-calendar"></i> </span>
|
||||
<span class="has-tooltip"
|
||||
v-tooltip="`${getMoment(ag(i.item.extra, `${i.item.via}.received_at`, i.item.updated)).format(TOOLTIP_DATE_FORMAT)}`">
|
||||
{{ getMoment(ag(i.item.extra, `${i.item.via}.received_at`, i.item.updated)).fromNow() }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-server"></i> </span>
|
||||
<NuxtLink :to="'/backend/'+i.item.via" v-text="i.item.via"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer-item">
|
||||
<div class="is-text-overflow">
|
||||
<span class="icon"><i class="fas fa-envelope"></i> </span>
|
||||
<span>{{ i.item.event ?? '-' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="columns is-multiline">
|
||||
<div class="column is-12">
|
||||
<Message message_class="has-background-info-90 has-text-dark" :toggle="show_page_tips"
|
||||
@toggle="show_page_tips = !show_page_tips" :use-toggle="true" title="Tips" icon="fas fa-info-circle">
|
||||
<ul>
|
||||
<li>
|
||||
Events marked with <code>is Tainted: Yes</code>, are interesting but are too chaotic to be useful be used
|
||||
to
|
||||
determine play state. However, we do use them to update local metadata & play progress.
|
||||
</li>
|
||||
<li>
|
||||
Events marked with <code>is Tainted: No</code>, are events that are used to determine play state.
|
||||
</li>
|
||||
<li>
|
||||
If you are fast enough, you might be able to see the event before it is consumed by the backend. which
|
||||
allow
|
||||
you to delete it from the queue if you desire.
|
||||
</li>
|
||||
</ul>
|
||||
</Message>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user