/*
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */

var routes = [
    {
        path: '/home',
        name: 'home',
        async: function (routeTo, routeFrom, resolve, reject) {
            var total = packages.length;
            var undelivered = countRemainingPackages();
            var delivered = total - undelivered;
            var percent = (total > 0 ? (delivered / packages.length) : 1);
            resolve({
                templateUrl: './pages/home.html'
            }, {
                context: {
                    packageTotal: total,
                    packageLeft: undelivered,
                    packageDelivered: delivered,
                    packagePercent: percent
                }
            });
        }
    },
    {
        path: '/manage',
        url: './pages/manage.html',
        name: 'manage'
    },
    {
        path: '/list',
        templateUrl: './pages/list.html',
        name: 'list',
        on: {
            pageAfterIn: function () {
                loadPackageList();

                var searchbar = app.searchbar.create({
                    el: '.package-list-searchbar',
                    searchContainer: '#addresslist',
                    searchIn: '.item-title',
                    backdrop: false,
                    on: {
                        search(sb, query, previousQuery) {
                            console.log(query, previousQuery);
                        }
                    }
                });
            }
        },
        keepAlive: true
    },
    {
        path: '/map',
        url: './pages/map.html',
        name: 'map',
        keepAlive: true,
        on: {
            pageAfterIn: function () {
                if (map == null) {
                    createMap();
                }
            }
        }
    },
    {
        path: '/settings',
        name: 'settings',
        async: function (routeTo, routeFrom, resolve, reject) {
            resolve({
                templateUrl: './pages/settings.html'
            }, {
                context: {
                    settings: [
                        {
                            setting: "darktheme",
                            title: "Use dark theme",
                            text: "",
                            toggle: true,
                            checked: localStorage.getItem("darktheme") == "true",
                            onclick: ""
                        },
                        {
                            setting: "versions",
                            title: "PackageHelper app v1.0.0",
                            text: "Copyright &copy; 2019 Netsyms Technologies.  Licensed under the Mozilla Public License 2.0.",
                            onclick: ""
                        },
                        {
                            setting: "opensource",
                            title: "Open Source Information",
                            text: "",
                            onclick: "router.navigate('/credits')"
                        },
                        {
                            setting: "privacy",
                            title: "Privacy Policy and Terms",
                            text: "",
                            onclick: "openBrowser('https://netsyms.com/legal?pk_campaign=PackageHelpterApp')"
                        }]
                }
            });
        }
    },
];