/*
 * Copyright 2020 Netsyms Technologies.
 * 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: "/",
        name: "home",
        async: function(routeTo, routeFrom, resolve, reject) {
            resolve({
                templateUrl: "pages/home.html",
            }, {
                context: {
                    machinehistory: getMachineSearchHistory().reverse()
                }
            });
        }
    },
    {
        path: "/machine",
        name: "machine",
        templateUrl: "pages/machine.html"
    },
    {
        path: "/login",
        name: "login",
        url: "pages/login.html"
    },
    {
        path: '/settings',
        name: 'settings',
        async: function (routeTo, routeFrom, resolve, reject) {
            var settings = [];
            if (getStorage("username") != null && getStorage("password") != null) {
                settings.push(
                        {
                            setting: "account",
                            title: "Account",
                            text: "Logged in as " + getStorage("username")
                        },
                        {
                            setting: "logout",
                            title: "",
                            text: "Log out",
                            link: true,
                            onclick: "logout()"
                        }
                );
            } else {
                settings.push(
                        {
                            setting: "login",
                            title: "Log In",
                            text: "Sign up or log in.",
                            onclick: "router.navigate('/login')",
                            link: true
                        }
                );
            }
            settings.push(
                    {
                        setting: "display",
                        title: "Display and Appearance",
                        text: "Change the app theme.",
                        onclick: "router.navigate('/settings/display')",
                        link: true
                    }
            );

            settings.push(
                    {
                        setting: "versions",
                        title: "MachineManager app v" + app_version,
                        text: "Copyright &copy; 2020 Netsyms Technologies.  Licensed under the Mozilla Public License 2.0.",
                        onclick: ""
                    },
                    {
                        setting: "opensource",
                        title: "Credits and open source info",
                        text: "",
                        onclick: "router.navigate('/credits')",
                        link: true
                    },
                    {
                        setting: "privacy",
                        title: "Privacy policy and legal",
                        text: "",
                        onclick: "openBrowser('https://netsyms.com/legal?pk_campaign=TemplateApp')",
                        link: true
                    });
            resolve({
                templateUrl: './pages/settings.html'
            }, {
                context: {
                    page_title: "Settings",
                    settings: settings
                }
            });
        },
        routes: [
            {
                path: '/display',
                name: 'settings',
                async: function (routeTo, routeFrom, resolve, reject) {
                    var settings = [
                        {
                            setting: "apptheme",
                            title: "Color theme",
                            select: true,
                            options: [
                                {
                                    value: "auto",
                                    label: "Auto",
                                    selected: getStorage("apptheme") == null || getStorage("apptheme") == "auto"
                                },
                                {
                                    value: "dark",
                                    label: "Dark",
                                    selected: getStorage("apptheme") == "dark"
                                },
                                {
                                    value: "light",
                                    label: "Light",
                                    selected: getStorage("apptheme") == "light"
                                }
                            ]
                        },
                        {
                            setting: "animation",
                            title: "Animations",
                            select: true,
                            options: [
                                {
                                    value: "auto",
                                    label: "On",
                                    selected: getStorage("animation") == null || getStorage("animation") == "auto" || getStorage("animation") == "on"
                                },
                                {
                                    value: "off",
                                    label: "Off",
                                    selected: getStorage("animation") == "off"
                                }
                            ]
                        }
                    ];
                    resolve({
                        templateUrl: './pages/settings.html'
                    }, {
                        context: {
                            page_title: "Display Settings",
                            settings: settings
                        }
                    });
                }
            }
        ]
    },
    {
        path: '/credits',
        url: './pages/credits.html',
        name: 'credits'
    }
];
