From 2446f62da1ad7595bc1c901b43a012dae8ec207b Mon Sep 17 00:00:00 2001 From: Iku-turso Date: Tue, 4 Oct 2022 09:48:31 +0300 Subject: [PATCH] Remove duplication from separators in application menu Co-authored-by: Janne Savolainen Signed-off-by: Iku-turso --- ...t-application-menu-separator-injectable.ts | 21 +++++++++++ .../separators/separators.injectable.ts | 35 ++++++------------- 2 files changed, 32 insertions(+), 24 deletions(-) create mode 100644 src/features/application-menu/main/menu-items/get-application-menu-separator-injectable.ts diff --git a/src/features/application-menu/main/menu-items/get-application-menu-separator-injectable.ts b/src/features/application-menu/main/menu-items/get-application-menu-separator-injectable.ts new file mode 100644 index 0000000000..0725565711 --- /dev/null +++ b/src/features/application-menu/main/menu-items/get-application-menu-separator-injectable.ts @@ -0,0 +1,21 @@ +/** + * 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 type { Separator } from "./application-menu-item-injection-token"; +import applicationMenuItemInjectionToken from "./application-menu-item-injection-token"; + +const getApplicationMenuSeparatorInjectable = ({ id, ...rest }: { id: string } & Omit) => + getInjectable({ + id: `application-menu-separator/${id}`, + + instantiate: () => ({ + ...rest, + type: "separator" as const, + }), + + injectionToken: applicationMenuItemInjectionToken, + }); + +export { getApplicationMenuSeparatorInjectable }; diff --git a/src/features/application-menu/main/menu-items/primary-for-mac/separators/separators.injectable.ts b/src/features/application-menu/main/menu-items/primary-for-mac/separators/separators.injectable.ts index f30f6affbe..f927fc526d 100644 --- a/src/features/application-menu/main/menu-items/primary-for-mac/separators/separators.injectable.ts +++ b/src/features/application-menu/main/menu-items/primary-for-mac/separators/separators.injectable.ts @@ -2,32 +2,19 @@ * 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 applicationMenuItemInjectionToken from "../../application-menu-item-injection-token"; +import { + getApplicationMenuSeparatorInjectable, +} from "../../get-application-menu-separator-injectable"; -export const separatorAfterCheckForUpdatesInjectable = getInjectable({ - id: "separator-after-check-for-updates", - - instantiate: () => ({ - id: "separator-after-check-for-updates", - parentId: "primary-for-mac", - type: "separator" as const, - orderNumber: 30, - }), - - injectionToken: applicationMenuItemInjectionToken, +export const separator1 = getApplicationMenuSeparatorInjectable({ + id: "separator-1", + parentId: "primary-for-mac", + orderNumber: 30, }); -export const separatorAfterExtensionsInjectable = getInjectable({ - id: "separator-after-extensions", - - instantiate: () => ({ - id: "separator-after-extensions", - parentId: "primary-for-mac", - type: "separator" as const, - orderNumber: 70, - }), - - injectionToken: applicationMenuItemInjectionToken, +export const separator2 = getApplicationMenuSeparatorInjectable({ + id: "separator-2", + parentId: "primary-for-mac", + orderNumber: 70, });