mirror of
https://github.com/Poniverse/Pony.fm.git
synced 2025-02-16 18:14:23 +01:00
Track player optimisations for mobile
This commit is contained in:
parent
a441e209c2
commit
3474664520
7 changed files with 60 additions and 9 deletions
|
@ -1,7 +1,9 @@
|
||||||
<div class="single-player">
|
<div class="single-player">
|
||||||
<a href="#" class="play-button" pfm-eat-click ng-click="play()">
|
<a href="#" class="play-button" pfm-eat-click ng-click="play()">
|
||||||
<i class="icon-play" ng-if="!track.isPlaying"></i>
|
<div class="button-container">
|
||||||
<i class="icon-pause" ng-if="track.isPlaying"></i>
|
<i class="icon-play" ng-if="!track.isPlaying"></i>
|
||||||
|
<i class="icon-pause" ng-if="track.isPlaying"></i>
|
||||||
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<img pfm-src-loader="::track.covers.thumbnail" pfm-src-size="thumbnail" />
|
<img pfm-src-loader="::image" pfm-src-size="thumbnail" />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
<pfm-track-player track="::track"></pfm-track-player>
|
<pfm-track-player class="hidden-xs" track="::track"></pfm-track-player>
|
||||||
<h1>{{track.title}}</h1>
|
<h1>{{track.title}}</h1>
|
||||||
<h2>
|
<h2>
|
||||||
<span ng-if="track.album">
|
<span ng-if="track.album">
|
||||||
|
@ -53,5 +53,7 @@
|
||||||
</h2>
|
</h2>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
<pfm-track-player class="visible-xs-block" track="::track" size="normal"></pfm-track-player>
|
||||||
|
|
||||||
<div ui-view></div>
|
<div ui-view></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -19,12 +19,17 @@ module.exports = angular.module('ponyfm').directive 'pfmTrackPlayer', () ->
|
||||||
templateUrl: '/templates/directives/track-player.html'
|
templateUrl: '/templates/directives/track-player.html'
|
||||||
scope:
|
scope:
|
||||||
track: '=track',
|
track: '=track',
|
||||||
|
size: '@size',
|
||||||
class: '@class'
|
class: '@class'
|
||||||
replace: true
|
replace: true
|
||||||
|
|
||||||
controller: [
|
controller: [
|
||||||
'$scope', 'player'
|
'$scope', 'player'
|
||||||
($scope, player) ->
|
($scope, player) ->
|
||||||
|
if $scope.size == 'normal'
|
||||||
|
$scope.image = $scope.track.covers.normal
|
||||||
|
else
|
||||||
|
$scope.image = $scope.track.covers.thumbnail
|
||||||
$scope.play = () ->
|
$scope.play = () ->
|
||||||
player.playTracks [$scope.track], 0
|
player.playTracks [$scope.track], 0
|
||||||
]
|
]
|
||||||
|
|
16
resources/assets/styles/content.less
vendored
16
resources/assets/styles/content.less
vendored
|
@ -325,6 +325,18 @@ html .single-player .play-button {
|
||||||
height: @icon-size;
|
height: @icon-size;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
|
.button-container {
|
||||||
|
display: table;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
> i {
|
||||||
|
display: table-cell;
|
||||||
|
vertical-align: middle;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.play-button {
|
.play-button {
|
||||||
.transition(background 250ms ease-out);
|
.transition(background 250ms ease-out);
|
||||||
|
|
||||||
|
@ -404,10 +416,10 @@ html {
|
||||||
|
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
padding: 5px 0px;
|
margin: 5px 0px;
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 56px;
|
height: 43px;
|
||||||
|
|
||||||
.icons {
|
.icons {
|
||||||
float: right;
|
float: right;
|
||||||
|
|
4
resources/assets/styles/layout.less
vendored
4
resources/assets/styles/layout.less
vendored
|
@ -45,9 +45,11 @@ header {
|
||||||
float: right;
|
float: right;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
text-decoration: none;
|
||||||
|
|
||||||
&:hover {
|
&:hover, &:focus {
|
||||||
background: #ddd;
|
background: #ddd;
|
||||||
|
color: darken(@pfm-purple, 20%);
|
||||||
}
|
}
|
||||||
|
|
||||||
span {
|
span {
|
||||||
|
|
30
resources/assets/styles/mobile.less
vendored
30
resources/assets/styles/mobile.less
vendored
|
@ -1,4 +1,4 @@
|
||||||
@media only screen and (max-width: 480px) {
|
@media only screen and (max-width: 768px) {
|
||||||
html, body {
|
html, body {
|
||||||
overflow: hidden !important;
|
overflow: hidden !important;
|
||||||
}
|
}
|
||||||
|
@ -152,4 +152,32 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.track-details {
|
||||||
|
.single-player {
|
||||||
|
&.visible-xs-block {
|
||||||
|
float: none;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
font-size: 22pt;
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
margin-bottom: 0px;
|
||||||
|
h1 {
|
||||||
|
font-size: 16pt;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
font-size: 11pt;
|
||||||
|
}
|
||||||
|
h1, h2 {
|
||||||
|
margin-left: 0px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,7 +76,7 @@
|
||||||
<a href="/">
|
<a href="/">
|
||||||
<img src="/images/ponyfm-logo-white.svg" class="logo">
|
<img src="/images/ponyfm-logo-white.svg" class="logo">
|
||||||
</a>
|
</a>
|
||||||
<li><pfm-search></pfm-search></li>
|
<li><pfm-search class="hidden-xs"></pfm-search></li>
|
||||||
<li ng-class="{selected: stateIncludes('content.tracks') || stateIncludes('content.track')}"><a href="/tracks">Tracks</a></li>
|
<li ng-class="{selected: stateIncludes('content.tracks') || stateIncludes('content.track')}"><a href="/tracks">Tracks</a></li>
|
||||||
<li ng-class="{selected: stateIncludes('content.albums') || stateIncludes('content.album')}"><a href="/albums">Albums</a></li>
|
<li ng-class="{selected: stateIncludes('content.albums') || stateIncludes('content.album')}"><a href="/albums">Albums</a></li>
|
||||||
<li ng-class="{selected: stateIncludes('content.playlists') || stateIncludes('content.playlist')}"><a href="/playlists">Playlists</a></li>
|
<li ng-class="{selected: stateIncludes('content.playlists') || stateIncludes('content.playlist')}"><a href="/playlists">Playlists</a></li>
|
||||||
|
|
Loading…
Reference in a new issue