From c7d45fbf763a8858b489c1202a068beade3e7840 Mon Sep 17 00:00:00 2001 From: Kherel Date: Mon, 18 Jan 2021 11:21:55 +0100 Subject: [PATCH] update --- lib/logic/api_maps/api_map.dart | 10 ++++++- lib/logic/models/message.dart | 16 +++++++++--- lib/ui/pages/more/console/console.dart | 36 ++++++++++++++++---------- 3 files changed, 43 insertions(+), 19 deletions(-) diff --git a/lib/logic/api_maps/api_map.dart b/lib/logic/api_maps/api_map.dart index 99e55c73f5..f67077d40e 100644 --- a/lib/logic/api_maps/api_map.dart +++ b/lib/logic/api_maps/api_map.dart @@ -36,7 +36,7 @@ class ConsoleInterceptor extends InterceptorsWrapper { addMessage( Message( text: - 'response-uri: ${response.request.uri}\ncode: ${response.statusCode}\ndata: ${response.data.toString()}\n', + 'response-uri: ${response.request.uri}\ncode: ${response.statusCode}\ndata: ${response.toString()}\n', ), ); return super.onResponse(response); @@ -44,6 +44,14 @@ class ConsoleInterceptor extends InterceptorsWrapper { @override Future onError(DioError err) async { + var response = err.response; + + addMessage( + Message.warn( + text: + 'response-uri: ${response?.request?.uri}\ncode: ${response?.statusCode}\ndata: ${response?.toString()}\n', + ), + ); return super.onError(err); } } diff --git a/lib/logic/models/message.dart b/lib/logic/models/message.dart index 6d6bc8d9e4..5ec302ba2c 100644 --- a/lib/logic/models/message.dart +++ b/lib/logic/models/message.dart @@ -3,12 +3,20 @@ import 'package:intl/intl.dart'; final formater = new DateFormat('hh:mm'); class Message { - Message({ - this.text, - }) : time = DateTime.now(); + Message({this.text, this.type = MessageType.normal}) : time = DateTime.now(); final String text; final DateTime time; - + final MessageType type; String get timeString => formater.format(time); + + static Message warn({String text}) => Message( + text: text, + type: MessageType.warning, + ); +} + +enum MessageType { + normal, + warning, } diff --git a/lib/ui/pages/more/console/console.dart b/lib/ui/pages/more/console/console.dart index 1744b4a20d..257aa0f3d1 100644 --- a/lib/ui/pages/more/console/console.dart +++ b/lib/ui/pages/more/console/console.dart @@ -1,8 +1,10 @@ import 'dart:collection'; import 'package:flutter/material.dart'; +import 'package:selfprivacy/config/brand_colors.dart'; import 'package:selfprivacy/config/get_it_config.dart'; import 'package:selfprivacy/logic/get_it/console.dart'; +import 'package:selfprivacy/logic/models/message.dart'; import 'package:selfprivacy/ui/components/brand_divider/brand_divider.dart'; import 'package:selfprivacy/ui/components/brand_header/brand_header.dart'; @@ -54,21 +56,27 @@ class _ConsoleState extends State { children: [ SizedBox(height: 20), ...UnmodifiableListView(messages - .map((message) => Padding( - padding: const EdgeInsets.symmetric(vertical: 4), - child: RichText( - text: TextSpan( - style: DefaultTextStyle.of(context).style, - children: [ - TextSpan( - text: '${message.timeString}: ', - style: TextStyle( - fontWeight: FontWeight.bold)), - TextSpan(text: message.text), - ], - ), + .map((message) { + var isError = message.type == MessageType.warning; + return Padding( + padding: const EdgeInsets.symmetric(vertical: 4), + child: RichText( + text: TextSpan( + style: DefaultTextStyle.of(context).style, + children: [ + TextSpan( + text: + '${message.timeString}${isError ? '(Error)' : ''}: \n', + style: TextStyle( + fontWeight: FontWeight.bold, + color: + isError ? BrandColors.red1 : null)), + TextSpan(text: message.text), + ], ), - )) + ), + ); + }) .toList() .reversed), ],