Parafia Skoczów
  • 👋Witaj w Parafii Skoczów
  • O APLIKACJI
    • ✨Funkcjonalności
    • 📷Galeria
    • 🛠️Zarządzanie treściami
  • DLA PROGRAMISTÓW
    • 🏗️Przegląd narzędzi
    • ⛪Parafia Skoczów
      • Assets
      • Components
        • Atoms
        • Molecules
        • Organisms
        • Templates
      • Helpers
        • getAnimationProps
        • getData
        • getTransmissionUrl
        • searchContent
        • useModal
      • Hooks
        • useDisablePinchZoom
        • usePinching
        • useSwipe
      • Providers
        • ContentProvider
        • FirebaseProvider
        • PlaylistProvider
      • Utils
      • Views
        • Home
        • Categories
        • Titles
        • Text
        • Playlist
        • Search
      • Cordova
      • Rozwiązywanie problemów
    • 🎶Playlist Maker
      • Assets
      • Components
        • Atoms
        • Molecules
        • Organisms
        • Templates
      • Helpers
      • Hooks
        • useDnd
        • useEdit
        • useName
        • useModal
      • Providers
        • ContentProvider
        • FirebaseProvider
        • NotificationProvider
        • PlaylistProvider
      • Utils
      • Cordova
      • Rozwiązywanie problemów
Powered by GitBook
On this page
  1. DLA PROGRAMISTÓW
  2. Playlist Maker
  3. Hooks

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;
PrevioususeDndNextuseName

Last updated 1 year ago

🎶