diff --git a/src/mqueryfront/src/App.css b/src/mqueryfront/src/App.css index 1d67e328..617876f8 100644 --- a/src/mqueryfront/src/App.css +++ b/src/mqueryfront/src/App.css @@ -87,3 +87,27 @@ .cursor-pointer { cursor: pointer; } + +.index-form-wrapper { + display: grid; + grid-auto-flow: row; + grid-row-gap: 10px; +} + +.index-links-wrapper { + display: grid; + grid-auto-flow: row; + grid-row-gap: 3px; +} + +.index-navlink { + border-color: black; + border-style: solid; + border-width: thin; + font-size: large; + display: grid; + grid-auto-flow: row; + grid-row-gap: 10px; + cursor: pointer; + width: fit-content; +} diff --git a/src/mqueryfront/src/App.js b/src/mqueryfront/src/App.js index a5e93dd8..7fdfc883 100644 --- a/src/mqueryfront/src/App.js +++ b/src/mqueryfront/src/App.js @@ -9,6 +9,7 @@ import AboutPage from "./about/AboutPage"; import AuthPage from "./auth/AuthPage"; import api, { parseJWT } from "./api"; import "./App.css"; +import IndexPage from "./indexFiles/IndexPage"; function getCurrentTokenOrNull() { // This function handles missing and corrupted token in the same way. @@ -69,6 +70,7 @@ function App() { path="/auth" element={} /> + } /> ); diff --git a/src/mqueryfront/src/indexFiles/IndexClearQueueButton.js b/src/mqueryfront/src/indexFiles/IndexClearQueueButton.js new file mode 100644 index 00000000..e1b3decb --- /dev/null +++ b/src/mqueryfront/src/indexFiles/IndexClearQueueButton.js @@ -0,0 +1,28 @@ +import React, { Component } from "react"; +import api from "../api"; + +class IndexClearQueueButton extends Component { + onClick() { + api.post(`/queue/${this.props.ursa_id}/clear`, {}).catch((_e) => {}); + } + + render() { + return ( + + + + ); + } +} + +export default IndexClearQueueButton; diff --git a/src/mqueryfront/src/indexFiles/IndexMultiSelect.js b/src/mqueryfront/src/indexFiles/IndexMultiSelect.js new file mode 100644 index 00000000..e2edd6a8 --- /dev/null +++ b/src/mqueryfront/src/indexFiles/IndexMultiSelect.js @@ -0,0 +1,27 @@ +import { Component } from "react"; +import Select from "react-select"; + +class IndexMultiselect extends Component { + get optionsList() { + return this.props.options.map((obj) => ({ + label: obj, + value: obj, + })); + } + + render() { + return ( +