diff --git a/src/main/services/additional-content/local-playlists-manager.service.ts b/src/main/services/additional-content/local-playlists-manager.service.ts index 10265717..9404b720 100644 --- a/src/main/services/additional-content/local-playlists-manager.service.ts +++ b/src/main/services/additional-content/local-playlists-manager.service.ts @@ -77,7 +77,7 @@ export class LocalPlaylistsManagerService { } private async getPlaylistsFolder(version?: BSVersion) { - const rootPath = version ? await this.versions.getVersionPath(version) : await this.bsmFs.sharedContentPath(); + const rootPath = version ? await this.versions.getVersionPath(version) : this.bsmFs.sharedContentPath(); const fullPath = path.join(rootPath, this.PLAYLISTS_FOLDER); await ensureDir(fullPath); @@ -179,7 +179,7 @@ export class LocalPlaylistsManagerService { const tryExtractPlaylistId = (url: string) => { const regex = /\/id\/(\d+)\/download/; - const match = url.match(regex); + const match = regex.exec(url); return match ? Number(match[1]) : undefined; } @@ -199,7 +199,7 @@ export class LocalPlaylistsManagerService { return undefined; }).filter(Boolean); - if(songsDetails && songsDetails.length){ + if(songsDetails?.length){ bpListDetails.duration = songsDetails.reduce((acc, song) => acc + song.duration, 0); bpListDetails.nbMappers = new Set(songsDetails.map(s => s.uploader.id)).size; bpListDetails.minNps = Math.min(...songsDetails.map(s => Math.min(...s.difficulties.map(d => d.nps || 0)))); diff --git a/src/main/services/additional-content/maps/local-maps-manager.service.ts b/src/main/services/additional-content/maps/local-maps-manager.service.ts index 5264a4fe..c29afe15 100644 --- a/src/main/services/additional-content/maps/local-maps-manager.service.ts +++ b/src/main/services/additional-content/maps/local-maps-manager.service.ts @@ -90,7 +90,7 @@ export class LocalMapsManagerService { if (version) { return path.join(await this.localVersion.getVersionPath(version), LocalMapsManagerService.RELATIVE_MAPS_FOLDER); } - const sharedMapsPath = path.join(await this.installLocation.sharedContentPath(), LocalMapsManagerService.SHARED_MAPS_FOLDER, LocalMapsManagerService.CUSTOM_LEVELS_FOLDER); + const sharedMapsPath = path.join(this.installLocation.sharedContentPath(), LocalMapsManagerService.SHARED_MAPS_FOLDER, LocalMapsManagerService.CUSTOM_LEVELS_FOLDER); if (!(await pathExist(sharedMapsPath))) { await ensureFolderExist(sharedMapsPath); } diff --git a/src/renderer/components/maps-playlists-panel/maps-playlists-panel.component.tsx b/src/renderer/components/maps-playlists-panel/maps-playlists-panel.component.tsx index 973829eb..214966e7 100644 --- a/src/renderer/components/maps-playlists-panel/maps-playlists-panel.component.tsx +++ b/src/renderer/components/maps-playlists-panel/maps-playlists-panel.component.tsx @@ -25,8 +25,8 @@ import { LocalPlaylistFilter, LocalPlaylistFilterPanel } from "./playlists/local import { noop } from "shared/helpers/function.helpers"; type Props = { - version?: BSVersion; - isActive?: boolean; + readonly version?: BSVersion; + readonly isActive?: boolean; }; export const InstalledMapsContext = createContext<{ diff --git a/src/renderer/components/maps-playlists-panel/maps/filter-panel.component.tsx b/src/renderer/components/maps-playlists-panel/maps/filter-panel.component.tsx index 7d3e1cfa..26648c9e 100644 --- a/src/renderer/components/maps-playlists-panel/maps/filter-panel.component.tsx +++ b/src/renderer/components/maps-playlists-panel/maps/filter-panel.component.tsx @@ -234,7 +234,7 @@ function isFitEnabledTags(filter: MapFilter, tags: MapTag[]): boolean { function isFitExcludedTags(filter: MapFilter, tags: MapTag[]): boolean { if (!filter?.excludedTags || filter.excludedTags.size === 0) { return true; } if(!Array.isArray(tags)) { return false; } - return !tags.some(tag => filter.excludedTags.has(tag as MapTag)); + return !tags.some(tag => filter.excludedTags.has(tag)); } function isFitMinNps(filter: MapFilter, nps: number): boolean { diff --git a/src/renderer/components/maps-playlists-panel/maps/local-maps-list-panel.component.tsx b/src/renderer/components/maps-playlists-panel/maps/local-maps-list-panel.component.tsx index f6e05827..b3f29b67 100644 --- a/src/renderer/components/maps-playlists-panel/maps/local-maps-list-panel.component.tsx +++ b/src/renderer/components/maps-playlists-panel/maps/local-maps-list-panel.component.tsx @@ -41,7 +41,7 @@ export const LocalMapsListPanel = forwardRef(({ version, classNa const t = useTranslation(); const {maps$, setMaps} = useContext(InstalledMapsContext); - const maps = useObservable(() => maps$, undefined); + const maps = useObservable(() => maps$); const [renderableMaps, setRenderableMaps] = useState([]); const [subs] = useState([]); const [selectedMaps, setSelectedMaps] = useState([]); diff --git a/src/renderer/components/modal/modal-types/playlist/edit-playlist-modal/edit-playlist-modal.component.tsx b/src/renderer/components/modal/modal-types/playlist/edit-playlist-modal/edit-playlist-modal.component.tsx index 20e3669f..47635a4b 100644 --- a/src/renderer/components/modal/modal-types/playlist/edit-playlist-modal/edit-playlist-modal.component.tsx +++ b/src/renderer/components/modal/modal-types/playlist/edit-playlist-modal/edit-playlist-modal.component.tsx @@ -57,7 +57,7 @@ export const EditPlaylistModal: ModalComponent = ({ resolver, opt const filterContainerRef = useRef(null); const localMaps$ = useConstant(() => new BehaviorSubject<(BsmLocalMap|SongDetails)[]>(undefined)); - const localMaps = useObservable(() => localMaps$, undefined); + const localMaps = useObservable(() => localMaps$); const availabledHashsSelected$ = useConstant(() => new BehaviorSubject([])); const [availableMapsSearch, setAvailableMapsSearch] = useState(""); @@ -65,10 +65,10 @@ export const EditPlaylistModal: ModalComponent = ({ resolver, opt const [bsvLoading, setBsvLoading] = useState(false); const bsvMaps$ = useConstant(() => new BehaviorSubject(undefined)); - const bsvMaps = useObservable(() => bsvMaps$, undefined); - const [bsvSearchOrder, setBsvSortOrder] = useState(BsvSearchOrder.Latest); + const bsvMaps = useObservable(() => bsvMaps$); + const [bsvSortOrder, setBsvSortOrder] = useState(BsvSearchOrder.Latest); const [bsvSearchParams, setBsvSearchParams] = useState({ - sortOrder: bsvSearchOrder, + sortOrder: bsvSortOrder, filter: availableMapsFilter, page: 0, q: availableMapsSearch, @@ -78,7 +78,7 @@ export const EditPlaylistModal: ModalComponent = ({ resolver, opt }); const playlistMaps$ = useConstant(() => new BehaviorSubject>(undefined)); - const playlistMaps = useObservable(() => playlistMaps$, undefined); + const playlistMaps = useObservable(() => playlistMaps$); const playlistHashsSelected$ = useConstant(() => new BehaviorSubject([])); const [playlistMapsSearch, setPlaylistMapsSearch] = useState(""); @@ -152,7 +152,7 @@ export const EditPlaylistModal: ModalComponent = ({ resolver, opt setAvailableMapsFilter({}); setAvailableMapsSearch(""); bsvMaps$.next(undefined); - setBsvSearchParams({ sortOrder: bsvSearchOrder, filter: availableMapsFilter, page: 0, q: availableMapsSearch }); + setBsvSearchParams({ sortOrder: bsvSortOrder, filter: availableMapsFilter, page: 0, q: availableMapsSearch }); }, [availableMapsSource]) useOnUpdate(() => { @@ -334,7 +334,7 @@ export const EditPlaylistModal: ModalComponent = ({ resolver, opt const handleNewSearch = () => { if(availableMapsSource === 0){ return; } bsvMaps$.next(undefined); - setBsvSearchParams(() => ({ page: 0, filter: availableMapsFilter, q: availableMapsSearch, sortOrder: bsvSearchOrder})); + setBsvSearchParams(() => ({ page: 0, filter: availableMapsFilter, q: availableMapsSearch, sortOrder: bsvSortOrder})); } const playlistNbMappers = useMemo(() => { diff --git a/src/renderer/services/progress-bar.service.ts b/src/renderer/services/progress-bar.service.ts index 1c5e09a2..d9f60b4c 100644 --- a/src/renderer/services/progress-bar.service.ts +++ b/src/renderer/services/progress-bar.service.ts @@ -54,7 +54,7 @@ export class ProgressBarService { } if (isProgression(value)) { - const progress = (value as Progression).current / (value as Progression).total * 100; + const progress = value.current / value.total * 100; return this._progression$.next({ progression: Math.floor(progress)}); } diff --git a/src/shared/mappers/map/map-item-component-props.mapper.ts b/src/shared/mappers/map/map-item-component-props.mapper.ts index ff0368cf..72c7238b 100644 --- a/src/shared/mappers/map/map-item-component-props.mapper.ts +++ b/src/shared/mappers/map/map-item-component-props.mapper.ts @@ -10,7 +10,7 @@ export abstract class MapItemComponentPropsMapper { public static extractMapDiffs({rawMapInfo, songDetails, bsvMap}: {rawMapInfo?: RawMapInfoData, songDetails?: SongDetails, bsvMap?: BsvMapDetail}): Map { const res = new Map(); - if (bsvMap && bsvMap.versions?.at(0)?.diffs) { + if (bsvMap?.versions?.at(0)?.diffs) { bsvMap.versions.at(0).diffs.forEach(diff => { const arr = res.get(diff.characteristic) || []; arr.push({ libelle: diff.difficulty, name: diff.difficulty, stars: diff.stars });