import 'package:flutter/material.dart'; import '../../../../extensions/date_time.dart'; import '../../../../theming/app_theme.dart'; /// Non-interactive "Aktualisiert am …" mini heading above the content card /// (refresh is pull-to-refresh). Left-aligned with the card's content indent. /// Renders nothing when [publishedAt] is missing/unparseable. class TickerUpdatedBar extends StatelessWidget { final String? publishedAt; const TickerUpdatedBar({super.key, this.publishedAt}); @override Widget build(BuildContext context) { final iso = publishedAt; final parsed = iso == null || iso.isEmpty ? null : DateTime.tryParse(iso); if (parsed == null) return const SizedBox.shrink(); final theme = Theme.of(context); final muted = theme.colorScheme.onSurfaceVariant; return Padding( padding: const EdgeInsets.fromLTRB( AppSpacing.sm + AppSpacing.md, AppSpacing.sm, AppSpacing.md, AppSpacing.xs, ), child: Row( children: [ Icon(Icons.schedule, size: 13, color: muted), const SizedBox(width: AppSpacing.xs), Text( 'Aktualisiert am ${parsed.toLocal().formatDateTime()}', style: theme.textTheme.labelSmall?.copyWith(color: muted), ), ], ), ); } }