SearchQueryItem.vue 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <template>
  2. <div class="universal-item search-query-item">
  3. <div id="thumbnail-and-info">
  4. <img class="item-thumbnail" :src="result.thumbnail" />
  5. <div id="song-info">
  6. <h4 class="item-title" :title="result.title">
  7. {{ result.title }}
  8. </h4>
  9. </div>
  10. </div>
  11. <div class="universal-item-actions">
  12. <slot name="actions" />
  13. </div>
  14. </div>
  15. </template>
  16. <script>
  17. export default {
  18. props: {
  19. result: {
  20. type: Object,
  21. default: () => {}
  22. }
  23. }
  24. };
  25. </script>
  26. <style lang="scss">
  27. .search-query-item .universal-item-actions i {
  28. color: var(--white) !important;
  29. }
  30. .search-query-actions-enter-active {
  31. transition: all 0.2s ease;
  32. }
  33. .search-query-actions-leave-active {
  34. transition: all 0.2s cubic-bezier(1, 0.5, 0.8, 1);
  35. }
  36. .search-query-actions-enter {
  37. transform: translateX(-20px);
  38. opacity: 0;
  39. }
  40. .search-query-actions-leave-to {
  41. transform: translateX(20px);
  42. opacity: 0;
  43. }
  44. </style>
  45. <style lang="scss" scoped>
  46. .night-mode {
  47. .search-query-item {
  48. background-color: var(--dark-grey-3) !important;
  49. border: 0 !important;
  50. }
  51. }
  52. .search-query-item {
  53. #thumbnail-and-info,
  54. .universal-item-actions {
  55. display: flex;
  56. align-items: center;
  57. }
  58. .universal-item-actions {
  59. margin-left: 5px;
  60. }
  61. .item-thumbnail {
  62. width: 55px;
  63. height: 55px;
  64. }
  65. #thumbnail-and-info {
  66. width: calc(100% - 160px);
  67. }
  68. #song-info {
  69. display: flex;
  70. flex-direction: column;
  71. justify-content: center;
  72. margin-left: 20px;
  73. width: calc(100% - 65px);
  74. .item-title {
  75. font-size: 16px;
  76. }
  77. *:not(i) {
  78. margin: 0;
  79. font-family: Karla, Arial, sans-serif;
  80. }
  81. }
  82. }
  83. </style>