This commit is contained in:
Red Adaya 2024-02-05 23:08:59 +08:00
parent cf5d2ecddf
commit 550461167b
58 changed files with 1418 additions and 74 deletions

View File

@ -9,7 +9,7 @@ import { If, For } from "tsx-control-statements/components";
import cn from "classnames"; import cn from "classnames";
import type { BookmarkType } from "../../types/types"; import type { BookmarkType } from "../../types/types";
import { GlobalModel } from "../../model/model"; import { GlobalModel } from "../../model/model";
import { CmdStrCode, Markdown } from "../common/common"; import { CmdStrCode, Markdown } from "../common/elements";
import { ReactComponent as XmarkIcon } from "../assets/icons/line/xmark.svg"; import { ReactComponent as XmarkIcon } from "../assets/icons/line/xmark.svg";
import { ReactComponent as CopyIcon } from "../assets/icons/favourites/copy.svg"; import { ReactComponent as CopyIcon } from "../assets/icons/favourites/copy.svg";

View File

@ -7,7 +7,7 @@ import * as mobx from "mobx";
import { boundMethod } from "autobind-decorator"; import { boundMethod } from "autobind-decorator";
import cn from "classnames"; import cn from "classnames";
import { GlobalModel, GlobalCommandRunner, MinFontSize, MaxFontSize, RemotesModel } from "../../model/model"; import { GlobalModel, GlobalCommandRunner, MinFontSize, MaxFontSize, RemotesModel } from "../../model/model";
import { Toggle, InlineSettingsTextEdit, SettingsError, Dropdown } from "../common/common"; import { Toggle, InlineSettingsTextEdit, SettingsError, Dropdown } from "../common/elements";
import { CommandRtnType, ClientDataType } from "../../types/types"; import { CommandRtnType, ClientDataType } from "../../types/types";
import { commandRtnHandler, isBlank } from "../../util/util"; import { commandRtnHandler, isBlank } from "../../util/util";

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -6,8 +6,8 @@ import { boundMethod } from "autobind-decorator";
import cn from "classnames"; import cn from "classnames";
import { If } from "tsx-control-statements/components"; import { If } from "tsx-control-statements/components";
import { ReactComponent as CheckIcon } from "../assets/icons/line/check.svg"; import { ReactComponent as CheckIcon } from "../../assets/icons/line/check.svg";
import { ReactComponent as CopyIcon } from "../assets/icons/history/copy.svg"; import { ReactComponent as CopyIcon } from "../../assets/icons/history/copy.svg";
import "./cmdstrcode.less"; import "./cmdstrcode.less";

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -3,15 +3,12 @@
import * as React from "react"; import * as React from "react";
import * as mobxReact from "mobx-react"; import * as mobxReact from "mobx-react";
import * as mobx from "mobx";
import { boundMethod } from "autobind-decorator"; import { boundMethod } from "autobind-decorator";
import cn from "classnames"; import cn from "classnames";
import { If } from "tsx-control-statements/components"; import { If } from "tsx-control-statements/components";
import ReactDOM from "react-dom"; import ReactDOM from "react-dom";
import "./common.less"; import "./dropdown.less";
type OV<V> = mobx.IObservableValue<V>;
interface DropdownDecorationProps { interface DropdownDecorationProps {
startDecoration?: React.ReactNode; startDecoration?: React.ReactNode;

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -1,3 +1,22 @@
export { Button } from "./button";
export { Checkbox } from "./checkbox";
export { CmdStrCode } from "./cmdstrcode"; export { CmdStrCode } from "./cmdstrcode";
export { renderCmdText } from "./cmdtext"; export { renderCmdText } from "./cmdtext";
export { Dropdown } from "./dropdown";
export { IconButton } from "./iconbutton";
export { InfoMessage } from "./infomessage";
export { InlineSettingsTextEdit } from "./inlinesettingstextedit";
export { InputDecoration } from "./inputdecoration";
export { LinkButton } from "./linkbutton";
export { Markdown } from "./markdown";
export { Modal } from "./modal";
export { NumberField } from "./numberfield";
export { PasswordField } from "./passwordfield";
export { RemoteStatusLight } from "./remotestatuslight";
export { ResizableSidebar } from "./resizablesidebar";
export { SettingsError } from "./settingserror";
export { ShowWaveShellInstallPrompt } from "./showwaveshellinstallprompt";
export { Status } from "./status";
export { TextField } from "./textfield";
export { Toggle } from "./toggle"; export { Toggle } from "./toggle";
export { Tooltip } from "./tooltip";

View File

@ -3,7 +3,7 @@
import * as React from "react"; import * as React from "react";
import * as mobxReact from "mobx-react"; import * as mobxReact from "mobx-react";
import { ReactComponent as CircleInfoIcon } from "../assets/icons/circle_info.svg"; import { ReactComponent as CircleInfoIcon } from "../../assets/icons/circle_info.svg";
import "./infomessage.less"; import "./infomessage.less";

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -9,7 +9,7 @@ import cn from "classnames";
import { If } from "tsx-control-statements/components"; import { If } from "tsx-control-statements/components";
import { checkKeyPressed, adaptFromReactOrNativeKeyEvent } from "../../../util/keyutil"; import { checkKeyPressed, adaptFromReactOrNativeKeyEvent } from "../../../util/keyutil";
import "./inlinetextedit.less"; import "./inlinesettingstextedit.less";
type OV<V> = mobx.IObservableValue<V>; type OV<V> = mobx.IObservableValue<V>;

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -8,7 +8,7 @@ import ReactDOM from "react-dom";
import { Button } from "./button"; import { Button } from "./button";
import { IconButton } from "./iconbutton"; import { IconButton } from "./iconbutton";
import "./common.less"; import "./modal.less";
type OV<V> = mobx.IObservableValue<V>; type OV<V> = mobx.IObservableValue<V>;

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -2,9 +2,9 @@ import * as React from "react";
import * as mobxReact from "mobx-react"; import * as mobxReact from "mobx-react";
import { RemoteType } from "../../../types/types"; import { RemoteType } from "../../../types/types";
import { ReactComponent as CircleIcon } from "../assets/icons/circle.svg"; import { ReactComponent as CircleIcon } from "../../assets/icons/circle.svg";
import { ReactComponent as KeyIcon } from "../assets/icons/key.svg"; import { ReactComponent as KeyIcon } from "../../assets/icons/key.svg";
import { ReactComponent as RotateIcon } from "../assets/icons/rotate_left.svg"; import { ReactComponent as RotateIcon } from "../../assets/icons/rotate_left.svg";
import "./remotestatuslight.less"; import "./remotestatuslight.less";

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -9,7 +9,7 @@ import cn from "classnames";
import { GlobalModel, GlobalCommandRunner } from "../../../model/model"; import { GlobalModel, GlobalCommandRunner } from "../../../model/model";
import { MagicLayout } from "../../magiclayout"; import { MagicLayout } from "../../magiclayout";
import "./common.less"; import "./resizablesidebar.less";
type OV<V> = mobx.IObservableValue<V>; type OV<V> = mobx.IObservableValue<V>;

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -4,8 +4,6 @@
import { GlobalModel } from "../../../model/model"; import { GlobalModel } from "../../../model/model";
import * as appconst from "../../appconst"; import * as appconst from "../../appconst";
import "./common.less";
function ShowWaveShellInstallPrompt(callbackFn: () => void) { function ShowWaveShellInstallPrompt(callbackFn: () => void) {
let message: string = ` let message: string = `
In order to use Wave's advanced features like unified history and persistent sessions, Wave installs a small, open-source helper program called WaveShell on your remote machine. WaveShell does not open any external ports and only communicates with your *local* Wave terminal instance over ssh. For more information please see [the docs](https://docs.waveterm.dev/reference/waveshell). In order to use Wave's advanced features like unified history and persistent sessions, Wave installs a small, open-source helper program called WaveShell on your remote machine. WaveShell does not open any external ports and only communicates with your *local* Wave terminal instance over ssh. For more information please see [the docs](https://docs.waveterm.dev/reference/waveshell).

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -1,4 +1,4 @@
@import "../../app/common/themes/themes.less"; @import "../../../app/common/themes/themes.less";
.info-message { .info-message {
position: relative; position: relative;

View File

@ -6,7 +6,7 @@ import * as mobxReact from "mobx-react";
import * as mobx from "mobx"; import * as mobx from "mobx";
import { boundMethod } from "autobind-decorator"; import { boundMethod } from "autobind-decorator";
import { GlobalModel } from "../../../model/model"; import { GlobalModel } from "../../../model/model";
import { Modal, LinkButton } from "../common"; import { Modal, LinkButton } from "../elements";
import * as util from "../../../util/util"; import * as util from "../../../util/util";
import logo from "../../assets/waveterm-logo-with-bg.svg"; import logo from "../../assets/waveterm-logo-with-bg.svg";

View File

@ -5,7 +5,7 @@ import * as React from "react";
import * as mobxReact from "mobx-react"; import * as mobxReact from "mobx-react";
import { boundMethod } from "autobind-decorator"; import { boundMethod } from "autobind-decorator";
import { If } from "tsx-control-statements/components"; import { If } from "tsx-control-statements/components";
import { Markdown, Modal, Button, Checkbox } from "../common"; import { Markdown, Modal, Button, Checkbox } from "../elements";
import { GlobalModel, GlobalCommandRunner } from "../../../model/model"; import { GlobalModel, GlobalCommandRunner } from "../../../model/model";
import "./alert.less"; import "./alert.less";

View File

@ -6,7 +6,7 @@ import * as mobxReact from "mobx-react";
import { boundMethod } from "autobind-decorator"; import { boundMethod } from "autobind-decorator";
import { If } from "tsx-control-statements/components"; import { If } from "tsx-control-statements/components";
import { GlobalModel } from "../../../model/model"; import { GlobalModel } from "../../../model/model";
import { Modal, Button } from "../common"; import { Modal, Button } from "../elements";
import "./clientstop.less"; import "./clientstop.less";

View File

@ -8,7 +8,16 @@ import { boundMethod } from "autobind-decorator";
import { If } from "tsx-control-statements/components"; import { If } from "tsx-control-statements/components";
import { GlobalModel, GlobalCommandRunner, RemotesModel } from "../../../model/model"; import { GlobalModel, GlobalCommandRunner, RemotesModel } from "../../../model/model";
import * as T from "../../../types/types"; import * as T from "../../../types/types";
import { Modal, TextField, NumberField, InputDecoration, Dropdown, PasswordField, Tooltip, ShowWaveShellInstallPrompt } from "../common"; import {
Modal,
TextField,
NumberField,
InputDecoration,
Dropdown,
PasswordField,
Tooltip,
ShowWaveShellInstallPrompt,
} from "../elements";
import * as util from "../../../util/util"; import * as util from "../../../util/util";
import * as appconst from "../../appconst"; import * as appconst from "../../appconst";

View File

@ -6,7 +6,7 @@ import * as mobxReact from "mobx-react";
import * as mobx from "mobx"; import * as mobx from "mobx";
import { boundMethod } from "autobind-decorator"; import { boundMethod } from "autobind-decorator";
import { GlobalModel } from "../../../model/model"; import { GlobalModel } from "../../../model/model";
import { Modal, Button } from "../common"; import { Modal, Button } from "../elements";
import "./disconnected.less"; import "./disconnected.less";

View File

@ -8,7 +8,7 @@ import { If } from "tsx-control-statements/components";
import { boundMethod } from "autobind-decorator"; import { boundMethod } from "autobind-decorator";
import { GlobalModel, GlobalCommandRunner, RemotesModel } from "../../../model/model"; import { GlobalModel, GlobalCommandRunner, RemotesModel } from "../../../model/model";
import * as T from "../../../types/types"; import * as T from "../../../types/types";
import { Modal, TextField, InputDecoration, Dropdown, PasswordField, Tooltip } from "../common"; import { Modal, TextField, InputDecoration, Dropdown, PasswordField, Tooltip } from "../elements";
import * as util from "../../../util/util"; import * as util from "../../../util/util";
import "./editremoteconn.less"; import "./editremoteconn.less";

View File

@ -6,7 +6,7 @@ import * as mobxReact from "mobx-react";
import * as mobx from "mobx"; import * as mobx from "mobx";
import { boundMethod } from "autobind-decorator"; import { boundMethod } from "autobind-decorator";
import { GlobalModel, GlobalCommandRunner } from "../../../model/model"; import { GlobalModel, GlobalCommandRunner } from "../../../model/model";
import { SettingsError, Modal, Dropdown } from "../common"; import { SettingsError, Modal, Dropdown } from "../elements";
import { LineType, RendererPluginType } from "../../../types/types"; import { LineType, RendererPluginType } from "../../../types/types";
import { PluginModel } from "../../../plugins/plugins"; import { PluginModel } from "../../../plugins/plugins";
import { commandRtnHandler } from "../../../util/util"; import { commandRtnHandler } from "../../../util/util";

View File

@ -8,7 +8,7 @@ import { boundMethod } from "autobind-decorator";
import { If, For } from "tsx-control-statements/components"; import { If, For } from "tsx-control-statements/components";
import cn from "classnames"; import cn from "classnames";
import { GlobalModel, GlobalCommandRunner, TabColors, TabIcons, Screen } from "../../../model/model"; import { GlobalModel, GlobalCommandRunner, TabColors, TabIcons, Screen } from "../../../model/model";
import { Toggle, InlineSettingsTextEdit, SettingsError, Modal, Dropdown, Tooltip } from "../common"; import { Toggle, InlineSettingsTextEdit, SettingsError, Modal, Dropdown, Tooltip } from "../elements";
import { RemoteType } from "../../../types/types"; import { RemoteType } from "../../../types/types";
import * as util from "../../../util/util"; import * as util from "../../../util/util";
import { commandRtnHandler } from "../../../util/util"; import { commandRtnHandler } from "../../../util/util";

View File

@ -6,7 +6,7 @@ import * as mobxReact from "mobx-react";
import * as mobx from "mobx"; import * as mobx from "mobx";
import { boundMethod } from "autobind-decorator"; import { boundMethod } from "autobind-decorator";
import { GlobalModel, GlobalCommandRunner, Session } from "../../../model/model"; import { GlobalModel, GlobalCommandRunner, Session } from "../../../model/model";
import { Toggle, InlineSettingsTextEdit, SettingsError, InfoMessage, Modal } from "../common"; import { Toggle, InlineSettingsTextEdit, SettingsError, InfoMessage, Modal } from "../elements";
import * as util from "../../../util/util"; import * as util from "../../../util/util";
import { commandRtnHandler } from "../../../util/util"; import { commandRtnHandler } from "../../../util/util";

View File

@ -8,7 +8,7 @@ import { boundMethod } from "autobind-decorator";
import { For } from "tsx-control-statements/components"; import { For } from "tsx-control-statements/components";
import cn from "classnames"; import cn from "classnames";
import { GlobalModel, GlobalCommandRunner } from "../../../model/model"; import { GlobalModel, GlobalCommandRunner } from "../../../model/model";
import { Modal, TextField, InputDecoration, Tooltip } from "../common"; import { Modal, TextField, InputDecoration, Tooltip } from "../elements";
import * as util from "../../../util/util"; import * as util from "../../../util/util";
import { Screen } from "../../../model/model"; import { Screen } from "../../../model/model";
import { ReactComponent as SquareIcon } from "../../assets/icons/tab/square.svg"; import { ReactComponent as SquareIcon } from "../../assets/icons/tab/square.svg";

View File

@ -5,7 +5,7 @@ import * as React from "react";
import * as mobxReact from "mobx-react"; import * as mobxReact from "mobx-react";
import { boundMethod } from "autobind-decorator"; import { boundMethod } from "autobind-decorator";
import { GlobalModel, GlobalCommandRunner } from "../../../model/model"; import { GlobalModel, GlobalCommandRunner } from "../../../model/model";
import { Toggle, Modal, Button } from "../common"; import { Toggle, Modal, Button } from "../elements";
import * as util from "../../../util/util"; import * as util from "../../../util/util";
import { ClientDataType } from "../../../types/types"; import { ClientDataType } from "../../../types/types";

View File

@ -9,7 +9,7 @@ import { If, For } from "tsx-control-statements/components";
import cn from "classnames"; import cn from "classnames";
import { GlobalModel, GlobalCommandRunner, RemotesModel } from "../../../model/model"; import { GlobalModel, GlobalCommandRunner, RemotesModel } from "../../../model/model";
import * as T from "../../../types/types"; import * as T from "../../../types/types";
import { Modal, Tooltip, Button, Status } from "../common"; import { Modal, Tooltip, Button, Status } from "../elements";
import * as util from "../../../util/util"; import * as util from "../../../util/util";
import * as textmeasure from "../../../util/textmeasure"; import * as textmeasure from "../../../util/textmeasure";

View File

@ -8,7 +8,7 @@ import { boundMethod } from "autobind-decorator";
import { If, For } from "tsx-control-statements/components"; import { If, For } from "tsx-control-statements/components";
import cn from "classnames"; import cn from "classnames";
import { GlobalModel, RemotesModel, GlobalCommandRunner } from "../../model/model"; import { GlobalModel, RemotesModel, GlobalCommandRunner } from "../../model/model";
import { Button, IconButton, Status, ShowWaveShellInstallPrompt } from "../common/common"; import { Button, Status, ShowWaveShellInstallPrompt } from "../common/elements";
import * as T from "../../types/types"; import * as T from "../../types/types";
import * as util from "../../util/util"; import * as util from "../../util/util";
import * as appconst from "../appconst"; import * as appconst from "../appconst";

File diff suppressed because it is too large Load Diff

View File

@ -14,7 +14,7 @@ import dayjs from "dayjs";
import localizedFormat from "dayjs/plugin/localizedFormat"; import localizedFormat from "dayjs/plugin/localizedFormat";
import customParseFormat from "dayjs/plugin/customParseFormat"; import customParseFormat from "dayjs/plugin/customParseFormat";
import { Line } from "../line/linecomps"; import { Line } from "../line/linecomps";
import { CmdStrCode } from "../common/common"; import { CmdStrCode } from "../common/elements";
import { checkKeyPressed, adaptFromReactOrNativeKeyEvent } from "../../util/keyutil"; import { checkKeyPressed, adaptFromReactOrNativeKeyEvent } from "../../util/keyutil";
import { ReactComponent as FavoritesIcon } from "../assets/icons/favourites.svg"; import { ReactComponent as FavoritesIcon } from "../assets/icons/favourites.svg";

View File

@ -23,7 +23,7 @@ import type {
import cn from "classnames"; import cn from "classnames";
import type { LineContainerModel } from "../../model/model"; import type { LineContainerModel } from "../../model/model";
import { renderCmdText } from "../common/common"; import { renderCmdText } from "../common/elements";
import { SimpleBlobRenderer } from "../../plugins/core/basicrenderer"; import { SimpleBlobRenderer } from "../../plugins/core/basicrenderer";
import { IncrementalRenderer } from "../../plugins/core/incrementalrenderer"; import { IncrementalRenderer } from "../../plugins/core/incrementalrenderer";
import { TerminalRenderer } from "../../plugins/terminal/terminal"; import { TerminalRenderer } from "../../plugins/terminal/terminal";

View File

@ -7,7 +7,7 @@ import * as mobx from "mobx";
import { boundMethod } from "autobind-decorator"; import { boundMethod } from "autobind-decorator";
import { GlobalModel } from "../../model/model"; import { GlobalModel } from "../../model/model";
import { PluginModel } from "../../plugins/plugins"; import { PluginModel } from "../../plugins/plugins";
import { Markdown } from "../common/common"; import { Markdown } from "../common/elements";
import { ReactComponent as XmarkIcon } from "../assets/icons/line/xmark.svg"; import { ReactComponent as XmarkIcon } from "../assets/icons/line/xmark.svg";
@ -22,7 +22,7 @@ class PluginsView extends React.Component<{}, {}> {
renderPluginIcon(plugin): any { renderPluginIcon(plugin): any {
let Comp = plugin.iconComp; let Comp = plugin.iconComp;
return <Comp/>; return <Comp />;
} }
render() { render() {

View File

@ -19,7 +19,7 @@ import { ReactComponent as SettingsIcon } from "../assets/icons/settings.svg";
import localizedFormat from "dayjs/plugin/localizedFormat"; import localizedFormat from "dayjs/plugin/localizedFormat";
import { GlobalModel, GlobalCommandRunner, Session, VERSION } from "../../model/model"; import { GlobalModel, GlobalCommandRunner, Session, VERSION } from "../../model/model";
import { isBlank, openLink } from "../../util/util"; import { isBlank, openLink } from "../../util/util";
import { ResizableSidebar } from "../common/common"; import { ResizableSidebar } from "../common/elements";
import * as constants from "../appconst"; import * as constants from "../appconst";
import "./sidebar.less"; import "./sidebar.less";

View File

@ -12,7 +12,7 @@ import { Prompt } from "../../common/prompt/prompt";
import { TextAreaInput } from "./textareainput"; import { TextAreaInput } from "./textareainput";
import { If, For } from "tsx-control-statements/components"; import { If, For } from "tsx-control-statements/components";
import type { OpenAICmdInfoChatMessageType } from "../../../types/types"; import type { OpenAICmdInfoChatMessageType } from "../../../types/types";
import { Markdown } from "../../common/common"; import { Markdown } from "../../common/elements";
import { checkKeyPressed, adaptFromReactOrNativeKeyEvent } from "../../../util/keyutil"; import { checkKeyPressed, adaptFromReactOrNativeKeyEvent } from "../../../util/keyutil";
@mobxReact.observer @mobxReact.observer

View File

@ -11,7 +11,7 @@ import dayjs from "dayjs";
import type { RemoteType, RemoteInstanceType, RemotePtrType } from "../../../types/types"; import type { RemoteType, RemoteInstanceType, RemotePtrType } from "../../../types/types";
import localizedFormat from "dayjs/plugin/localizedFormat"; import localizedFormat from "dayjs/plugin/localizedFormat";
import { GlobalModel, GlobalCommandRunner, Screen } from "../../../model/model"; import { GlobalModel, GlobalCommandRunner, Screen } from "../../../model/model";
import { renderCmdText } from "../../common/common"; import { renderCmdText } from "../../common/elements";
import { TextAreaInput } from "./textareainput"; import { TextAreaInput } from "./textareainput";
import { InfoMsg } from "./infomsg"; import { InfoMsg } from "./infomsg";
import { HistoryInfo } from "./historyinfo"; import { HistoryInfo } from "./historyinfo";

View File

@ -10,16 +10,24 @@ import { If, For } from "tsx-control-statements/components";
import cn from "classnames"; import cn from "classnames";
import { debounce } from "throttle-debounce"; import { debounce } from "throttle-debounce";
import dayjs from "dayjs"; import dayjs from "dayjs";
import { GlobalCommandRunner, TabColors, TabIcons, ForwardLineContainer, GlobalModel, ScreenLines, Screen, Session } from "../../../model/model"; import {
GlobalCommandRunner,
TabColors,
TabIcons,
ForwardLineContainer,
GlobalModel,
ScreenLines,
Screen,
Session,
} from "../../../model/model";
import type { LineType, RenderModeType, LineFactoryProps } from "../../../types/types"; import type { LineType, RenderModeType, LineFactoryProps } from "../../../types/types";
import * as T from "../../../types/types"; import * as T from "../../../types/types";
import localizedFormat from "dayjs/plugin/localizedFormat"; import localizedFormat from "dayjs/plugin/localizedFormat";
import { Button } from "../../common/common"; import { Button, TextField, Dropdown } from "../../common/elements";
import { getRemoteStr } from "../../common/prompt/prompt"; import { getRemoteStr } from "../../common/prompt/prompt";
import { Line } from "../../line/linecomps"; import { Line } from "../../line/linecomps";
import { LinesView } from "../../line/linesview"; import { LinesView } from "../../line/linesview";
import * as util from "../../../util/util"; import * as util from "../../../util/util";
import { TextField, Dropdown } from "../../common/common";
import { ReactComponent as EllipseIcon } from "../../assets/icons/ellipse.svg"; import { ReactComponent as EllipseIcon } from "../../assets/icons/ellipse.svg";
import { ReactComponent as Check12Icon } from "../../assets/icons/check12.svg"; import { ReactComponent as Check12Icon } from "../../assets/icons/check12.svg";
import { ReactComponent as SquareIcon } from "../../assets/icons/tab/square.svg"; import { ReactComponent as SquareIcon } from "../../assets/icons/tab/square.svg";

View File

@ -8,7 +8,7 @@ import { boundMethod } from "autobind-decorator";
import cn from "classnames"; import cn from "classnames";
import { GlobalModel, GlobalCommandRunner, Screen } from "../../../model/model"; import { GlobalModel, GlobalCommandRunner, Screen } from "../../../model/model";
import { ActionsIcon, StatusIndicator, CenteredIcon } from "../../common/icons/icons"; import { ActionsIcon, StatusIndicator, CenteredIcon } from "../../common/icons/icons";
import { renderCmdText } from "../../common/common"; import { renderCmdText } from "../../common/elements";
import { ReactComponent as SquareIcon } from "../../assets/icons/tab/square.svg"; import { ReactComponent as SquareIcon } from "../../assets/icons/tab/square.svg";
import * as constants from "../../appconst"; import * as constants from "../../appconst";
import { Reorder } from "framer-motion"; import { Reorder } from "framer-motion";

View File

@ -5,7 +5,7 @@ import * as React from "react";
import * as T from "../../types/types"; import * as T from "../../types/types";
import Editor, { Monaco } from "@monaco-editor/react"; import Editor, { Monaco } from "@monaco-editor/react";
import type * as MonacoTypes from "monaco-editor/esm/vs/editor/editor.api"; import type * as MonacoTypes from "monaco-editor/esm/vs/editor/editor.api";
import { Markdown } from "../../app/common/common"; import { Markdown } from "../../app/common/elements";
import { GlobalModel, GlobalCommandRunner } from "../../model/model"; import { GlobalModel, GlobalCommandRunner } from "../../model/model";
import Split from "react-split-it"; import Split from "react-split-it";
import loader from "@monaco-editor/loader"; import loader from "@monaco-editor/loader";

View File

@ -6,7 +6,7 @@ import * as mobx from "mobx";
import * as mobxReact from "mobx-react"; import * as mobxReact from "mobx-react";
import * as T from "../../types/types"; import * as T from "../../types/types";
import { sprintf } from "sprintf-js"; import { sprintf } from "sprintf-js";
import { Markdown } from "../../app/common/common"; import { Markdown } from "../../app/common/elements";
import "./markdown.less"; import "./markdown.less";
@ -17,7 +17,13 @@ const DefaultMaxMarkdownWidth = 1000;
@mobxReact.observer @mobxReact.observer
class SimpleMarkdownRenderer extends React.Component< class SimpleMarkdownRenderer extends React.Component<
{ data: T.ExtBlob; context: T.RendererContext; opts: T.RendererOpts; savedHeight: number, lineState: T.LineStateType }, {
data: T.ExtBlob;
context: T.RendererContext;
opts: T.RendererOpts;
savedHeight: number;
lineState: T.LineStateType;
},
{} {}
> { > {
markdownText: OV<string> = mobx.observable.box(null, { name: "markdownText" }); markdownText: OV<string> = mobx.observable.box(null, { name: "markdownText" });
@ -74,7 +80,10 @@ class SimpleMarkdownRenderer extends React.Component<
maxHeight: opts.maxSize.height, maxHeight: opts.maxSize.height,
}} }}
> >
<Markdown text={this.markdownText.get()} style={{ maxHeight: opts.maxSize.height, maxWidth: DefaultMaxMarkdownWidth }} /> <Markdown
text={this.markdownText.get()}
style={{ maxHeight: opts.maxSize.height, maxWidth: DefaultMaxMarkdownWidth }}
/>
</div> </div>
</div> </div>
); );

View File

@ -8,7 +8,7 @@ import * as T from "../../types/types";
import { debounce } from "throttle-debounce"; import { debounce } from "throttle-debounce";
import { boundMethod } from "autobind-decorator"; import { boundMethod } from "autobind-decorator";
import { PacketDataBuffer } from "../core/ptydata"; import { PacketDataBuffer } from "../core/ptydata";
import { Markdown } from "../../app/common/common"; import { Markdown } from "../../app/common/elements";
import "./openai.less"; import "./openai.less";
@ -207,7 +207,7 @@ class OpenAIRenderer extends React.Component<{ model: OpenAIRendererModel }> {
<div <div
style={{ style={{
maxHeight: opts.maxSize.height, maxHeight: opts.maxSize.height,
paddingRight: 5 paddingRight: 5,
}} }}
> >
<Markdown text={message} style={{ maxHeight: opts.maxSize.height }} /> <Markdown text={message} style={{ maxHeight: opts.maxSize.height }} />
@ -238,16 +238,16 @@ class OpenAIRenderer extends React.Component<{ model: OpenAIRendererModel }> {
if (model.loading.get() && model.savedHeight >= 0 && model.isDone) { if (model.loading.get() && model.savedHeight >= 0 && model.isDone) {
styleVal = { styleVal = {
height: model.savedHeight, height: model.savedHeight,
maxHeight: model.opts.maxSize.height maxHeight: model.opts.maxSize.height,
}; };
} else { } else {
let maxWidth = model.opts.maxSize.width let maxWidth = model.opts.maxSize.width;
if(maxWidth > 1000) { if (maxWidth > 1000) {
maxWidth = 1000 maxWidth = 1000;
} }
styleVal = { styleVal = {
maxWidth: maxWidth, maxWidth: maxWidth,
maxHeight: model.opts.maxSize.height maxHeight: model.opts.maxSize.height,
}; };
} }
let version = model.version.get(); let version = model.version.get();

View File

@ -11,6 +11,9 @@ type RemoteStatusTypeStrs = "connected" | "connecting" | "disconnected" | "error
type LineContainerStrs = "main" | "sidebar" | "history"; type LineContainerStrs = "main" | "sidebar" | "history";
type OV<V> = mobx.IObservableValue<V>; type OV<V> = mobx.IObservableValue<V>;
type OArr<V> = mobx.IObservableArray<V>;
type OMap<K, V> = mobx.ObservableMap<K, V>;
type CV<V> = mobx.IComputedValue<V>;
type SessionDataType = { type SessionDataType = {
sessionid: string; sessionid: string;
@ -811,6 +814,7 @@ export type {
CmdInputTextPacketType, CmdInputTextPacketType,
OpenAICmdInfoChatMessageType, OpenAICmdInfoChatMessageType,
ScreenStatusIndicatorUpdateType, ScreenStatusIndicatorUpdateType,
OV,
}; };
export { StatusIndicatorLevel }; export { StatusIndicatorLevel };