#let(homeStatus = "active")
#let(pageTitle = "Home")
#define(body):
    <div class="container">
        <div class="page-header"><h1 class="page-title">Status</h1></div>
        #for((node,services) in config.services):
            <h6>#(node)</h6>
            <div class="row row-cards row-deck">
                #for(service in services):
                    <div class="col">
                        <div class="card">
                            <div class="card-header">
                                <h3 class="card-title">#(service["name"])</h3>
                                <div class="card-options">
                                    <span class="tag">
                                        Status
                                        <span id="#(service["name"])Status" class="tag-addon">Unavailable</span>
                                    </span>
                                </div>
                            </div>
                            <div class="card-body">
                                #(service["description"])
                            </div>
                            #if(service["url"]):
                                <div class="card-footer">
                                    URL: <a href="#(service["url"])">#(service["url"])</a>
                                </div>
                            #endif
                        </div>
                        #if(service["url"]):
                            <script>
                                fullURL = '#(service["url"])'
                                var url = fullURL.replace("https://", "")
                                url = url.replace("http://", "")
                                var request = new XMLHttpRequest()
                                request.open('GET', "/status/" + url, true)
                                request.onload = function () {
                                    var data = JSON.parse(this.response)
                                    if (data.down === "true" || parseInt(data.code) > 500 && parseInt(data.code) < 600 ) {
                                        document.getElementById('#(service["name"])Status').classList.add("tag-danger")
                                        document.getElementById('#(service["name"])Status').innerHTML = "Offline"
                                    } else {
                                        document.getElementById('#(service["name"])Status').classList.add("tag-success")
                                        document.getElementById('#(service["name"])Status').innerHTML = "Online"
                                    }
                                }
                                request.send()
                            </script>
                        #endif
                    </div>
                #endfor
            </div>
        #endfor
    </div>
#enddefine
#inline("base")