import axios from "axios";
import React, { useState } from "react";
import { FlatList, SafeAreaView, StatusBar, StyleSheet, Text, TouchableOpacity, TextInput, View } from "react-native";
import * as SecureStore from 'expo-secure-store';
const Item = ({ item, onPress, style }) => (
{item.code}
);
// separates results, taken from https://stackoverflow.com/questions/60350768/how-to-make-search-bar-with-dropdown-list-in-react-native
const renderSeparator = () => {
return (
);
};
const AddTakenCourse = () => {
const [text, setText] = useState('')
const [selectedId, setSelectedId] = useState(null);
const [data, setData] = useState([])
const searchCourses = async(text)=>{
let courses = []
setText(text)
const token = await SecureStore.getItemAsync('token')
const response = await axios({
method: 'GET',
url: `http://ef32e7a10841.ngrok.io/api/find_course?code=${text}`,
headers: {
'content-type': 'application/json',
Authorization: `Token ${token}`
}
})
response.data.list.map((course)=>{
let oneCourse = {'id': course.id, 'code': course.code}
courses.push(oneCourse)
})
setData(courses)
}
const renderItem = ({ item }) => {
const backgroundColor = item.id === selectedId ? "#e60505" : "#fafbfc";
return (
- setSelectedId(item.id)}
style={{ backgroundColor }}
/>
);
};
console.log(selectedId)
return (
searchCourses(text)}
// onChangeText={text=>setText(text)}
/>
item.id.toString()}
extraData={selectedId}
ItemSeparatorComponent={renderSeparator}
/>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
marginTop: StatusBar.currentHeight || 0,
},
item: {
padding: 10,
marginVertical: 8,
marginHorizontal: 16,
},
title: {
fontSize: 15,
},
searchBar: {
height: 40,
borderColor: '#000',
borderWidth: 1
}
});
export default AddTakenCourse;