diff --git a/src/features/application-update/child-features/application-update-using-top-bar/renderer/update-application-top-bar-item/update-application-top-bar-item.injectable.ts b/src/features/application-update/child-features/application-update-using-top-bar/renderer/update-application-top-bar-item/update-application-top-bar-item.injectable.ts new file mode 100644 index 0000000000..dad6ebe29b --- /dev/null +++ b/src/features/application-update/child-features/application-update-using-top-bar/renderer/update-application-top-bar-item/update-application-top-bar-item.injectable.ts @@ -0,0 +1,28 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { getInjectable } from "@ogre-tools/injectable"; +import { computed } from "mobx"; +import topBarItemInjectionToken from "../../../../../../renderer/components/layout/top-bar/top-bar-items/top-bar-item-injection-token"; +import { UpdateButton } from "./update-button"; +import updateWarningLevelInjectable from "./update-warning-level.injectable"; + +const updateApplicationTopBarItemInjectable = getInjectable({ + id: "update-application-top-bar-item", + + instantiate: (di) => { + const warningLevel = di.inject(updateWarningLevelInjectable); + + return { + id: "update-application", + isShown: computed(() => !!warningLevel.get()), + orderNumber: 50, + Component: UpdateButton, + }; + }, + + injectionToken: topBarItemInjectionToken, +}); + +export default updateApplicationTopBarItemInjectable; diff --git a/src/features/application-update/child-features/application-update-using-top-bar/renderer/update-button/index.ts b/src/features/application-update/child-features/application-update-using-top-bar/renderer/update-application-top-bar-item/update-button/index.ts similarity index 100% rename from src/features/application-update/child-features/application-update-using-top-bar/renderer/update-button/index.ts rename to src/features/application-update/child-features/application-update-using-top-bar/renderer/update-application-top-bar-item/update-button/index.ts diff --git a/src/features/application-update/child-features/application-update-using-top-bar/renderer/update-button/styles.module.scss b/src/features/application-update/child-features/application-update-using-top-bar/renderer/update-application-top-bar-item/update-button/styles.module.scss similarity index 100% rename from src/features/application-update/child-features/application-update-using-top-bar/renderer/update-button/styles.module.scss rename to src/features/application-update/child-features/application-update-using-top-bar/renderer/update-application-top-bar-item/update-button/styles.module.scss diff --git a/src/features/application-update/child-features/application-update-using-top-bar/renderer/update-button/update-button.tsx b/src/features/application-update/child-features/application-update-using-top-bar/renderer/update-application-top-bar-item/update-button/update-button.tsx similarity index 80% rename from src/features/application-update/child-features/application-update-using-top-bar/renderer/update-button/update-button.tsx rename to src/features/application-update/child-features/application-update-using-top-bar/renderer/update-application-top-bar-item/update-button/update-button.tsx index 9825ab257e..317e64936b 100644 --- a/src/features/application-update/child-features/application-update-using-top-bar/renderer/update-button/update-button.tsx +++ b/src/features/application-update/child-features/application-update-using-top-bar/renderer/update-application-top-bar-item/update-button/update-button.tsx @@ -7,15 +7,15 @@ import styles from "./styles.module.scss"; import type { HTMLAttributes } from "react"; import React, { useState } from "react"; -import { Menu, MenuItem } from "../../../../../../renderer/components/menu"; -import { cssNames } from "../../../../../../renderer/utils"; -import type { IconProps } from "../../../../../../renderer/components/icon"; -import { Icon } from "../../../../../../renderer/components/icon"; +import { Menu, MenuItem } from "../../../../../../../renderer/components/menu"; +import { cssNames } from "../../../../../../../renderer/utils"; +import type { IconProps } from "../../../../../../../renderer/components/icon"; +import { Icon } from "../../../../../../../renderer/components/icon"; import { withInjectables } from "@ogre-tools/injectable-react"; import { observer } from "mobx-react"; import type { IComputedValue } from "mobx"; -import restartAndInstallUpdateInjectable from "../../../../renderer/restart-and-install-update.injectable"; -import updateWarningLevelInjectable from "./update-warning-level.injectable"; +import restartAndInstallUpdateInjectable from "../../../../../renderer/restart-and-install-update.injectable"; +import updateWarningLevelInjectable from "../update-warning-level.injectable"; interface UpdateButtonProps extends HTMLAttributes {} @@ -34,10 +34,6 @@ export const NonInjectedUpdateButton = observer(({ warningLevel, update, id }: U setOpened(!opened); }; - if (!level) { - return null; - } - return ( <>