Also fixes an issue where the root of a local library would not be
searched for videos. This allows for a flat directory structure for both
movie and 'other video' libraries.
Lastly, this fixes an issue where search query state would be wonky in
the UI.
fix: make audio/subtitle language optional in nfo schemas
Smart Collections are no more than saved searches, currently. This
feature allows saving a freestyle query for later use. This will
eventually be a basic building block of dynamically updating lineups.
Refactors some components for better separation. Adds a new /search page
which searches over all media sources and persists the search state to
the URL via a query param.
Initial implementation of local media libraries. Includes local scanners
for movie and TV library types. Saves extracted metadata locally.
Some things are missing, including:
* Saving all metadata locally, including genres, actors, etc.
* blurhash extraction - this is computationally expensive at scale and
should be done async
* Hooking up subtitle extraction to new subtitle DB tables