useEdit

Wczytuje playliste do edycji.

useEdit.js
import { useContext } from 'react';
import { PlaylistContext } from 'providers/PlaylistProvider';
import { ContentContext } from 'providers/ContentProvider';

const useEdit = () => {
  const { playlists, setSelectedContent, setIsPlaylistUpdated, setUpdatedPlaylist } =
    useContext(PlaylistContext);
  const { content } = useContext(ContentContext);

  // The function responsible for loading the selected playlist based on the given identifier 'id'
  const loadPlaylist = (id) => {
    let playlist = playlists.find((elem) => elem.id === id);
    let selectedContent = [];
    const temporaryContent = JSON.parse(JSON.stringify(content));

    // Create content by pushing the appropriate texts
    playlist.playlist.forEach((id, index) => {
      if (id.slice(0, 4) === 'song')
        selectedContent.push(temporaryContent.songs.find((elem) => elem.id === Number(id.slice(6))));
      else if (id.slice(0, 4) === 'pray')
        selectedContent.push(temporaryContent.prayers.find((elem) => elem.id === Number(id.slice(6))));
      selectedContent[index].id = id;
    });

    setSelectedContent(selectedContent);
    setIsPlaylistUpdated(true);
    setUpdatedPlaylist(playlist);
  };

  return {
    loadPlaylist,
  };
};

export default useEdit;

Last updated