diff --git a/maubot/management/frontend/package.json b/maubot/management/frontend/package.json index 7bd08ef..c25113f 100644 --- a/maubot/management/frontend/package.json +++ b/maubot/management/frontend/package.json @@ -5,6 +5,7 @@ "dependencies": { "node-sass": "^4.9.4", "react": "^16.6.0", + "react-ace": "^6.2.0", "react-dom": "^16.6.0", "react-router-dom": "^4.3.1", "react-scripts": "2.0.5", diff --git a/maubot/management/frontend/src/pages/dashboard/Instance.js b/maubot/management/frontend/src/pages/dashboard/Instance.js index 6a8b762..67bcf16 100644 --- a/maubot/management/frontend/src/pages/dashboard/Instance.js +++ b/maubot/management/frontend/src/pages/dashboard/Instance.js @@ -15,6 +15,9 @@ // along with this program. If not, see . import React, { Component } from "react" import { NavLink, withRouter } from "react-router-dom" +import AceEditor from "react-ace" +import "brace/mode/yaml" +import "brace/theme/github" import { ReactComponent as ChevronRight } from "../../res/chevron-right.svg" import PrefTable, { PrefInput, PrefSelect, PrefSwitch } from "../../components/PreferenceTable" import api from "../../api" @@ -43,6 +46,7 @@ class Instance extends Component { enabled: true, started: true, type: "", + config: "", saving: false, deleting: false, @@ -167,6 +171,12 @@ class Instance extends Component { value={this.selectedPluginEntry} onChange={({ id }) => this.setState({ type: id })}/> + this.setState({ config })} + name="config" value={this.state.config} + editorProps={{ + fontSize: "10pt", + $blockScrolling: true, + }}/>
{!this.isNew && (