Radio.vue 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <template>
  2. <f7-page name="radio">
  3. <img :src='Radio.logo' id='logo'/>
  4. <f7-block-title>{{Radio.name}}</f7-block-title>
  5. <f7-block-header>{{Radio.description}}</f7-block-header>
  6. <div v-if='loading' strong class="text-align-center">
  7. <f7-preloader v-if='loading' />
  8. </div>
  9. <f7-list v-else>
  10. <f7-list-item title="Diretta" :link='`/radio/${radioId}/live`' />
  11. <f7-list-item title="Trasmissioni" :link='`/radio/${radioId}/shows`' />
  12. <f7-list-item title="Contatti" :link='`/radio/${radioId}/contacts`' disabled />
  13. </f7-list>
  14. </f7-page>
  15. </template>
  16. <script>
  17. import radiomanifest from '../js/radiomanifest'
  18. export default {
  19. name: 'radio',
  20. data () {
  21. return {
  22. loading: true,
  23. radioId: null,
  24. radio: { name: '' },
  25. Radio: { }
  26. }
  27. },
  28. props: { f7route: Object, f7router: Object },
  29. async mounted () {
  30. this.radioId = this.f7route.params.radioName
  31. try {
  32. this.Radio = await radiomanifest.get(this.f7route.params.radioName)
  33. this.loading = false
  34. } catch (e) {
  35. console.error('le cose non vanno mai sempre bene!', e)
  36. }
  37. }
  38. }
  39. </script>
  40. <style>
  41. #logo {
  42. margin-left: 10px;
  43. max-width: 40px;
  44. }
  45. </style>