import QtQuick 2.5

import fbx.web 1.0

Item {

    objectName: "dotscreen.main"
    anchors.fill: parent

    property QtObject env: QtObject {
        property string deeplink
        property string rootUrl
        property string type
        property bool debugOnScreen
        property string version: "1.0.0"
        property string gitCommit: "7d0a272"
    }

    Loader {
        id: loader
        anchors.fill: parent
        onStatusChanged: {
            if (status === Loader.Error) {
                errorText.text = "Unable to load: " + loader.source
                errorText.visible = true
            }
        }
    }

    Text {
        id: errorText
        visible: false
        anchors.centerIn: parent
        color: "red"
        font.pointSize: 20
    }

    function handleUrl(action, url, mimeType) {
        env.deeplink = url
        env.rootUrl = Qt.resolvedUrl(".")

        var _url = new Http.URL(url)
        console.log("handleUrl -> URL:", JSON.stringify(_url, null, 4))

        var _version = _url.query.get("version")
        if (_version !== undefined) {
            env.version = _version
        }

        env.rootUrl = Qt.resolvedUrl(".")
        env.rootUrl = env.rootUrl.substring(0, env.rootUrl.length-1)

        env.type = "prod"
        env.debugOnScreen = false

        switch(_url.protocol) {
        case "beta":
            env.type = "staging"
            env.debugOnScreen = true
            break;
        case "vodservice":
            switch(_url.host) {
            case "rmcbfm_dev":
                env.type = "staging"
                env.debugOnScreen = true
                break;
            case "rmcbfm":
                // default config : "prod" + debugOnScreen=false
                break;
            case "rmcbfm_staging":
                env.type = "staging"
                env.debugOnScreen = true
                break;
            case "rmcbfm_testing":
                env.type = "testing"
                env.debugOnScreen = true
                break;
            }
            break;
        }

        var _env = _url.query.get("env")
        if (_env !== undefined) {
            env.type = _env
        }

        loader.source = "./app/" + env.version + "/qml/root.qml"
        loader.focus = true
    }
}
