Refactoring

This commit is contained in:
mmjsmohit
2023-06-05 09:36:35 +05:30
parent 8235d208c3
commit 1537152cab
5 changed files with 93 additions and 84 deletions

View File

@ -1,4 +1,3 @@
import 'package:apidash/utils/convert_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:apidash/providers/providers.dart';
@ -48,82 +47,3 @@ class _CodePaneState extends ConsumerState<CodePane> {
);
}
}
class ViewCodePane extends StatefulWidget {
const ViewCodePane({
super.key,
required this.code,
required this.codegenLanguage,
required this.onChangedCodegenLanguage,
});
final String code;
final CodegenLanguage codegenLanguage;
final Function(CodegenLanguage?) onChangedCodegenLanguage;
@override
State<ViewCodePane> createState() => _ViewCodePaneState();
}
class _ViewCodePaneState extends State<ViewCodePane> {
@override
Widget build(BuildContext context) {
var codeTheme = Theme.of(context).brightness == Brightness.light
? kLightCodeTheme
: kDarkCodeTheme;
final textContainerdecoration = BoxDecoration(
color: Color.alphaBlend(
(Theme.of(context).brightness == Brightness.dark
? Theme.of(context).colorScheme.onPrimaryContainer
: Theme.of(context).colorScheme.primaryContainer)
.withOpacity(kForegroundOpacity),
Theme.of(context).colorScheme.surface),
border: Border.all(color: Theme.of(context).colorScheme.surfaceVariant),
borderRadius: kBorderRadius8,
);
return Padding(
padding: kP10,
child: Column(
children: [
SizedBox(
height: kHeaderHeight,
child: Row(
children: [
Expanded(
child: Text(
"Code",
style: Theme.of(context).textTheme.titleMedium,
),
),
DropdownButtonCodegenLanguage(
codegenLanguage: widget.codegenLanguage,
onChanged: widget.onChangedCodegenLanguage,
),
CopyButton(toCopy: widget.code),
SaveInDownloadsButton(
content: stringToBytes(widget.code),
mimeType: "application/vnd.dart",
)
],
),
),
kVSpacer10,
Expanded(
child: Container(
width: double.maxFinite,
padding: kP8,
decoration: textContainerdecoration,
child: CodeGenPreviewer(
code: widget.code,
theme: codeTheme,
language: 'dart',
textStyle: kCodeStyle,
),
),
),
],
),
);
}
}

View File

@ -0,0 +1,89 @@
import 'package:apidash/consts.dart';
import 'package:flutter/material.dart';
import '../utils/utils.dart';
import 'widgets.dart'
show
DropdownButtonCodegenLanguage,
CopyButton,
SaveInDownloadsButton,
CodeGenPreviewer;
class ViewCodePane extends StatefulWidget {
const ViewCodePane({
super.key,
required this.code,
required this.codegenLanguage,
required this.onChangedCodegenLanguage,
});
final String code;
final CodegenLanguage codegenLanguage;
final Function(CodegenLanguage?) onChangedCodegenLanguage;
@override
State<ViewCodePane> createState() => _ViewCodePaneState();
}
class _ViewCodePaneState extends State<ViewCodePane> {
@override
Widget build(BuildContext context) {
var codeTheme = Theme.of(context).brightness == Brightness.light
? kLightCodeTheme
: kDarkCodeTheme;
final textContainerdecoration = BoxDecoration(
color: Color.alphaBlend(
(Theme.of(context).brightness == Brightness.dark
? Theme.of(context).colorScheme.onPrimaryContainer
: Theme.of(context).colorScheme.primaryContainer)
.withOpacity(kForegroundOpacity),
Theme.of(context).colorScheme.surface),
border: Border.all(color: Theme.of(context).colorScheme.surfaceVariant),
borderRadius: kBorderRadius8,
);
return Padding(
padding: kP10,
child: Column(
children: [
SizedBox(
height: kHeaderHeight,
child: Row(
children: [
Expanded(
child: Text(
"Code",
style: Theme.of(context).textTheme.titleMedium,
),
),
DropdownButtonCodegenLanguage(
codegenLanguage: widget.codegenLanguage,
onChanged: widget.onChangedCodegenLanguage,
),
CopyButton(toCopy: widget.code),
SaveInDownloadsButton(
content: stringToBytes(widget.code),
mimeType: "application/vnd.dart",
)
],
),
),
kVSpacer10,
Expanded(
child: Container(
width: double.maxFinite,
padding: kP8,
decoration: textContainerdecoration,
child: CodeGenPreviewer(
code: widget.code,
theme: codeTheme,
language: 'dart',
textStyle: kCodeStyle,
),
),
),
],
),
);
}
}

View File

@ -16,3 +16,4 @@ export 'request_widgets.dart';
export 'response_widgets.dart';
export 'snackbars.dart';
export 'markdown.dart';
export 'view_codepane.dart';

View File

@ -1,6 +1,5 @@
import 'package:apidash/codegen/kotlin/pkg_okhttp.dart';
import 'package:apidash/models/kvrow_model.dart';
import 'package:apidash/models/request_model.dart';
import 'package:apidash/models/models.dart' show KVRow, RequestModel;
import 'package:test/test.dart';
import 'package:apidash/consts.dart';

View File

@ -1,7 +1,7 @@
import 'package:apidash/screens/home_page/editor_pane/details_card/code_pane.dart';
import 'package:apidash/widgets/widgets.dart'
show ViewCodePane, CodeGenPreviewer;
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:apidash/widgets/codegen_previewer.dart';
import 'package:apidash/consts.dart';
import '../test_consts.dart';