Luigit
repositories / dotfiles

dotfiles

bugabingas dorkfiles

owned by admin

quickshell/nuguland/test-fixtures/ui/services/CalDav.qml

Raw
import QtQuick

Item {
    property string status: "needs-setup"
    property bool stale: false
    property var events: []
    property string setupUrlDraft: ""
    property string setupUsernameDraft: ""
    property string setupPasswordDraft: ""
    property string secretError: ""
    property int refreshes: 0
    property int saves: 0
    property bool savedDrafts: false

    function refresh() {
        refreshes++;
    }

    function saveSetup(url, user, secret) {
        saves++;
        savedDrafts = url === "https://fixture.invalid/dav" && user === "fixture-user" && secret === "fixture-only";
        secretError = savedDrafts ? "" : "fixture setup rejected";
        setupPasswordDraft = "";
        if (savedDrafts)
            status = "ready";
    }

    function gridStartDate() {
        const now = new Date();
        const first = new Date(now.getFullYear(), now.getMonth(), 1);
        first.setDate(1 - (first.getDay() + 6) % 7);
        return isoDay(first);
    }

    function isoDay(date) {
        return date.getFullYear() + "-" + String(date.getMonth() + 1).padStart(2, "0") + "-" + String(date.getDate()).padStart(2, "0");
    }

    function updateEvents() {
        events = [
            {
                date: isoDay(new Date()),
                allDay: true,
                color: "#3ec5e3",
                summary: "fixture appointment",
                kind: "event"
            }
        ];
    }
}