When users are in a session, we want to allow them to reorder the queue of tracks. This PR enables users to do that via the react-beautiful-dnd package from Atlassian. However, that package does not work with Shadow Roots, which is what Plasmo uses to render our Sidebar UI. I found a fork that enabled use with Shadow Roots and cloned that as a repo in the SynQApp org which is what @synq/react-beautiful-dnd is. While I typically don't like to do this, Atlassian's package is already no longer actively maintained other than critical updates, so we won't be missing out on much and can update ours with critical updates as needed.
I also had to do a bit of finagling with the types to make them work properly as the types for react-beautiful-dnd are not built into the package but rather in the DefinitelyTyped repo (@types/*).
Overview
When users are in a session, we want to allow them to reorder the queue of tracks. This PR enables users to do that via the react-beautiful-dnd package from Atlassian. However, that package does not work with Shadow Roots, which is what Plasmo uses to render our Sidebar UI. I found a fork that enabled use with Shadow Roots and cloned that as a repo in the SynQApp org which is what @synq/react-beautiful-dnd is. While I typically don't like to do this, Atlassian's package is already no longer actively maintained other than critical updates, so we won't be missing out on much and can update ours with critical updates as needed.
I also had to do a bit of finagling with the types to make them work properly as the types for react-beautiful-dnd are not built into the package but rather in the DefinitelyTyped repo (@types/*).