diff --git a/packages/eslint-config-audius/src/index.js b/packages/eslint-config-audius/src/index.js
index c4ddcf064d0..502ac30864a 100644
--- a/packages/eslint-config-audius/src/index.js
+++ b/packages/eslint-config-audius/src/index.js
@@ -80,7 +80,7 @@ module.exports = {
'warn',
{
additionalHooks:
- '(useThrottledCallback|useDebouncedCallback|useAuthenticatedCallback)'
+ '(useThrottledCallback|useDebouncedCallback|useRequiresAccountCallback)'
}
],
'react/display-name': 'off',
diff --git a/packages/web/src/components/track/DownloadSection.tsx b/packages/web/src/components/track/DownloadSection.tsx
index 6c43db118ab..0c521824687 100644
--- a/packages/web/src/components/track/DownloadSection.tsx
+++ b/packages/web/src/components/track/DownloadSection.tsx
@@ -183,7 +183,7 @@ export const DownloadSection = ({ trackId }: DownloadSectionProps) => {
fileCount: stemTracks.length + 1
})
},
- [trackId, stemTracks]
+ [openDownloadTrackArchiveModal, trackId, stemTracks.length]
)
const renderDownloadAllButton = () => {
diff --git a/packages/web/src/pages/sign-up-page/components/NavHeader.tsx b/packages/web/src/pages/sign-up-page/components/NavHeader.tsx
index 5c8cf4dbf38..bbb09deee95 100644
--- a/packages/web/src/pages/sign-up-page/components/NavHeader.tsx
+++ b/packages/web/src/pages/sign-up-page/components/NavHeader.tsx
@@ -13,7 +13,9 @@ import {
} from '@audius/harmony'
import { Route, Switch, useHistory, useRouteMatch } from 'react-router-dom'
+import { getRouteOnExit } from 'common/store/pages/signon/selectors'
import { useMedia } from 'hooks/useMedia'
+import { useSelector } from 'utils/reducer'
import { useDetermineAllowedRoute } from '../utils/useDetermineAllowedRoutes'
@@ -26,8 +28,7 @@ const {
SIGN_UP_FINISH_PROFILE_PAGE,
SIGN_UP_GENRES_PAGE,
SIGN_UP_HANDLE_PAGE,
- SIGN_UP_PAGE,
- TRENDING_PAGE
+ SIGN_UP_PAGE
} = route
const useIsBackAllowed = () => {
@@ -86,10 +87,11 @@ export const NavHeader = () => {
const history = useHistory()
const { isMobile } = useMedia()
const { iconSizes } = useTheme()
+ const routeOnExit = useSelector(getRouteOnExit)
const handleClose = useCallback(() => {
- history.push(TRENDING_PAGE)
- }, [history])
+ history.push(routeOnExit)
+ }, [history, routeOnExit])
const audiusLogo =
diff --git a/packages/web/src/pages/track-page/components/mobile/DownloadSection.tsx b/packages/web/src/pages/track-page/components/mobile/DownloadSection.tsx
index 217116d7a70..920cdfc46f1 100644
--- a/packages/web/src/pages/track-page/components/mobile/DownloadSection.tsx
+++ b/packages/web/src/pages/track-page/components/mobile/DownloadSection.tsx
@@ -159,7 +159,7 @@ export const DownloadSection = ({ trackId }: DownloadSectionProps) => {
trackId,
fileCount: stemTracks.length + 1
})
- }, [trackId, stemTracks])
+ }, [openDownloadTrackArchiveModal, trackId, stemTracks.length])
return (
diff --git a/packages/web/src/pages/track-page/components/mobile/TrackHeader.tsx b/packages/web/src/pages/track-page/components/mobile/TrackHeader.tsx
index 1a8e96c4c27..f177d5f9a79 100644
--- a/packages/web/src/pages/track-page/components/mobile/TrackHeader.tsx
+++ b/packages/web/src/pages/track-page/components/mobile/TrackHeader.tsx
@@ -44,6 +44,7 @@ import { TrackMetadataList } from 'components/track/TrackMetadataList'
import HoverInfo from 'components/track-flair/HoverInfo'
import TrackFlair from 'components/track-flair/TrackFlair'
import { Size } from 'components/track-flair/types'
+import { useRequiresAccountCallback } from 'hooks/useRequiresAccount'
import { useTrackCoverArt } from 'hooks/useTrackCoverArt'
import { push as pushRoute } from 'utils/navigation'
import { isDarkMode } from 'utils/theme/theme'
@@ -231,9 +232,10 @@ const TrackHeader = ({
size: SquareSizes.SIZE_480_BY_480
})
- const onSaveHeroTrack = () => {
+ const onSaveHeroTrack = useRequiresAccountCallback(() => {
if (!isOwner) onSave()
- }
+ }, [isOwner, onSave])
+
const filteredTags = (tags || '').split(',').filter(Boolean)
const onClickOverflow = () => {