repod/src/components/TopItem.vue

56 lines
936 B
Vue
Raw Normal View History

2023-07-25 20:07:35 +00:00
<template>
<a @click="addSubscription">
<img :alt="`${title} - ${author}`"
:src="logo"
2023-07-29 15:53:51 +00:00
:title="author">
2023-07-25 20:07:35 +00:00
</a>
</template>
<script>
import axios from '@nextcloud/axios'
import { generateUrl } from '@nextcloud/router'
import { showError } from '@nextcloud/dialogs'
export default {
name: 'TopItem',
components: {},
props: {
author: {
2023-07-25 20:07:35 +00:00
type: String,
required: true,
},
logo: {
2023-07-25 20:07:35 +00:00
type: String,
required: true,
},
title: {
type: String,
required: true,
},
url: {
2023-07-25 20:07:35 +00:00
type: String,
required: true,
},
},
methods: {
async addSubscription() {
try {
await axios.post(generateUrl('/apps/gpoddersync/subscription_change/create'), { add: [this.url], remove: [] })
2023-07-25 20:07:35 +00:00
} catch (e) {
console.error(e)
showError(t('Error while adding the feed'))
}
this.$store.dispatch('subscriptions/fetch')
},
},
}
</script>
<style scoped>
img {
height: 100%;
width: 100%;
}
</style>