zaphyra's git: domsonic

subsonic web-client

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 
94 
95 
96 
97 
98 
99 
100 
101 
102 
103 
104 
105 
106 
107 
108 
109 
110 
111 
112 
113 
114 
115 
116 
117 
118 
119 
120 
121 
122 
123 
124 
125 
126 
127 
128 
129 
130 
131 
132 
133 
134 
135 
136 
137 
138 
139 
140 
141 
142 
143 
144 
145 
146 
147 
148 
.player {
  z-index: 50;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0;
  max-height: 0;
  transition: max-height 0.5s;

  &.visible {
   height: var(--player-height);
   max-height: var(--player-height);
  }

  .playback-slider {
    margin: 0 auto;
    margin-bottom: -.8rem;

    &::-moz-range-track,
    &::-moz-range-progress {
      border-radius: 0;
    }

    &::-moz-range-thumb {
      border: 0;
      height: 0;
      width: 0;
    }

    &:hover::-moz-range-thumb {
      border-radius: 50%;
      height: 1.25rem;
      width: 1.25rem;
    }
  }

  .background {
    display: flex;
    flex-direction: row;
    align-content: center;
    background: var(--secondary-background);
    color: var(--color);
    padding: .25rem .5rem;
    padding-top: calc(.25rem + .3rem);
    margin-top: -.3rem;

    > div {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: center;
      flex: 1;
    }

    .track-info {
      justify-content: start;

      img {
        width: 60px;
        height: 60px;
        margin-right: .5rem;
        cursor: pointer;
      }

      > div {
        display: flex;
        flex-direction: column;
        min-width: 0;

        > * {
          display: block;
          overflow: hidden;
          white-space: nowrap;
          text-overflow: ellipsis;
        }
      }

      button {
        margin-left: 1rem;
      }
    }

    &> :last-child {
      justify-content: end;

      details .icon,
      input {
        margin: auto;
      }
    }
  }

  .volume-slider {
    height: 9rem;
    width: 1.6rem;
    margin: auto;
  }

  button,
  [role=button] {
    padding: .5rem;
  }

  .play {
    padding: .75rem;

    .icon {
      height: 40px;
      width: 40px;
    }
  }

  .previous,
  .next {
    .icon {
      height: 20px;
      width: 20px;
    }
  }

  .previous {
    .icon {
      transform: rotate(180deg);
    }
  }
}

@media(max-width: 850px) {
  .player {
    bottom: var(--navbar-height);

    .background {
      > div {
        flex: unset;

        &:first-child {
          flex: 1;
        }
      }
    }
  }
}

@keyframes slide-text {
  0% { transform: translateX(35%); }
  100% { transform: translateX(-65%); }
}