create folder
This commit is contained in:
parent
336f7e8788
commit
55de9ea8b9
@ -9,9 +9,7 @@ import 'dart:ui_web' as ui;
|
||||
import 'augment.dart';
|
||||
import 'dart:html' as html;
|
||||
|
||||
|
||||
class ApiService {
|
||||
|
||||
Future<List<GetThreadResponse>> fetchEmailsFromFolder(
|
||||
String folder, int pagenitaion) async {
|
||||
try {
|
||||
@ -106,6 +104,29 @@ class ApiService {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> createFolder(String folderName) async {
|
||||
var url = Uri.http('127.0.0.1:3001', 'create_folder');
|
||||
|
||||
Map<String, String> requestBody = {'name': folderName};
|
||||
|
||||
try {
|
||||
var response = await http.post(
|
||||
url,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: jsonEncode(requestBody),
|
||||
);
|
||||
if (response.statusCode == 200) {
|
||||
print('response body: ${response.body}');
|
||||
} else {
|
||||
print('Error: ${response.statusCode}, response body: ${response.body}');
|
||||
}
|
||||
} catch (e) {
|
||||
print('error making post req: $e');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class EmailView extends StatefulWidget {
|
||||
|
@ -1,6 +1,7 @@
|
||||
//drawer with the folders for emails a.k.a mailboxes
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'api_service.dart';
|
||||
|
||||
class FolderDrawer extends StatefulWidget {
|
||||
@ -50,6 +51,19 @@ class _FolderDrawerState extends State<FolderDrawer> {
|
||||
},
|
||||
);
|
||||
}).toList(),
|
||||
ListTile(
|
||||
leading: Icon(Icons.add),
|
||||
title: Text("New Mailbox"),
|
||||
onTap: () {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return NewMailbox(apiService: widget.apiService);
|
||||
},
|
||||
);
|
||||
// Navigator.of(context).pop();
|
||||
},
|
||||
),
|
||||
ListTile(
|
||||
leading: Icon(Icons.refresh),
|
||||
title: Text('Refresh Folders'),
|
||||
@ -63,3 +77,40 @@ class _FolderDrawerState extends State<FolderDrawer> {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class NewMailbox extends StatelessWidget {
|
||||
final ApiService apiService;
|
||||
// final Function(String) onFolderCreated;
|
||||
final TextEditingController _textFieldController = TextEditingController();
|
||||
|
||||
NewMailbox({required this.apiService});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AlertDialog(
|
||||
title: const Text("Create a new Mailbox"),
|
||||
content: TextField(
|
||||
controller: _textFieldController,
|
||||
decoration: const InputDecoration(
|
||||
hintText: "EPIC FOLDER", // Your custom hint text here
|
||||
),
|
||||
),
|
||||
actions: <Widget>[
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
print("Folder name: ${_textFieldController.text}");
|
||||
String folderName = _textFieldController.text;
|
||||
|
||||
if (folderName.isNotEmpty) {
|
||||
apiService.createFolder(folderName);
|
||||
// onFolderCreated(folderName);
|
||||
}
|
||||
// apiService.createFolder(_textFieldController.text);
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
child: const Text("Approve"),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user