feat: The Other Dude v9.0.1 — full-featured email system

ci: add GitHub Pages deployment workflow for docs site

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jason Staack
2026-03-08 17:46:37 -05:00
commit b840047e19
511 changed files with 106948 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
import { motion, useReducedMotion } from 'framer-motion'
import { type ReactNode } from 'react'
const variants = {
initial: { opacity: 0, y: 8 },
animate: { opacity: 1, y: 0 },
exit: { opacity: 0, y: -8 },
}
interface PageTransitionProps {
children: ReactNode
/** Unique key for AnimatePresence to detect page changes */
pageKey: string
}
export function PageTransition({ children, pageKey }: PageTransitionProps) {
const prefersReducedMotion = useReducedMotion()
if (prefersReducedMotion) {
return <div key={pageKey}>{children}</div>
}
return (
<motion.div
key={pageKey}
variants={variants}
initial="initial"
animate="animate"
exit="exit"
transition={{ duration: 0.2, ease: 'easeOut' }}
>
{children}
</motion.div>
)
}