import QtQuick
import QtQuick.Controls.impl
import QtQuick.Controls
import QtQuick.Templates as T

T.ToolButton {
    id: control

    property string target

    checkable: true
    icon.color: Colors.foreground
    icon.height: 36
    icon.width: 36
    implicitHeight: 90
    implicitWidth: 100
    topPadding: 20

    contentItem: Column {
        readonly property color color: control.checked ? Colors.primaryShade : control.hovered ? Colors.primary : Colors.foreground

        IconLabel {
            color: parent.color
            icon.color: parent.color
            icon.height: control.icon.height
            icon.source: control.icon.source
            icon.width: control.icon.width
            x: parent.width * .5 - width * .5
        }
        Label {
            color: parent.color
            font: Typography.smaller
            text: control.text
            x: parent.width * .5 - width * .5
        }
    }

    Rectangle {
        anchors.bottom: parent.bottom
        anchors.left: parent.left
        anchors.top: parent.top
        color: control.checked ? Colors.primaryShade : Colors.primary
        implicitWidth: 6
        visible: control.checked || control.hovered
    }
    MouseArea {
        id: mouseArea

        anchors.fill: parent
        cursorShape: Qt.PointingHandCursor

        onPressed: mouse => mouse.accepted = false
    }

    onClicked: {
        if(!target) {
            return
        }
        contentStack.replace(target)
    }
}
