/*!
 *
 * Copyright (c) 2020-2025 Diality Inc. - All Rights Reserved.
 * \copyright
 * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN
 * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER.
 *
 * \file    TreatmentAdjustmentUltrafiltrationConfirm.qml
 * \author  (last)      Stephen Quong
 * \date    (last)      08-Oct-2025
 * \author  (original)  Behrouz NematiPour
 * \date    (original)  18-May-2020
 *
 */

// Qt
import QtQuick 2.12

// Project

//  Qml imports
import "qrc:/globals"
import "qrc:/components"
import "qrc:/compounds"

/*!
 * \brief   TreatmentAdjustmentUltrafiltrationConfirm.qml is the screen
 *          to confirm requested changes to the treatment ultrafiltration setting.
 */
Item { id: _root
    objectName: "_TreatmentAdjustmentUltrafiltrationConfirm"  // SquishQt testability

    property real ultrafiltrationVolume : 0.000
    property real ultrafiltrationRate   : 0.000

    signal confirmVolumeClicked(real vVolume)

    component ValueContainer: LabelUnitContainer { id: _valueContainer
        objectName                  : "_valueContainer"
        property alias value        : _value.text
        property color valueColor   : _value.color

        implicitWidth       : Variables.ultrafiltrationConfirmValueWidth
        implicitHeight      : Variables.adjustmentLabelUnitContainerHeight

        contentItem: Text { id: _value
            objectName: "_value"
            font {
                pixelSize   : Fonts.fontPixelUltrafiltrationAdjustmentMetrics
                weight      : Font.DemiBold
            }
            horizontalAlignment : Text.AlignHCenter
            verticalAlignment   : Text.AlignVCenter
            color               : Colors.ufVolumeGoalText
        }
    }

    Item { id: _newValuesItem
        objectName: "_newValuesItem"
        anchors {
            top         : parent.top
            bottom      : _confirmButton.top
            left        : parent.left
            right       : parent.right
        }

        Row { id: _newValuesRow
            objectName      : "_newValuesRow"
            anchors.centerIn: parent
            spacing         : Variables.columnSpacing

            ValueContainer { id: _newVolumeContainer
                objectName  : "_newVolumeContainer"
                text        : qsTr("New UF Volume")
                unitText    : Variables.unitVolume
                valueColor  : Colors.ufVolumeGoalText
                value       : _root.ultrafiltrationVolume.toFixed(Variables.ultrafiltrationPrecision)
            }

            ValueContainer { id: _newRateContainer
                objectName  : "_newRateContainer"
                text        : qsTr("New UF Rate")
                unitText    : Variables.unitTextRate
                valueColor  : Colors.ufVolumeGoalText
                value       : _root.ultrafiltrationRate.toFixed(Variables.ultrafiltrationPrecision)
            }
        }
    }

    TouchRect { id: _confirmButton
        objectName  : "_confirmButton"
        anchors {
            bottom          : parent.bottom
            bottomMargin    : Variables.defaultMargin
            horizontalCenter: parent.horizontalCenter
        }
        width       : Variables.ultrafiltrationButtonWidth
        height      : Variables.ultrafiltrationButtonHeight
        isDefault   : true
        text  {
            text            : qsTr("Confirm")
            font.weight     : Font.Medium
        }

        onClicked: confirmVolumeClicked(_root.ultrafiltrationVolume.toFixed(Variables.ultrafiltrationPrecision))
    }
}
