mirror of
https://github.com/Zagrios/bs-manager.git
synced 2026-07-03 14:08:25 +02:00
Fix some sonarcloud issues
This commit is contained in:
@@ -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))));
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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<{
|
||||
|
||||
@@ -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 {
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ export const LocalMapsListPanel = forwardRef<unknown, Props>(({ version, classNa
|
||||
const t = useTranslation();
|
||||
|
||||
const {maps$, setMaps} = useContext(InstalledMapsContext);
|
||||
const maps = useObservable(() => maps$, undefined);
|
||||
const maps = useObservable(() => maps$);
|
||||
const [renderableMaps, setRenderableMaps] = useState<RenderableMap[]>([]);
|
||||
const [subs] = useState<Subscription[]>([]);
|
||||
const [selectedMaps, setSelectedMaps] = useState<BsmLocalMap[]>([]);
|
||||
|
||||
+7
-7
@@ -57,7 +57,7 @@ export const EditPlaylistModal: ModalComponent<BPList, Props> = ({ 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<string[]>([]));
|
||||
const [availableMapsSearch, setAvailableMapsSearch] = useState<string>("");
|
||||
@@ -65,10 +65,10 @@ export const EditPlaylistModal: ModalComponent<BPList, Props> = ({ resolver, opt
|
||||
|
||||
const [bsvLoading, setBsvLoading] = useState<boolean>(false);
|
||||
const bsvMaps$ = useConstant(() => new BehaviorSubject<BsvMapDetail[]>(undefined));
|
||||
const bsvMaps = useObservable(() => bsvMaps$, undefined);
|
||||
const [bsvSearchOrder, setBsvSortOrder] = useState<BsvSearchOrder>(BsvSearchOrder.Latest);
|
||||
const bsvMaps = useObservable(() => bsvMaps$);
|
||||
const [bsvSortOrder, setBsvSortOrder] = useState<BsvSearchOrder>(BsvSearchOrder.Latest);
|
||||
const [bsvSearchParams, setBsvSearchParams] = useState<SearchParams>({
|
||||
sortOrder: bsvSearchOrder,
|
||||
sortOrder: bsvSortOrder,
|
||||
filter: availableMapsFilter,
|
||||
page: 0,
|
||||
q: availableMapsSearch,
|
||||
@@ -78,7 +78,7 @@ export const EditPlaylistModal: ModalComponent<BPList, Props> = ({ resolver, opt
|
||||
});
|
||||
|
||||
const playlistMaps$ = useConstant(() => new BehaviorSubject<Record<string, PlaylistMap>>(undefined));
|
||||
const playlistMaps = useObservable(() => playlistMaps$, undefined);
|
||||
const playlistMaps = useObservable(() => playlistMaps$);
|
||||
|
||||
const playlistHashsSelected$ = useConstant(() => new BehaviorSubject<string[]>([]));
|
||||
const [playlistMapsSearch, setPlaylistMapsSearch] = useState<string>("");
|
||||
@@ -152,7 +152,7 @@ export const EditPlaylistModal: ModalComponent<BPList, Props> = ({ 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<BPList, Props> = ({ 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(() => {
|
||||
|
||||
@@ -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)});
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ export abstract class MapItemComponentPropsMapper {
|
||||
public static extractMapDiffs({rawMapInfo, songDetails, bsvMap}: {rawMapInfo?: RawMapInfoData, songDetails?: SongDetails, bsvMap?: BsvMapDetail}): Map<SongDetailDiffCharactertistic, ParsedMapDiff[]> {
|
||||
const res = new Map<SongDetailDiffCharactertistic, ParsedMapDiff[]>();
|
||||
|
||||
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 });
|
||||
|
||||
Reference in New Issue
Block a user