Files
localsend/app/lib/pages/debug/http_logs_page.dart
T
2026-07-26 17:44:23 +02:00

50 lines
1.4 KiB
Dart

import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:localsend_app/provider/logging/http_logs_provider.dart';
import 'package:localsend_app/widget/copyable_text.dart';
import 'package:localsend_app/widget/responsive_list_view.dart';
import 'package:refena_flutter/refena_flutter.dart';
final _dateFormat = DateFormat.Hms();
class HttpLogsPage extends StatelessWidget {
const HttpLogsPage({super.key});
@override
Widget build(BuildContext context) {
final logs = context.ref.watch(httpLogsProvider);
return Scaffold(
appBar: AppBar(
title: const Text('HTTP Logs'),
),
body: ResponsiveListView(
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 30),
children: [
Row(
children: [
ElevatedButton(
onPressed: () => context.ref.notifier(httpLogsProvider).clear(),
child: const Text('Clear'),
),
],
),
const SizedBox(height: 20),
...logs.map(
(log) => CopyableText(
prefix: TextSpan(
text: '[${_dateFormat.format(log.timestamp)}] ',
style: const TextStyle(
color: Colors.green,
fontWeight: FontWeight.bold,
),
),
name: log.log,
value: log.log,
),
),
],
),
);
}
}