Skip to content

Commit 2c0f53b

Browse files
Oliinyk-VolodymyrVolodymyr Oliinyk
andauthored
Fixed theme and filter (#5)
* fixed warnings * decreased min dart version * Update pubspec.yaml * fixed theme and filter Co-authored-by: Volodymyr Oliinyk <[email protected]>
1 parent dc907b4 commit 2c0f53b

File tree

10 files changed

+37
-7
lines changed

10 files changed

+37
-7
lines changed

.flutter-plugins-dependencies

Lines changed: 0 additions & 1 deletion
This file was deleted.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
.idea/
55
.iml
66

7+
.flutter-plugins-dependencies
8+
example/.flutter-plugins-dependencies
9+
710
.fvm/flutter_sdk
811

912
.packages

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
## 1.0.2
2+
- fixed a bug with filter logs
13
## 1.0.1
24
- decreased min dart version
35
## 1.0.0

example/.flutter-plugins-dependencies

Lines changed: 0 additions & 1 deletion
This file was deleted.

example/lib/main.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ import 'package:flutter/material.dart';
55
import 'package:logger_flutter_plus/logger_flutter_plus.dart';
66

77
void main() {
8-
var logConsoleManager = LogConsoleManager();
8+
var logConsoleManager = LogConsoleManager(
9+
isDark: true,
10+
);
911

1012
final appOutput = AppLogOutput(logConsoleManager: logConsoleManager);
1113

example/lib/ui/app.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class MyApp extends StatelessWidget {
1313
Widget build(BuildContext context) {
1414
return MaterialApp(
1515
debugShowCheckedModeBanner: false,
16+
theme: ThemeData.dark(),
1617
home: Scaffold(
1718
body: ShakeDetectorWidget(
1819
shakeDetector: DefaultShakeDetector(

lib/src/utils/log_console_manager.dart

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,30 @@ import 'package:logger_flutter_plus/src/models/log_rendered_event.dart';
77
import 'package:logger_flutter_plus/src/utils/ansi_parser.dart';
88

99
class LogConsoleManager extends ChangeNotifier {
10+
LogConsoleManager({
11+
required bool isDark,
12+
}) : _ansiParser = AnsiParser(isDark);
13+
1014
final ListQueue<LogRenderedEvent> _buffer = ListQueue();
11-
final AnsiParser _ansiParser = AnsiParser(false);
15+
final AnsiParser _ansiParser;
16+
17+
Level? _filterLevel;
18+
String _filterText = '';
19+
20+
List<LogRenderedEvent> get logs => _buffer
21+
.where((element) => _filterLevel == null ? true : element.level == _filterLevel)
22+
.where((element) => _filterText.isEmpty ? true : element.lowerCaseText.contains(_filterText))
23+
.toList();
24+
25+
void setFilterLevel(Level? level) {
26+
_filterLevel = level;
27+
notifyListeners();
28+
}
1229

13-
List<LogRenderedEvent> get logs => _buffer.toList();
30+
void setFilterText(String filterText) {
31+
_filterText = filterText;
32+
notifyListeners();
33+
}
1434

1535
void addLog(OutputEvent event) {
1636
final text = event.lines.join('\n');

lib/src/widgets/log_console_content.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ class _LogConsoleContentState extends State<LogConsoleContent> {
4242

4343
@override
4444
Widget build(BuildContext context) {
45+
final theme = Theme.of(context);
46+
4547
return SingleChildScrollView(
4648
scrollDirection: Axis.horizontal,
4749
child: SizedBox(
@@ -52,7 +54,7 @@ class _LogConsoleContentState extends State<LogConsoleContent> {
5254
itemBuilder: (context, index) => Text.rich(
5355
widget.logConsoleManager.logs[index].span,
5456
key: ValueKey(widget.logConsoleManager.logs[index].id),
55-
style: TextStyle(fontSize: widget.logFontSize),
57+
style: theme.textTheme.bodyText1?.copyWith(fontSize: widget.logFontSize),
5658
),
5759
itemCount: widget.logConsoleManager.logs.length,
5860
),

lib/src/widgets/log_console_widget.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,13 @@ class _LogConsoleWidgetState extends State<LogConsoleWidget> {
9090
LogConsoleBottomBar(
9191
filterLevel: _filterLevel,
9292
onChangedFilterLevel: (filterLevel) {
93+
widget.logConsoleManager.setFilterLevel(filterLevel);
9394
setState(() {
9495
_filterLevel = filterLevel;
9596
});
9697
},
9798
onChangedFilterText: (filterText) {
99+
widget.logConsoleManager.setFilterText(filterText);
98100
setState(() {
99101
_filterText = filterText;
100102
});

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: logger_flutter_plus
22
description: Flutter extension for logger. Please go there for documentation.
3-
version: 1.0.1
3+
version: 1.0.2
44

55
homepage: https://github.com/Oliinyk-Volodymyr/logger_flutter
66

0 commit comments

Comments
 (0)