docs: add comprehensive Stripe billing guide
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 4s

Covers architecture, configuration steps, user flows, API routes,
webhooks, pricing, testing with Stripe CLI, production checklist,
and troubleshooting.
This commit is contained in:
Antigravity
2026-05-16 21:10:26 +00:00
parent aa12d2226f
commit bb75b2e763
36 changed files with 2099 additions and 735 deletions

View File

@@ -0,0 +1,40 @@
'use client'
import { useCallback, useEffect, useState } from 'react'
import {
CONSENT_CHANGE_EVENT,
getConsent,
hasConsentChoice,
type ConsentRecord,
} from '@/lib/consent/cookie-consent'
export function useCookieConsent() {
const [consent, setConsentState] = useState<ConsentRecord | null>(null)
const [ready, setReady] = useState(false)
const refresh = useCallback(() => {
setConsentState(getConsent())
setReady(true)
}, [])
useEffect(() => {
refresh()
const onChange = () => refresh()
const onStorage = (e: StorageEvent) => {
if (e.key === 'memento-consent-v1') refresh()
}
window.addEventListener(CONSENT_CHANGE_EVENT, onChange)
window.addEventListener('storage', onStorage)
return () => {
window.removeEventListener(CONSENT_CHANGE_EVENT, onChange)
window.removeEventListener('storage', onStorage)
}
}, [refresh])
return {
consent,
ready,
hasChoice: ready && hasConsentChoice(),
needsBanner: ready && !hasConsentChoice(),
}
}