From c93c25481d893668b4e7e9b7f2487278b7068ace Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Thu, 2 Oct 2025 11:56:41 -0400 Subject: [PATCH] Fix components using default theme --- .../components/AppToolbar/RemotePlayButton.tsx | 10 +++++----- src/components/UserAvatar.tsx | 14 +++++++------- src/components/mediainfo/StarIcons.tsx | 10 +++++----- .../emby-progressbar/AutoTimeProgressBar.tsx | 13 ++++++++----- 4 files changed, 25 insertions(+), 22 deletions(-) diff --git a/src/apps/experimental/components/AppToolbar/RemotePlayButton.tsx b/src/apps/experimental/components/AppToolbar/RemotePlayButton.tsx index aa1ac14f88..8c921e89b7 100644 --- a/src/apps/experimental/components/AppToolbar/RemotePlayButton.tsx +++ b/src/apps/experimental/components/AppToolbar/RemotePlayButton.tsx @@ -4,7 +4,7 @@ import Box from '@mui/material/Box'; import Button from '@mui/material/Button'; import Cast from '@mui/icons-material/Cast'; import IconButton from '@mui/material/IconButton'; -import { useTheme } from '@mui/material/styles'; +import type {} from '@mui/material/themeCssVarsAugmentation'; import Tooltip from '@mui/material/Tooltip'; import { playbackManager } from 'components/playback/playbackmanager'; @@ -15,7 +15,6 @@ import RemotePlayMenu, { ID } from './menus/RemotePlayMenu'; import RemotePlayActiveMenu, { ID as ACTIVE_ID } from './menus/RemotePlayActiveMenu'; const RemotePlayButton = () => { - const theme = useTheme(); const [ playerInfo, setPlayerInfo ] = useState(playbackManager.getPlayerInfo()); const updatePlayerInfo = useCallback(() => { @@ -70,9 +69,10 @@ const RemotePlayButton = () => { aria-haspopup='true' onClick={onRemotePlayActiveButtonClick} color='inherit' - sx={{ - color: theme.palette.primary.main - }} + // eslint-disable-next-line react/jsx-no-bind + sx={(theme) => ({ + color: theme.vars.palette.primary.main + })} > {playerInfo.deviceName || playerInfo.name} diff --git a/src/components/UserAvatar.tsx b/src/components/UserAvatar.tsx index be4e4c6729..ba020628f3 100644 --- a/src/components/UserAvatar.tsx +++ b/src/components/UserAvatar.tsx @@ -1,7 +1,7 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import type { UserDto } from '@jellyfin/sdk/lib/generated-client/models/user-dto'; import Avatar from '@mui/material/Avatar'; -import { useTheme } from '@mui/material/styles'; +import type {} from '@mui/material/themeCssVarsAugmentation'; import { useApi } from 'hooks/useApi'; @@ -11,7 +11,6 @@ interface UserAvatarProps { const UserAvatar: FC = ({ user }) => { const { api } = useApi(); - const theme = useTheme(); return user ? ( = ({ user }) => { `${api.basePath}/Users/${user.Id}/Images/Primary?tag=${user.PrimaryImageTag}` : undefined } - sx={{ + // eslint-disable-next-line react/jsx-no-bind + sx={(theme) => ({ bgcolor: api && user.Id && user.PrimaryImageTag ? - theme.palette.background.paper : - theme.palette.primary.dark, + theme.vars.palette.background.paper : + theme.vars.palette.primary.dark, color: 'inherit' - }} + })} /> ) : null; }; diff --git a/src/components/mediainfo/StarIcons.tsx b/src/components/mediainfo/StarIcons.tsx index ca2a1859d4..922ccddae9 100644 --- a/src/components/mediainfo/StarIcons.tsx +++ b/src/components/mediainfo/StarIcons.tsx @@ -2,7 +2,7 @@ import React, { type FC } from 'react'; import classNames from 'classnames'; import StarIcon from '@mui/icons-material/Star'; import Box from '@mui/material/Box'; -import { useTheme } from '@mui/material/styles'; +import type {} from '@mui/material/themeCssVarsAugmentation'; interface StarIconsProps { className?: string; @@ -10,7 +10,6 @@ interface StarIconsProps { } const StarIcons: FC = ({ className, communityRating }) => { - const theme = useTheme(); const cssClass = classNames( 'mediaInfoItem', 'starRatingContainer', @@ -21,9 +20,10 @@ const StarIcons: FC = ({ className, communityRating }) => { ({ + color: theme.vars.palette.starIcon.main + })} /> {communityRating.toFixed(1)} diff --git a/src/elements/emby-progressbar/AutoTimeProgressBar.tsx b/src/elements/emby-progressbar/AutoTimeProgressBar.tsx index b6e5910cb6..efba05bd89 100644 --- a/src/elements/emby-progressbar/AutoTimeProgressBar.tsx +++ b/src/elements/emby-progressbar/AutoTimeProgressBar.tsx @@ -1,7 +1,8 @@ import React, { type FC, useCallback, useEffect, useRef, useState } from 'react'; import classNames from 'classnames'; import LinearProgress, { linearProgressClasses } from '@mui/material/LinearProgress'; -import { useTheme } from '@mui/material/styles'; +import type {} from '@mui/material/themeCssVarsAugmentation'; + import type { ProgressOptions } from 'types/progressOptions'; interface AutoTimeProgressBarProps { @@ -23,7 +24,6 @@ const AutoTimeProgressBar: FC = ({ }) => { const [progress, setProgress] = useState(pct); const timerRef = useRef | null>(null); - const theme = useTheme(); const onAutoTimeProgress = useCallback(() => { const start = parseInt(starTtime.toString(), 10); @@ -66,12 +66,15 @@ const AutoTimeProgressBar: FC = ({ className={progressBarClass} variant='determinate' value={progress} - sx={{ + // eslint-disable-next-line react/jsx-no-bind + sx={(theme) => ({ [`& .${linearProgressClasses.bar}`]: { borderRadius: 5, - backgroundColor: isRecording ? theme.palette.error.main : theme.palette.primary.main + backgroundColor: isRecording ? + theme.vars.palette.error.main : + theme.vars.palette.primary.main } - }} + })} /> ); };