Update Timeline.vue component, add CW to other types and prevent carousel from automatically rotating

This commit is contained in:
Daniel Supernault 2018-12-09 23:53:25 -07:00
parent 45f52ece0a
commit 8d93096447
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7

View file

@ -72,55 +72,128 @@
</div> </div>
<div v-else-if="status.pf_type === 'photo:album'"> <div v-else-if="status.pf_type === 'photo:album'">
<b-carousel :id="status.id + '-carousel'" <div v-if="status.sensitive == true">
style="text-shadow: 1px 1px 2px #333;" <details class="details-animated">
controls <summary>
indicators <p class="mb-0 lead font-weight-bold">{{ status.spoiler_text ? status.spoiler_text : 'CW / NSFW / Hidden Media'}}</p>
background="#ffffff" <p class="font-weight-light">(click to show)</p>
:interval="4000" </summary>
> <b-carousel :id="status.id + '-carousel'"
<b-carousel-slide v-for="(img, index) in status.media_attachments" :key="img.id"> style="text-shadow: 1px 1px 2px #333;"
<img slot="img" class="d-block img-fluid w-100" :src="img.url" :alt="img.description"> controls
</b-carousel-slide> indicators
</b-carousel> background="#ffffff"
:interval="0"
>
<b-carousel-slide v-for="(img, index) in status.media_attachments" :key="img.id">
<img slot="img" class="d-block img-fluid w-100" :src="img.url" :alt="img.description">
</b-carousel-slide>
</b-carousel>
</details>
</div>
<div v-else>
<b-carousel :id="status.id + '-carousel'"
style="text-shadow: 1px 1px 2px #333;"
controls
indicators
background="#ffffff"
:interval="0"
>
<b-carousel-slide v-for="(img, index) in status.media_attachments" :key="img.id">
<img slot="img" class="d-block img-fluid w-100" :src="img.url" :alt="img.description">
</b-carousel-slide>
</b-carousel>
</div>
</div> </div>
<div v-else-if="status.pf_type === 'video:album'" class="w-100"> <div v-else-if="status.pf_type === 'video:album'" class="w-100">
<b-carousel :id="status.id + '-carousel'" <div v-if="status.sensitive == true">
style="text-shadow: 1px 1px 2px #333; background-color: #000;" <details class="details-animated">
controls <summary>
img-blank <p class="mb-0 lead font-weight-bold">{{ status.spoiler_text ? status.spoiler_text : 'CW / NSFW / Hidden Media'}}</p>
background="#ffffff" <p class="font-weight-light">(click to show)</p>
:interval="4000" </summary>
> <b-carousel :id="status.id + '-carousel'"
<b-carousel-slide v-for="(vid, index) in status.media_attachments" :key="vid.id + '-media'"> style="text-shadow: 1px 1px 2px #333; background-color: #000;"
<video slot="img" class="embed-responsive-item" preload="none" controls loop :alt="vid.description" width="100%" height="100%"> controls
<source :src="vid.url" :type="vid.mime"> img-blank
</video> background="#ffffff"
</b-carousel-slide> :interval="0"
</b-carousel> >
<b-carousel-slide v-for="(vid, index) in status.media_attachments" :key="vid.id + '-media'">
<video slot="img" class="embed-responsive-item" preload="none" controls loop :alt="vid.description" width="100%" height="100%">
<source :src="vid.url" :type="vid.mime">
</video>
</b-carousel-slide>
</b-carousel>
</details>
</div>
<div v-else>
<b-carousel :id="status.id + '-carousel'"
style="text-shadow: 1px 1px 2px #333; background-color: #000;"
controls
img-blank
background="#ffffff"
:interval="0"
>
<b-carousel-slide v-for="(vid, index) in status.media_attachments" :key="vid.id + '-media'">
<video slot="img" class="embed-responsive-item" preload="none" controls loop :alt="vid.description" width="100%" height="100%">
<source :src="vid.url" :type="vid.mime">
</video>
</b-carousel-slide>
</b-carousel>
</div>
</div> </div>
<div v-else-if="status.pf_type === 'photo:video:album'" class="w-100"> <div v-else-if="status.pf_type === 'photo:video:album'" class="w-100">
<b-carousel :id="status.id + '-carousel'" <div v-if="status.sensitive == true">
style="text-shadow: 1px 1px 2px #333; background-color: #000;" <details class="details-animated">
controls <summary>
img-blank <p class="mb-0 lead font-weight-bold">{{ status.spoiler_text ? status.spoiler_text : 'CW / NSFW / Hidden Media'}}</p>
background="#ffffff" <p class="font-weight-light">(click to show)</p>
:interval="4000" </summary>
> <b-carousel :id="status.id + '-carousel'"
<b-carousel-slide v-for="(media, index) in status.media_attachments" :key="media.id + '-media'"> style="text-shadow: 1px 1px 2px #333; background-color: #000;"
controls
img-blank
background="#ffffff"
:interval="0"
>
<b-carousel-slide v-for="(media, index) in status.media_attachments" :key="media.id + '-media'">
<video v-if="media.type == 'Video'" slot="img" class="embed-responsive-item" preload="none" controls loop :alt="media.description" width="100%" height="100%"> <video v-if="media.type == 'Video'" slot="img" class="embed-responsive-item" preload="none" controls loop :alt="media.description" width="100%" height="100%">
<source :src="media.url" :type="media.mime"> <source :src="media.url" :type="media.mime">
</video> </video>
<img v-else-if="media.type == 'Image'" slot="img" class="d-block img-fluid w-100" :src="media.url" :alt="media.description"> <img v-else-if="media.type == 'Image'" slot="img" class="d-block img-fluid w-100" :src="media.url" :alt="media.description">
<p v-else class="text-center p-0 font-weight-bold text-white">Error: Problem rendering preview.</p> <p v-else class="text-center p-0 font-weight-bold text-white">Error: Problem rendering preview.</p>
</b-carousel-slide> </b-carousel-slide>
</b-carousel> </b-carousel>
</details>
</div>
<div v-else>
<b-carousel :id="status.id + '-carousel'"
style="text-shadow: 1px 1px 2px #333; background-color: #000;"
controls
img-blank
background="#ffffff"
:interval="0"
>
<b-carousel-slide v-for="(media, index) in status.media_attachments" :key="media.id + '-media'">
<video v-if="media.type == 'Video'" slot="img" class="embed-responsive-item" preload="none" controls loop :alt="media.description" width="100%" height="100%">
<source :src="media.url" :type="media.mime">
</video>
<img v-else-if="media.type == 'Image'" slot="img" class="d-block img-fluid w-100" :src="media.url" :alt="media.description">
<p v-else class="text-center p-0 font-weight-bold text-white">Error: Problem rendering preview.</p>
</b-carousel-slide>
</b-carousel>
</div>
</div> </div>
<div v-else class="w-100"> <div v-else class="w-100">