Skip to content

Commit 951d631

Browse files
committed
[PE-6067] Update submission artwork to go to track page (#11956)
1 parent dabbe23 commit 951d631

File tree

2 files changed

+26
-6
lines changed

2 files changed

+26
-6
lines changed

packages/web/src/pages/track-page/components/desktop/RemixContestSubmissionsTab.tsx

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { useCallback } from 'react'
2+
13
import { LineupData, useUser, useTrack } from '@audius/common/api'
24
import { ID, SquareSizes } from '@audius/common/models'
35
import {
@@ -8,7 +10,7 @@ import {
810
Skeleton,
911
Text
1012
} from '@audius/harmony'
11-
import { Link } from 'react-router-dom-v5-compat'
13+
import { Link, useNavigate } from 'react-router-dom-v5-compat'
1214

1315
import { Avatar } from 'components/avatar'
1416
import { TrackLink, UserLink } from 'components/link'
@@ -46,11 +48,17 @@ export const RemixContestSubmissionsTab = ({
4648
}
4749

4850
const SubmissionCard = ({ submission }: { submission: LineupData }) => {
51+
const navigate = useNavigate()
4952
const { data: track, isLoading: trackLoading } = useTrack(submission.id)
5053
const { data: user, isLoading: userLoading } = useUser(track?.owner_id)
5154
const isLoading = trackLoading || userLoading
5255
const displaySkeleton = isLoading || !track || !user
5356

57+
const goToTrack = useCallback(() => {
58+
if (!track?.permalink) return
59+
navigate(track.permalink)
60+
}, [navigate, track?.permalink])
61+
5462
return (
5563
<Flex column gap='s'>
5664
<Flex h={artworkSize} w={artworkSize} borderRadius='s'>
@@ -66,19 +74,21 @@ const SubmissionCard = ({ submission }: { submission: LineupData }) => {
6674
hideToolTip
6775
>
6876
<TrackArtwork
69-
style={{
77+
css={{
7078
width: '100%',
71-
height: '100%'
79+
height: '100%',
80+
cursor: 'pointer'
7281
}}
7382
trackId={track.track_id}
83+
onClick={goToTrack}
7484
size={SquareSizes.SIZE_480_BY_480}
7585
/>
7686
</TrackFlair>
7787
{/* User Avatar */}
7888
<Box
7989
h={userAvatarSize}
8090
w={userAvatarSize}
81-
css={{ position: 'absolute', top: -8, right: -8 }}
91+
css={{ position: 'absolute', top: -8, right: -8, zIndex: 10 }}
8292
borderRadius='circle'
8393
>
8494
<Avatar

packages/web/src/pages/track-page/components/mobile/remix-contests/RemixContestSubmissionsTab.tsx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { useCallback } from 'react'
2+
13
import { LineupData, useTrack, useUser } from '@audius/common/api'
24
import { ID, SquareSizes } from '@audius/common/models'
35
import {
@@ -9,6 +11,7 @@ import {
911
Text
1012
} from '@audius/harmony'
1113
import { Link } from 'react-router-dom'
14+
import { useNavigate } from 'react-router-dom-v5-compat'
1215

1316
import { Avatar } from 'components/avatar'
1417
import { TrackLink, UserLink } from 'components/link'
@@ -18,7 +21,7 @@ import { Size } from 'components/track-flair/types'
1821
import { trackRemixesPage } from 'utils/route'
1922

2023
const artworkSize = 140
21-
const userAvatarSize = 40
24+
const userAvatarSize = 50
2225

2326
const messages = {
2427
noSubmissions: 'No submissions yet',
@@ -47,11 +50,17 @@ export const RemixContestSubmissionsTab = ({
4750
}
4851

4952
const SubmissionCard = ({ submission }: { submission: LineupData }) => {
53+
const navigate = useNavigate()
5054
const { data: track, isLoading: trackLoading } = useTrack(submission.id)
5155
const { data: user, isLoading: userLoading } = useUser(track?.owner_id)
5256
const isLoading = trackLoading || userLoading
5357
const displaySkeleton = isLoading || !track || !user
5458

59+
const goToTrack = useCallback(() => {
60+
if (!track?.permalink) return
61+
navigate(track.permalink)
62+
}, [navigate, track?.permalink])
63+
5564
return (
5665
<Flex column gap='s'>
5766
<Flex h={artworkSize} w={artworkSize} borderRadius='s'>
@@ -67,12 +76,13 @@ const SubmissionCard = ({ submission }: { submission: LineupData }) => {
6776
hideToolTip
6877
>
6978
<TrackArtwork
70-
style={{
79+
css={{
7180
width: '100%',
7281
height: '100%'
7382
}}
7483
trackId={track.track_id}
7584
size={SquareSizes.SIZE_480_BY_480}
85+
onClick={goToTrack}
7686
/>
7787
</TrackFlair>
7888
{/* User Avatar */}

0 commit comments

Comments
 (0)