feat(doctor): deep-link findings to the page where they are actioned

Doctor findings used to be dead-end statements — 'approvals
waiting for review' left the operator to find the approvals inbox
on their own. Every finding with a dedicated surface is now one
tap away from it:

- summary tiles: modules -> store, approvals -> approvals inbox,
  audit chain -> audit log (chevron affordance, tooltip + semantics
  button; the services tile stays plain — no dedicated page)
- modules/approvals panel rows link the same way
- the event-log headline opens the audit page next to the
  existing verify button
- host-services empty state gains a 'view the configuration'
  button opening the in-Studio config viewer the hint refers to
- the update banner's release-notes URL is now an underlined,
  clickable link instead of dead text

Tiles and the panel are public callback-driven widgets so the
widget tests pump them without a live hub. New DE+EN link labels.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-07-18 18:02:04 +02:00
parent c18bb7f357
commit e67e0c9e73
7 changed files with 525 additions and 139 deletions

View file

@ -3662,6 +3662,36 @@ abstract class AppLocalizations {
/// **'declared'**
String get doctorSummaryDeclared;
/// No description provided for @doctorLinkStore.
///
/// In en, this message translates to:
/// **'Open the store'**
String get doctorLinkStore;
/// No description provided for @doctorLinkApprovals.
///
/// In en, this message translates to:
/// **'Open approvals'**
String get doctorLinkApprovals;
/// No description provided for @doctorLinkAudit.
///
/// In en, this message translates to:
/// **'Open the audit log'**
String get doctorLinkAudit;
/// No description provided for @doctorLinkConfig.
///
/// In en, this message translates to:
/// **'View the configuration'**
String get doctorLinkConfig;
/// No description provided for @doctorLinkReleaseNotes.
///
/// In en, this message translates to:
/// **'Open the release notes in the browser'**
String get doctorLinkReleaseNotes;
/// No description provided for @doctorModulesPanelSummary.
///
/// In en, this message translates to: