feat: console_page - cleaned up dead code and unused l10n strings

This commit is contained in:
Aliaksei Tratseuski 2024-06-30 18:47:26 +04:00
parent 85bc997776
commit f7f791cc0c
2 changed files with 27 additions and 66 deletions

View file

@ -46,12 +46,10 @@
}, },
"console_page": { "console_page": {
"title": "Console", "title": "Console",
"waiting": "Waiting for initialization…",
"copy": "Copy", "copy": "Copy",
"copy_raw": "Raw response", "copy_raw": "Raw response",
"history_empty": "No data yet", "history_empty": "No data yet",
"error": "Error", "error": "Error",
"log": "Log",
"rest_api_request": "Rest API Request", "rest_api_request": "Rest API Request",
"rest_api_response": "Rest API Response", "rest_api_response": "Rest API Response",
"graphql_request": "GraphQL Request", "graphql_request": "GraphQL Request",

View file

@ -1,7 +1,6 @@
import 'package:auto_route/auto_route.dart'; import 'package:auto_route/auto_route.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:selfprivacy/config/get_it_config.dart'; import 'package:selfprivacy/config/get_it_config.dart';
import 'package:selfprivacy/logic/models/console_log.dart'; import 'package:selfprivacy/logic/models/console_log.dart';
import 'package:selfprivacy/ui/pages/more/console/console_log_item_widget.dart'; import 'package:selfprivacy/ui/pages/more/console/console_log_item_widget.dart';
@ -18,21 +17,15 @@ class ConsolePage extends StatefulWidget {
class _ConsolePageState extends State<ConsolePage> { class _ConsolePageState extends State<ConsolePage> {
ConsoleModel get console => getIt<ConsoleModel>(); ConsoleModel get console => getIt<ConsoleModel>();
/// should freeze logs state to properly read logs
late final Future<void> future;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
future = getIt.allReady();
console.addListener(update); console.addListener(update);
} }
@override @override
void dispose() { void dispose() {
console.removeListener(update); console.removeListener(update);
super.dispose(); super.dispose();
} }
@ -48,66 +41,36 @@ class _ConsolePageState extends State<ConsolePage> {
} }
@override @override
Widget build(final BuildContext context) => SafeArea( Widget build(final BuildContext context) {
child: Scaffold( final List<ConsoleLog> logs = console.logs;
appBar: AppBar(
title: Text('console_page.title'.tr()), return SafeArea(
leading: IconButton( child: Scaffold(
icon: const Icon(Icons.arrow_back), appBar: AppBar(
onPressed: () => Navigator.of(context).maybePop(), title: Text('console_page.title'.tr()),
), leading: IconButton(
actions: [ icon: const Icon(Icons.arrow_back),
IconButton( onPressed: () => Navigator.of(context).maybePop(),
icon: Icon( ),
console.paused actions: [
? Icons.play_arrow_outlined IconButton(
: Icons.pause_outlined, icon: Icon(
), console.paused
onPressed: console.paused ? console.play : console.pause, ? Icons.play_arrow_outlined
: Icons.pause_outlined,
), ),
], onPressed: console.paused ? console.play : console.pause,
),
body: Scrollbar(
child: FutureBuilder(
future: future,
builder: (
final BuildContext context,
final AsyncSnapshot<void> snapshot,
) {
if (snapshot.hasData) {
final List<ConsoleLog> logs = console.logs;
return logs.isEmpty
? const _ConsoleViewEmpty()
: _ConsoleViewLoaded(logs: logs);
}
return const _ConsoleViewLoading();
},
), ),
), ],
), ),
); body: Scrollbar(
} child: logs.isEmpty
? const _ConsoleViewEmpty()
class _ConsoleViewLoading extends StatelessWidget { : _ConsoleViewLoaded(logs: logs),
const _ConsoleViewLoading(); ),
),
@override );
Widget build(final BuildContext context) => Column( }
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Text('console_page.waiting'.tr()),
const Gap(16),
const Expanded(
child: Center(
child: CircularProgressIndicator.adaptive(),
),
),
],
);
} }
class _ConsoleViewEmpty extends StatelessWidget { class _ConsoleViewEmpty extends StatelessWidget {