123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import { ref } from "vue";
- import Toast from "toasters";
- import { AddSongToPlaylistResponse } from "@musare_types/actions/PlaylistsActions";
- import { useWebsocketsStore } from "@/stores/websockets";
- export const useSoundcloudDirect = () => {
- const soundcloudDirect = ref("");
- const { socket } = useWebsocketsStore();
- const addToPlaylist = (playlistId: string) => {
- const url = soundcloudDirect.value.trim();
- socket.dispatch(
- "playlists.addSongToPlaylist",
- false,
- url,
- playlistId,
- (res: AddSongToPlaylistResponse) => {
- if (res.status !== "success")
- new Toast(`Error: ${res.message}`);
- else {
- new Toast(res.message);
- soundcloudDirect.value = "";
- }
- }
- );
- };
- const addToQueue = (stationId: string) => {
- const url = soundcloudDirect.value.trim();
- socket.dispatch(
- "stations.addToQueue",
- stationId,
- url,
- "manual",
- res => {
- if (res.status !== "success")
- new Toast(`Error: ${res.message}`);
- else {
- new Toast(res.message);
- soundcloudDirect.value = "";
- }
- }
- );
- };
- return {
- soundcloudDirect,
- addToPlaylist,
- addToQueue
- };
- };
|