Files
umbrix/lib/features/log/data/log_parser.dart
Umbrix Developer 76a374950f feat: mobile-like window size and always-visible stats
- Changed window size to mobile phone format (400x800)
- Removed width condition for ActiveProxyFooter - now always visible
- Added run-umbrix.sh launch script with icon copying
- Stats cards now display on all screen sizes
2026-01-17 13:09:20 +03:00

34 lines
838 B
Dart

// ignore_for_file: parameter_assignments
import 'package:dartx/dartx.dart';
import 'package:umbrix/features/log/model/log_entity.dart';
import 'package:umbrix/features/log/model/log_level.dart';
import 'package:tint/tint.dart';
abstract class LogParser {
static LogEntity parseSingbox(String log) {
log = log.strip();
DateTime? time;
if (log.length > 25) {
time = DateTime.tryParse(log.substring(6, 25));
}
if (time != null) {
log = log.substring(26);
}
final level = LogLevel.values.firstOrNullWhere(
(e) {
if (log.startsWith(e.name.toUpperCase())) {
log = log.removePrefix(e.name.toUpperCase());
return true;
}
return false;
},
);
return LogEntity(
level: level,
time: time,
message: log.trim(),
);
}
}