"use client"
// imports
export function ActiveArtists() {
const { getValue: getDeviceId } = useLocalStorage({
key: DEVICE_ID_LOCAL_STORAGE_KEY,
defaultValue: "",
});
const { data: activeGrid, isLoading: isActiveGridLoading } =
api.grids.getActiveGrid.useQuery(
{ device_id: getDeviceId() },
{ enabled: !!getDeviceId() },
);
const { data: artists, isLoading: isArtistsLoading } =
api.grids.getArtists.useQuery(
{ grid_id: Number(activeGrid?.id) ?? 0 },
{ enabled: !!activeGrid?.id },
);
if (isActiveGridLoading || isArtistsLoading) {
return (
<div className="flex items-center space-x-4">
<Skeleton className={cn(avatarClasses.lg, "rounded-full")} />
<Skeleton className={cn(avatarClasses.lg, "rounded-full")} />
<Skeleton className={cn(avatarClasses.lg, "rounded-full")} />
</div>
);
}
if (!activeGrid?.id || !artists?.length) {
return null;
}
const validArtists = artists.filter(
(artist) => artist?.id && artist?.username,
);
return <ArtistList artists={validArtists} />;
}
"use client"
// imports
export function ActiveArtists() {
const { getValue: getDeviceId } = useLocalStorage({
key: DEVICE_ID_LOCAL_STORAGE_KEY,
defaultValue: "",
});
const { data: activeGrid, isLoading: isActiveGridLoading } =
api.grids.getActiveGrid.useQuery(
{ device_id: getDeviceId() },
{ enabled: !!getDeviceId() },
);
const { data: artists, isLoading: isArtistsLoading } =
api.grids.getArtists.useQuery(
{ grid_id: Number(activeGrid?.id) ?? 0 },
{ enabled: !!activeGrid?.id },
);
if (isActiveGridLoading || isArtistsLoading) {
return (
<div className="flex items-center space-x-4">
<Skeleton className={cn(avatarClasses.lg, "rounded-full")} />
<Skeleton className={cn(avatarClasses.lg, "rounded-full")} />
<Skeleton className={cn(avatarClasses.lg, "rounded-full")} />
</div>
);
}
if (!activeGrid?.id || !artists?.length) {
return null;
}
const validArtists = artists.filter(
(artist) => artist?.id && artist?.username,
);
return <ArtistList artists={validArtists} />;
}