mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-07 12:30:12 +02:00
feat: add filtering for now playing view and sidebar
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
import Fuse from 'fuse.js';
|
||||
|
||||
import { Song } from '/@/shared/types/domain-types';
|
||||
|
||||
export const searchSongs = (songs: Song[], searchTerm: string) => {
|
||||
const fuse = new Fuse(songs, {
|
||||
fieldNormWeight: 1,
|
||||
ignoreLocation: true,
|
||||
keys: [
|
||||
'name',
|
||||
'album',
|
||||
{
|
||||
getFn: (song) => song.artists.map((artist) => artist.name),
|
||||
name: 'artist',
|
||||
},
|
||||
],
|
||||
threshold: 0,
|
||||
});
|
||||
return fuse.search(searchTerm).map((item) => item.item);
|
||||
};
|
||||
Reference in New Issue
Block a user