/** * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ import React, { useState } from "react"; import { observer } from "mobx-react"; import { Select } from "../select"; import hotbarStoreInjectable from "../../../common/hotbars/store.injectable"; import type { InputValidator } from "../input"; import { Input } from "../input"; import { withInjectables } from "@ogre-tools/injectable-react"; import commandOverlayInjectable from "../command-palette/command-overlay.injectable"; import uniqueHotbarNameInjectable from "../input/validators/unique-hotbar-name.injectable"; import type { HotbarStore } from "../../../common/hotbars/store"; interface Dependencies { closeCommandOverlay: () => void; hotbarStore: HotbarStore; uniqueHotbarName: InputValidator; } const NonInjectedHotbarRenameCommand = observer(({ closeCommandOverlay, hotbarStore, uniqueHotbarName, }: Dependencies) => { const [hotbarId, setHotbarId] = useState(""); const [hotbarName, setHotbarName] = useState(""); const onSubmit = (name: string) => { if (!name.trim()) { return; } hotbarStore.setHotbarName(hotbarId, name); closeCommandOverlay(); }; if (hotbarId) { return ( <> Please provide a new hotbar name (Press "Enter" to confirm or "Escape" to cancel) ); } return (