diff --git a/lib/directory/directory_data.dart b/lib/directory/directory_data.dart new file mode 100644 index 0000000..95a6bba --- /dev/null +++ b/lib/directory/directory_data.dart @@ -0,0 +1,22 @@ +import 'package:campusbuddy/search_feature/model.dart'; +import 'package:http/http.dart' as http; + +List contactList = []; + +void loadData() async { + var url = Uri.parse( + 'https://raw.githubusercontent.com/mdg-iitr/CampusBuddy/master/app/src/main/assets/contacts.min.json'); + var response = await http.get(url); + final jsonResponse = groupsFromJson(response.body); + for (int i = 0; i < jsonResponse.length; i++) { + List departmentList = jsonResponse[i].depts; + for (int j = 0; j < departmentList.length; j++) { + for (int k = 0; k < departmentList[j].contacts.length; k++) { + departmentList[j].contacts[k].department_name = + departmentList[j].deptName; + } + contactList = contactList + departmentList[j].contacts; + } + } + print('data loaded'); +} diff --git a/lib/directory/directory_list_widget.dart b/lib/directory/directory_list_widget.dart index 486300f..86ba166 100644 --- a/lib/directory/directory_list_widget.dart +++ b/lib/directory/directory_list_widget.dart @@ -1,3 +1,4 @@ +import 'package:campusbuddy/directory/directory_data.dart'; import 'package:campusbuddy/screens/department_list.dart'; import 'package:campusbuddy/search_feature/model.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; @@ -16,33 +17,17 @@ class DirectoryList extends StatefulWidget { class _DirectoryListState extends State { Auth auth = new Auth(); - List contactList = []; - @override void initState() { super.initState(); print('went here'); loadData(); - print('data loaded'); } - void loadData() async { - var url = Uri.parse('https://raw.githubusercontent.com/mdg-iitr/CampusBuddy/master/app/src/main/assets/contacts.min.json'); - var response = await http.get(url); - final jsonResponse = groupsFromJson(response.body); - for (int i = 0; i < jsonResponse.length; i++) { - List departmentList = jsonResponse[i].depts; - for (int j = 0; j < departmentList.length; j++) { - for (int k = 0; k < departmentList[j].contacts.length; k++) { - departmentList[j].contacts[k].department_name = - departmentList[j].deptName; - } - contactList = contactList + departmentList[j].contacts; - } - } - } + Widget _buildListItem(BuildContext context, DocumentSnapshot document) { + return Card( margin: EdgeInsets.symmetric(vertical: 5, horizontal: 10), elevation: 1, @@ -77,6 +62,7 @@ class _DirectoryListState extends State { @override Widget build(BuildContext context) { + return CustomScrollView( slivers: [ SliverAppBar( @@ -97,7 +83,7 @@ class _DirectoryListState extends State { // showConfirmationDialog(context); showSearch( context: context, - delegate: CustomSearchDelegate(contactList: contactList), + delegate: CustomSearchDelegate(), ); }), ], diff --git a/lib/search_feature/search_view.dart b/lib/search_feature/search_view.dart index 91e6c3e..bf81bda 100644 --- a/lib/search_feature/search_view.dart +++ b/lib/search_feature/search_view.dart @@ -1,12 +1,9 @@ -import 'package:campusbuddy/ContactScreens/ContactList.dart'; +import 'package:campusbuddy/directory/directory_data.dart'; import 'package:campusbuddy/search_feature/contact_view.dart'; import 'package:flutter/material.dart'; import 'model.dart'; class CustomSearchDelegate extends SearchDelegate { - final List contactList; - - CustomSearchDelegate({this.contactList}); @override List buildActions(BuildContext context) {