added pages
This commit is contained in:
parent
a34ca6512e
commit
336f7e8788
@ -11,7 +11,6 @@ import 'dart:html' as html;
|
|||||||
|
|
||||||
|
|
||||||
class ApiService {
|
class ApiService {
|
||||||
// List emails = [];
|
|
||||||
|
|
||||||
Future<List<GetThreadResponse>> fetchEmailsFromFolder(
|
Future<List<GetThreadResponse>> fetchEmailsFromFolder(
|
||||||
String folder, int pagenitaion) async {
|
String folder, int pagenitaion) async {
|
||||||
@ -44,11 +43,6 @@ class ApiService {
|
|||||||
print('_displayEmailsFromFolder caught error: $e');
|
print('_displayEmailsFromFolder caught error: $e');
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
print("Done");
|
|
||||||
|
|
||||||
// setState(() {
|
|
||||||
// emails = allEmails;
|
|
||||||
// });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> fetchThreads(
|
Future<void> fetchThreads(
|
||||||
@ -88,7 +82,7 @@ class ApiService {
|
|||||||
|
|
||||||
if (response.statusCode == 200) {
|
if (response.statusCode == 200) {
|
||||||
content += response.body;
|
content += response.body;
|
||||||
content += "<p>end of mail</p><br><br><br><hr>";
|
content += "<hr>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
@ -51,6 +51,8 @@ class EmailListScreen extends StatelessWidget {
|
|||||||
class EmailPage extends StatefulWidget {
|
class EmailPage extends StatefulWidget {
|
||||||
EmailPage({Key? key}) : super(key: key);
|
EmailPage({Key? key}) : super(key: key);
|
||||||
String selectedFolder = "INBOX";
|
String selectedFolder = "INBOX";
|
||||||
|
int offset = 0;
|
||||||
|
int page = 1;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
EmailPageState createState() => EmailPageState();
|
EmailPageState createState() => EmailPageState();
|
||||||
@ -60,6 +62,12 @@ class EmailPageState extends State<EmailPage> {
|
|||||||
final ApiService apiService = ApiService();
|
final ApiService apiService = ApiService();
|
||||||
List<GetThreadResponse> emails = [];
|
List<GetThreadResponse> emails = [];
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
widget.page = widget.page;
|
||||||
|
}
|
||||||
|
|
||||||
void updateSelectedFolder(String folder) {
|
void updateSelectedFolder(String folder) {
|
||||||
setState(() {
|
setState(() {
|
||||||
widget.selectedFolder = folder;
|
widget.selectedFolder = folder;
|
||||||
@ -68,11 +76,31 @@ class EmailPageState extends State<EmailPage> {
|
|||||||
_fetchEmails();
|
_fetchEmails();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String getPage() {
|
||||||
|
return widget.page.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
void updatePagenation(String option) {
|
||||||
|
if (option == "next") {
|
||||||
|
setState(() {
|
||||||
|
widget.offset += 20;
|
||||||
|
widget.page += 1;
|
||||||
|
});
|
||||||
|
} else if (option == "back") {
|
||||||
|
setState(() {
|
||||||
|
widget.offset -= 20;
|
||||||
|
widget.page -= 1;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// print(currentPage);
|
||||||
|
_fetchEmails();
|
||||||
|
}
|
||||||
|
|
||||||
void _fetchEmails() async {
|
void _fetchEmails() async {
|
||||||
// print(selectedFolder)
|
// print(selectedFolder)
|
||||||
try {
|
try {
|
||||||
List<GetThreadResponse> fetchedEmails =
|
List<GetThreadResponse> fetchedEmails = await apiService
|
||||||
await apiService.fetchEmailsFromFolder(widget.selectedFolder, 0);
|
.fetchEmailsFromFolder(widget.selectedFolder, widget.offset);
|
||||||
setState(() {
|
setState(() {
|
||||||
emails = fetchedEmails; // Update the list of emails
|
emails = fetchedEmails; // Update the list of emails
|
||||||
});
|
});
|
||||||
|
@ -9,7 +9,6 @@ class HomeScreen extends StatefulWidget {
|
|||||||
_HomeScreenState createState() => _HomeScreenState();
|
_HomeScreenState createState() => _HomeScreenState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class _HomeScreenState extends State<HomeScreen> {
|
class _HomeScreenState extends State<HomeScreen> {
|
||||||
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
||||||
final GlobalKey<EmailPageState> _emailPageKey = GlobalKey<EmailPageState>();
|
final GlobalKey<EmailPageState> _emailPageKey = GlobalKey<EmailPageState>();
|
||||||
@ -21,7 +20,6 @@ class _HomeScreenState extends State<HomeScreen> {
|
|||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
@ -116,12 +114,25 @@ class _HomeScreenState extends State<HomeScreen> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
Container(
|
Container(
|
||||||
|
// alignment: Alignment.topLeft,
|
||||||
padding: EdgeInsets.all(8.0),
|
padding: EdgeInsets.all(8.0),
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
Container(
|
ElevatedButton(
|
||||||
child: Text('hiiiiiii'),
|
onPressed: () {
|
||||||
|
_emailPageKey.currentState
|
||||||
|
?.updatePagenation('back');
|
||||||
|
},
|
||||||
|
child: Icon(Icons.navigate_before),
|
||||||
|
),
|
||||||
|
Text(_emailPageKey.currentState?.getPage() ?? '1'),
|
||||||
|
ElevatedButton(
|
||||||
|
onPressed: () {
|
||||||
|
_emailPageKey.currentState
|
||||||
|
?.updatePagenation('next');
|
||||||
|
},
|
||||||
|
child: Icon(Icons.navigate_next),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
Loading…
Reference in New Issue
Block a user