Skip to content

Commit a68957b

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

9 files changed

+66
-11
lines changed

CHANGELOG.md

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

lib/logger_flutter_plus.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export 'package:logger/logger.dart';
55

66
export 'src/shake/default_shake_detector.dart';
77
export 'src/shake/shake_detector.dart';
8+
export 'src/theme/log_console_theme.dart';
89
export 'src/utils/log_console_manager.dart';
910
export 'src/widgets/log_console_widget.dart';
1011
export 'src/widgets/shake_detector_widget.dart';
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import 'package:flutter/material.dart';
2+
3+
class LogColorSchema {
4+
static const Color bottomAppBarColor = Colors.black87;
5+
static Color scaffoldBackgroundColor = Colors.black26;
6+
7+
static const Color logTextColor = Colors.white;
8+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:logger_flutter_plus/src/theme/log_color_schema.dart';
3+
4+
class LogConsoleTheme {
5+
const LogConsoleTheme._({
6+
required this.bottomAppBarColor,
7+
required this.scaffoldBackgroundColor,
8+
required this.bodyLarge,
9+
});
10+
11+
factory LogConsoleTheme.byTheme(
12+
ThemeData theme,
13+
) =>
14+
LogConsoleTheme._(
15+
bottomAppBarColor: theme.bottomAppBarTheme.color ?? theme.bottomAppBarColor,
16+
scaffoldBackgroundColor: theme.scaffoldBackgroundColor,
17+
bodyLarge: theme.textTheme.bodyLarge,
18+
);
19+
20+
factory LogConsoleTheme.dark() => LogConsoleTheme._(
21+
bottomAppBarColor: LogColorSchema.bottomAppBarColor,
22+
scaffoldBackgroundColor: LogColorSchema.scaffoldBackgroundColor,
23+
bodyLarge: TextStyle(
24+
color: LogColorSchema.logTextColor,
25+
),
26+
);
27+
28+
final Color bottomAppBarColor;
29+
final Color scaffoldBackgroundColor;
30+
31+
final TextStyle? bodyLarge;
32+
}

lib/src/widgets/log_console_app_bar.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,27 @@
11
import 'package:flutter/material.dart';
2+
import 'package:logger_flutter_plus/src/theme/log_console_theme.dart';
23

34
class LogConsoleAppBar extends StatelessWidget {
45
const LogConsoleAppBar({
56
super.key,
67
this.showCloseButton = true,
78
required this.onIncreaseFontSize,
89
required this.onDecreaseFontSize,
10+
required this.theme,
911
});
1012

1113
final bool showCloseButton;
1214

1315
final VoidCallback onDecreaseFontSize;
1416
final VoidCallback onIncreaseFontSize;
17+
final LogConsoleTheme theme;
1518

1619
@override
1720
Widget build(BuildContext context) {
18-
final theme = Theme.of(context);
19-
2021
return Container(
2122
height: 60,
2223
padding: EdgeInsets.symmetric(vertical: 8, horizontal: 16),
23-
color: theme.bottomAppBarTheme.color ?? theme.bottomAppBarColor,
24+
color: theme.bottomAppBarColor,
2425
child: Row(
2526
mainAxisSize: MainAxisSize.max,
2627
children: <Widget>[

lib/src/widgets/log_console_bottom_bar.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,27 @@
11
import 'package:flutter/material.dart';
22
import 'package:logger/logger.dart';
3+
import 'package:logger_flutter_plus/src/theme/log_console_theme.dart';
34

45
class LogConsoleBottomBar extends StatelessWidget {
56
const LogConsoleBottomBar({
67
super.key,
78
this.filterLevel,
89
this.onChangedFilterLevel,
910
this.onChangedFilterText,
11+
required this.theme,
1012
});
1113

1214
final ValueChanged<Level?>? onChangedFilterLevel;
1315
final ValueChanged<String>? onChangedFilterText;
1416
final Level? filterLevel;
17+
final LogConsoleTheme theme;
1518

1619
@override
1720
Widget build(BuildContext context) {
18-
final theme = Theme.of(context);
19-
2021
return Container(
2122
height: 60,
2223
padding: EdgeInsets.symmetric(vertical: 8, horizontal: 16),
23-
color: theme.bottomAppBarTheme.color ?? theme.bottomAppBarColor,
24+
color: theme.bottomAppBarColor,
2425
child: Row(
2526
children: [
2627
Expanded(

lib/src/widgets/log_console_content.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'package:flutter/material.dart';
22
import 'package:logger/logger.dart';
3+
import 'package:logger_flutter_plus/src/theme/log_console_theme.dart';
34
import 'package:logger_flutter_plus/src/utils/log_console_manager.dart';
45

56
class LogConsoleContent extends StatefulWidget {
@@ -10,6 +11,7 @@ class LogConsoleContent extends StatefulWidget {
1011
required this.filterText,
1112
required this.scrollController,
1213
required this.logConsoleManager,
14+
required this.theme,
1315
});
1416

1517
final double logFontSize;
@@ -18,6 +20,7 @@ class LogConsoleContent extends StatefulWidget {
1820

1921
final ScrollController scrollController;
2022
final LogConsoleManager logConsoleManager;
23+
final LogConsoleTheme theme;
2124

2225
@override
2326
State<LogConsoleContent> createState() => _LogConsoleContentState();
@@ -54,7 +57,7 @@ class _LogConsoleContentState extends State<LogConsoleContent> {
5457
itemBuilder: (context, index) => Text.rich(
5558
widget.logConsoleManager.logs[index].span,
5659
key: ValueKey(widget.logConsoleManager.logs[index].id),
57-
style: theme.textTheme.bodyText1?.copyWith(fontSize: widget.logFontSize),
60+
style: widget.theme.bodyLarge?.copyWith(fontSize: widget.logFontSize),
5861
),
5962
itemCount: widget.logConsoleManager.logs.length,
6063
),

lib/src/widgets/log_console_widget.dart

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
11
import 'package:flutter/material.dart';
22
import 'package:logger/logger.dart';
3+
import 'package:logger_flutter_plus/src/theme/log_console_theme.dart';
34
import 'package:logger_flutter_plus/src/utils/log_console_manager.dart';
45
import 'package:logger_flutter_plus/src/widgets/log_console_app_bar.dart';
56
import 'package:logger_flutter_plus/src/widgets/log_console_bottom_bar.dart';
67
import 'package:logger_flutter_plus/src/widgets/log_console_content.dart';
78

89
class LogConsoleWidget extends StatefulWidget {
9-
const LogConsoleWidget({
10+
LogConsoleWidget({
1011
super.key,
1112
required this.logConsoleManager,
1213
this.showCloseButton = false,
13-
});
14+
LogConsoleTheme? theme,
15+
}) : theme = theme ?? LogConsoleTheme.dark();
1416

1517
final bool showCloseButton;
1618
final LogConsoleManager logConsoleManager;
19+
late final LogConsoleTheme theme;
1720

1821
@override
1922
State<LogConsoleWidget> createState() => _LogConsoleWidgetState();
@@ -61,11 +64,13 @@ class _LogConsoleWidgetState extends State<LogConsoleWidget> {
6164
@override
6265
Widget build(BuildContext context) {
6366
return Scaffold(
67+
backgroundColor: widget.theme.scaffoldBackgroundColor,
6468
body: SafeArea(
6569
child: Column(
6670
crossAxisAlignment: CrossAxisAlignment.stretch,
6771
children: <Widget>[
6872
LogConsoleAppBar(
73+
theme: widget.theme,
6974
showCloseButton: widget.showCloseButton,
7075
onDecreaseFontSize: () {
7176
setState(() {
@@ -80,6 +85,7 @@ class _LogConsoleWidgetState extends State<LogConsoleWidget> {
8085
),
8186
Expanded(
8287
child: LogConsoleContent(
88+
theme: widget.theme,
8389
logFontSize: _logFontSize,
8490
filterLevel: _filterLevel,
8591
filterText: _filterText,
@@ -88,6 +94,7 @@ class _LogConsoleWidgetState extends State<LogConsoleWidget> {
8894
),
8995
),
9096
LogConsoleBottomBar(
97+
theme: widget.theme,
9198
filterLevel: _filterLevel,
9299
onChangedFilterLevel: (filterLevel) {
93100
widget.logConsoleManager.setFilterLevel(filterLevel);

pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
name: logger_flutter_plus
22
description: Flutter extension for logger. Please go there for documentation.
3-
version: 1.0.2
3+
version: 1.0.3
44

5-
homepage: https://github.com/Oliinyk-Volodymyr/logger_flutter
5+
homepage: https://github.com/Oliinyk-Volodymyr/logger_flutter_plus
66

77
environment:
88
sdk: ">=2.17.0 <3.0.0"

0 commit comments

Comments
 (0)