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