|
@@ -245,22 +245,41 @@
|
|
</button>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
- <!-- Add Song To Playlist Button (will be dropdown soon) -->
|
|
|
|
- <button
|
|
|
|
- class="button is-primary"
|
|
|
|
- id="add-song-to-playlist"
|
|
|
|
- @click="
|
|
|
|
- openModal({
|
|
|
|
- sector: 'station',
|
|
|
|
- modal: 'addSongToPlaylist'
|
|
|
|
- })
|
|
|
|
- "
|
|
|
|
- >
|
|
|
|
- <i class="material-icons">queue</i>
|
|
|
|
- <span class="optional-desktop-only-text"
|
|
|
|
- >Add Song To Playlist</span
|
|
|
|
- >
|
|
|
|
- </button>
|
|
|
|
|
|
+ <!-- Add Song To Playlist Button & Dropdown -->
|
|
|
|
+ <div id="add-song-to-playlist">
|
|
|
|
+ <div class="control has-addons">
|
|
|
|
+ <button
|
|
|
|
+ class="button is-primary"
|
|
|
|
+ @click="
|
|
|
|
+ showPlaylistDropdown = !showPlaylistDropdown
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <i class="material-icons">queue</i>
|
|
|
|
+ <span
|
|
|
|
+ class="optional-desktop-only-text"
|
|
|
|
+ >Add Song To Playlist</span
|
|
|
|
+ >
|
|
|
|
+ </button>
|
|
|
|
+ <button
|
|
|
|
+ class="button"
|
|
|
|
+ id="dropdown-toggle"
|
|
|
|
+ @click="
|
|
|
|
+ showPlaylistDropdown = !showPlaylistDropdown
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <i class="material-icons">
|
|
|
|
+ {{
|
|
|
|
+ showPlaylistDropdown
|
|
|
|
+ ? "expand_more"
|
|
|
|
+ : "expand_less"
|
|
|
|
+ }}
|
|
|
|
+ </i>
|
|
|
|
+ </button>
|
|
|
|
+ </div>
|
|
|
|
+ <add-to-playlist-dropdown
|
|
|
|
+ v-if="showPlaylistDropdown"
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -274,7 +293,6 @@
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<song-queue v-if="modals.addSongToQueue" />
|
|
<song-queue v-if="modals.addSongToQueue" />
|
|
- <add-to-playlist v-if="modals.addSongToPlaylist" />
|
|
|
|
<edit-playlist v-if="modals.editPlaylist" />
|
|
<edit-playlist v-if="modals.editPlaylist" />
|
|
<create-playlist v-if="modals.createPlaylist" />
|
|
<create-playlist v-if="modals.createPlaylist" />
|
|
<edit-station v-if="modals.editStation" store="station" />
|
|
<edit-station v-if="modals.editStation" store="station" />
|
|
@@ -330,6 +348,7 @@ import MainHeader from "../../components/layout/MainHeader.vue";
|
|
import Z404 from "../404.vue";
|
|
import Z404 from "../404.vue";
|
|
|
|
|
|
import FloatingBox from "../../components/ui/FloatingBox.vue";
|
|
import FloatingBox from "../../components/ui/FloatingBox.vue";
|
|
|
|
+import AddToPlaylistDropdown from "./components/AddToPlaylistDropdown.vue";
|
|
|
|
|
|
import io from "../../io";
|
|
import io from "../../io";
|
|
import keyboardShortcuts from "../../keyboardShortcuts";
|
|
import keyboardShortcuts from "../../keyboardShortcuts";
|
|
@@ -342,7 +361,6 @@ export default {
|
|
components: {
|
|
components: {
|
|
MainHeader,
|
|
MainHeader,
|
|
SongQueue: () => import("./AddSongToQueue.vue"),
|
|
SongQueue: () => import("./AddSongToQueue.vue"),
|
|
- AddToPlaylist: () => import("./AddSongToPlaylist.vue"),
|
|
|
|
EditPlaylist: () => import("../../components/modals/EditPlaylist.vue"),
|
|
EditPlaylist: () => import("../../components/modals/EditPlaylist.vue"),
|
|
CreatePlaylist: () =>
|
|
CreatePlaylist: () =>
|
|
import("../../components/modals/CreatePlaylist.vue"),
|
|
import("../../components/modals/CreatePlaylist.vue"),
|
|
@@ -351,7 +369,8 @@ export default {
|
|
Z404,
|
|
Z404,
|
|
FloatingBox,
|
|
FloatingBox,
|
|
CurrentlyPlaying,
|
|
CurrentlyPlaying,
|
|
- StationSidebar
|
|
|
|
|
|
+ StationSidebar,
|
|
|
|
+ AddToPlaylistDropdown
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
@@ -377,7 +396,8 @@ export default {
|
|
seeking: false,
|
|
seeking: false,
|
|
playbackRate: 1,
|
|
playbackRate: 1,
|
|
volumeSliderValue: 0,
|
|
volumeSliderValue: 0,
|
|
- favoriteStation: false
|
|
|
|
|
|
+ favoriteStation: false,
|
|
|
|
+ showPlaylistDropdown: false
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
@@ -1437,6 +1457,15 @@ export default {
|
|
#control-bar-container {
|
|
#control-bar-container {
|
|
border: 0 !important;
|
|
border: 0 !important;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ #dropdown-toggle {
|
|
|
|
+ background-color: $dark-grey !important;
|
|
|
|
+ border: 0;
|
|
|
|
+
|
|
|
|
+ i {
|
|
|
|
+ color: #fff;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
#station-outer-container {
|
|
#station-outer-container {
|
|
@@ -1522,11 +1551,11 @@ export default {
|
|
display: none;
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
|
|
- .button {
|
|
|
|
|
|
+ .button:not(#dropdown-toggle) {
|
|
width: 75px;
|
|
width: 75px;
|
|
}
|
|
}
|
|
|
|
|
|
- #add-song-to-playlist,
|
|
|
|
|
|
+ #add-song-to-playlist .button,
|
|
#local-resume,
|
|
#local-resume,
|
|
#local-pause {
|
|
#local-pause {
|
|
i {
|
|
i {
|
|
@@ -1669,6 +1698,7 @@ export default {
|
|
justify-content: space-around;
|
|
justify-content: space-around;
|
|
padding: 10px 0;
|
|
padding: 10px 0;
|
|
width: 100%;
|
|
width: 100%;
|
|
|
|
+ // height: 62px;
|
|
background: #fff;
|
|
background: #fff;
|
|
border: 1px solid $light-grey-2;
|
|
border: 1px solid $light-grey-2;
|
|
border-radius: 0 0 5px 5px;
|
|
border-radius: 0 0 5px 5px;
|
|
@@ -1704,6 +1734,9 @@ export default {
|
|
|
|
|
|
p {
|
|
p {
|
|
font-size: 22px;
|
|
font-size: 22px;
|
|
|
|
+ /** prevents duration width slightly varying and shifting other controls slightly */
|
|
|
|
+ width: 125px;
|
|
|
|
+ text-align: center;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1816,7 +1849,7 @@ export default {
|
|
display: flex;
|
|
display: flex;
|
|
|
|
|
|
#dislike-song,
|
|
#dislike-song,
|
|
- #add-song-to-playlist {
|
|
|
|
|
|
+ #add-song-to-playlist .button:not(#dropdown-toggle) {
|
|
margin-left: 5px;
|
|
margin-left: 5px;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1833,6 +1866,17 @@ export default {
|
|
background-color: darken($red, 5%) !important;
|
|
background-color: darken($red, 5%) !important;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ #add-song-to-playlist {
|
|
|
|
+ display: flex;
|
|
|
|
+ flex-direction: column-reverse;
|
|
|
|
+ width: 224px;
|
|
|
|
+
|
|
|
|
+ .control {
|
|
|
|
+ width: fit-content;
|
|
|
|
+ margin-bottom: 0 !important;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|