mirror of
https://github.com/VueTorrent/VueTorrent.git
synced 2025-03-14 12:10:18 +03:00
perf(RSS): add refresh all rss feeds button to rss articles (#1679)
This commit is contained in:
parent
bdb013c984
commit
4ddf5f3469
3 changed files with 31 additions and 1 deletions
|
@ -549,6 +549,12 @@
|
|||
"pending": "Marking...",
|
||||
"success": "{n} articles marked as read"
|
||||
},
|
||||
"refreshAllFeeds": "Refresh All Feeds",
|
||||
"refreshPromise": {
|
||||
"error": "An error occured while refreshing feeds",
|
||||
"pending": "Refreshing...",
|
||||
"success": "{n} feeds refreshed"
|
||||
},
|
||||
"title": "RSS Articles"
|
||||
},
|
||||
"searchEngine": {
|
||||
|
|
|
@ -106,7 +106,10 @@ onUnmounted(() => {
|
|||
<div class="d-flex flex-row align-center justify-center">
|
||||
<v-checkbox v-model="rssStore.filters.unread" :label="$t('rssArticles.filters.unread')" hide-details />
|
||||
<v-spacer />
|
||||
<v-btn :disabled="rssStore.unreadArticles.length === 0" :text="$t('rssArticles.markAllAsRead')" color="primary" @click="rssStore.markAllAsRead()" />
|
||||
<div :class="{'d-flex button-group': true, 'flex-column': $vuetify.display.mobile}">
|
||||
<v-btn :disabled="rssStore.unreadArticles.length === 0" :text="$t('rssArticles.markAllAsRead')" color="primary" @click="rssStore.markAllAsRead()" />
|
||||
<v-btn :disabled="rssStore.feeds.length === 0" :text="$t('rssArticles.refreshAllFeeds')" color="primary" @click="rssStore.refreshAllFeeds()" />
|
||||
</div>
|
||||
</div>
|
||||
</v-col>
|
||||
</v-row>
|
||||
|
@ -187,6 +190,10 @@ onUnmounted(() => {
|
|||
.description-container {
|
||||
border: solid red 5px;
|
||||
}
|
||||
|
||||
.button-group {
|
||||
gap: 8px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style lang="scss">
|
||||
|
|
|
@ -30,6 +30,22 @@ export const useRssStore = defineStore(
|
|||
await qbit.refreshFeed(feedName)
|
||||
}
|
||||
|
||||
async function refreshAllFeeds() {
|
||||
await toast.promise(
|
||||
Promise.all(feeds.value.map(feed => refreshFeed(feed.name))),
|
||||
{
|
||||
pending: t('rssArticles.refreshPromise.pending'),
|
||||
error: t('rssArticles.refreshPromise.error'),
|
||||
success: t('rssArticles.refreshPromise.success', feeds.value.length)
|
||||
},
|
||||
{
|
||||
autoClose: 1500
|
||||
}
|
||||
)
|
||||
|
||||
await fetchFeeds()
|
||||
}
|
||||
|
||||
async function createFeed(feedName: string, feedUrl: string) {
|
||||
await qbit.createFeed({ name: feedName, url: feedUrl })
|
||||
}
|
||||
|
@ -140,6 +156,7 @@ export const useRssStore = defineStore(
|
|||
articles,
|
||||
unreadArticles,
|
||||
refreshFeed,
|
||||
refreshAllFeeds,
|
||||
createFeed,
|
||||
setRule,
|
||||
renameFeed,
|
||||
|
|
Loading…
Add table
Reference in a new issue