feat: add authentication support and user model
- Updated `env.example` to include NextAuth configuration for authentication. - Added `next-auth` dependency to manage user sessions. - Introduced `User` model in Prisma schema with fields for user details and password hashing. - Integrated `AuthProvider` in layout for session management across the app. - Enhanced `Header` component with `AuthButton` for user authentication controls.
This commit is contained in:
37
src/components/TowerLogo.tsx
Normal file
37
src/components/TowerLogo.tsx
Normal file
@@ -0,0 +1,37 @@
|
||||
interface TowerLogoProps {
|
||||
size?: 'sm' | 'md' | 'lg'
|
||||
showText?: boolean
|
||||
className?: string
|
||||
}
|
||||
|
||||
export function TowerLogo({ size = 'md', showText = true, className = '' }: TowerLogoProps) {
|
||||
const sizeClasses = {
|
||||
sm: 'w-12 h-12',
|
||||
md: 'w-20 h-20',
|
||||
lg: 'w-32 h-32'
|
||||
}
|
||||
|
||||
const textSizes = {
|
||||
sm: 'text-2xl',
|
||||
md: 'text-4xl',
|
||||
lg: 'text-6xl'
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={`text-center ${className}`}>
|
||||
<div className={`inline-flex items-center justify-center ${sizeClasses[size]} rounded-2xl mb-4 text-6xl`}>
|
||||
🗼
|
||||
</div>
|
||||
{showText && (
|
||||
<>
|
||||
<h1 className={`${textSizes[size]} font-mono font-bold text-[var(--foreground)] mb-2`}>
|
||||
TowerControl
|
||||
</h1>
|
||||
<p className="text-[var(--muted-foreground)] text-lg">
|
||||
Tour de contrôle de vos projets
|
||||
</p>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user