get the email view when on search
This commit is contained in:
		
							parent
							
								
									61c91b633b
								
							
						
					
					
						commit
						1db462ec8e
					
				
					 3 changed files with 75 additions and 69 deletions
				
			
		| 
						 | 
				
			
			@ -15,7 +15,7 @@ class ApiService {
 | 
			
		|||
    try {
 | 
			
		||||
      var url = Uri.http('127.0.0.1:3001', 'sorted_threads_by_date', {
 | 
			
		||||
        'folder': folder,
 | 
			
		||||
        'limit': '20',
 | 
			
		||||
        'limit': '50',
 | 
			
		||||
        'offset': pagenitaion.toString(),
 | 
			
		||||
      });
 | 
			
		||||
      var response = await http.get(url);
 | 
			
		||||
| 
						 | 
				
			
			@ -90,7 +90,7 @@ class ApiService {
 | 
			
		|||
        // -            messagesJson.map((mj) => SerializableMessage.fromJson(mj)).toList();
 | 
			
		||||
        // print("above mess");
 | 
			
		||||
        
 | 
			
		||||
        print(messages[0].uid);
 | 
			
		||||
        // print(messages[0].uid);
 | 
			
		||||
        return messages;
 | 
			
		||||
      }
 | 
			
		||||
    } catch (e) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -84,12 +84,12 @@ class EmailPageState extends State<EmailPage> {
 | 
			
		|||
  void updatePagenation(String option) {
 | 
			
		||||
    if (option == "next") {
 | 
			
		||||
      setState(() {
 | 
			
		||||
        widget.offset += 20;
 | 
			
		||||
        widget.offset += 50;
 | 
			
		||||
        widget.page += 1;
 | 
			
		||||
      });
 | 
			
		||||
    } else if (option == "back") {
 | 
			
		||||
      setState(() {
 | 
			
		||||
        widget.offset -= 20;
 | 
			
		||||
        widget.offset -= 50;
 | 
			
		||||
        widget.page -= 1;
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -102,6 +102,8 @@ class EmailPageState extends State<EmailPage> {
 | 
			
		|||
    try {
 | 
			
		||||
      List<GetThreadResponse> fetchedEmails = await apiService
 | 
			
		||||
          .fetchEmailsFromFolder(widget.selectedFolder, widget.offset);
 | 
			
		||||
      if (!mounted) return;
 | 
			
		||||
 | 
			
		||||
      setState(() {
 | 
			
		||||
        emails = fetchedEmails; // Update the list of emails
 | 
			
		||||
      });
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,7 +36,8 @@ class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin {
 | 
			
		|||
    setState(() {
 | 
			
		||||
      if (!_tabs.contains(query)) {
 | 
			
		||||
        _tabs.add(query);
 | 
			
		||||
        _tabWidgets[query] = _buildSearchResultsWidget(query); // Store a different widget for this tab
 | 
			
		||||
        _tabWidgets[query] = _buildSearchResultsWidget(
 | 
			
		||||
            query); // Store a different widget for this tab
 | 
			
		||||
        _tabController = TabController(length: _tabs.length, vsync: this);
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
| 
						 | 
				
			
			@ -73,7 +74,8 @@ class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin {
 | 
			
		|||
    // );
 | 
			
		||||
    return FutureBuilder<List<SerializableMessage>>(
 | 
			
		||||
      future: apiService.sonicSearch("INBOX", 10, 0, query),
 | 
			
		||||
    builder: (BuildContext context, AsyncSnapshot<List<SerializableMessage>> snapshot) {
 | 
			
		||||
      builder: (BuildContext context,
 | 
			
		||||
          AsyncSnapshot<List<SerializableMessage>> snapshot) {
 | 
			
		||||
        if (snapshot.connectionState == ConnectionState.waiting) {
 | 
			
		||||
          return Center(child: CircularProgressIndicator());
 | 
			
		||||
        } else if (snapshot.hasError) {
 | 
			
		||||
| 
						 | 
				
			
			@ -85,7 +87,7 @@ class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin {
 | 
			
		|||
          return Scaffold(
 | 
			
		||||
            body: ListView.separated(
 | 
			
		||||
              itemCount: result.length,
 | 
			
		||||
            itemBuilder: (context, index){
 | 
			
		||||
              itemBuilder: (context, index) {
 | 
			
		||||
                final email = result[index];
 | 
			
		||||
                return ListTile(
 | 
			
		||||
                  title: Text(email.from,
 | 
			
		||||
| 
						 | 
				
			
			@ -96,7 +98,11 @@ class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin {
 | 
			
		|||
                  ),
 | 
			
		||||
                  trailing: Text(email.date.toString()),
 | 
			
		||||
                  onTap: () async {
 | 
			
		||||
                String emailContent = await apiService.fetchEmailContent(email.id as List<String>);
 | 
			
		||||
                    print('tapped');
 | 
			
		||||
                    String emailContent = await apiService
 | 
			
		||||
                        .fetchEmailContent([email.id]);
 | 
			
		||||
                    print('content below');
 | 
			
		||||
                    print(emailContent);
 | 
			
		||||
                    Navigator.push(
 | 
			
		||||
                      context,
 | 
			
		||||
                      MaterialPageRoute(
 | 
			
		||||
| 
						 | 
				
			
			@ -129,7 +135,6 @@ class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin {
 | 
			
		|||
            //     Text(result[0].list),
 | 
			
		||||
            //     Text(result[0].id),
 | 
			
		||||
 | 
			
		||||
              
 | 
			
		||||
            //     // Add more fields or customize the display
 | 
			
		||||
            //     // SerializableEmailListScreen(emails: result, getEmailContent: getEmailContent)
 | 
			
		||||
            //     // Expanded(
 | 
			
		||||
| 
						 | 
				
			
			@ -160,7 +165,6 @@ class _HomeScreenState extends State<HomeScreen> with TickerProviderStateMixin {
 | 
			
		|||
          _emailPageKey.currentState?.updateSelectedFolder(folder);
 | 
			
		||||
        },
 | 
			
		||||
      ),
 | 
			
		||||
 | 
			
		||||
      body: Stack(
 | 
			
		||||
        children: [
 | 
			
		||||
          Row(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue