feat: setting to hide the item page header session button

This commit is contained in:
Fredrik Burmester
2026-01-03 17:56:31 +01:00
parent 090e0cb170
commit 9cd55cf544
4 changed files with 31 additions and 8 deletions

View File

@@ -116,9 +116,10 @@ export const ItemContent: React.FC<ItemContentProps> = React.memo(
{!Platform.isTV && (
<DownloadSingleItem item={itemWithSources} size='large' />
)}
{user?.Policy?.IsAdministrator && (
<PlayInRemoteSessionButton item={item} size='large' />
)}
{user?.Policy?.IsAdministrator &&
!settings.hideRemoteSessionButton && (
<PlayInRemoteSessionButton item={item} size='large' />
)}
<PlayedStatus items={[item]} size='large' />
<AddToFavorites item={item} />
@@ -134,9 +135,10 @@ export const ItemContent: React.FC<ItemContentProps> = React.memo(
{!Platform.isTV && (
<DownloadSingleItem item={itemWithSources} size='large' />
)}
{user?.Policy?.IsAdministrator && (
<PlayInRemoteSessionButton item={item} size='large' />
)}
{user?.Policy?.IsAdministrator &&
!settings.hideRemoteSessionButton && (
<PlayInRemoteSessionButton item={item} size='large' />
)}
<PlayedStatus items={[item]} size='large' />
<AddToFavorites item={item} />
@@ -147,7 +149,13 @@ export const ItemContent: React.FC<ItemContentProps> = React.memo(
)),
});
}
}, [item, navigation, user, itemWithSources]);
}, [
item,
navigation,
user,
itemWithSources,
settings.hideRemoteSessionButton,
]);
useEffect(() => {
if (item) {

View File

@@ -67,6 +67,16 @@ export const AppearanceSettings: React.FC = () => {
title={t("home.settings.other.hide_libraries")}
showArrow
/>
<ListItem
title={t("home.settings.appearance.hide_remote_session_button")}
>
<Switch
value={settings.hideRemoteSessionButton}
onValueChange={(value) =>
updateSettings({ hideRemoteSessionButton: value })
}
/>
</ListItem>
</ListGroup>
</DisabledSetting>
);

View File

@@ -81,7 +81,8 @@
},
"appearance": {
"title": "Appearance",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up"
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button"
},
"user_info": {
"user_info_title": "User Info",

View File

@@ -194,6 +194,8 @@ export type Settings = {
mergeNextUpAndContinueWatching: boolean;
// iOS video player selection
videoPlayerIOS: VideoPlayerIOS;
// Appearance
hideRemoteSessionButton: boolean;
};
export interface Lockable<T> {
@@ -268,6 +270,8 @@ export const defaultValues: Settings = {
mergeNextUpAndContinueWatching: false,
// iOS video player selection - default to VLC
videoPlayerIOS: VideoPlayerIOS.VLC,
// Appearance
hideRemoteSessionButton: false,
};
const loadSettings = (): Partial<Settings> => {