mirror of
https://github.com/Radarr/Radarr
synced 2025-12-06 16:32:36 +01:00
Added UpdateMechanismMessage to allow package maintainers provide custom message
This commit is contained in:
parent
ac37285be6
commit
dbc784e94b
4 changed files with 16 additions and 5 deletions
|
|
@ -5,6 +5,7 @@ import { icons, kinds } from 'Helpers/Props';
|
||||||
import formatDate from 'Utilities/Date/formatDate';
|
import formatDate from 'Utilities/Date/formatDate';
|
||||||
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
|
import LoadingIndicator from 'Components/Loading/LoadingIndicator';
|
||||||
import SpinnerButton from 'Components/Link/SpinnerButton';
|
import SpinnerButton from 'Components/Link/SpinnerButton';
|
||||||
|
import InlineMarkdown from 'Components/Markdown/InlineMarkdown';
|
||||||
import Icon from 'Components/Icon';
|
import Icon from 'Components/Icon';
|
||||||
import Label from 'Components/Label';
|
import Label from 'Components/Label';
|
||||||
import PageContent from 'Components/Page/PageContent';
|
import PageContent from 'Components/Page/PageContent';
|
||||||
|
|
@ -28,6 +29,7 @@ class Updates extends Component {
|
||||||
isInstallingUpdate,
|
isInstallingUpdate,
|
||||||
updateMechanism,
|
updateMechanism,
|
||||||
isDocker,
|
isDocker,
|
||||||
|
updateMechanismMessage,
|
||||||
shortDateFormat,
|
shortDateFormat,
|
||||||
onInstallLatestPress
|
onInstallLatestPress
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
@ -38,10 +40,11 @@ class Updates extends Component {
|
||||||
const hasUpdateToInstall = hasUpdates && _.some(items, { installable: true, latest: true });
|
const hasUpdateToInstall = hasUpdates && _.some(items, { installable: true, latest: true });
|
||||||
const noUpdateToInstall = hasUpdates && !hasUpdateToInstall;
|
const noUpdateToInstall = hasUpdates && !hasUpdateToInstall;
|
||||||
|
|
||||||
|
const externalUpdaterPrefix = 'Unable to update Radarr directly,';
|
||||||
const externalUpdaterMessages = {
|
const externalUpdaterMessages = {
|
||||||
external: 'Unable to update Radarr directly, Radarr is configured to use an external update mechanism',
|
external: 'Radarr is configured to use an external update mechanism',
|
||||||
apt: 'Unable to update Radarr directly, use apt to install the update',
|
apt: 'use apt to install the update',
|
||||||
docker: 'Unable to update Radarr directly, update the docker container to receive the update'
|
docker: 'update the docker container to receive the update'
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
@ -79,7 +82,7 @@ class Updates extends Component {
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div className={styles.message}>
|
<div className={styles.message}>
|
||||||
{externalUpdaterMessages[updateMechanism] || externalUpdaterMessages.external}
|
{externalUpdaterPrefix} <InlineMarkdown data={updateMechanismMessage || externalUpdaterMessages[updateMechanism] || externalUpdaterMessages.external} />
|
||||||
</div>
|
</div>
|
||||||
</Fragment>
|
</Fragment>
|
||||||
}
|
}
|
||||||
|
|
@ -212,6 +215,7 @@ Updates.propTypes = {
|
||||||
isInstallingUpdate: PropTypes.bool.isRequired,
|
isInstallingUpdate: PropTypes.bool.isRequired,
|
||||||
isDocker: PropTypes.bool.isRequired,
|
isDocker: PropTypes.bool.isRequired,
|
||||||
updateMechanism: PropTypes.string,
|
updateMechanism: PropTypes.string,
|
||||||
|
updateMechanismMessage: PropTypes.string,
|
||||||
shortDateFormat: PropTypes.string.isRequired,
|
shortDateFormat: PropTypes.string.isRequired,
|
||||||
onInstallLatestPress: PropTypes.func.isRequired
|
onInstallLatestPress: PropTypes.func.isRequired
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ import Updates from './Updates';
|
||||||
function createMapStateToProps() {
|
function createMapStateToProps() {
|
||||||
return createSelector(
|
return createSelector(
|
||||||
(state) => state.app.version,
|
(state) => state.app.version,
|
||||||
|
createSystemStatusSelector(),
|
||||||
(state) => state.system.updates,
|
(state) => state.system.updates,
|
||||||
(state) => state.settings.general,
|
(state) => state.settings.general,
|
||||||
createUISettingsSelector(),
|
createUISettingsSelector(),
|
||||||
|
|
@ -21,6 +22,7 @@ function createMapStateToProps() {
|
||||||
createCommandExecutingSelector(commandNames.APPLICATION_UPDATE),
|
createCommandExecutingSelector(commandNames.APPLICATION_UPDATE),
|
||||||
(
|
(
|
||||||
currentVersion,
|
currentVersion,
|
||||||
|
status,
|
||||||
updates,
|
updates,
|
||||||
generalSettings,
|
generalSettings,
|
||||||
uiSettings,
|
uiSettings,
|
||||||
|
|
@ -45,6 +47,7 @@ function createMapStateToProps() {
|
||||||
isInstallingUpdate,
|
isInstallingUpdate,
|
||||||
isDocker: systemStatus.isDocker,
|
isDocker: systemStatus.isDocker,
|
||||||
updateMechanism: generalSettings.item.updateMechanism,
|
updateMechanism: generalSettings.item.updateMechanism,
|
||||||
|
updateMechanismMessage: status.packageUpdateMechanismMessage,
|
||||||
shortDateFormat: uiSettings.shortDateFormat
|
shortDateFormat: uiSettings.shortDateFormat
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ public interface IDeploymentInfoProvider
|
||||||
string PackageAuthor { get; }
|
string PackageAuthor { get; }
|
||||||
string PackageBranch { get; }
|
string PackageBranch { get; }
|
||||||
UpdateMechanism PackageUpdateMechanism { get; }
|
UpdateMechanism PackageUpdateMechanism { get; }
|
||||||
|
string PackageUpdateMechanismMessage { get; }
|
||||||
|
|
||||||
string ReleaseVersion { get; }
|
string ReleaseVersion { get; }
|
||||||
string ReleaseBranch { get; }
|
string ReleaseBranch { get; }
|
||||||
|
|
@ -41,6 +42,7 @@ public DeploymentInfoProvider(IAppFolderInfo appFolderInfo, IDiskProvider diskPr
|
||||||
PackageVersion = ReadValue(data, "PackageVersion");
|
PackageVersion = ReadValue(data, "PackageVersion");
|
||||||
PackageAuthor = ReadValue(data, "PackageAuthor");
|
PackageAuthor = ReadValue(data, "PackageAuthor");
|
||||||
PackageUpdateMechanism = ReadEnumValue(data, "UpdateMethod", UpdateMechanism.BuiltIn);
|
PackageUpdateMechanism = ReadEnumValue(data, "UpdateMethod", UpdateMechanism.BuiltIn);
|
||||||
|
PackageUpdateMechanismMessage = ReadValue(data, "UpdateMethodMessage");
|
||||||
PackageBranch = ReadValue(data, "Branch");
|
PackageBranch = ReadValue(data, "Branch");
|
||||||
|
|
||||||
ReleaseVersion = ReadValue(data, "ReleaseVersion");
|
ReleaseVersion = ReadValue(data, "ReleaseVersion");
|
||||||
|
|
@ -94,6 +96,7 @@ private static T ReadEnumValue<T>(string fileData, string key, T defaultValue)
|
||||||
public string PackageAuthor { get; private set; }
|
public string PackageAuthor { get; private set; }
|
||||||
public string PackageBranch { get; private set; }
|
public string PackageBranch { get; private set; }
|
||||||
public UpdateMechanism PackageUpdateMechanism { get; private set; }
|
public UpdateMechanism PackageUpdateMechanism { get; private set; }
|
||||||
|
public string PackageUpdateMechanismMessage { get; private set; }
|
||||||
|
|
||||||
public string ReleaseVersion { get; private set; }
|
public string ReleaseVersion { get; private set; }
|
||||||
public string ReleaseBranch { get; set; }
|
public string ReleaseBranch { get; set; }
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,8 @@ private object GetStatus()
|
||||||
StartTime = _runtimeInfo.StartTime,
|
StartTime = _runtimeInfo.StartTime,
|
||||||
PackageVersion = _deploymentInfoProvider.PackageVersion,
|
PackageVersion = _deploymentInfoProvider.PackageVersion,
|
||||||
PackageAuthor = _deploymentInfoProvider.PackageAuthor,
|
PackageAuthor = _deploymentInfoProvider.PackageAuthor,
|
||||||
PackageUpdateMechanism = _deploymentInfoProvider.PackageUpdateMechanism
|
PackageUpdateMechanism = _deploymentInfoProvider.PackageUpdateMechanism,
|
||||||
|
PackageUpdateMechanismMessage = _deploymentInfoProvider.PackageUpdateMechanismMessage
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue