new homepage based on favorites (fixes #130 #59) #131

Merged
Xefir merged 23 commits from favorites into main 2024-09-02 09:28:09 +00:00
5 changed files with 18 additions and 13 deletions
Showing only changes of commit b7025a7aa1 - Show all commits

View File

@ -14,6 +14,7 @@ return [
'routes' => [ 'routes' => [
['name' => 'page#index', 'url' => '/', 'verb' => 'GET'], ['name' => 'page#index', 'url' => '/', 'verb' => 'GET'],
['name' => 'page#feed', 'url' => '/feed/{path}', 'verb' => 'GET', 'requirements' => ['path' => '.+']], ['name' => 'page#feed', 'url' => '/feed/{path}', 'verb' => 'GET', 'requirements' => ['path' => '.+']],
['name' => 'page#discover', 'url' => '/discover', 'verb' => 'GET'],
['name' => 'episodes#action', 'url' => '/episodes/action', 'verb' => 'GET'], ['name' => 'episodes#action', 'url' => '/episodes/action', 'verb' => 'GET'],
['name' => 'episodes#list', 'url' => '/episodes/list', 'verb' => 'GET'], ['name' => 'episodes#list', 'url' => '/episodes/list', 'verb' => 'GET'],
['name' => 'opml#export', 'url' => '/opml/export', 'verb' => 'GET'], ['name' => 'opml#export', 'url' => '/opml/export', 'verb' => 'GET'],

View File

@ -45,6 +45,14 @@ class PageController extends Controller
return $response; return $response;
} }
/**
* @NoAdminRequired
* @NoCSRFRequired
*/
public function discover(): TemplateResponse {
return $this->index();
}
/** /**
* @NoAdminRequired * @NoAdminRequired
* @NoCSRFRequired * @NoCSRFRequired

View File

@ -1,5 +1,5 @@
<template> <template>
<NcAppContent :class="{ episode, padding }"> <NcAppContent :class="{ episode }">
<slot /> <slot />
</NcAppContent> </NcAppContent>
</template> </template>
@ -14,12 +14,6 @@ export default {
components: { components: {
NcAppContent, NcAppContent,
}, },
props: {
padding: {
type: Boolean,
default: true,
},
},
computed: { computed: {
...mapState(usePlayer, ['episode']), ...mapState(usePlayer, ['episode']),
}, },
@ -30,8 +24,4 @@ export default {
.episode { .episode {
padding-bottom: 6rem; padding-bottom: 6rem;
} }
.padding {
padding: 15px 51px;
}
</style> </style>

View File

@ -1,5 +1,5 @@
<template> <template>
<AppContent> <AppContent class="padding">
<NcTextField v-model="search" :label="t('repod', 'Find a podcast')"> <NcTextField v-model="search" :label="t('repod', 'Find a podcast')">
<template #icon> <template #icon>
<Magnify :size="20" /> <Magnify :size="20" />
@ -35,3 +35,9 @@ export default {
}), }),
} }
</script> </script>
<style scoped>
.padding {
padding: 15px 51px;
}
</style>

View File

@ -1,5 +1,5 @@
<template> <template>
<AppContent :padding="false"> <AppContent>
<Loading v-if="loading" /> <Loading v-if="loading" />
<EmptyContent <EmptyContent
v-if="failed" v-if="failed"