diff --git a/src/client/components/chakraPlayer/Player.tsx b/src/client/components/chakraPlayer/Player.tsx
index 8f56956c..5d547104 100644
--- a/src/client/components/chakraPlayer/Player.tsx
+++ b/src/client/components/chakraPlayer/Player.tsx
@@ -1,5 +1,5 @@
import React, { type ComponentProps, useMemo, useState, useEffect } from "react"
-import { Em, Span, Stack, Spacer, Text, Image, Box, Heading, HStack, Flex, Center, Container } from '@chakra-ui/react';
+import { Em, Span, Stack, Spacer, Text, Image, Box, Heading, HStack, Flex, Center, Container, Status } from '@chakra-ui/react';
import { TextMuted } from "../TextMuted";
import { SOURCE_SOT, type SOURCE_SOT_TYPES, type SourcePlayerJson } from "../../../core/Atomic";
import { timeToHumanTimestamp } from "../../../core/TimeUtils";
@@ -194,6 +194,39 @@ export const ChakraPlayer = (props: PlayerProps) => {
}
+export const ClientNowPlaying = (props: PlayerProps) => {
+ const {
+ data: {
+ play: {
+ data: {
+ track = '???',
+ artists = [{ name: '???' }],
+ duration = 0
+ } = {},
+ meta: {
+ art = {},
+ } = {},
+ } = {},
+ expiration
+ } = {}
+ } = props;
+
+ if(expiration !== undefined && dayjs().isAfter(dayjs(expiration))) {
+ return null;
+ }
+
+ return (
+
+ Now Playing
+
+
+
+
+ {artists.map(x => x.name).join('/')} - {track}
+
+ )
+}
+
export interface ChakraPlayerFetchableProps {
componentId: number
nowPlaying?: boolean
@@ -217,6 +250,9 @@ export const ChakraPlayerFetchable = (props: ChakraPlayerFetchableProps) => {
}
if (!isPending) {
+ if(nowPlaying) {
+ return
+ }
return
}
}
@@ -274,7 +310,7 @@ export const PlayersContainer = (props: { data: ComponentCommonApiJson, live?: b
// }
// }
playerContainers.push(
- live ? :
+ live ? : (nowPlaying ? : )
);
};
}