Skip to content

Commit 3ace0cb

Browse files
committed
Show results on music pages
1 parent 8d7d52f commit 3ace0cb

File tree

2 files changed

+42
-10
lines changed

2 files changed

+42
-10
lines changed

src/app/(main)/m/[trackSlug]/ClientTrackPage.tsx

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -262,14 +262,20 @@ export default function ClientTrackPage({
262262
activeJamResponse?.jam?.id != null &&
263263
track.game?.jamId != null &&
264264
activeJamResponse.jam.id === track.game.jamId;
265+
const isRatingOpenPhase =
266+
activeJamResponse?.phase === "Rating" ||
267+
activeJamResponse?.phase === "Submission";
268+
const shouldShowCurrentJamResults =
269+
activeJamResponse?.phase === "Post-Jam Refinement" ||
270+
activeJamResponse?.phase === "Post-Jam Rating";
265271
const canShowResults =
266-
Boolean(activeJamResponse) && !isTeamMember && !isCurrentJamTrack;
272+
Boolean(activeJamResponse) &&
273+
(!isCurrentJamTrack || shouldShowCurrentJamResults);
267274
const canRateDuringJam =
268275
Boolean(user) &&
269276
!isTeamMember &&
270277
isCurrentJamTrack &&
271-
(activeJamResponse?.phase === "Rating" ||
272-
activeJamResponse?.phase === "Submission");
278+
isRatingOpenPhase;
273279
const raterHasPublishedGame = Boolean(
274280
user?.teams?.some((team) => team.game && team.game.published),
275281
);
@@ -573,20 +579,21 @@ export default function ClientTrackPage({
573579
public average from {overallScore.ratingCount} ratings
574580
</Text>
575581
)}
576-
{isTeamMember && (
582+
{isTeamMember && isCurrentJamTrack && isRatingOpenPhase && (
577583
<Text size="xs" color="textFaded">
578584
You can&apos;t rate your own track.
579585
</Text>
580586
)}
581-
{!user && isCurrentJamTrack && (
587+
{!user && isCurrentJamTrack && isRatingOpenPhase && (
582588
<Text size="xs" color="textFaded">
583589
You must be logged in to rate tracks.
584590
</Text>
585591
)}
586592
{user &&
587593
!isTeamMember &&
588594
isCurrentJamTrack &&
589-
!canRateDuringJam && (
595+
!isRatingOpenPhase &&
596+
!shouldShowCurrentJamResults && (
590597
<Text size="xs" color="textFaded">
591598
It is not the rating period.
592599
</Text>

src/components/results/index.tsx

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { getResults } from "@/requests/game";
1212
import { getTrackResults } from "@/requests/track";
1313
import { GameResultType } from "@/types/GameResultType";
1414
import { TrackResultType } from "@/types/TrackResultType";
15+
import { useMusic } from "bioloom-miniplayer";
1516
import { Award, Circle, CircleSmall } from "lucide-react";
1617
import { useTranslations } from "next-intl";
1718
import { useRouter, useSearchParams } from "next/navigation";
@@ -127,6 +128,7 @@ function formatJamWindow(
127128
}
128129

129130
export default function Results({ preview = false }: { preview?: boolean }) {
131+
const { playItem } = useMusic();
130132
const searchParams = useSearchParams();
131133
const [games, setGames] = useState<GameResultType[]>([]);
132134
const [tracks, setTracks] = useState<TrackResultType[]>([]);
@@ -564,10 +566,33 @@ export default function Results({ preview = false }: { preview?: boolean }) {
564566
src={track.game.thumbnail ?? "/images/D2J_Icon.png"}
565567
/>
566568
<div className="flex flex-col">
567-
<Link href={`/m/${track.slug}`}>{track.name}</Link>
568-
<Text size="sm" color="textFaded">
569-
{track.composer.name} for {track.game.name}
570-
</Text>
569+
<Hstack className="items-start gap-3">
570+
<Vstack align="start" gap={1}>
571+
<Link href={`/m/${track.slug}`}>{track.name}</Link>
572+
<Text size="sm" color="textFaded">
573+
{track.composer.name} for {track.game.name}
574+
</Text>
575+
</Vstack>
576+
<Button
577+
size="xs"
578+
icon="play"
579+
onClick={() =>
580+
playItem({
581+
id: track.id,
582+
slug: track.slug,
583+
name: track.name,
584+
artist: track.composer,
585+
thumbnail:
586+
track.game.thumbnail ??
587+
"/images/D2J_Icon.png",
588+
game: track.game,
589+
song: track.url,
590+
})
591+
}
592+
>
593+
Play
594+
</Button>
595+
</Hstack>
571596
<div className="grid grid-cols-[120px_100px_60px_30px] items-center gap-2">
572597
<Text size="sm" color="textFaded">
573598
Overall

0 commit comments

Comments
 (0)