Radio.vue 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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/${encodeURIComponent(radioUrl)}/live`" />
  11. <f7-list-item title="Trasmissioni" :link="`/radio/${encodeURIComponent(radioUrl)}/shows`" />
  12. <f7-list-item
  13. title="Contatti"
  14. :link="`/radio/${encodeURIComponent(radioUrl)}/contacts`"
  15. disabled
  16. />
  17. </f7-list>
  18. </f7-page>
  19. </template>
  20. <script>
  21. import radiomanifest from "../js/radiomanifest";
  22. export default {
  23. name: "radio",
  24. data() {
  25. return {
  26. loading: true,
  27. radioUrl: null,
  28. radio: { name: "" },
  29. Radio: {},
  30. };
  31. },
  32. props: { f7route: Object, f7router: Object },
  33. async mounted() {
  34. this.radioUrl = decodeURIComponent(this.f7route.params.radioUrl);
  35. try {
  36. this.Radio = await radiomanifest.get(this.radioUrl);
  37. this.loading = false;
  38. } catch (e) {
  39. console.error("le cose non vanno mai sempre bene!", e);
  40. }
  41. },
  42. };
  43. </script>
  44. <style>
  45. #logo {
  46. margin-left: 10px;
  47. max-width: 40px;
  48. }
  49. </style>