D1APP-61 basic ui and api call
This commit is contained in:
parent
a366c0372f
commit
0d3077cc25
|
|
@ -0,0 +1,37 @@
|
||||||
|
import 'package:didvan/models/view/app_bar_data.dart';
|
||||||
|
import 'package:didvan/pages/home/comments/comments_state.dart';
|
||||||
|
import 'package:didvan/widgets/didvan/scaffold.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
class Comments extends StatefulWidget {
|
||||||
|
final Map<String, dynamic> pageData;
|
||||||
|
const Comments({
|
||||||
|
Key? key,
|
||||||
|
required this.pageData,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
_CommentsState createState() => _CommentsState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _CommentsState extends State<Comments> {
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
final state = context.read<CommentsState>();
|
||||||
|
state.id = widget.pageData['id'];
|
||||||
|
state.isRadar = widget.pageData['isRadar'];
|
||||||
|
Future.delayed(
|
||||||
|
Duration.zero,
|
||||||
|
() => state.getComments(),
|
||||||
|
);
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return DidvanScaffold(
|
||||||
|
appBarData: AppBarData(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
import 'package:didvan/models/comment/comment.dart';
|
||||||
|
import 'package:didvan/models/enums.dart';
|
||||||
|
import 'package:didvan/providers/core_provider.dart';
|
||||||
|
import 'package:didvan/services/network/request.dart';
|
||||||
|
import 'package:didvan/services/network/request_helper.dart';
|
||||||
|
|
||||||
|
class CommentsState extends CoreProvier {
|
||||||
|
final List<Comment> comments = [];
|
||||||
|
|
||||||
|
bool isRadar = true;
|
||||||
|
int id = 0;
|
||||||
|
|
||||||
|
Future<void> getComments() async {
|
||||||
|
appState = AppState.busy;
|
||||||
|
final service = RequestService(
|
||||||
|
isRadar
|
||||||
|
? RequestHelper.radarComments(id)
|
||||||
|
: RequestHelper.newsComments(id),
|
||||||
|
);
|
||||||
|
await service.httpGet();
|
||||||
|
if (service.isSuccess) {
|
||||||
|
final messages = service.result['messages'];
|
||||||
|
for (var i = 0; i < messages.length; i++) {
|
||||||
|
comments.add(Comment.fromJson(messages[i]));
|
||||||
|
}
|
||||||
|
appState = AppState.idle;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
appState = AppState.failed;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue