<!DOCTYPE html>
<html lang="en">
<head>
    <!-- Load required Bootstrap and BootstrapVue CSS -->
    <link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css"/>
    <link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap-vue@^2/dist/bootstrap-vue.min.css"/>

    <!-- Load polyfills to support older browsers -->
    <script src="//polyfill.io/v3/polyfill.min.js?features=es2015%2CMutationObserver"></script>

    <!-- Load Vue followed by BootstrapVue -->
    <script src="//unpkg.com/vue@^2/dist/vue.min.js"></script>
    <script src="//unpkg.com/bootstrap-vue@^2/dist/bootstrap-vue.min.js"></script>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <meta charset="UTF-8">
    <title>Memes</title>
</head>
<body>

<div id="app">
    <b-navbar>
        <b-navbar-brand>Emojys</b-navbar-brand>
        <b-navbar-nav>
            <b-nav-item v-for="item in nav" :href="item.url" :active="item.name === 'Meme'" :key="item.key">{{ item.name
                }}
            </b-nav-item>
        </b-navbar-nav>
    </b-navbar>

    <b-navbar>
        <b-navbar-nav>
            <b-nav-item active href="/emojy/stats">Stats</b-nav-item>
            <b-nav-item href="/emojy/list">List</b-nav-item>
            <b-nav-item href="/emojy/new">Upload</b-nav-item>
        </b-navbar-nav>
    </b-navbar>

    <div
            style="background-color:red;"
            variant="error"
            v-if="err != ''"
            @click="err = ''">
        {{ err }}
    </div>

    <ul style="list-style-type: none;">
        <li v-for="category in results">
            <ul v-if="category" style="list-style-type: none;">
                <li v-for="emojy in category" key="emojy">
                    {{emojy.count}} -
                    <span v-if="name != 'emoji'">
                        <span v-if="emojy.onServer">✅</span>
                        <span v-else>❎</span>
                        -
                    </span>
                    <span v-if="emojy.url">
                        <img :src="emojy.url" :alt="emojy.name" class="img-thumbnail"
                             style="max-width: 64px; max-height: 64px"/> {{emojy.emojy}}
                    </span>
                    <span v-else>{{emojy.emojy}}</span>
                </li>
            </ul>
        </li>
    </ul>
</div>

<script>
    var app = new Vue({
        el: '#app',
        data: function () {
            return {
                err: '',
                view: '',
                nav: [],
                results: [],
                fileList: {},
                image: null,
                password: ''
            }
        },
        watch: {
            view(newView, oldView) {
                this.err = '';
            }
        },
        mounted() {
            axios.get('/nav')
                .then(resp => {
                    this.nav = resp.data;
                })
                .catch(err => console.log(err))
            this.refresh();
        },
        methods: {
            refresh: function () {
                axios.get('/emojy/all')
                    .then(resp => {
                        this.results = [resp.data["emojy"], resp.data["unknown"], resp.data["emoji"]]
                        this.err = ''
                    })
                    .catch(err => (this.err = err))
                axios.get('/emojy/allFiles')
                    .then(resp => {
                        this.fileList = resp.data
                        this.err = ''
                    })
                    .catch(err => (this.err = err))
            },
        }
    })
</script>
</body>
</html>