mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Extract top menu item for application update as OCP
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi> Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
This commit is contained in:
parent
b8b14d82c3
commit
b14400dd65
@ -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;
|
||||||
@ -7,15 +7,15 @@ import styles from "./styles.module.scss";
|
|||||||
|
|
||||||
import type { HTMLAttributes } from "react";
|
import type { HTMLAttributes } from "react";
|
||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
import { Menu, MenuItem } from "../../../../../../renderer/components/menu";
|
import { Menu, MenuItem } from "../../../../../../../renderer/components/menu";
|
||||||
import { cssNames } from "../../../../../../renderer/utils";
|
import { cssNames } from "../../../../../../../renderer/utils";
|
||||||
import type { IconProps } from "../../../../../../renderer/components/icon";
|
import type { IconProps } from "../../../../../../../renderer/components/icon";
|
||||||
import { Icon } from "../../../../../../renderer/components/icon";
|
import { Icon } from "../../../../../../../renderer/components/icon";
|
||||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||||
import { observer } from "mobx-react";
|
import { observer } from "mobx-react";
|
||||||
import type { IComputedValue } from "mobx";
|
import type { IComputedValue } from "mobx";
|
||||||
import restartAndInstallUpdateInjectable from "../../../../renderer/restart-and-install-update.injectable";
|
import restartAndInstallUpdateInjectable from "../../../../../renderer/restart-and-install-update.injectable";
|
||||||
import updateWarningLevelInjectable from "./update-warning-level.injectable";
|
import updateWarningLevelInjectable from "../update-warning-level.injectable";
|
||||||
|
|
||||||
interface UpdateButtonProps extends HTMLAttributes<HTMLButtonElement> {}
|
interface UpdateButtonProps extends HTMLAttributes<HTMLButtonElement> {}
|
||||||
|
|
||||||
@ -34,10 +34,6 @@ export const NonInjectedUpdateButton = observer(({ warningLevel, update, id }: U
|
|||||||
setOpened(!opened);
|
setOpened(!opened);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!level) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<button
|
<button
|
||||||
@ -13,7 +13,6 @@ import { withInjectables } from "@ogre-tools/injectable-react";
|
|||||||
import type { TopBarRegistration } from "./top-bar-registration";
|
import type { TopBarRegistration } from "./top-bar-registration";
|
||||||
import isLinuxInjectable from "../../../../common/vars/is-linux.injectable";
|
import isLinuxInjectable from "../../../../common/vars/is-linux.injectable";
|
||||||
import isWindowsInjectable from "../../../../common/vars/is-windows.injectable";
|
import isWindowsInjectable from "../../../../common/vars/is-windows.injectable";
|
||||||
import { UpdateButton } from "../../../../features/application-update/child-features/application-update-using-top-bar/renderer/update-button";
|
|
||||||
import closeWindowInjectable from "./close-window.injectable";
|
import closeWindowInjectable from "./close-window.injectable";
|
||||||
import maximizeWindowInjectable from "./maximize-window.injectable";
|
import maximizeWindowInjectable from "./maximize-window.injectable";
|
||||||
import toggleMaximizeWindowInjectable from "./toggle-maximize-window.injectable";
|
import toggleMaximizeWindowInjectable from "./toggle-maximize-window.injectable";
|
||||||
@ -65,8 +64,6 @@ const NonInjectedTopBar = observer(({
|
|||||||
|
|
||||||
return <Component key={item.id} />;
|
return <Component key={item.id} />;
|
||||||
})}
|
})}
|
||||||
|
|
||||||
<UpdateButton />
|
|
||||||
</div>
|
</div>
|
||||||
<div className={styles.items}>
|
<div className={styles.items}>
|
||||||
{renderRegisteredItems(items.get())}
|
{renderRegisteredItems(items.get())}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user