robinp7720/Blue-Stats-Minecraft

View on GitHub
themes/webstatsx/global.html

Summary

Maintainability
Test Coverage
<!DOCTYPE html>
<html lang="en">
<head>

    <meta name="theme-color" content="#2196f3">

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/spacelab/bootstrap.min.css" rel="stylesheet"
          integrity="sha384-L/tgI3wSsbb3f/nW9V6Yqlaw3Gj7mpE56LWrhew/c8MIhAYWZ/FNirA64AVkB5pI" crossorigin="anonymous">
    <link rel="stylesheet" href="assets/style.css">
    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
    <link rel="stylesheet" href="assets/style.css">

    <link rel="stylesheet" href="//cdn.jsdelivr.net/chartist.js/latest/chartist.min.css">

    <script src="//code.jquery.com/jquery.min.js"></script>
    <script src="//cdn.jsdelivr.net/chartist.js/latest/chartist.min.js"></script>

    <script>
        var loadAllPlayers = false;
    </script>

    <title>{{ server-name }} | {{ title }}</title>
</head>
<body>
<nav class="navbar navbar-inverse" role="navigation">
    <div class="container-fluid">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
            <a class="navbar-brand" href="#">{{ server-name }} </a>
        </div>
    </div>
</nav>
<main>
    <div class="container-fluid">
        <div class="row">
            <div class="col-md-2 col-sm-3">
                <ul class="list-group">
                    <li class="list-group-item"><a href="{{ url:home }}">Home</a></li>
                    <li class="list-group-item"><a href="{{ url:allPlayers }}">Players</a></li>
                    <li class="list-group-item"><a href="{{ url:server }}">Server</a></li>
                    <li class="list-group-item"><a href="{{ url:map }}">Map</a></li>
                </ul>
            </div>
            <div class="col-md-10 col-sm-9">
                {{ content }}
            </div>
        </div>
    </div>
</main>
<!-- Latest compiled and minified CSS & JS -->
<script src="//netdna.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="//cdn.datatables.net/1.10.6/js/jquery.dataTables.min.js"></script>
<script src="//cdn.datatables.net/plug-ins/1.10.6/integration/bootstrap/3/dataTables.bootstrap.min.js"></script>

<script>
    $(function () {
        if (loadAllPlayers) {
            /* AJAX player list */
            var getPlayers = function (page) {
                $.ajax('{{ ajax }}?call=allPlayers', {
                    data: {
                        page: page,
                        search: $('#search').val()
                    }
                }).success(function (data) {
                    var url = data.info.url;
                    $('.players').html('');
                    for (var i in data.data) {
                        if (data.data.hasOwnProperty(i)) {
                            $('.players').append('<div class="col-md-3 col-sm-6"><div class="panel panel-default"><div class="panel-body"><a href="' + url.replace('{UUID}', data.data[i].uuid).replace('{NAME}', data.data[i].name) + '"><img src="//cravatar.eu/avatar/' + data.data[i].uuid + '"> ' + data.data[i].name + '</a></div></div></div>');
                        }
                    }
                });
            };

            var currentPage = 0;

            getPlayers(currentPage);
            $('#search').on("change input", function () {
                currentPage = 0;
                getPlayers(currentPage);
            });

            $('.next').click(function (event) {
                event.preventDefault();
                currentPage += 1;
                getPlayers(currentPage);
            });

            $('.previous').click(function (event) {
                event.preventDefault();
                currentPage -= 1;
                getPlayers(currentPage);
            });

            $('.table-sorted').DataTable();
        }
    });
</script>

</body>
</html>