Files
2026-04-06 20:58:42 +02:00

45 lines
1.4 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../../domain/models.dart';
import '../../state/providers.dart';
import '../l10n/app_localizations_ext.dart';
class StatusBar extends ConsumerWidget {
const StatusBar({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final l10n = context.l10n;
final walletState = ref.watch(walletControllerProvider);
final config = ref.watch(appConfigControllerProvider);
final syncStatus = walletState.syncStatus;
final syncText = walletState.walletInfo == null
? l10n.syncStatusNone
: (syncStatus.synced
? l10n.syncStatusSynced
: l10n.syncStatusProgress((syncStatus.progress * 100).toStringAsFixed(0)));
final nodeText = config.nodeConfig.mode == NodeMode.local
? l10n.nodeStatusLocal
: l10n.nodeStatusRemote(config.nodeConfig.activeRemote?.toString() ?? '-');
final heightText = l10n.heightStatus(
syncStatus.nodeHeight.toString(),
syncStatus.walletHeight.toString(),
);
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(syncText, style: const TextStyle(fontSize: 12)),
const SizedBox(height: 4),
Text(nodeText, style: const TextStyle(fontSize: 12)),
const SizedBox(height: 4),
Text(heightText, style: const TextStyle(fontSize: 12)),
],
);
}
}