Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
laiiihz committed Sep 9, 2023
1 parent ece0f24 commit 8a7496d
Show file tree
Hide file tree
Showing 38 changed files with 943 additions and 575 deletions.
2 changes: 1 addition & 1 deletion lib/l10n/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@
"previousMinute": "Previous Minute",
"nextSecond": "Next Second",
"previousSecond": "Previous Second",
"dateFormatHelp":"Date Format Help",
"dateFormatHelp": "Date Format Help",
"imageTools": "Image Tools",
"blurHashTool": "Blur Hash Tool",
"pickImage": "Pick Image",
Expand Down
2 changes: 2 additions & 0 deletions lib/l10n/l10n.dart
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,6 @@ class S {

extension L10nX on BuildContext {
AppLocalizations get tr => S.of(this);

MaterialLocalizations get mtr => MaterialLocalizations.of(this);
}
12 changes: 4 additions & 8 deletions lib/routers/app_routes.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import 'package:alga/tools/formatters/dart/dart_format.dart';
import 'package:alga/tools/formatters/json/json_format.dart';
import 'package:alga/ui/alga_view/all_apps/alga_app_view.dart';
import 'package:alga/ui/alga_view/alga_view.dart';
import 'package:alga/utils/constants/import_helper.dart';
Expand All @@ -11,8 +13,6 @@ import 'package:alga/tools/encoders_decoders/gzip_compress_decompress/gzip_compr
import 'package:alga/tools/encoders_decoders/jwt_decoder/jwt_decoder_view.dart';
import 'package:alga/tools/encoders_decoders/uri_encoder_decoder/uri_encoder_decoder.dart';
import 'package:alga/tools/encoders_decoders/uri_parser/uri_parser_view.dart';
import 'package:alga/tools/formatters/dart_formatter/dart_formatter_view.dart';
import 'package:alga/tools/formatters/json_formatter/json_formatter_view.dart';
import 'package:alga/tools/generators/hash_generator/hash_generator_view.dart';
import 'package:alga/tools/generators/lorem_ipsum_generator/lorem_ipsum_generator_view.dart';
import 'package:alga/tools/generators/password_generator/password_generator_view.dart';
Expand Down Expand Up @@ -145,11 +145,11 @@ final appRouter = GoRouter(
),
GoRoute(
path: AppAtom.jsonFormatter.path,
builder: (context, state) => const JsonFormatterView(),
builder: (context, state) => const JsonFormatView(),
),
GoRoute(
path: AppAtom.dartFormatter.path,
builder: (context, state) => const DartFormtterView(),
builder: (context, state) => const DartFormatView(),
),
GoRoute(
path: AppAtom.staticServer.path,
Expand All @@ -169,10 +169,6 @@ final appRouter = GoRouter(
),
],
),
GoRoute(
path: '/pipe',
builder: (context, state) => const Scaffold(),
),
GoRoute(
path: '/settings',
builder: (context, state) => const SettingsView(),
Expand Down
48 changes: 48 additions & 0 deletions lib/tools/formatters/dart/dart_format.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import 'package:alga/tools/formatters/dart/dart_format.provider.dart';
import 'package:alga/ui/widgets/error_message_expandable.dart';
import 'package:alga/ui/widgets/scaffold/tool_actions.dart';
import 'package:alga/ui/widgets/scaffold/tool_copy.dart';
import 'package:alga/ui/widgets/scaffold/tool_scaffold.dart';
import 'package:alga/utils/constants/import_helper.dart';

class DartFormatView extends ConsumerStatefulWidget {
const DartFormatView({super.key});

@override
ConsumerState<ConsumerStatefulWidget> createState() => _DartFormatViewState();
}

class _DartFormatViewState extends ConsumerState<DartFormatView> {
@override
Widget build(BuildContext context) {
return ToolScaffold(
title: Text(context.tr.formatterDart),
body: ToolActions(
childExpanded: true,
actions: [
if (ref.watch(dartFormatLoadingProvider))
const CircularProgressIndicator.adaptive(),
const Spacer(),
ToolCopy.icon(ref.watch(dartContentProvider)),
FilledButton.tonalIcon(
onPressed: () {
ref.read(dartContentProvider.notifier).format();
},
icon: const Icon(Icons.format_indent_decrease_rounded),
label: Text(context.tr.format),
),
],
child: TextField(
expands: true,
minLines: null,
maxLines: null,
textAlignVertical: TextAlignVertical.top,
controller: ref.watch(dartContentProvider),
decoration: InputDecoration(
error: ErrorMessageWidget.get(ref.watch(errorMessageProvider)),
),
),
),
);
}
}
51 changes: 51 additions & 0 deletions lib/tools/formatters/dart/dart_format.provider.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import 'package:alga/utils/constants/import_helper.dart';
import 'package:dart_style/dart_style.dart';
import 'package:flutter/foundation.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'dart_format.provider.g.dart';

@riverpod
class DartFormatLoading extends _$DartFormatLoading {
@override
bool build() => false;

update(bool value) => state = value;
}

@riverpod
class ErrorMessage extends _$ErrorMessage {
@override
String? build() => null;
void update(String? value) => state = value;
}

@riverpod
class DartContent extends _$DartContent {
@override
Raw<RichTextController> build() {
final controller = RichTextController.lang(type: HighlightType.dart);
ref.onDispose(controller.dispose);
return controller;
}

FutureOr format() async {
try {
final text = state.text;
if (text.length > 2000) {
state.text = _format(text);
} else {
ref.read(dartFormatLoadingProvider.notifier).update(true);
state.text = await compute(_format, text);
}
} catch (e) {
ref.read(errorMessageProvider.notifier).update(e.toString());
} finally {
ref.read(dartFormatLoadingProvider.notifier).update(false);
}
}
}

String _format(String text) {
return DartFormatter().format(text);
}
56 changes: 56 additions & 0 deletions lib/tools/formatters/dart/dart_format.provider.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

45 changes: 0 additions & 45 deletions lib/tools/formatters/dart_formatter/dart_formatter_view.dart

This file was deleted.

29 changes: 0 additions & 29 deletions lib/tools/formatters/dart_formatter/dart_provider.dart

This file was deleted.

52 changes: 0 additions & 52 deletions lib/tools/formatters/dart_formatter/dart_provider.g.dart

This file was deleted.

9 changes: 0 additions & 9 deletions lib/tools/formatters/formatter_abstract.dart

This file was deleted.

Loading

0 comments on commit 8a7496d

Please sign in to comment.