mirror of
https://github.com/rzuasti/oott.git
synced 2026-07-08 19:21:54 +02:00
Route scanner status colors through the active theme
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
376eb3c367
commit
d94cc2183d
@@ -11,7 +11,7 @@ import 'polled_stale_indicator.dart';
|
||||
typedef ScannerStatus = ({Color color, String label, List<String> sublabels});
|
||||
|
||||
typedef ScannerStatusResolver<T> =
|
||||
ScannerStatus Function(T value, double elapsedSeconds);
|
||||
ScannerStatus Function(BuildContext context, T value, double elapsedSeconds);
|
||||
|
||||
/// Generic card that polls a scanner status endpoint and renders the result
|
||||
/// using the provided [resolver]. The two scanner cards (ARP, mDNS) are thin
|
||||
@@ -71,7 +71,7 @@ class _ScannerStatusCardState<T> extends State<ScannerStatusCard<T>> {
|
||||
);
|
||||
}
|
||||
|
||||
final status = _resolveStatus(freshness);
|
||||
final status = _resolveStatus(context, freshness);
|
||||
final isStale = freshness == PolledFreshness.stale;
|
||||
final theme = Theme.of(context);
|
||||
|
||||
@@ -124,10 +124,10 @@ class _ScannerStatusCardState<T> extends State<ScannerStatusCard<T>> {
|
||||
);
|
||||
}
|
||||
|
||||
ScannerStatus _resolveStatus(PolledFreshness freshness) {
|
||||
ScannerStatus _resolveStatus(BuildContext context, PolledFreshness freshness) {
|
||||
if (freshness == PolledFreshness.error) {
|
||||
return (
|
||||
color: Colors.red,
|
||||
color: Theme.of(context).colorScheme.error,
|
||||
label: 'Error',
|
||||
sublabels: [
|
||||
_polled.lastErrorMessage ??
|
||||
@@ -139,6 +139,6 @@ class _ScannerStatusCardState<T> extends State<ScannerStatusCard<T>> {
|
||||
.difference(_polled.lastSuccessAt!)
|
||||
.inSeconds
|
||||
.toDouble();
|
||||
return widget.resolver(_polled.value as T, elapsed);
|
||||
return widget.resolver(context, _polled.value as T, elapsed);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user