You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

158 lines
2.8 KiB

  1. <template>
  2. <div class="weband">
  3. <section class="cover">
  4. </section>
  5. <section v-for="album in albums" v-bind:key="album.title" class="album" v-on:click="albumSelected(album)">
  6. <div>{{album.title}} | {{album.year}}</div>
  7. <img :src="album.cover"/>
  8. </section>
  9. <section class="icono-2">
  10. </section>
  11. <section class="contact">
  12. <span>contact<span class="point">@</span>{{this.artist.toLowerCase()}}<span class="point">.</span>space</span>
  13. <footer class="flex-center">
  14. dede<span class='point'>.</span>space<span class='pipe'>|</span>{{new Date().getFullYear()}}
  15. </footer>
  16. </section>
  17. <Player v-bind:album="currentAlbum"/>
  18. </div>
  19. </template>
  20. <script>
  21. import Player from './Player.vue'
  22. import * as data from '../data.json';
  23. export default {
  24. name: 'Weband',
  25. props: {
  26. msg: String
  27. },
  28. components: {
  29. Player
  30. },
  31. data: function () {
  32. return {
  33. artist: data.artist,
  34. albums: data.albums,
  35. currentAlbum: data.albums[0]
  36. }
  37. },
  38. methods: {
  39. albumSelected: function(album){
  40. this.currentAlbum = album;
  41. }
  42. }
  43. }
  44. </script>
  45. <style scoped>
  46. @import '../assets/css/_variables.css';
  47. .point {
  48. margin: 0px var(--pretty-margin);
  49. }
  50. .pipe {
  51. margin: 0px calc(3 * var(--pretty-margin));
  52. }
  53. section{
  54. height: 100vh;
  55. background-color: var(--main-color);
  56. color: var(--text-color);
  57. }
  58. section h2 {
  59. font-size: 2rem;
  60. }
  61. /* section.album:nth-of-type(even){
  62. color: var(--main-color);
  63. background-color: var(--secondary-color);
  64. }
  65. section.album:nth-of-type(odd){
  66. background-color: var(--main-color);
  67. color: var(--secondary-color);
  68. } */
  69. section.cover{
  70. background : url(../assets/images/icono_1.png) no-repeat center center;
  71. }
  72. section.album{
  73. display: flex;
  74. flex-direction: column;
  75. align-items: center;
  76. justify-content: space-around;
  77. cursor: pointer;
  78. }
  79. section.album img{
  80. max-height: 80vh;
  81. max-width: 80vh;
  82. border : 2px solid var(--secondary-color);
  83. }
  84. /*section.albums{*/
  85. /*background-color: black;*/
  86. /*color:white;
  87. display: flex;
  88. flex-direction: column;
  89. justify-content: center;
  90. line-height: 200%;*/
  91. /*}*/
  92. /*section.albums > * {
  93. padding-left: 10vw;
  94. }
  95. section.albums h2 {
  96. padding-left: 20vw;
  97. font-weight: normal;
  98. }
  99. section.albums ul {
  100. list-style-type: none;
  101. }*/
  102. section.icono-2{
  103. background : url(../assets/images/icono_2.png) no-repeat center center;
  104. }
  105. section.contact{
  106. display : flex;
  107. flex-direction: column;
  108. justify-content: center;
  109. align-items: center;
  110. position :relative;
  111. color:var(--secondary-color);
  112. }
  113. footer{
  114. font-size: 0.92rem;
  115. position: absolute;
  116. width: 100%;
  117. bottom: 0;
  118. text-align: center;
  119. }
  120. .hidden{
  121. display: none;
  122. }
  123. </style>