diff --git a/ui/src/SharePlayer.js b/ui/src/SharePlayer.js
index be9be7cf5..22975ddca 100644
--- a/ui/src/SharePlayer.js
+++ b/ui/src/SharePlayer.js
@@ -2,7 +2,20 @@ import ReactJkMusicPlayer from 'navidrome-music-player'
 import { shareInfo } from './config'
 import { shareCoverUrl, shareStreamUrl } from './utils'
 
+import { makeStyles } from '@material-ui/core/styles'
+
+const useStyle = makeStyles({
+  player: {
+    '& .group .next-audio': {
+      pointerEvents: (props) => props.single && 'none',
+      opacity: (props) => props.single && 0.65,
+    },
+  },
+})
+
 const SharePlayer = () => {
+  const classes = useStyle({ single: shareInfo?.tracks.length === 1 })
+
   const list = shareInfo?.tracks.map((s) => {
     return {
       name: s.title,
@@ -22,11 +35,12 @@ const SharePlayer = () => {
     showMediaSession: true,
     theme: 'auto',
     showThemeSwitch: false,
+    restartCurrentOnPrev: true,
     remove: false,
     spaceBar: true,
     volumeFade: { fadeIn: 200, fadeOut: 200 },
   }
-  return <ReactJkMusicPlayer {...options} />
+  return <ReactJkMusicPlayer {...options} className={classes.player} />
 }
 
 export default SharePlayer
diff --git a/ui/src/audioplayer/styles.js b/ui/src/audioplayer/styles.js
index 0573ac440..38b7831b9 100644
--- a/ui/src/audioplayer/styles.js
+++ b/ui/src/audioplayer/styles.js
@@ -80,14 +80,10 @@ const useStyle = makeStyles(
         },
       '& .music-player-panel .panel-content .progress-bar-content section.audio-main':
         {
-          display: (props) => {
-            return props.isRadio ? 'none' : 'inline-flex'
-          },
+          display: (props) => (props.isRadio ? 'none' : 'inline-flex'),
         },
       '& .react-jinke-music-player-mobile-progress': {
-        display: (props) => {
-          return props.isRadio ? 'none' : 'flex'
-        },
+        display: (props) => (props.isRadio ? 'none' : 'flex'),
       },
     },
   }),