mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-09 20:29:36 +02:00
fetch image by release group instead of release
This commit is contained in:
@@ -1,12 +1,11 @@
|
|||||||
import { queryOptions } from '@tanstack/react-query';
|
import { queryOptions } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { getMbzReleaseIdFromAlbumId } from '../../musicbrainz/utils';
|
|
||||||
|
|
||||||
import { api } from '/@/renderer/api';
|
import { api } from '/@/renderer/api';
|
||||||
import { controller } from '/@/renderer/api/controller';
|
import { controller } from '/@/renderer/api/controller';
|
||||||
import { queryKeys } from '/@/renderer/api/query-keys';
|
import { queryKeys } from '/@/renderer/api/query-keys';
|
||||||
import { getOptimizedListCount } from '/@/renderer/api/utils-list-count';
|
import { getOptimizedListCount } from '/@/renderer/api/utils-list-count';
|
||||||
import { fetchMbzReleaseAsAlbum } from '/@/renderer/features/musicbrainz/api/musicbrainz-api';
|
import { fetchMbzReleaseAsAlbum } from '/@/renderer/features/musicbrainz/api/musicbrainz-api';
|
||||||
|
import { getMbzReleaseIdFromAlbumId } from '/@/renderer/features/musicbrainz/utils';
|
||||||
import { QueryHookArgs } from '/@/renderer/lib/react-query';
|
import { QueryHookArgs } from '/@/renderer/lib/react-query';
|
||||||
import { AlbumDetailQuery, AlbumListQuery, ListCountQuery } from '/@/shared/types/domain-types';
|
import { AlbumDetailQuery, AlbumListQuery, ListCountQuery } from '/@/shared/types/domain-types';
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import packageJson from '../../../../../package.json';
|
|||||||
import { queryKeys } from '/@/renderer/api/query-keys';
|
import { queryKeys } from '/@/renderer/api/query-keys';
|
||||||
import {
|
import {
|
||||||
collectWorksFromRelease,
|
collectWorksFromRelease,
|
||||||
getImageUrl,
|
getImageUrlByReleaseGroupId,
|
||||||
normalizeReleaseToAlbum,
|
normalizeReleaseToAlbum,
|
||||||
} from '/@/renderer/features/musicbrainz/utils';
|
} from '/@/renderer/features/musicbrainz/utils';
|
||||||
import { logFn } from '/@/renderer/utils/logger';
|
import { logFn } from '/@/renderer/utils/logger';
|
||||||
@@ -158,11 +158,9 @@ const artistSelect = memoize(
|
|||||||
});
|
});
|
||||||
|
|
||||||
const albums: Album[] = releaseEntriesUniqueByGroup
|
const albums: Album[] = releaseEntriesUniqueByGroup
|
||||||
.map(([releaseId, release]) => {
|
.map(([, release]) => {
|
||||||
const releaseGroup = release['release-group'];
|
const releaseGroup = release['release-group'];
|
||||||
const hasArtwork =
|
const hasArtwork = releaseGroup;
|
||||||
release['cover-art-archive']?.artwork === true &&
|
|
||||||
release['cover-art-archive']?.front === true;
|
|
||||||
|
|
||||||
const primaryReleaseType = releaseGroup?.['primary-type']?.toLowerCase() || null;
|
const primaryReleaseType = releaseGroup?.['primary-type']?.toLowerCase() || null;
|
||||||
const secondaryReleaseTypes =
|
const secondaryReleaseTypes =
|
||||||
@@ -175,7 +173,7 @@ const artistSelect = memoize(
|
|||||||
const originalYear = originalDate ? Number(originalDate.split('-')[0]) : null;
|
const originalYear = originalDate ? Number(originalDate.split('-')[0]) : null;
|
||||||
const releaseDate = release.date ? release.date : null;
|
const releaseDate = release.date ? release.date : null;
|
||||||
const releaseYear = release.date ? Number(release.date.split('-')[0]) : null;
|
const releaseYear = release.date ? Number(release.date.split('-')[0]) : null;
|
||||||
const imageUrl = hasArtwork ? getImageUrl(releaseId) : null;
|
const imageUrl = hasArtwork ? getImageUrlByReleaseGroupId(releaseGroup.id) : null;
|
||||||
|
|
||||||
const album: Album = {
|
const album: Album = {
|
||||||
_itemType: LibraryItem.ALBUM,
|
_itemType: LibraryItem.ALBUM,
|
||||||
|
|||||||
@@ -30,13 +30,15 @@ export function collectWorksFromRelease(release: IRelease): IWork[] {
|
|||||||
export function getImageUrl(releaseId: string): string {
|
export function getImageUrl(releaseId: string): string {
|
||||||
return `https://coverartarchive.org/release/${releaseId}/front-250.jpg`;
|
return `https://coverartarchive.org/release/${releaseId}/front-250.jpg`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getImageUrlByReleaseGroupId(releaseGroupId: string): string {
|
||||||
|
return `https://coverartarchive.org/release-group/${releaseGroupId}/front-250.jpg`;
|
||||||
|
}
|
||||||
|
|
||||||
export function getMbzReleaseIdFromAlbumId(albumId: string): null | string {
|
export function getMbzReleaseIdFromAlbumId(albumId: string): null | string {
|
||||||
if (!albumId.startsWith(MUSICBRAINZ_ID_PREFIX)) return null;
|
if (!albumId.startsWith(MUSICBRAINZ_ID_PREFIX)) return null;
|
||||||
return albumId.slice(MUSICBRAINZ_ID_PREFIX.length);
|
return albumId.slice(MUSICBRAINZ_ID_PREFIX.length);
|
||||||
}
|
}
|
||||||
// function getImageUrlByReleaseGroupId(releaseGroupId: string): string {
|
|
||||||
// return `https://coverartarchive.org/release-group/${releaseGroupId}/front-250.jpg`;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// const MBZ_COUNTRY_CODES = {
|
// const MBZ_COUNTRY_CODES = {
|
||||||
// AD: 'Andorra',
|
// AD: 'Andorra',
|
||||||
|
|||||||
Reference in New Issue
Block a user