/** * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ import React from "react"; import { observer } from "mobx-react"; import type { UserStore } from "../../../common/user-store"; import { SubTitle } from "../layout/sub-title"; import { Input, InputValidators } from "../input"; import { Switch } from "../switch"; import { Select } from "../select"; import type { ThemeStore } from "../../theme.store"; import { Preferences } from "./preferences"; import { withInjectables } from "@ogre-tools/injectable-react"; import userStoreInjectable from "../../../common/user-store/user-store.injectable"; import themeStoreInjectable from "../../theme-store.injectable"; import defaultShellInjectable from "./default-shell.injectable"; interface Dependencies { userStore: UserStore; themeStore: ThemeStore; defaultShell: string; } const NonInjectedTerminal = observer(({ userStore, themeStore, defaultShell }: Dependencies) => { return (

Terminal

userStore.shell = value} />
userStore.terminalCopyOnSelect = !userStore.terminalCopyOnSelect} > Copy on select and paste on right-click
userStore.terminalConfig.fontSize = Number(value)} />
userStore.terminalConfig.fontFamily = value} />
); }); export const Terminal = withInjectables( NonInjectedTerminal, { getProps: (di) => ({ userStore: di.inject(userStoreInjectable), themeStore: di.inject(themeStoreInjectable), defaultShell: di.inject(defaultShellInjectable), }), }, );