- Restricted editing of grocery and todo item for children

This commit is contained in:
Dejan
2024-10-26 15:36:01 +02:00
parent 731af8a3b8
commit b2b1e5d1e4
2 changed files with 19 additions and 3 deletions

View File

@ -83,11 +83,15 @@ const GroceryItem = ({
/> />
{!isEditingTitle ? ( {!isEditingTitle ? (
<View> <View>
<TouchableOpacity onPress={() => setIsEditingTitle(true)}> { isParent ? <TouchableOpacity onPress={() => setIsEditingTitle(true)}>
<Text text70T black style={styles.title}> <Text text70T black style={styles.title}>
{item.title} {item.title}
</Text> </Text>
</TouchableOpacity> </TouchableOpacity> :
<Text text70T black style={styles.title}>
{item.title}
</Text>
}
</View> </View>
) : ( ) : (
<EditGroceryItem <EditGroceryItem

View File

@ -16,10 +16,14 @@ import { ImageBackground } from "react-native";
import AddChoreDialog from "@/components/pages/todos/AddChoreDialog"; import AddChoreDialog from "@/components/pages/todos/AddChoreDialog";
import { useGetFamilyMembers } from "@/hooks/firebase/useGetFamilyMembers"; import { useGetFamilyMembers } from "@/hooks/firebase/useGetFamilyMembers";
import RepeatIcon from "@/assets/svgs/RepeatIcon"; import RepeatIcon from "@/assets/svgs/RepeatIcon";
import {ProfileType, useAuthContext} from "@/contexts/AuthContext";
const ToDoItem = (props: { item: IToDo; isSettings?: boolean }) => { const ToDoItem = (props: { item: IToDo; isSettings?: boolean }) => {
const { updateToDo } = useToDosContext(); const { updateToDo } = useToDosContext();
const { data: members } = useGetFamilyMembers(); const { data: members } = useGetFamilyMembers();
const { profileData } = useAuthContext();
const isParent = profileData?.userType === ProfileType.PARENT;
const [visible, setVisible] = useState<boolean>(false); const [visible, setVisible] = useState<boolean>(false);
const [points, setPoints] = useState(props.item.points); const [points, setPoints] = useState(props.item.points);
const [pointsModalVisible, setPointsModalVisible] = useState<boolean>(false); const [pointsModalVisible, setPointsModalVisible] = useState<boolean>(false);
@ -41,6 +45,14 @@ const ToDoItem = (props: { item: IToDo; isSettings?: boolean }) => {
const selectedMembers = members?.filter((x) => const selectedMembers = members?.filter((x) =>
props?.item?.assignees?.includes(x?.uid!) props?.item?.assignees?.includes(x?.uid!)
); );
let isTodoEditable;
if (isParent) {
isTodoEditable = true
} else {
isTodoEditable = props.item.creatorId === profileData?.uid;
}
return ( return (
<View <View
centerV centerV
@ -69,7 +81,7 @@ const ToDoItem = (props: { item: IToDo; isSettings?: boolean }) => {
fontSize: 15, fontSize: 15,
}} }}
onPress={() => { onPress={() => {
setVisible(true); isTodoEditable ? setVisible(true) : null
}} }}
> >
{props.item.title} {props.item.title}