feat link status probes

Link each sensor heading on the status page to its corresponding probe page. Keep the DAQ Hub heading unlinked because no hub probe page exists.

Commit
bf4b7dae70a303f1c1772de0a72d57036bc4e808
Author
GPT-5 default <codex@openai.com>
Author date
Committer
GPT-5 default <codex@openai.com>
Committer date
Changed files
roles/dashboard/public/css/app.css
index 221ec3cd..aa2c7163 100644..100644
@@ -1030,6 +1030,16 @@
1030 1030 font-size: 1rem;
1031 1031 }
1032 1032
1033 Added: .status-probe-group h2 a {
1034 Added: color: inherit;
1035 Added: text-decoration: none;
1036 Added: }
1037 Added:
1038 Added: .status-probe-group h2 a:hover {
1039 Added: color: var(--accent);
1040 Added: text-decoration: underline;
1041 Added: }
1042 Added:
1033 1043 .status-node-sequence {
1034 1044 margin: 0;
1035 1045 padding: 0;
roles/dashboard/t/05-status-page.t
index 512f1d2a..a7a1da12 100644..100644
@@ -24,4 +24,11 @@
24 24 qq{[data-status-page-probe="$item"] [data-status-page-item="$item"] [data-status-page-state]});
25 25 }
26 26
27 Added: for my $probe (qw(ph do orp ec)) {
28 Added: $t->element_exists(
29 Added: qq{[data-status-page-probe="$probe"] h2 a[href="/probes/$probe"]});
30 Added: }
31 Added:
32 Added: $t->element_exists_not('[data-status-page-probe="hub"] h2 a');
33 Added:
27 34 done_testing;
roles/dashboard/templates/dashboard/status.html.ep
index 497df237..499e4a41 100644..100644
@@ -18,7 +18,13 @@
18 18 class="status-probe-group"
19 19 data-status-page-probe="<%= $item->{key} %>"
20 20 aria-labelledby="status-probe-<%= $item->{key} %>">
21 Removed: <h2 id="status-probe-<%= $item->{key} %>" data-status-page-label><%= $item->{label} %></h2>
21 Added: <h2 id="status-probe-<%= $item->{key} %>" data-status-page-label>
22 Added: % if ($item->{key} ne 'hub') {
23 Added: <a href="/probes/<%= $item->{key} %>"><%= $item->{label} %></a>
24 Added: % } else {
25 Added: <%= $item->{label} %>
26 Added: % }
27 Added: </h2>
22 28 <ol class="status-node-sequence" aria-label="<%= $item->{label} %> nodes">
23 29 <li class="status-node" data-status-page-item="<%= $item->{key} %>">
24 30 <span class="status-node-marker is-unknown" aria-hidden="true"></span>