From b9640c380f6fafb8165c6c8d630b28d85f4dce74 Mon Sep 17 00:00:00 2001 From: lollipopkit Date: Sun, 28 Jan 2024 15:43:11 +0800 Subject: [PATCH] opt.: debug page (#259) --- lib/data/provider/debug.dart | 3 ++- lib/data/res/github_id.dart | 1 + lib/main.dart | 2 -- lib/view/page/debug.dart | 37 +++++++++++++++++------------------- 4 files changed, 20 insertions(+), 23 deletions(-) diff --git a/lib/data/provider/debug.dart b/lib/data/provider/debug.dart index c5fdd8b3..68727a41 100644 --- a/lib/data/provider/debug.dart +++ b/lib/data/provider/debug.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:logging/logging.dart'; +import 'package:toolbox/core/extension/datetime.dart'; import 'package:toolbox/data/res/ui.dart'; import '../../data/res/misc.dart'; @@ -17,7 +18,7 @@ class DebugProvider extends ChangeNotifier { widgets.add(Text.rich(TextSpan( children: [ TextSpan( - text: '[${record.loggerName}]', + text: '[${DateTime.now().hourMinute}][${record.loggerName}]', style: const TextStyle(color: Colors.cyan), ), TextSpan( diff --git a/lib/data/res/github_id.dart b/lib/data/res/github_id.dart index 4263610e..e54f4148 100644 --- a/lib/data/res/github_id.dart +++ b/lib/data/res/github_id.dart @@ -53,5 +53,6 @@ abstract final class GithubIds { 'aliuzzz', '58fly', 'Potterli20', + 'Seifon', }; } diff --git a/lib/main.dart b/lib/main.dart index ac221f52..c2fdb0e0 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -9,7 +9,6 @@ import 'package:hive_flutter/hive_flutter.dart'; import 'package:logging/logging.dart'; import 'package:provider/provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import 'package:toolbox/core/build_mode.dart'; import 'package:toolbox/core/channel/bg_run.dart'; import 'package:toolbox/core/utils/sync/icloud.dart'; import 'package:toolbox/core/utils/platform/base.dart'; @@ -81,7 +80,6 @@ Future _initApp() async { Computer.shared.turnOn( // Plus 1 to avoid 0. workersCount: (Stores.server.box.keys.length / 3).round() + 1, - verbose: !BuildMode.isRelease, ); _setupLogger(); _setupProviders(); diff --git a/lib/view/page/debug.dart b/lib/view/page/debug.dart index 7783b196..c923945a 100644 --- a/lib/view/page/debug.dart +++ b/lib/view/page/debug.dart @@ -6,14 +6,9 @@ import 'package:toolbox/data/res/provider.dart'; import '../widget/appbar.dart'; -class DebugPage extends StatefulWidget { +class DebugPage extends StatelessWidget { const DebugPage({super.key}); - @override - _DebugPageState createState() => _DebugPageState(); -} - -class _DebugPageState extends State { @override Widget build(BuildContext context) { return Scaffold( @@ -24,6 +19,12 @@ class _DebugPageState extends State { ), title: const Text('Logs', style: TextStyle(color: Colors.white)), backgroundColor: Colors.black, + actions: [ + IconButton( + onPressed: () => Pros.debug.clear(), + icon: const Icon(Icons.delete, color: Colors.white), + ), + ], ), body: _buildTerminal(context), backgroundColor: Colors.black, @@ -36,22 +37,18 @@ class _DebugPageState extends State { color: Colors.black, child: DefaultTextStyle( style: const TextStyle( - fontFamily: 'monospace', color: Colors.white, - fontWeight: FontWeight.bold, ), - child: SingleChildScrollView( - child: ChangeNotifierProvider( - create: (_) => Pros.debug, - child: Consumer( - builder: (_, debug, __) { - return Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: debug.widgets, - ); - }, - ), + child: ChangeNotifierProvider.value( + value: Pros.debug, + child: Consumer( + builder: (_, provider, __) { + return ListView( + key: ValueKey(provider.widgets.length), + reverse: true, + children: provider.widgets, + ); + }, ), ), ),