acc9c84e2e
* Configure functions module to allow absolute imports * Convert common imports in functions to be absolute * Convert common imports in web to be absolute * Convert lib imports in web to be absolute * Convert hooks imports in web to be absolute * Convert components imports in web to be absolute
28 lines
875 B
TypeScript
28 lines
875 B
TypeScript
import { listContracts } from 'web/lib/firebase/contracts'
|
|
import { useEffect, useState } from 'react'
|
|
import { User } from 'common/user'
|
|
|
|
export const useHasCreatedContractToday = (user: User | null | undefined) => {
|
|
const [hasCreatedContractToday, setHasCreatedContractToday] = useState(true)
|
|
|
|
useEffect(() => {
|
|
// Uses utc time like the server.
|
|
const utcTimeString = new Date().toISOString()
|
|
const todayAtMidnight = new Date(utcTimeString).setUTCHours(0, 0, 0, 0)
|
|
|
|
async function listUserContractsForToday() {
|
|
if (!user) return
|
|
|
|
const contracts = await listContracts(user.id)
|
|
const todayContracts = contracts.filter(
|
|
(contract) => contract.createdTime > todayAtMidnight
|
|
)
|
|
setHasCreatedContractToday(todayContracts.length > 0)
|
|
}
|
|
|
|
listUserContractsForToday()
|
|
}, [user])
|
|
|
|
return hasCreatedContractToday
|
|
}
|