diff --git a/drive-health/panel.luau b/drive-health/panel.luau index 56c8556..9f41ef8 100644 --- a/drive-health/panel.luau +++ b/drive-health/panel.luau @@ -22,6 +22,8 @@ local criticalDraft = "" local lifeDraft = "" local alertsDraft = true local presenceDraft = false +local toggleDriveAt +local dismissAlertAt local EDITABLE_PREFERENCE_FIELDS = { "alias", "warning_temperature", "critical_temperature", "life_warning_percent", "alerts_enabled", "presence_alert_enabled", @@ -211,12 +213,13 @@ local function alertsCard(issues) onClick = "onDismissAllAlertsClicked" })) local rows = { ui.row({ gap = 7, align = "center" }, header) } for index, issue in ipairs(issues) do + local issueIndex = index local color = issue.severity == "critical" and "error" or "secondary" table.insert(rows, ui.row({ gap = 8, align = "center" }, { ui.glyph({ name = issue.severity == "critical" and "alert-octagon" or "alert-circle", size = 13, color = color }), ui.label({ text = tostring(issue.message or issue.title), fontSize = 11, color = "on_surface", flexGrow = 1 }), ui.button({ glyph = "x", tooltip = noctalia.tr("alerts.dismiss"), variant = "ghost", controlSize = "sm", - enabled = index <= 32, onClick = "onDismissAlert" .. tostring(index) .. "Clicked" }), + onClick = function() dismissAlertAt(issueIndex) end }), })) end @@ -875,7 +878,7 @@ local function driveCard(drive, index) ui.button({ glyph = expanded and "chevron-up" or "chevron-down", variant = "ghost", controlSize = "sm", tooltip = noctalia.tr(expanded and "panel.collapse" or "panel.expand"), - enabled = index <= 32, onClick = "onDrive" .. tostring(index) .. "Clicked", + onClick = function() toggleDriveAt(index) end, }), }), ui.row({ gap = 14, align = "center" }, compactMetrics), @@ -1154,7 +1157,7 @@ noctalia.state.watch("drive_preferences", function(value) render() end) -local function toggleDriveAt(index) +toggleDriveAt = function(index) local drive = currentDrives[index] if drive == nil then return @@ -1170,38 +1173,6 @@ local function toggleDriveAt(index) render() end -function onDrive1Clicked() toggleDriveAt(1) end -function onDrive2Clicked() toggleDriveAt(2) end -function onDrive3Clicked() toggleDriveAt(3) end -function onDrive4Clicked() toggleDriveAt(4) end -function onDrive5Clicked() toggleDriveAt(5) end -function onDrive6Clicked() toggleDriveAt(6) end -function onDrive7Clicked() toggleDriveAt(7) end -function onDrive8Clicked() toggleDriveAt(8) end -function onDrive9Clicked() toggleDriveAt(9) end -function onDrive10Clicked() toggleDriveAt(10) end -function onDrive11Clicked() toggleDriveAt(11) end -function onDrive12Clicked() toggleDriveAt(12) end -function onDrive13Clicked() toggleDriveAt(13) end -function onDrive14Clicked() toggleDriveAt(14) end -function onDrive15Clicked() toggleDriveAt(15) end -function onDrive16Clicked() toggleDriveAt(16) end -function onDrive17Clicked() toggleDriveAt(17) end -function onDrive18Clicked() toggleDriveAt(18) end -function onDrive19Clicked() toggleDriveAt(19) end -function onDrive20Clicked() toggleDriveAt(20) end -function onDrive21Clicked() toggleDriveAt(21) end -function onDrive22Clicked() toggleDriveAt(22) end -function onDrive23Clicked() toggleDriveAt(23) end -function onDrive24Clicked() toggleDriveAt(24) end -function onDrive25Clicked() toggleDriveAt(25) end -function onDrive26Clicked() toggleDriveAt(26) end -function onDrive27Clicked() toggleDriveAt(27) end -function onDrive28Clicked() toggleDriveAt(28) end -function onDrive29Clicked() toggleDriveAt(29) end -function onDrive30Clicked() toggleDriveAt(30) end -function onDrive31Clicked() toggleDriveAt(31) end -function onDrive32Clicked() toggleDriveAt(32) end local function sendDismissRequest(request) dismissRequestNonce += 1 @@ -1209,45 +1180,13 @@ local function sendDismissRequest(request) noctalia.state.set("dismiss_alert_request", request) end -local function dismissAlertAt(index) +dismissAlertAt = function(index) local issue = currentIssues[index] if issue ~= nil and issue.id ~= nil then sendDismissRequest({ id = tostring(issue.id) }) end end -function onDismissAlert1Clicked() dismissAlertAt(1) end -function onDismissAlert2Clicked() dismissAlertAt(2) end -function onDismissAlert3Clicked() dismissAlertAt(3) end -function onDismissAlert4Clicked() dismissAlertAt(4) end -function onDismissAlert5Clicked() dismissAlertAt(5) end -function onDismissAlert6Clicked() dismissAlertAt(6) end -function onDismissAlert7Clicked() dismissAlertAt(7) end -function onDismissAlert8Clicked() dismissAlertAt(8) end -function onDismissAlert9Clicked() dismissAlertAt(9) end -function onDismissAlert10Clicked() dismissAlertAt(10) end -function onDismissAlert11Clicked() dismissAlertAt(11) end -function onDismissAlert12Clicked() dismissAlertAt(12) end -function onDismissAlert13Clicked() dismissAlertAt(13) end -function onDismissAlert14Clicked() dismissAlertAt(14) end -function onDismissAlert15Clicked() dismissAlertAt(15) end -function onDismissAlert16Clicked() dismissAlertAt(16) end -function onDismissAlert17Clicked() dismissAlertAt(17) end -function onDismissAlert18Clicked() dismissAlertAt(18) end -function onDismissAlert19Clicked() dismissAlertAt(19) end -function onDismissAlert20Clicked() dismissAlertAt(20) end -function onDismissAlert21Clicked() dismissAlertAt(21) end -function onDismissAlert22Clicked() dismissAlertAt(22) end -function onDismissAlert23Clicked() dismissAlertAt(23) end -function onDismissAlert24Clicked() dismissAlertAt(24) end -function onDismissAlert25Clicked() dismissAlertAt(25) end -function onDismissAlert26Clicked() dismissAlertAt(26) end -function onDismissAlert27Clicked() dismissAlertAt(27) end -function onDismissAlert28Clicked() dismissAlertAt(28) end -function onDismissAlert29Clicked() dismissAlertAt(29) end -function onDismissAlert30Clicked() dismissAlertAt(30) end -function onDismissAlert31Clicked() dismissAlertAt(31) end -function onDismissAlert32Clicked() dismissAlertAt(32) end function onDismissAllAlertsClicked() if #currentIssues > 0 then diff --git a/drive-health/plugin.toml b/drive-health/plugin.toml index b5998f3..0b01730 100644 --- a/drive-health/plugin.toml +++ b/drive-health/plugin.toml @@ -1,7 +1,7 @@ id = "gustav0ar/drive-health" name = "Drive Health" -version = "1.2.2" -plugin_api = 3 +version = "1.2.3" +plugin_api = 9 author = "Drive Health contributors" license = "MIT" deprecated = false