add more js api & improve ui

This commit is contained in:
nyne
2024-10-15 20:45:12 +08:00
parent c0a0dc59e1
commit fc86b8bbc6
22 changed files with 609 additions and 140 deletions

View File

@@ -116,10 +116,10 @@ abstract class LoadingState<T extends StatefulWidget, S extends Object>
});
loadData().then((value) async {
if (value.success) {
data = value.data;
await onDataLoaded();
setState(() {
isLoading = false;
data = value.data;
});
} else {
setState(() {
@@ -131,22 +131,10 @@ abstract class LoadingState<T extends StatefulWidget, S extends Object>
}
Widget buildError() {
return Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Text(
error!,
maxLines: 3,
),
const SizedBox(height: 12),
Button.text(
onPressed: retry,
child: const Text("Retry"),
)
],
),
).paddingHorizontal(16);
return NetworkError(
message: error!,
retry: retry,
);
}
@override
@@ -154,11 +142,12 @@ abstract class LoadingState<T extends StatefulWidget, S extends Object>
void initState() {
isLoading = true;
Future.microtask(() {
loadData().then((value) {
loadData().then((value) async {
if (value.success) {
data = value.data;
await onDataLoaded();
setState(() {
isLoading = false;
data = value.data;
});
} else {
setState(() {