mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-27 00:33:17 +00:00
Merge pull request #1546 from pixelfed/frontend-ui-refactor
Update LoopComponent
This commit is contained in:
commit
dec17bf4af
3 changed files with 41 additions and 29 deletions
BIN
public/js/loops.js
vendored
BIN
public/js/loops.js
vendored
Binary file not shown.
Binary file not shown.
|
@ -1,5 +1,9 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div class="w-100 h-100">
|
||||||
|
<div v-if="loading" style="min-height: 400px;" class="d-flex justify-content-center align-items-center">
|
||||||
|
<img src="/img/pixelfed-icon-grey.svg" class="">
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
<div class="mb-4">
|
<div class="mb-4">
|
||||||
<p class="text-center">
|
<p class="text-center">
|
||||||
<!-- <a :class="[tab == 'popular'? 'btn font-weight-bold py-0 btn-success' : 'btn font-weight-bold py-0 btn-outline-success']" href="#" @click.prevent="setTab('popular')">Popular</a> -->
|
<!-- <a :class="[tab == 'popular'? 'btn font-weight-bold py-0 btn-success' : 'btn font-weight-bold py-0 btn-outline-success']" href="#" @click.prevent="setTab('popular')">Popular</a> -->
|
||||||
|
@ -15,7 +19,9 @@
|
||||||
<video class="embed-responsive-item" :src="videoSrc(loop)" preload="none" width="100%" height="100%" loop @click="toggleVideo(loop, $event)" :poster="posterSrc(loop)"></video>
|
<video class="embed-responsive-item" :src="videoSrc(loop)" preload="none" width="100%" height="100%" loop @click="toggleVideo(loop, $event)" :poster="posterSrc(loop)"></video>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<p class="username font-weight-bolder lead d-flex justify-content-between"><a :href="loop.account.url">{{loop.account.acct}}</a> <a :href="loop.url">{{timestamp(loop)}}</a></p>
|
<p class="username font-weight-bolder lead d-flex justify-content-between">
|
||||||
|
<a :href="loop.account.url" :title="loop.account.acct">{{truncate(loop.account.acct)}}</a>
|
||||||
|
<a :href="loop.url">{{timestamp(loop)}}</a></p>
|
||||||
<p class="small text-muted text-truncate" v-html="getTitle(loop)"></p>
|
<p class="small text-muted text-truncate" v-html="getTitle(loop)"></p>
|
||||||
<div class="small text-muted d-flex justify-content-between mb-0">
|
<div class="small text-muted d-flex justify-content-between mb-0">
|
||||||
<span>{{loop.favourites_count}} Likes</span>
|
<span>{{loop.favourites_count}} Likes</span>
|
||||||
|
@ -34,6 +40,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
|
@ -61,9 +68,10 @@ Object.defineProperty(HTMLMediaElement.prototype, 'playing', {
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
'version': 1,
|
loading: true,
|
||||||
'loops': [],
|
version: 1,
|
||||||
'tab': 'new'
|
loops: [],
|
||||||
|
tab: 'new'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -71,6 +79,7 @@ export default {
|
||||||
axios.get('/api/v2/loops')
|
axios.get('/api/v2/loops')
|
||||||
.then(res => {
|
.then(res => {
|
||||||
this.loops = res.data;
|
this.loops = res.data;
|
||||||
|
this.loading = false;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -112,6 +121,9 @@ export default {
|
||||||
getTitle(loop) {
|
getTitle(loop) {
|
||||||
let content = loop.content ? loop.content : 'Untitled';
|
let content = loop.content ? loop.content : 'Untitled';
|
||||||
return content.trim();
|
return content.trim();
|
||||||
|
},
|
||||||
|
truncate(str, len = 15) {
|
||||||
|
return _.truncate(str, {length: len});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue