Haml templates, artist page renderer
This commit is contained in:
@@ -1,151 +1,33 @@
|
||||
@import "alpha_gradient";
|
||||
|
||||
.artist-info {
|
||||
width: 100%;
|
||||
float: left;
|
||||
margin: 0 0 25px 0;
|
||||
clear: both;
|
||||
|
||||
.pic {
|
||||
float: left;
|
||||
width: 250px;
|
||||
margin: 25px 0;
|
||||
|
||||
img {
|
||||
margin-left: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
.name {
|
||||
margin: 25px 0 0 300px;
|
||||
}
|
||||
|
||||
.info {
|
||||
margin: 0 17px 25px 300px;
|
||||
}
|
||||
margin-bottom: 20px;
|
||||
.pic {
|
||||
height: 220px;
|
||||
img {
|
||||
max-width: 220px;
|
||||
max-height: 220px;
|
||||
}
|
||||
}
|
||||
.desc {
|
||||
height: 220px;
|
||||
}
|
||||
}
|
||||
|
||||
.albums {
|
||||
width: 100%;
|
||||
float: left;
|
||||
clear: both;
|
||||
|
||||
.album {
|
||||
clear: both;
|
||||
|
||||
.pic {
|
||||
float: left;
|
||||
width: 250px;
|
||||
|
||||
> * {
|
||||
margin-left: 25px;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 248px;
|
||||
height: 248px;
|
||||
border: #d0d0d0 1px solid;
|
||||
}
|
||||
|
||||
.add-album-button-container {
|
||||
position: relative;
|
||||
margin: 10px -50px 0 0;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.name {
|
||||
display: block;
|
||||
margin: 0 0 10px 300px;
|
||||
}
|
||||
|
||||
.tracklist {
|
||||
margin: 0 17px 30px 275px;
|
||||
|
||||
ul {
|
||||
li {
|
||||
display: block;
|
||||
height: 26px;
|
||||
position: relative;
|
||||
padding-left: 25px;
|
||||
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
|
||||
.track-container {
|
||||
background-color: #fafafa;
|
||||
.fade {
|
||||
@include alpha_gradient(250, 250, 250, "fafafa");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
&.now {
|
||||
.track-container {
|
||||
background-color: #e0f0fa;
|
||||
.fade {
|
||||
@include alpha_gradient(224, 240, 250, "e0f0fa");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.add-track {
|
||||
display: none;
|
||||
float: left;
|
||||
padding: 1px 5px;
|
||||
margin: 3px 0 0 -22px;
|
||||
}
|
||||
|
||||
.track-container {
|
||||
height: 20px;
|
||||
padding: 5px 0 0 0;
|
||||
border-top: #e0e0e0 1px solid;
|
||||
|
||||
> * {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.fade {
|
||||
right: 0px;
|
||||
top: 6px;
|
||||
width: 80px;
|
||||
height: 16px;
|
||||
z-index: 20;
|
||||
@include alpha_gradient(255, 255, 255, "ffffff");
|
||||
}
|
||||
|
||||
.index {
|
||||
left: 22px;
|
||||
top: 9px;
|
||||
display: block;
|
||||
width: 15px;
|
||||
text-align: right;
|
||||
font-size: 10px;
|
||||
color: #505050;
|
||||
}
|
||||
|
||||
.trackname {
|
||||
left: 40px;
|
||||
top: 6px;
|
||||
width: 90%;
|
||||
height: 16px;
|
||||
overflow: hidden;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.length {
|
||||
right: 0px;
|
||||
top: 6px;
|
||||
height: 16px;
|
||||
z-index: 30;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.album {
|
||||
margin-bottom: 20px;
|
||||
.art {
|
||||
img {
|
||||
max-width: 220px;
|
||||
}
|
||||
.button-container {
|
||||
text-align: center;
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
.tracks {
|
||||
td.song-duration {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,18 +1,19 @@
|
||||
/*
|
||||
|
||||
* require common
|
||||
* require misc
|
||||
* require header
|
||||
*= require bootstrap
|
||||
|
||||
* require albums
|
||||
* require player
|
||||
*= require header
|
||||
* require common
|
||||
*= require misc
|
||||
|
||||
*= require albums
|
||||
*= require player
|
||||
* require pulldown
|
||||
* require pulldown
|
||||
* require search
|
||||
* require settings
|
||||
* require textpage
|
||||
|
||||
*= require bootstrap
|
||||
*= require main
|
||||
|
||||
|
||||
*/
|
||||
@@ -1,78 +1,3 @@
|
||||
.header-container {
|
||||
.hello {
|
||||
display: none;
|
||||
float: right;
|
||||
margin: 6px 10px 0 0;
|
||||
color: #222;
|
||||
|
||||
.greating {
|
||||
display: block;
|
||||
float: left;
|
||||
margin-right: 8px;
|
||||
|
||||
span {
|
||||
border-bottom: #202020 1px dotted;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.settings-button {
|
||||
float: right;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
margin: 1px 0;
|
||||
background-image: url(/images/icns/settings.png);
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.navigation {
|
||||
background-color: #EEE;
|
||||
background-image: url(/images/concrete_wall_2.png);
|
||||
height: 30px;
|
||||
|
||||
li {
|
||||
display: block;
|
||||
float: left;
|
||||
width: auto;
|
||||
height: 30px;
|
||||
margin-left: 10px;
|
||||
color: #222;
|
||||
line-height: 30px;
|
||||
text-shadow: #666 0px 0px 0.5px;
|
||||
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
text-shadow: #666 0px 0px 2px;
|
||||
}
|
||||
|
||||
&.logo {
|
||||
font-size: 20px;
|
||||
line-height: 32px;
|
||||
font-weight: bold;
|
||||
margin: -3px 1px 0 10px;
|
||||
|
||||
.version {
|
||||
float: right;
|
||||
font-size: 9px;
|
||||
font-weight: normal;
|
||||
margin: 10px 0 0 4px;
|
||||
}
|
||||
}
|
||||
|
||||
&.vk_auth {
|
||||
display: none;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: inherit;
|
||||
border-bottom: #a0a0a0 1px solid;
|
||||
|
||||
&.a {
|
||||
border-bottom: #a0a0a0 1px dotted;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#main {
|
||||
margin-top: 60px;
|
||||
}
|
||||
@@ -1,93 +1,9 @@
|
||||
#main {
|
||||
margin-top: 60px;
|
||||
}
|
||||
|
||||
.player {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.buttons {
|
||||
text-align: center;
|
||||
}
|
||||
.now-playing {
|
||||
text-align: center;
|
||||
}
|
||||
.progress {
|
||||
width: 94%;
|
||||
margin: 0 0 10px 3%;
|
||||
height: 7px;
|
||||
background-color: #e0e0e0;
|
||||
}
|
||||
.progress .loaded {
|
||||
width: 66%;
|
||||
height: 7px;
|
||||
background-color: #70c0c0;
|
||||
}
|
||||
.progress .loaded .played {
|
||||
width: 66%;
|
||||
height: 7px;
|
||||
background-color: #0090AA;
|
||||
}
|
||||
|
||||
.artist-info {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.artist-info .pic {
|
||||
height: 220px;
|
||||
}
|
||||
.artist-info .pic img {
|
||||
max-width: 220px;
|
||||
}
|
||||
.artist-info .desc {
|
||||
height: 220px;
|
||||
}
|
||||
|
||||
.album {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.album .art {
|
||||
height: 220px;
|
||||
}
|
||||
.album .button-container {
|
||||
text-align: center;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.album .tracks {
|
||||
|
||||
}
|
||||
td.song-duration {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.playlist .artist-name {
|
||||
margin-bottom: 4px;
|
||||
font-size: 11px;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
|
||||
.small-round {
|
||||
border-radius: 15px;
|
||||
padding: 2px 9px !important;
|
||||
font-size: 18px !important;
|
||||
}
|
||||
.large-round {
|
||||
border-radius: 21px !important;
|
||||
padding: 11px 11px 11px 15px !important;
|
||||
}
|
||||
|
||||
.popover-wrapper {
|
||||
position: fixed;
|
||||
left: 50%;
|
||||
margin-left: -280px;
|
||||
top: 45px;
|
||||
width: 210px;
|
||||
height: 200px;
|
||||
|
||||
}
|
||||
.popover {
|
||||
/* display: block;*/
|
||||
}
|
||||
|
||||
.now-playing-item {
|
||||
background-color: #f5fcff;
|
||||
}
|
||||
@@ -1,156 +1,18 @@
|
||||
@import "rounded";
|
||||
|
||||
.fullscreen {
|
||||
position: absolute;
|
||||
z-index: 9999;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #ffffff;
|
||||
text-align: center;
|
||||
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#e5ffffff, endColorstr=#e5ffffff);
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#e5ffffff, endColorstr=#e5ffffff)";
|
||||
|
||||
.inner {
|
||||
position: relative;
|
||||
top: 50%;
|
||||
margin-top: -50px;
|
||||
height: 100px;
|
||||
}
|
||||
.small-round {
|
||||
border-radius: 15px;
|
||||
padding: 2px 9px !important;
|
||||
font-size: 18px !important;
|
||||
}
|
||||
.large-round {
|
||||
border-radius: 21px !important;
|
||||
padding: 11px 11px 11px 15px !important;
|
||||
}
|
||||
|
||||
.button {
|
||||
display: inline;
|
||||
width: auto;
|
||||
padding: 5px 10px;
|
||||
border: 1px solid;
|
||||
cursor: pointer;
|
||||
@include rounded(3);
|
||||
|
||||
&.gray {
|
||||
background-color: #e0e0e0;
|
||||
color: #404040;
|
||||
text-shadow: #d0d0d0 0px 1px 1px;
|
||||
border-color: #d0d0d0;
|
||||
box-shadow: #c0c0c0 1px 1px 0px;
|
||||
}
|
||||
|
||||
&.red {
|
||||
background-color: #fab0b0;
|
||||
color: #e05050;
|
||||
text-shadow: #c08080 0px 1px 1px;
|
||||
border-color: #eaa0a0;
|
||||
box-shadow: #da9090 1px 1px 0px;
|
||||
}
|
||||
|
||||
&.big {
|
||||
font-size: 22px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Scrollbars */
|
||||
|
||||
|
||||
.data-container {
|
||||
.scrollbar-pane {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.scrollbar-handle-container {
|
||||
width: 8px;
|
||||
}
|
||||
|
||||
.scrollbar-handle {
|
||||
width: 8px;
|
||||
}
|
||||
.scrollbar-handle-container {
|
||||
background-color: #FFF;
|
||||
}
|
||||
.scrollbar-handle {
|
||||
background-color: #CCC;
|
||||
|
||||
&:hover {
|
||||
background-color: #999;
|
||||
}
|
||||
|
||||
&.move {
|
||||
background-color: #AAA;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.player-container {
|
||||
.scrollbar-pane {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.scrollbar-handle-container {
|
||||
width: 8px;
|
||||
}
|
||||
|
||||
.scrollbar-handle {
|
||||
width: 8px;
|
||||
}
|
||||
.scrollbar-handle-container {
|
||||
background-color: #222;
|
||||
}
|
||||
.scrollbar-handle {
|
||||
background-color: #444;
|
||||
|
||||
&:hover {
|
||||
background-color: #666;
|
||||
}
|
||||
|
||||
&.move {
|
||||
background-color: #888;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.error_page {
|
||||
position: relative;
|
||||
width: 600px;
|
||||
text-align: center;
|
||||
top: 100px;
|
||||
left: 50%;
|
||||
margin-left: -300px;
|
||||
|
||||
h1 {
|
||||
font-size: 150px;
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.kaboom {
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.auth-notice {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: #60a0ff;
|
||||
color: #ffffff;
|
||||
top: 32px;
|
||||
left: 290px;
|
||||
line-height: 35px;
|
||||
padding-right: 10px;
|
||||
border: #4080dd 1px solid;
|
||||
@include rounded(3);
|
||||
cursor: pointer;
|
||||
|
||||
.arrow {
|
||||
float: left;
|
||||
margin: -5px 10px 0 10px;
|
||||
font-size: 25px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.popover-wrapper {
|
||||
position: fixed;
|
||||
left: 50%;
|
||||
margin-left: -280px;
|
||||
top: 45px;
|
||||
width: 210px;
|
||||
height: 200px;
|
||||
}
|
||||
@@ -1,228 +1,30 @@
|
||||
@import "alpha_gradient";
|
||||
@import "rounded";
|
||||
@import "opacity";
|
||||
$icons_dir: "/images/icns/";
|
||||
.player {
|
||||
.buttons {
|
||||
text-align: center;
|
||||
}
|
||||
.now-playing {
|
||||
text-align: center;
|
||||
}
|
||||
.progress {
|
||||
width: 94%;
|
||||
margin: 0 0 10px 3%;
|
||||
height: 7px;
|
||||
background-color: #e0e0e0;
|
||||
.loaded {
|
||||
width: 66%;
|
||||
height: 7px;
|
||||
background-color: #70c0c0;
|
||||
.played {
|
||||
width: 66%;
|
||||
height: 7px;
|
||||
background-color: #0090AA;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.player-container {
|
||||
.player {
|
||||
.now-playing {
|
||||
position: relative;
|
||||
height: 30px;
|
||||
color: #FFF;
|
||||
text-align: center;
|
||||
line-height: 30px;
|
||||
overflow: hidden;
|
||||
|
||||
.fade {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
width: 50px;
|
||||
height: 30px;
|
||||
z-index: 10;
|
||||
@include alpha_gradient(32, 32, 32, '202020');
|
||||
}
|
||||
}
|
||||
|
||||
.progress {
|
||||
width: 330px;
|
||||
height: 5px;
|
||||
background-color: #333;
|
||||
margin: 0 10px;
|
||||
cursor: pointer;
|
||||
|
||||
.loaded {
|
||||
width: 0;
|
||||
height: 5px;
|
||||
background-color: #405050;
|
||||
}
|
||||
|
||||
.played {
|
||||
width: 0;
|
||||
height: 5px;
|
||||
background-color: #09A;
|
||||
}
|
||||
}
|
||||
|
||||
.controls {
|
||||
width: 290px;
|
||||
margin: 20px 95px;
|
||||
|
||||
> * {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
float: left;
|
||||
margin-right: 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.prev {
|
||||
background-image: url('#{$icons_dir}prev.png');
|
||||
}
|
||||
|
||||
.play {
|
||||
background-image: url('#{$icons_dir}play.png');
|
||||
}
|
||||
|
||||
.pause {
|
||||
background-image: url('#{$icons_dir}pause.png');
|
||||
display: none;
|
||||
}
|
||||
|
||||
.next {
|
||||
background-image: url('#{$icons_dir}next.png');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.playlist {
|
||||
.playlist-tracks {
|
||||
width: 343px;
|
||||
|
||||
li {
|
||||
display: block;
|
||||
height: 26px;
|
||||
|
||||
.item {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
height: 26px;
|
||||
color: #FFF;
|
||||
|
||||
&:hover {
|
||||
background-color: #444;
|
||||
cursor: default;
|
||||
|
||||
.fade {
|
||||
@include alpha_gradient(64, 64, 64, '404040');
|
||||
}
|
||||
}
|
||||
|
||||
.dragbox {
|
||||
position: absolute;
|
||||
top: 1px;
|
||||
left: 2px;
|
||||
width: 15px;
|
||||
height: 26px;
|
||||
background-image: url('/images/drag.png');
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
.title {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 19px;
|
||||
z-index: 10;
|
||||
width: 316px;
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
display: block;
|
||||
float: left;
|
||||
overflow: hidden;
|
||||
|
||||
.data.artist, .playtrack {
|
||||
border-bottom: #555 1px dotted;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.duration {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 5px;
|
||||
z-index: 30;
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
}
|
||||
|
||||
.remove {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
right: 5px;
|
||||
z-index: 30;
|
||||
height: 15px;
|
||||
font-size: 11px;
|
||||
background-color: #622;
|
||||
color: #FFF;
|
||||
border: #822 1px solid;
|
||||
padding: 1px 2px 0 2px;
|
||||
@include rounded(2);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.fade {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
z-index: 20;
|
||||
width: 80px;
|
||||
height: 26px;
|
||||
@include alpha_gradient(32, 32, 32, '202020');
|
||||
}
|
||||
}
|
||||
|
||||
&:nth-child(odd) {
|
||||
.item {
|
||||
background-color: #2A2A2A;
|
||||
|
||||
.fade {
|
||||
@include alpha_gradient(42, 42, 42, '2a2a2a');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.now {
|
||||
.item {
|
||||
color: #09A;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.additional-controls {
|
||||
width: 350px;
|
||||
height: 27px;
|
||||
background-color: #333;
|
||||
border-top: #444 1px solid;
|
||||
|
||||
.item {
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
font-size: 14px;
|
||||
line-height: 26px;
|
||||
color: #FFF;
|
||||
@include opacity(0.3);
|
||||
|
||||
&:hover {
|
||||
@include opacity(1);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&.active {
|
||||
@include opacity(0.8);
|
||||
}
|
||||
|
||||
img {
|
||||
float: left;
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
.annotation {
|
||||
float: left;
|
||||
margin-left: 2px;
|
||||
}
|
||||
|
||||
&#empty-playlist {
|
||||
float: right;
|
||||
margin-right: 10px;
|
||||
|
||||
img {
|
||||
margin-top: 3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.playlist {
|
||||
.song-duration {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user