import { defaultStyles } from '@/constants/defaultStyles'; import { supabase } from '@/lib/supabase'; import { router, Stack } from 'expo-router'; import { useState } from 'react'; import { ActivityIndicator, Alert, Button, Keyboard, KeyboardAvoidingView, Platform, Pressable, Text, TextInput, TouchableWithoutFeedback, View } from 'react-native'; export default function CreateTask() { const [title, SetTitle] = useState(''); const [description, SetDescription] = useState(''); const [isCompleted, SetIsCompleted] = useState(false); const [deadline, SetDeadline] = useState(''); const [isSaving, SetIsSaving] = useState(false); const AddNote = async () => { if(title.trim() === '' || description.trim() === '' || deadline.trim() === '') { Alert.alert("All fields are required!"); return; } const { data, error: userError } = await supabase.auth.getUser(); if(userError || !data.user) { router.replace("../createUser"); return; } SetIsSaving(true); const { error: dbError } = await supabase.from("tasks").insert({ title, description, isCompleted, lastChanged: new Date().toISOString(), deadline, uId: data.user.id, }); if (dbError) { Alert.alert("Task could not be created, please try again"); SetIsSaving(false); return; } Alert.alert("Task successfully added!"); SetTitle(''); SetDescription(''); SetIsCompleted(false); SetDeadline(''); SetIsSaving(false); router.back(); } return ( <> Create New Task SetIsCompleted(state => !state)} style={defaultStyles.checkboxContainer} > {isCompleted && } {isCompleted ? 'Completed' : 'Not completed'}