mirror of
https://github.com/foss42/apidash.git
synced 2025-08-06 05:32:26 +08:00
Widget refactoring
This commit is contained in:
@ -49,7 +49,7 @@ class SendingWidget extends StatelessWidget {
|
||||
}
|
||||
}
|
||||
|
||||
class ResponsePaneHeader extends StatefulWidget {
|
||||
class ResponsePaneHeader extends StatelessWidget {
|
||||
const ResponsePaneHeader({
|
||||
super.key,
|
||||
this.responseStatus,
|
||||
@ -60,11 +60,7 @@ class ResponsePaneHeader extends StatefulWidget {
|
||||
final int? responseStatus;
|
||||
final String? message;
|
||||
final Duration? time;
|
||||
@override
|
||||
State<ResponsePaneHeader> createState() => _ResponsePaneHeaderState();
|
||||
}
|
||||
|
||||
class _ResponsePaneHeaderState extends State<ResponsePaneHeader> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Padding(
|
||||
@ -81,10 +77,10 @@ class _ResponsePaneHeaderState extends State<ResponsePaneHeader> {
|
||||
text: "Response (",
|
||||
),
|
||||
TextSpan(
|
||||
text: "${widget.responseStatus}",
|
||||
text: "$responseStatus",
|
||||
style: TextStyle(
|
||||
color: getResponseStatusCodeColor(
|
||||
widget.responseStatus,
|
||||
responseStatus,
|
||||
brightness: Theme.of(context).brightness,
|
||||
),
|
||||
fontFamily: kCodeStyle.fontFamily,
|
||||
@ -100,13 +96,13 @@ class _ResponsePaneHeaderState extends State<ResponsePaneHeader> {
|
||||
kHSpacer20,
|
||||
Expanded(
|
||||
child: Text(
|
||||
widget.message ?? "",
|
||||
message ?? "",
|
||||
softWrap: false,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: Theme.of(context).textTheme.titleMedium!.copyWith(
|
||||
fontFamily: kCodeStyle.fontFamily,
|
||||
color: getResponseStatusCodeColor(
|
||||
widget.responseStatus,
|
||||
responseStatus,
|
||||
brightness: Theme.of(context).brightness,
|
||||
),
|
||||
),
|
||||
@ -114,7 +110,7 @@ class _ResponsePaneHeaderState extends State<ResponsePaneHeader> {
|
||||
),
|
||||
kHSpacer20,
|
||||
Text(
|
||||
humanizeDuration(widget.time),
|
||||
humanizeDuration(time),
|
||||
style: Theme.of(context).textTheme.titleMedium!.copyWith(
|
||||
fontFamily: kCodeStyle.fontFamily,
|
||||
color: Theme.of(context).colorScheme.secondary,
|
||||
@ -207,7 +203,7 @@ class _ResponseTabViewState extends State<ResponseTabView>
|
||||
}
|
||||
}
|
||||
|
||||
class ResponseHeadersHeader extends StatefulWidget {
|
||||
class ResponseHeadersHeader extends StatelessWidget {
|
||||
const ResponseHeadersHeader({
|
||||
super.key,
|
||||
required this.map,
|
||||
@ -216,11 +212,7 @@ class ResponseHeadersHeader extends StatefulWidget {
|
||||
|
||||
final Map map;
|
||||
final String name;
|
||||
@override
|
||||
State<ResponseHeadersHeader> createState() => _ResponseHeadersHeaderState();
|
||||
}
|
||||
|
||||
class _ResponseHeadersHeaderState extends State<ResponseHeadersHeader> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return SizedBox(
|
||||
@ -229,15 +221,15 @@ class _ResponseHeadersHeaderState extends State<ResponseHeadersHeader> {
|
||||
children: [
|
||||
Expanded(
|
||||
child: Text(
|
||||
"${widget.name} (${widget.map.length} items)",
|
||||
"$name (${map.length} items)",
|
||||
style: Theme.of(context).textTheme.labelLarge!.copyWith(
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
),
|
||||
if (widget.map.isNotEmpty)
|
||||
if (map.isNotEmpty)
|
||||
CopyButton(
|
||||
toCopy: kEncoder.convert(widget.map),
|
||||
toCopy: kEncoder.convert(map),
|
||||
),
|
||||
],
|
||||
),
|
||||
@ -247,7 +239,7 @@ class _ResponseHeadersHeaderState extends State<ResponseHeadersHeader> {
|
||||
|
||||
const kHeaderRow = ["Header Name", "Header Value"];
|
||||
|
||||
class ResponseHeaders extends StatefulWidget {
|
||||
class ResponseHeaders extends StatelessWidget {
|
||||
const ResponseHeaders({
|
||||
super.key,
|
||||
required this.responseHeaders,
|
||||
@ -256,11 +248,7 @@ class ResponseHeaders extends StatefulWidget {
|
||||
|
||||
final Map responseHeaders;
|
||||
final Map requestHeaders;
|
||||
@override
|
||||
State<ResponseHeaders> createState() => _ResponseHeadersState();
|
||||
}
|
||||
|
||||
class _ResponseHeadersState extends State<ResponseHeaders> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Padding(
|
||||
@ -268,25 +256,25 @@ class _ResponseHeadersState extends State<ResponseHeaders> {
|
||||
child: ListView(
|
||||
children: [
|
||||
ResponseHeadersHeader(
|
||||
map: widget.responseHeaders,
|
||||
map: responseHeaders,
|
||||
name: "Response Headers",
|
||||
),
|
||||
if (widget.responseHeaders.isNotEmpty) kVSpacer5,
|
||||
if (widget.responseHeaders.isNotEmpty)
|
||||
if (responseHeaders.isNotEmpty) kVSpacer5,
|
||||
if (responseHeaders.isNotEmpty)
|
||||
MapTable(
|
||||
map: widget.responseHeaders,
|
||||
map: responseHeaders,
|
||||
colNames: kHeaderRow,
|
||||
firstColumnHeaderCase: true,
|
||||
),
|
||||
kVSpacer10,
|
||||
ResponseHeadersHeader(
|
||||
map: widget.requestHeaders,
|
||||
map: requestHeaders,
|
||||
name: "Request Headers",
|
||||
),
|
||||
if (widget.requestHeaders.isNotEmpty) kVSpacer5,
|
||||
if (widget.requestHeaders.isNotEmpty)
|
||||
if (requestHeaders.isNotEmpty) kVSpacer5,
|
||||
if (requestHeaders.isNotEmpty)
|
||||
MapTable(
|
||||
map: widget.requestHeaders,
|
||||
map: requestHeaders,
|
||||
colNames: kHeaderRow,
|
||||
firstColumnHeaderCase: true,
|
||||
),
|
||||
@ -296,21 +284,17 @@ class _ResponseHeadersState extends State<ResponseHeaders> {
|
||||
}
|
||||
}
|
||||
|
||||
class ResponseBody extends StatefulWidget {
|
||||
class ResponseBody extends StatelessWidget {
|
||||
const ResponseBody({
|
||||
super.key,
|
||||
this.activeRequestModel,
|
||||
});
|
||||
|
||||
final RequestModel? activeRequestModel;
|
||||
@override
|
||||
State<ResponseBody> createState() => _ResponseBodyState();
|
||||
}
|
||||
|
||||
class _ResponseBodyState extends State<ResponseBody> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final responseModel = widget.activeRequestModel?.responseModel;
|
||||
final responseModel = activeRequestModel?.responseModel;
|
||||
if (responseModel == null) {
|
||||
return const ErrorMessage(
|
||||
message:
|
||||
@ -348,7 +332,7 @@ class _ResponseBodyState extends State<ResponseBody> {
|
||||
}
|
||||
|
||||
return BodySuccess(
|
||||
key: Key("${widget.activeRequestModel!.id}-response"),
|
||||
key: Key("${activeRequestModel!.id}-response"),
|
||||
mediaType: mediaType,
|
||||
options: options,
|
||||
bytes: responseModel.bodyBytes!,
|
||||
|
Reference in New Issue
Block a user