diff --git a/main.py b/main.py index 33e3149..e1eb148 100644 --- a/main.py +++ b/main.py @@ -5,7 +5,9 @@ import traceback import json from flask import Flask +from flask_cors import CORS app = Flask(__name__) +CORS(app) from munch import Munch from watchdog.observers import Observer @@ -35,8 +37,8 @@ g.health = 20 g.food = 20 g.sand_origin = None -@app.route('/') -def hello_world(): +@app.route('/api/global') +def api_global(): data = json.dumps(g, default=lambda o: str(o), indent=4) response = app.response_class( diff --git a/requirements.txt b/requirements.txt index fcf93a2..4b10814 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,6 +11,7 @@ cryptography==3.4.7 distlib==0.3.0 distro==1.4.0 Flask==1.1.2 +Flask-Cors==3.0.10 html5lib==1.0.1 idna==2.8 ipaddr==2.2.0 diff --git a/web_interface/package.json b/web_interface/package.json index 3cb79b2..ce185b4 100644 --- a/web_interface/package.json +++ b/web_interface/package.json @@ -6,6 +6,7 @@ "@testing-library/jest-dom": "^5.11.4", "@testing-library/react": "^11.1.0", "@testing-library/user-event": "^12.1.10", + "axios": "^0.21.1", "react": "^17.0.2", "react-dom": "^17.0.2", "react-scripts": "4.0.3", diff --git a/web_interface/src/App.js b/web_interface/src/App.js index 68dce68..e024983 100644 --- a/web_interface/src/App.js +++ b/web_interface/src/App.js @@ -1,7 +1,51 @@ +import React, { useState, useEffect } from 'react'; +import axios from 'axios'; + +axios.defaults.baseURL = 'http://minecraft-bot.dns.t0.vc'; + function App() { + const [global, setGlobal] = useState(false); + + useEffect(() => { + const get = async() => { + try { + const res = await axios.get('/api/global'); + setGlobal(res.data); + } catch (error) { + setGlobal(false); + } + }; + + const interval = setInterval(get, 500); + return () => clearInterval(interval); + }, []); + return (
Hello world
+ {global && + <> +Name: {global.name}
+Pos: {global.pos}
+Yaw: {global.yaw}
+Pitch: {global.pitch}
+ +Dimention: {global.dimension}
+ +Players: + {Object.values(global.players).map(x => +
Holding: {global.holding}
+AFK: {`${global.afk}`}
+Health: {global.health}
+Food: {global.food}
+Time: {global.time}
+ > + }