Bottom bar ok
All checks were successful
repod / nextcloud (push) Successful in 1m6s
repod / nodejs (push) Successful in 1m38s

This commit is contained in:
Michel Roux 2023-08-24 23:59:55 +02:00
parent 1443662168
commit 36ca216e80
7 changed files with 22 additions and 26 deletions

View File

@ -2,11 +2,13 @@
<NcContent app-name="repod"> <NcContent app-name="repod">
<GPodder v-if="!AppConfig.repod.gpodder" /> <GPodder v-if="!AppConfig.repod.gpodder" />
<Index v-if="AppConfig.repod.gpodder" /> <Index v-if="AppConfig.repod.gpodder" />
<Bar />
</NcContent> </NcContent>
</template> </template>
<script> <script>
import '@nextcloud/dialogs/dist/index.css' import '@nextcloud/dialogs/dist/index.css'
import Bar from './components/Player/Bar.vue'
import GPodder from './views/GPodder.vue' import GPodder from './views/GPodder.vue'
import Index from './views/Index.vue' import Index from './views/Index.vue'
import { NcContent } from '@nextcloud/vue' import { NcContent } from '@nextcloud/vue'
@ -14,6 +16,7 @@ import { NcContent } from '@nextcloud/vue'
export default { export default {
name: 'App', name: 'App',
components: { components: {
Bar,
GPodder, GPodder,
Index, Index,
NcContent, NcContent,

View File

@ -48,6 +48,7 @@ export default {
}, },
}, },
methods: { methods: {
formatTimeAgo,
search: debounce(async function value() { search: debounce(async function value() {
try { try {
const currentSearch = this.value const currentSearch = this.value
@ -63,7 +64,6 @@ export default {
toUrl(url) { toUrl(url) {
return `/${btoa(url)}` return `/${btoa(url)}`
}, },
formatTimeAgo,
}, },
} }
</script> </script>

View File

@ -16,7 +16,9 @@
<small>{{ description }}</small> <small>{{ description }}</small>
</p> </p>
</div> </div>
<NcAppNavigationNew v-if="!isSubscribed" :text="t('Subscribe')" @click="addSubscription"> <NcAppNavigationNew v-if="!isSubscribed"
:text="t('Subscribe')"
@click="addSubscription">
<template #icon> <template #icon>
<Plus :size="20" /> <Plus :size="20" />
</template> </template>
@ -91,10 +93,10 @@ export default {
} }
.background { .background {
filter: blur(.5rem) brightness(50%); filter: blur(1rem) brightness(50%);
height: auto; height: auto;
left: 0; left: 0;
opacity: 0.4; opacity: .4;
position: absolute; position: absolute;
top: 0; top: 0;
width: 100%; width: 100%;

View File

@ -1,7 +1,7 @@
<template> <template>
<fragment> <fragment>
<NcLoadingIcon v-if="loading" /> <NcLoadingIcon v-if="loading" />
<ul v-if="!loading"> <ul v-if="!loading" :style="{marginBottom: currentPlayingEpisode ? '5rem' : 'auto'}">
<NcListItem v-for="episode in episodes" <NcListItem v-for="episode in episodes"
:key="episode.episodeUrl" :key="episode.episodeUrl"
:details="formatTimeAgo(new Date(episode.episodePubDate.date))" :details="formatTimeAgo(new Date(episode.episodePubDate.date))"
@ -54,6 +54,9 @@ export default {
} }
}, },
computed: { computed: {
currentPlayingEpisode() {
return this.$store.state.player.episode
},
url() { url() {
return atob(this.$route.params.url) return atob(this.$route.params.url)
}, },

View File

@ -1,10 +1,7 @@
<template> <template>
<fragment> <fragment>
<div v-if="episode" class="footer"> <div v-if="episode" class="footer">
<img class="background" :src="episode.episodeImage"> {{ 'oui' }}
<div class="content">
{{ 'oui' }}
</div>
</div> </div>
</fragment> </fragment>
</template> </template>
@ -23,20 +20,12 @@ export default {
<style scoped> <style scoped>
.footer { .footer {
position: relative; background-color: red;
} bottom: 0;
height: 5rem;
.background { right: 0;
filter: blur(5rem) brightness(50%);
height: auto;
left: 0;
opacity: .4;
position: absolute; position: absolute;
top: 0;
width: 100%; width: 100%;
} z-index: 2000;
.content {
position: relative;
} }
</style> </style>

View File

@ -1,6 +1,8 @@
<template> <template>
<NcAppContent class="main"> <NcAppContent class="main">
<NcTextField class="search" :label="t('Find a podcast')" :value.sync="search"> <NcTextField class="search"
:label="t('Find a podcast')"
:value.sync="search">
<Magnify :size="20" /> <Magnify :size="20" />
</NcTextField> </NcTextField>
<Search v-if="search" :value="search" /> <Search v-if="search" :value="search" />

View File

@ -18,7 +18,6 @@
</NcAppContentList> </NcAppContentList>
</NcAppNavigation> </NcAppNavigation>
<router-view :key="$route.path" /> <router-view :key="$route.path" />
<Bar />
</fragment> </fragment>
</template> </template>
@ -29,7 +28,6 @@ import {
NcAppNavigationNew, NcAppNavigationNew,
NcLoadingIcon, NcLoadingIcon,
} from '@nextcloud/vue' } from '@nextcloud/vue'
import Bar from '../components/Player/Bar.vue'
import Item from '../components/Sidebar/Item.vue' import Item from '../components/Sidebar/Item.vue'
import Plus from 'vue-material-design-icons/Plus.vue' import Plus from 'vue-material-design-icons/Plus.vue'
import { showError } from '@nextcloud/dialogs' import { showError } from '@nextcloud/dialogs'
@ -37,7 +35,6 @@ import { showError } from '@nextcloud/dialogs'
export default { export default {
name: 'Index', name: 'Index',
components: { components: {
Bar,
Item, Item,
NcAppContentList, NcAppContentList,
NcAppNavigation, NcAppNavigation,