mirror of
https://github.com/jeffvli/feishin.git
synced 2026-06-12 23:32:19 +02:00
add album section count badge
This commit is contained in:
@@ -41,6 +41,7 @@ import { useGeneralSettings, useSettingsStore } from '/@/renderer/store/settings
|
|||||||
import { sanitize } from '/@/renderer/utils/sanitize';
|
import { sanitize } from '/@/renderer/utils/sanitize';
|
||||||
import { sortAlbumList } from '/@/shared/api/utils';
|
import { sortAlbumList } from '/@/shared/api/utils';
|
||||||
import { ActionIcon } from '/@/shared/components/action-icon/action-icon';
|
import { ActionIcon } from '/@/shared/components/action-icon/action-icon';
|
||||||
|
import { Badge } from '/@/shared/components/badge/badge';
|
||||||
import { Button } from '/@/shared/components/button/button';
|
import { Button } from '/@/shared/components/button/button';
|
||||||
import { Grid } from '/@/shared/components/grid/grid';
|
import { Grid } from '/@/shared/components/grid/grid';
|
||||||
import { Group } from '/@/shared/components/group/group';
|
import { Group } from '/@/shared/components/group/group';
|
||||||
@@ -687,13 +688,17 @@ interface AlbumSectionProps {
|
|||||||
|
|
||||||
const AlbumSection = ({ albums, controls, cq, rows, title }: AlbumSectionProps) => {
|
const AlbumSection = ({ albums, controls, cq, rows, title }: AlbumSectionProps) => {
|
||||||
const span = cq.isXl ? 3 : cq.isLg ? 4 : cq.isMd ? 6 : cq.isSm ? 8 : cq.isXs ? 12 : 12;
|
const span = cq.isXl ? 3 : cq.isLg ? 4 : cq.isMd ? 6 : cq.isSm ? 8 : cq.isXs ? 12 : 12;
|
||||||
|
const albumCount = albums.length;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Stack gap="md">
|
<Stack gap="md">
|
||||||
<div className={styles.albumSectionTitle}>
|
<div className={styles.albumSectionTitle}>
|
||||||
<TextTitle fw={700} order={3}>
|
<Group gap="md">
|
||||||
{title}
|
<TextTitle fw={700} order={3}>
|
||||||
</TextTitle>
|
{title}
|
||||||
|
</TextTitle>
|
||||||
|
<Badge variant="default">{albumCount}</Badge>
|
||||||
|
</Group>
|
||||||
<div className={styles.albumSectionDividerContainer}>
|
<div className={styles.albumSectionDividerContainer}>
|
||||||
<div className={styles.albumSectionDivider} />
|
<div className={styles.albumSectionDivider} />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -14,9 +14,7 @@ const VisualizerInner = () => {
|
|||||||
const canvasRef = createRef<HTMLDivElement>();
|
const canvasRef = createRef<HTMLDivElement>();
|
||||||
const accent = useSettingsStore((store) => store.general.accent);
|
const accent = useSettingsStore((store) => store.general.accent);
|
||||||
const visualizer = useSettingsStore((store) => store.visualizer);
|
const visualizer = useSettingsStore((store) => store.visualizer);
|
||||||
const opacity = useSettingsStore(
|
const opacity = useSettingsStore((store) => store.visualizer.audiomotionanalyzer.opacity);
|
||||||
(store) => store.visualizer.audiomotionanalyzer.opacity,
|
|
||||||
);
|
|
||||||
const [motion, setMotion] = useState<AudioMotionAnalyzer>();
|
const [motion, setMotion] = useState<AudioMotionAnalyzer>();
|
||||||
|
|
||||||
// Check if a gradient name is a custom gradient
|
// Check if a gradient name is a custom gradient
|
||||||
@@ -220,13 +218,7 @@ const VisualizerInner = () => {
|
|||||||
}
|
}
|
||||||
}, [motion, options]);
|
}, [motion, options]);
|
||||||
|
|
||||||
return (
|
return <div className={styles.visualizer} ref={canvasRef} style={{ opacity }} />;
|
||||||
<div
|
|
||||||
className={styles.visualizer}
|
|
||||||
ref={canvasRef}
|
|
||||||
style={{ opacity }}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const Visualizer = () => {
|
export const Visualizer = () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user