"use client"
import React, { useMemo, useState } from 'react'
import { useLaunches } from '@/hooks/queries'
import { launchProps } from '@/types';
const DataHandling = () => {
const { data: launches, isLoading, isFetching } = useLaunches()
const [filteredData, setFilteredData] = useState<launchProps[]>(launches ?? [])
const [query, setQuery] = useState('')
const [date, setDate] = React.useState<Date>()
const [status, setStatus] = useState<"success" | "failure" | "unknown" | null>(null)
...previous code
useMemo(() => {
const filtered = launches?.filter((data) => {
return data.name.toLowerCase().includes(query.toLowerCase())
}).filter((data) => {
if (status === "success") return data.success === true
if (status === "failure") return data.success === false
if (status == "unknown") return data.success === null
return true; // if status is null
}).filter((data) => {
if (!date) return true // if date is null
return formatDate(data.date_utc) === formatDate(date)
})
setFilteredData(filtered ?? [])
}, [query, launches, status, date])
return (
...filteredData.map
)
}