mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-09-10 17:58:02 +02:00
feat: reverse the order of the rss feed
This commit is contained in:
parent
c3c846f82d
commit
106489be75
@ -66,6 +66,7 @@ export default {
|
||||
currentFeed: null,
|
||||
metadataDetails: {
|
||||
preventIndexing: true,
|
||||
reverseOrder: false,
|
||||
ownerName: '',
|
||||
ownerEmail: ''
|
||||
},
|
||||
|
@ -16,6 +16,12 @@
|
||||
</div>
|
||||
<div>{{ feed.meta.preventIndexing ? 'Yes' : 'No' }}</div>
|
||||
</div>
|
||||
<div class="flex py-0.5">
|
||||
<div class="w-48">
|
||||
<span class="text-white text-opacity-60 uppercase text-sm">{{ $strings.LabelRSSFeedReverseOrder }}</span>
|
||||
</div>
|
||||
<div>{{ feed.meta.reverseOrder ? 'Yes' : 'No' }}</div>
|
||||
</div>
|
||||
<div v-if="feed.meta.ownerName" class="flex py-0.5">
|
||||
<div class="w-48">
|
||||
<span class="text-white text-opacity-60 uppercase text-sm">{{ $strings.LabelRSSFeedCustomOwnerName }}</span>
|
||||
|
@ -24,6 +24,9 @@
|
||||
<div class="w-full relative mb-1">
|
||||
<ui-text-input-with-label v-model="ownerEmail" :label="$strings.LabelRSSFeedCustomOwnerEmail" />
|
||||
</div>
|
||||
<div class="w-full relative mb-1">
|
||||
<ui-checkbox v-model="reverseOrder" :label="$strings.LabelRSSFeedReverseOrder" checkbox-bg="primary" border-color="gray-600" label-class="pl-2" />
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
@ -38,7 +41,8 @@ export default {
|
||||
return {
|
||||
preventIndexing: true,
|
||||
ownerName: '',
|
||||
ownerEmail: ''
|
||||
ownerEmail: '',
|
||||
reverseOrder: false
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -82,6 +86,17 @@ export default {
|
||||
ownerEmail: value
|
||||
})
|
||||
}
|
||||
},
|
||||
reverseOrder: {
|
||||
get() {
|
||||
return this.value.reverseOrder
|
||||
},
|
||||
set(value) {
|
||||
this.$emit('input', {
|
||||
...this.value,
|
||||
reverseOrder: value
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {},
|
||||
|
@ -508,6 +508,7 @@
|
||||
"LabelRSSFeedCustomOwnerName": "Custom owner Name",
|
||||
"LabelRSSFeedOpen": "RSS Feed Open",
|
||||
"LabelRSSFeedPreventIndexing": "Prevent Indexing",
|
||||
"LabelRSSFeedReverseOrder": "Reverse Episode Order",
|
||||
"LabelRSSFeedSlug": "RSS Feed Slug",
|
||||
"LabelRSSFeedURL": "RSS Feed URL",
|
||||
"LabelRandomly": "Randomly",
|
||||
|
@ -388,7 +388,11 @@ class Feed extends Model {
|
||||
ownerEmail: DataTypes.STRING,
|
||||
explicit: DataTypes.BOOLEAN,
|
||||
preventIndexing: DataTypes.BOOLEAN,
|
||||
coverPath: DataTypes.STRING
|
||||
coverPath: DataTypes.STRING,
|
||||
reverseOrder: {
|
||||
type: DataTypes.BOOLEAN,
|
||||
defaultValue: false
|
||||
}
|
||||
},
|
||||
{
|
||||
sequelize,
|
||||
@ -613,8 +617,13 @@ class Feed extends Model {
|
||||
}
|
||||
|
||||
const rssfeed = new RSS(rssData)
|
||||
this.feedEpisodes.forEach((ep) => {
|
||||
rssfeed.item(ep.getRSSData(hostPrefix))
|
||||
let episodes = this.feedEpisodes || []
|
||||
if (this.reverseOrder) {
|
||||
episodes = [...episodes].reverse()
|
||||
}
|
||||
|
||||
episodes.forEach(episode => {
|
||||
rssfeed.item(episode.getRSSData(hostPrefix))
|
||||
})
|
||||
return rssfeed.xml()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user