adding packages

This commit is contained in:
2026-01-15 14:38:46 -08:00
parent ef86e3ab6a
commit 6869cf47e5
5253 changed files with 726695 additions and 34 deletions
@@ -0,0 +1,27 @@
import 'package:flutter/material.dart';
class OptionalSizedChild extends StatelessWidget {
final double? width, height;
final Widget Function(BuildContext, Size) builder;
const OptionalSizedChild({
required this.width,
required this.height,
required this.builder,
});
@override
Widget build(BuildContext context) {
return LayoutBuilder(
builder: (context, dimens) {
final w = width ?? dimens.maxWidth;
final h = height ?? dimens.maxHeight;
return SizedBox(
width: w,
height: h,
child: builder(context, Size(w, h)),
);
},
);
}
}
@@ -0,0 +1,32 @@
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
class RemoteContent extends StatelessWidget {
const RemoteContent({
required this.src,
required this.builder,
this.headers = const {},
});
final String src;
final Map<String, String> headers;
final Widget Function(BuildContext, String) builder;
@override
Widget build(BuildContext context) {
return FutureBuilder<http.Response>(
future: http.get(Uri.parse(src), headers: headers),
builder: (context, response) {
if (!response.hasData) {
return Center(child: CircularProgressIndicator());
}
if (response.data?.statusCode == 200 && response.data?.body != null) {
String content = response.data!.body;
return builder(context, content);
}
return Center(child: Icon(Icons.error));
},
);
}
}