mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-09 20:29:36 +02:00
add explicit status and indicators in item detail
This commit is contained in:
@@ -8,8 +8,10 @@ export const ImageColumn = ({ song }: ItemDetailListCellProps) => (
|
|||||||
<ItemImage
|
<ItemImage
|
||||||
className={styles.compactImage}
|
className={styles.compactImage}
|
||||||
containerClassName={styles.compactContainer}
|
containerClassName={styles.compactContainer}
|
||||||
|
explicitStatus={song.explicitStatus}
|
||||||
id={song.imageId}
|
id={song.imageId}
|
||||||
itemType={LibraryItem.SONG}
|
itemType={LibraryItem.SONG}
|
||||||
|
serverId={song._serverId}
|
||||||
type="table"
|
type="table"
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
import { ItemDetailListCellProps } from './types';
|
import { ItemDetailListCellProps } from '/@/renderer/components/item-list/item-detail-list/columns/types';
|
||||||
|
import { ExplicitIndicator } from '/@/shared/components/explicit-indicator/explicit-indicator';
|
||||||
|
|
||||||
export const TitleArtistColumn = ({ song }: ItemDetailListCellProps) =>
|
export const TitleArtistColumn = ({ song }: ItemDetailListCellProps) => (
|
||||||
[song.name, song.artistName].filter(Boolean).join(' — ') ?? <> </>;
|
<>
|
||||||
|
<ExplicitIndicator explicitStatus={song.explicitStatus} />
|
||||||
|
{[song.name, song.artistName].filter(Boolean).join(' — ') ?? <> </>}
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
import { ItemDetailListCellProps } from './types';
|
import { ItemDetailListCellProps } from '/@/renderer/components/item-list/item-detail-list/columns/types';
|
||||||
|
import { ExplicitIndicator } from '/@/shared/components/explicit-indicator/explicit-indicator';
|
||||||
|
|
||||||
export const TitleColumn = ({ song }: ItemDetailListCellProps) => song.name ?? <> </>;
|
export const TitleColumn = ({ song }: ItemDetailListCellProps) => (
|
||||||
|
<>
|
||||||
|
<ExplicitIndicator explicitStatus={song.explicitStatus} />
|
||||||
|
{song.name ?? <> </>}
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
|||||||
+8
-3
@@ -1,4 +1,9 @@
|
|||||||
import { ItemDetailListCellProps } from './types';
|
import { ItemDetailListCellProps } from '/@/renderer/components/item-list/item-detail-list/columns/types';
|
||||||
|
import { ExplicitIndicator } from '/@/shared/components/explicit-indicator/explicit-indicator';
|
||||||
|
|
||||||
export const TitleCombinedColumn = ({ song }: ItemDetailListCellProps) =>
|
export const TitleCombinedColumn = ({ song }: ItemDetailListCellProps) => (
|
||||||
[song.name, song.artistName].filter(Boolean).join(' — ') ?? <> </>;
|
<>
|
||||||
|
<ExplicitIndicator explicitStatus={song.explicitStatus} />
|
||||||
|
{[song.name, song.artistName].filter(Boolean).join(' — ') ?? <> </>}
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ import { useIsMutatingDeleteFavorite } from '/@/renderer/features/shared/mutatio
|
|||||||
import { AppRoute } from '/@/renderer/router/routes';
|
import { AppRoute } from '/@/renderer/router/routes';
|
||||||
import { useSettingsStore, useShowRatings } from '/@/renderer/store';
|
import { useSettingsStore, useShowRatings } from '/@/renderer/store';
|
||||||
import { formatDateAbsoluteUTC, formatDurationString } from '/@/renderer/utils';
|
import { formatDateAbsoluteUTC, formatDurationString } from '/@/renderer/utils';
|
||||||
|
import { ExplicitIndicator } from '/@/shared/components/explicit-indicator/explicit-indicator';
|
||||||
import { Skeleton } from '/@/shared/components/skeleton/skeleton';
|
import { Skeleton } from '/@/shared/components/skeleton/skeleton';
|
||||||
import { Text } from '/@/shared/components/text/text';
|
import { Text } from '/@/shared/components/text/text';
|
||||||
import { Album, LibraryItem, Song } from '/@/shared/types/domain-types';
|
import { Album, LibraryItem, Song } from '/@/shared/types/domain-types';
|
||||||
@@ -401,8 +402,10 @@ const MetadataSection = memo(
|
|||||||
>
|
>
|
||||||
<ItemImage
|
<ItemImage
|
||||||
className={styles.image}
|
className={styles.image}
|
||||||
|
explicitStatus={item.explicitStatus}
|
||||||
id={item.imageId}
|
id={item.imageId}
|
||||||
itemType={item._itemType}
|
itemType={item._itemType}
|
||||||
|
serverId={item._serverId}
|
||||||
type="itemCard"
|
type="itemCard"
|
||||||
/>
|
/>
|
||||||
{isFavorite && <div className={styles.favoriteBadge} />}
|
{isFavorite && <div className={styles.favoriteBadge} />}
|
||||||
@@ -428,6 +431,7 @@ const MetadataSection = memo(
|
|||||||
albumId: item.id,
|
albumId: item.id,
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
|
<ExplicitIndicator explicitStatus={item.explicitStatus} />
|
||||||
{item.name}
|
{item.name}
|
||||||
</Link>
|
</Link>
|
||||||
<div className={styles.artist}>
|
<div className={styles.artist}>
|
||||||
|
|||||||
Reference in New Issue
Block a user