Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f087273

Browse files
add blog connected to endpint
1 parent 8a3989c commit f087273

File tree

2 files changed

+44
-1
lines changed

2 files changed

+44
-1
lines changed

‎lib/Blog/addBlog.dart

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1+
import 'dart:convert';
2+
13
import 'package:blogapp/CustumWidget/OverlayCard.dart';
4+
import 'package:blogapp/Model/addBlogModels.dart';
5+
import 'package:blogapp/NetworkHandler.dart';
6+
import 'package:blogapp/Pages/HomePage.dart';
27
import 'package:flutter/material.dart';
38
import 'package:image_picker/image_picker.dart';
49

@@ -16,6 +21,7 @@ class _AddBlogState extends State<AddBlog> {
1621
ImagePicker _picker = ImagePicker();
1722
PickedFile _imageFile;
1823
IconData iconphoto = Icons.image;
24+
NetworkHandler networkHandler = NetworkHandler();
1925
@override
2026
Widget build(BuildContext context) {
2127
return Scaffold(
@@ -144,7 +150,29 @@ class _AddBlogState extends State<AddBlog> {
144150

145151
Widget addButton() {
146152
return InkWell(
147-
onTap: () {},
153+
onTap: () async {
154+
if (_imageFile != null && _globalkey.currentState.validate()) {
155+
AddBlogModel addBlogModel =
156+
AddBlogModel(body: _body.text, title: _title.text);
157+
var response = await networkHandler.post1(
158+
"/blogpost/Add", addBlogModel.toJson());
159+
print(response.body);
160+
161+
if (response.statusCode == 200 || response.statusCode == 201) {
162+
String id = json.decode(response.body)["data"];
163+
var imageResponse = await networkHandler.patchImage(
164+
"/blogpost/add/coverImage/$id", _imageFile.path);
165+
print(imageResponse.statusCode);
166+
if (imageResponse.statusCode == 200 ||
167+
imageResponse.statusCode == 201) {
168+
Navigator.pushAndRemoveUntil(
169+
context,
170+
MaterialPageRoute(builder: (context) => HomePage()),
171+
(route) => false);
172+
}
173+
}
174+
}
175+
},
148176
child: Center(
149177
child: Container(
150178
height: 50,

‎lib/NetworkHandler.dart

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,21 @@ class NetworkHandler {
4141
return response;
4242
}
4343

44+
Future<http.Response> post1(String url, var body) async {
45+
String token = await storage.read(key: "token");
46+
url = formater(url);
47+
log.d(body);
48+
var response = await http.post(
49+
url,
50+
headers: {
51+
"Content-type": "application/json",
52+
"Authorization": "Bearer $token"
53+
},
54+
body: json.encode(body),
55+
);
56+
return response;
57+
}
58+
4459
Future<http.StreamedResponse> patchImage(String url, String filepath) async {
4560
url = formater(url);
4661
String token = await storage.read(key: "token");

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /