|
1 | | -<!DOCTYPE HTML> |
2 | | -<html> |
3 | | -<head> |
4 | | - |
5 | | - <title>Spotmop</title> |
6 | | - |
7 | | - <meta charset="utf-8" /> |
8 | | - <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scaleable=no" name="viewport" /> |
9 | | - <meta name="mobile-web-app-capable" content="yes" > |
10 | | - <meta name="apple-mobile-web-app-capable" content="yes" /> |
11 | | - <meta name="theme-color" content="#222222" /> |
12 | | - |
13 | | - <base href="#/" /> |
14 | | - |
15 | | - <script type="text/javascript" src="//www.google-analytics.com/analytics.js"></script> |
16 | | - |
17 | | - <script src="app.min.js"></script> |
18 | | - |
19 | | - <link rel="stylesheet" href="app.min.css"/> |
20 | | - |
21 | | - <link rel="shortcut icon" type="image/ico" href="assets/favicon.ico" /> |
22 | | - <link rel="shortcut icon" type="image/x-icon" href="assets/favicon.ico" /> |
23 | | - <link rel="shortcut-icon" href="assets/favicon.ico" /> |
24 | | - |
25 | | -</head> |
26 | | -<body> |
27 | | - |
28 | | - <div id="app" ng-app="spotmop" ng-controller="ApplicationController" ng-class="{ smallScreen: smallScreen(), mediumScreen: mediumScreen(), touchDevice: isTouchMode() }" ng-swipe-right="showMenu()" ng-swipe-left="hideMenu()"> |
29 | | - |
30 | | - <div id="notifications"></div> |
31 | | - |
32 | | - <div id="sidebar" class="animate" ng-swipe-right="showMenu()" ng-swipe-left="hideMenu()" > |
33 | | - <div class="background-image" ng-if="!mediumScreen() && state().currentTlTrack.track.images.medium"> |
34 | | - <preloadedimage watch="true" class="image blur" url="{{ state().currentTlTrack.track.images.medium }}"></preloadedimage> |
35 | | - </div> |
36 | | - <div class="inner"> |
37 | | - <div class="search-form mobile-hide"> |
38 | | - <form ng-submit="searchSubmit( query )"> |
39 | | - <input type="text" name="query" placeholder="Search" class="query" ng-model="query" /> |
40 | | - <button class="submit" type="submit"> |
41 | | - <i class="fa fa-search"></i> |
42 | | - </button> |
43 | | - </form> |
44 | | - </div> |
45 | | - <ng-include src="'app/common/mainmenu.template.html'"></ng-include> |
46 | | - </div> |
47 | | - </div> |
48 | | - |
49 | | - <div id="dropzones" class="animate fadereveal"> |
50 | | - <div class="dropzone queue droppable animate" dropaccept='["track","album","localtrack","localalbum","playlist"]' droptype="queue"> |
51 | | - <div class="liner default-content"> |
52 | | - <i class="si play white doublesize"></i> |
53 | | - <div class="label">Add to queue</div> |
54 | | - </div> |
55 | | - <div class="liner hover-content animate fadereveal"> |
56 | | - <div class="dropzone add-to-queue droppable" dropaccept='["track","album","localtrack","localalbum","playlist"]' droptype="queue"> |
57 | | - <i class="si play doublesize white"></i> |
58 | | - <div class="label">Add to queue</div> |
59 | | - </div> |
60 | | - <div class="dropzone add-to-queue-next droppable" dropaccept='["track","album","localtrack","localalbum","playlist"]' droptype="queuenext"> |
61 | | - <div class="label">... and play next</div> |
62 | | - </div> |
63 | | - </div> |
64 | | - </div> |
65 | | - <div class="dropzone library droppable animate" dropaccept='["track","tltrack","album","artist","playlist"]' droptype="library"> |
66 | | - <div class="liner"> |
67 | | - <i class="si music white doublesize"></i> |
68 | | - <div class="label">Add to library</div> |
69 | | - </div> |
70 | | - </div> |
71 | | - <div class="dropzone playlists droppable animate" dropaccept='["track","tltrack","album"]' droptype="playlist"> |
72 | | - <div class="liner default-content"> |
73 | | - <i class="si playlist white doublesize"></i> |
74 | | - <div class="label">Add to playlist</div> |
75 | | - </div> |
76 | | - <div class="liner hover-content fadereveal"> |
77 | | - <div class="playlists-wrapper"> |
78 | | - <a ng-repeat="playlist in playlists()" class="menu-item droppable" ui-sref="library.playlist({ uri: {{ 'playlist.uri' }} })" dropaccept='["track","tltrack","album"]' droptype="playlist" data-uri="{{ playlist.uri }}"> |
79 | | - <span ng-bind="playlist.name"></span> |
80 | | - </a> |
81 | | - </div> |
82 | | - </div> |
83 | | - </div> |
84 | | - </div> |
85 | | - |
86 | | - <ng-include src="'app/player/template.html'" ng-controller="PlayerController"></ng-include> |
87 | | - |
88 | | - <div id="body" class="body animate"> |
89 | | - <div ui-view></div> |
90 | | - </div> |
91 | | - |
92 | | - <contextmenu></contextmenu> |
93 | | - <div class="drag-tracer"></div> |
94 | | - |
95 | | - </div> |
96 | | - |
97 | | - <script> |
98 | | - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ |
99 | | - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), |
100 | | - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) |
101 | | - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); |
102 | | - ga('create', 'UA-64701652-3', 'auto'); |
103 | | - ga('send', 'pageview'); |
104 | | - </script> |
105 | | - |
106 | | -</body> |
107 | | -</html> |
| 1 | +<!DOCTYPE HTML> |
| 2 | +<html> |
| 3 | +<head> |
| 4 | + |
| 5 | + <title>Spotmop</title> |
| 6 | + |
| 7 | + <meta charset="utf-8" /> |
| 8 | + <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scaleable=no" name="viewport" /> |
| 9 | + <meta name="mobile-web-app-capable" content="yes" > |
| 10 | + <meta name="apple-mobile-web-app-capable" content="yes" /> |
| 11 | + <meta name="theme-color" content="#222222" /> |
| 12 | + |
| 13 | + <base href="#/" /> |
| 14 | + |
| 15 | + <script type="text/javascript" src="//www.google-analytics.com/analytics.js"></script> |
| 16 | + |
| 17 | + <script src="app.min.js"></script> |
| 18 | + |
| 19 | + <link rel="stylesheet" href="app.min.css"/> |
| 20 | + |
| 21 | + <link rel="shortcut icon" type="image/ico" href="assets/favicon.ico" /> |
| 22 | + <link rel="shortcut icon" type="image/x-icon" href="assets/favicon.ico" /> |
| 23 | + <link rel="shortcut-icon" href="assets/favicon.ico" /> |
| 24 | + |
| 25 | +</head> |
| 26 | +<body> |
| 27 | + |
| 28 | + <div id="app" ng-app="spotmop" ng-controller="ApplicationController" ng-class="{ smallScreen: smallScreen(), mediumScreen: mediumScreen(), touchDevice: isTouchMode() }" ng-swipe-right="showMenu()" ng-swipe-left="hideMenu()"> |
| 29 | + |
| 30 | + <div id="notifications"></div> |
| 31 | + |
| 32 | + <div id="sidebar" class="animate" ng-swipe-right="showMenu()" ng-swipe-left="hideMenu()" > |
| 33 | + <div class="background-image" ng-if="!mediumScreen() && state().currentTlTrack.track.images.medium"> |
| 34 | + <preloadedimage watch="true" class="image blur" url="{{ state().currentTlTrack.track.images.medium }}"></preloadedimage> |
| 35 | + </div> |
| 36 | + <div class="inner"> |
| 37 | + <div class="search-form mobile-hide"> |
| 38 | + <form ng-submit="searchSubmit( query )"> |
| 39 | + <input type="text" name="query" placeholder="Search" class="query" ng-model="query" /> |
| 40 | + <button class="submit" type="submit"> |
| 41 | + <i class="fa fa-search"></i> |
| 42 | + </button> |
| 43 | + </form> |
| 44 | + </div> |
| 45 | + <ng-include src="'app/common/mainmenu.template.html'"></ng-include> |
| 46 | + </div> |
| 47 | + </div> |
| 48 | + |
| 49 | + <div id="dropzones" class="animate fadereveal"> |
| 50 | + <div class="dropzone queue droppable animate" dropaccept='["track","album","localtrack","localalbum","playlist"]' droptype="queue"> |
| 51 | + <div class="liner default-content"> |
| 52 | + <i class="si play white doublesize"></i> |
| 53 | + <div class="label">Add to queue</div> |
| 54 | + </div> |
| 55 | + <div class="liner hover-content animate fadereveal"> |
| 56 | + <div class="dropzone add-to-queue droppable" dropaccept='["track","album","localtrack","localalbum","playlist"]' droptype="queue"> |
| 57 | + <i class="si play doublesize white"></i> |
| 58 | + <div class="label">Add to queue</div> |
| 59 | + </div> |
| 60 | + <div class="dropzone add-to-queue-next droppable" dropaccept='["track","album","localtrack","localalbum","playlist"]' droptype="queuenext"> |
| 61 | + <div class="label">... and play next</div> |
| 62 | + </div> |
| 63 | + </div> |
| 64 | + </div> |
| 65 | + <div class="dropzone library droppable animate" dropaccept='["track","tltrack","album","artist","playlist"]' droptype="library"> |
| 66 | + <div class="liner"> |
| 67 | + <i class="si music white doublesize"></i> |
| 68 | + <div class="label">Add to library</div> |
| 69 | + </div> |
| 70 | + </div> |
| 71 | + <div class="dropzone playlists droppable animate" dropaccept='["track","tltrack","album"]' droptype="playlist"> |
| 72 | + <div class="liner default-content"> |
| 73 | + <i class="si playlist white doublesize"></i> |
| 74 | + <div class="label">Add to playlist</div> |
| 75 | + </div> |
| 76 | + <div class="liner hover-content fadereveal"> |
| 77 | + <div class="playlists-wrapper"> |
| 78 | + <a ng-repeat="playlist in playlists()" class="menu-item droppable" ui-sref="library.playlist({ uri: {{ 'playlist.uri' }} })" dropaccept='["track","tltrack","album"]' droptype="playlist" data-uri="{{ playlist.uri }}"> |
| 79 | + <span ng-bind="playlist.name"></span> |
| 80 | + </a> |
| 81 | + </div> |
| 82 | + </div> |
| 83 | + </div> |
| 84 | + </div> |
| 85 | + |
| 86 | + <ng-include src="'app/player/template.html'" ng-controller="PlayerController"></ng-include> |
| 87 | + |
| 88 | + <div id="body" class="body animate"> |
| 89 | + <div ui-view></div> |
| 90 | + </div> |
| 91 | + |
| 92 | + <contextmenu></contextmenu> |
| 93 | + <div class="drag-tracer"></div> |
| 94 | + |
| 95 | + </div> |
| 96 | + |
| 97 | + <script> |
| 98 | + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ |
| 99 | + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), |
| 100 | + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) |
| 101 | + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); |
| 102 | + ga('create', 'UA-64701652-3', 'auto'); |
| 103 | + ga('send', 'pageview'); |
| 104 | + </script> |
| 105 | + |
| 106 | +</body> |
| 107 | +</html> |
0 commit comments