diff --git a/app/src/components/HomeContent.hx b/app/src/components/HomeContent.hx index 2eed75f..c911a8e 100644 --- a/app/src/components/HomeContent.hx +++ b/app/src/components/HomeContent.hx @@ -1,4 +1,5 @@ package components; +import js.html.XMLHttpRequest; import react.ReactMacro.jsx; import react.ReactComponent; import js.Browser; @@ -7,16 +8,70 @@ import react.router.ReactRouter; import react.router.Route.RouteRenderProps; import react.router.Route; import components.blog.Overview; +import js.lib.Promise; class HomeContent extends ReactComponent { + public function new(){ + super(); + state = { response: ["LOADING"], loaded: false } + } static var STYLES = require('./HomeContent.css'); public function yeet(){ trace(state); } + + //function sendRequest( image : Dynamic ) { + function sendRequest() { + + + return new js.lib.Promise( + function( resolve : Dynamic -> Void, reject ) + { + var request = new XMLHttpRequest(); + request.responseType = js.html.XMLHttpRequestResponseType.JSON; + + request.onreadystatechange = function () { + if (request.readyState == 4) { + switch (request.status) { + case 200: + setState( { response: request.response } ); + trace(request.response); + case 204: + resolve(true); + default: + trace( "Wrong response status" ); + reject( request.response); + } + } + } + + // var data = new js.html.FormData(); + // // If we had a real file, we could use `file.name` as third argument + // data.append(props.formFieldName != null ? props.formFieldName : "file", image); + request.open("GET", "https://baconipsum.com/api/?type=meat-and-filler"); + // request.send(data); + request.send(); + }); + } + + + override public function render() { + //var _yeet = yayeet(); + var lorem = ["LOADING"]; + if(state.loaded){ + if(state.response != null) + lorem = state.response; + } + else{ + setState({ + loaded: "false" + }); + sendRequest(); + } return jsx('
<$Route exact="true" path={["/home","/home/about"]}> @@ -29,7 +84,7 @@ class HomeContent extends ReactComponent { - Music
- Art
DRIVEBY! is run and operated by Hion-V. I am comitted to bringing you best-in-class entertainment and software.
- + ${lorem[0]}