create indexConsole and command interpreter

develop
TBS093A 2020-07-21 18:29:13 +02:00
parent 954ab9c7a6
commit aca4eb0f2d
5 changed files with 141 additions and 9 deletions

View File

@ -0,0 +1,58 @@
import React from 'react'
const help = () => {
return "register - register user by form \n"
+ "login - login user by form \n"
+ "logout - logout user \n"
+ "start - start command \n"
+ " -a --app - app flag - start music service app \n"
}
const register = () => {
return (
<div>
</div>
)
}
const login = () => {
return (
<div>
</div>
)
}
const logout = () => {
return (
<div>
</div>
)
}
const startApp = () => {
return (
<div>
</div>
)
}
const undefined = (command) => {
return (
<div>
command '{command}' is undefined
</div>
)
}
export default {
help,
register,
login,
logout,
startApp,
undefined
}

View File

@ -1,8 +1,8 @@
import React, { useState, useEffect } from 'react'
import React, { useEffect } from 'react'
import '../styles/general.scss'
import '../../../styles/general.scss'
const IndexConsole = () => {
const ConsoleLoad = () => {
useEffect( () => { loadingDivs() } )
@ -186,4 +186,4 @@ const IndexConsole = () => {
}
export default IndexConsole
export default ConsoleLoad

View File

@ -0,0 +1,56 @@
import React, { useEffect, useState } from 'react'
import commands from './commands'
import '../../../styles/general.scss'
const IndexConsole = () => {
useEffect( () => resizeConsoleDiv(), [])
const resizeConsoleDiv = () => {
let consoleDiv = document.getElementById('consoleDiv')
consoleDiv.style.height = window.innerHeight - 100 + 'px'
}
const activateInput = () => {
let input = document.getElementById('consoleInput')
input.focus()
}
const [consoleHistory, setConsoleHistory] = useState('')
const consoleInput = React.createRef()
const detectCommand = (event) => {
event.preventDefault()
setConsoleHistory( '# ' + consoleInput.current.value + '\n')
if (consoleInput.current.value === 'help')
setConsoleHistory( commands.help() )
console.log(consoleHistory)
activateInput()
}
return (
<div id='consoleDiv' onClick={ activateInput }>
<div>
tbs093a@00x097 system, welcome <br />
type 'help' to get commands
</div>
<pre id='consoleHistory'>
{ consoleHistory }
</pre>
<form onSubmit={ detectCommand }>
#
<input
id='consoleInput'
ref={consoleInput}
autoComplete='off'
autoFocus
/>
</form>
</div>
)
}
export default IndexConsole

View File

@ -1,11 +1,11 @@
import actions from './actions'
import { useDispatch } from 'react-redux'
import User from './class'
import AppService from '../../AppService'
import actions from './actions'
import User from './class'
export default class UserService{
export default class UserService {
constructor(
private service: AppService,

View File

@ -22,7 +22,7 @@ body {
// index console
#consoleDiv {
margin: 50px;
padding: 50px;
.ASCIIview {
width: 100%;
@ -57,4 +57,22 @@ body {
transform: rotate(-14deg);
}
}
input {
background-color: rgba(0,0,0,0);
color: rgb(172, 36, 36);
font-family: Ubuntu;
font-size: 16px;
border: 0px;
margin-left: 5px;
}
input:focus{
outline: none;
}
pre {
margin: 0px;
font-family: Ubuntu;
font-size: 16px;
}
}