style.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. import styled from "styled-components";
  2. const whiteFilter = `invert(100%) sepia(0%) saturate(7500%) hue-rotate(116deg)
  3. brightness(109%) contrast(109%);`;
  4. const darkFilter = `invert(48%) sepia(3%) saturate(4%) hue-rotate(326deg) brightness(110%) contrast(78%);`;
  5. export const Wrapper = styled.div`
  6. height: ${({ isCollapsed }) => (isCollapsed ? "30px" : "80px")};
  7. flex-shrink: 0;
  8. background: #1a1a1a;
  9. border-top: 3px solid #525252;
  10. transition: 0.4s;
  11. display: flex;
  12. flex-direction: column;
  13. justify-content: center;
  14. padding: 5px 20px 0;
  15. `;
  16. export const Header = styled.div`
  17. display: flex;
  18. justify-content: space-between;
  19. align-items: center;
  20. padding-bottom: 5px;
  21. `;
  22. export const Duration = styled.p`
  23. font-size: 12px;
  24. `;
  25. export const Audio = styled.input`
  26. appearance: none;
  27. -webkit-appearance: none;
  28. background: #0f0e0e;
  29. width: 95%;
  30. &:focus {
  31. outline: none;
  32. }
  33. &::-webkit-slider-thumb {
  34. -webkit-appearance: none;
  35. width: 10px;
  36. height: 10px;
  37. border-radius: 5px;
  38. background: rgb(100, 100, 100);
  39. cursor: pointer;
  40. margin-top: -2.2px;
  41. }
  42. &::-webkit-slider-runnable-track {
  43. width: 100%;
  44. height: 5px;
  45. cursor: pointer;
  46. background: rgb(50, 50, 50);
  47. border-radius: 5px;
  48. }
  49. `;
  50. export const ButtonCollapse = styled.img`
  51. width: 15px;
  52. height: 15px;
  53. filter: ${({ isCollapsed }) => (isCollapsed ? darkFilter : whiteFilter)}
  54. &:hover {
  55. cursor: pointer;
  56. }
  57. `;
  58. export const Footer = styled.div`
  59. display: flex;
  60. justify-content: space-between;
  61. align-items: center;
  62. `;
  63. export const Info = styled.div`
  64. width: 150px;
  65. `;
  66. export const PlaylistName = styled.p`
  67. font-size: 16px;
  68. `;
  69. export const TrackName = styled.p`
  70. font-size: 12px;
  71. `;
  72. export const MainButtons = styled.div`
  73. display: flex;
  74. align-items: center;
  75. `;
  76. export const ShuffleButton = styled.img`
  77. width: 18px;
  78. height: 18px;
  79. transition: 0.3s;
  80. filter: ${darkFilter}
  81. &:hover {
  82. cursor: pointer;
  83. filter: ${whiteFilter}
  84. }
  85. `;
  86. export const PreviousButton = styled.img`
  87. width: 22px;
  88. height: 22px;
  89. transition: 0.3s;
  90. filter: ${darkFilter}
  91. &:hover {
  92. cursor: pointer;
  93. filter: ${whiteFilter}
  94. }
  95. `;
  96. export const StatusButton = styled.img`
  97. width: 40px;
  98. height: 40px;
  99. filter: invert(98%) sepia(0%) saturate(303%) hue-rotate(143deg) brightness(88%) contrast(84%);
  100. transition: 1s;
  101. &:hover {
  102. cursor: pointer;
  103. filter: ${whiteFilter}
  104. }
  105. `;
  106. export const NextButton = styled.img`
  107. width: 22px;
  108. height: 22px;
  109. transition: 0.3s;
  110. filter: ${darkFilter}
  111. &:hover {
  112. cursor: pointer;
  113. filter: ${whiteFilter}
  114. }
  115. `;
  116. export const RepeatButton = styled.img`
  117. width: 18px;
  118. height: 18px;
  119. transition: 0.3s;
  120. filter: ${({ isRepeated }) => (isRepeated ? whiteFilter : darkFilter)}
  121. &:hover {
  122. cursor: pointer;
  123. }
  124. `;
  125. export const VolumeSettings = styled.div`
  126. width: 150px;
  127. display: flex;
  128. align-items: center;
  129. `;
  130. export const ButtonVolume = styled.img`
  131. width: 22px;
  132. height: 22px;
  133. filter: ${darkFilter}
  134. transition: 0.3s;
  135. &:hover {
  136. filter: ${whiteFilter}
  137. cursor: pointer;
  138. }
  139. `;
  140. export const Volume = styled.input`
  141. width: 100%;
  142. `;