From 34115df4611e401209fe405e6b443a284eaca68c Mon Sep 17 00:00:00 2001
From: Stephanie Thompson <43892794+Rocklobster84@users.noreply.github.com>
Date: Sun, 21 Apr 2024 18:36:39 -0500
Subject: [PATCH] Updated Dietary Allergen Filters to write an array of objects
to an endpoint
---
screens/DietaryAllergenFilter.jsx | 176 +++++++++++++++++++++++++++---
1 file changed, 162 insertions(+), 14 deletions(-)
diff --git a/screens/DietaryAllergenFilter.jsx b/screens/DietaryAllergenFilter.jsx
index 1074800..9696078 100644
--- a/screens/DietaryAllergenFilter.jsx
+++ b/screens/DietaryAllergenFilter.jsx
@@ -1,27 +1,175 @@
-import { SafeAreaView, ScrollView, StyleSheet, View } from 'react-native';
-import DietaryFilters from '../containers/DietaryFilters';
-import AllergenFilters from '../containers/AllergenFilters';
+import React, { useState } from 'react';
+import { SafeAreaView, ScrollView, StyleSheet, View, Text } from 'react-native';
import AcctHeader from '../components/AcctHeader';
-import MainButton from '../components/MainButton';
+import { CheckBox } from '@rneui/themed';
+import CategoryButton from '../components/CategoryButton';
import Nav from '../components/Nav';
import { useNavigation } from '@react-navigation/native';
-export const DietaryAllergenFilter = () => {
+export const DietaryAllergenFilterScreen = () => {
+ const navigation = useNavigation();
+
+ const [categories, setCategories] = useState([
+ {
+ id: 0,
+ preference_name: 'Gluten Free',
+ key: 'Gluten Free',
+ isCheck: false,
+ },
+ {
+ id: 1,
+ preference_name: 'Ketogenic',
+ key: 'Ketogenic',
+ isCheck: false,
+ },
+ {
+ id: 2,
+ preference_name: 'Vegetarian',
+ key: 'Vegetarian',
+ isCheck: false,
+ },
+ {
+ id: 3,
+ preference_name: 'Lacto-Vegetarian',
+ key: 'Lacto-Vegetarian',
+ isCheck: false,
+ },
+ {
+ id: 4,
+ preference_name: 'Ovo-Vegetarian',
+ key: 'Ovo-Vegetarian',
+ isCheck: false,
+ },
+ {
+ id: 5,
+ preference_name: 'Vegan',
+ key: 'Vegan',
+ isCheck: false,
+ },
+ {
+ id: 6,
+ preference_name: 'Pescetarian',
+ key: 'Pescetarian',
+ isCheck: false,
+ },
+ {
+ id: 7,
+ preference_name: 'Paleo',
+ key: 'Paleo',
+ isCheck: false,
+ },
+ {
+ id: 8,
+ preference_name: 'Primal',
+ key: 'Primal',
+ isCheck: false,
+ },
+ {
+ id: 9,
+ preference_name: 'Low FODMAP',
+ key: 'Low FODMAP',
+ isCheck: false,
+ },
+ {
+ id: 10,
+ preference_name: 'Whole30',
+ key: 'Whole30',
+ isCheck: false,
+ },
+ ]);
+
+ const onValueChange = (item, index) => {
+ const newCategory = [...categories];
+ newCategory[index].isCheck = !item.isCheck;
+ setCategories(newCategory);
+ return newCategory;
+ };
+
+ const handleSave = () => {
+ const dietaryFiltersData = categories;
+
+ const filterData = {
+ dietaryFilters: dietaryFiltersData,
+ };
+
+ const response = fetch(
+ 'http://localhost:8000/api/users/{user_pk}/dietaryPreferences/{id}',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify(filterData),
+ }
+ );
+ //if (!response.ok) {
+ // throw new Error('Failed to save filters');
+ //}
+
+ //console.log('Filters saved successfully');
+ };
+
return (
-
-
-
-
+
+
+
+
+
+
+ Dietary Requirements
+
+ {categories.map((item, index) => {
+ return (
+ onValueChange(item, index)}
+ key={item.key}
+ name={item.name}
+ id={item.id}
+ />
+ );
+ })}
+
+
+
+ handleSave()} />
+
+
+
+
+
+
);
};
const styles = StyleSheet.create({
- menuContainer: {
- width: '100%',
- padding: 60,
- paddingTop: 70,
- backgroundColor: '#fff',
+ homeContainer: {
+ padding: 10,
+ marginBottom: 50,
+ },
+ buttonContainer: {
+ padding: 20,
+ marginBottom: 20,
+ alignItems: 'center',
+ backgroundColor: 'rgb(255,255,255)',
+ },
+ container: {
+ flex: 1,
+ padding: 24,
+ backgroundColor: 'rgb(255,255,255)',
+ },
+ title: {
+ height: 60,
+ justifyContent: 'flex-start',
+ alignItems: 'flex-start',
+ fontSize: 24,
+ fontWeight: 'bold',
},
});
export default DietaryAllergenFilter;
+// Inserting a comment so I can commit this
\ No newline at end of file