0a9588abb7
- Add pagination support to findAll (page, limit query params) - Add findByTemplateId method to service - Add GET /by-template/:templateId endpoint to controller - Service already includes CRUD for QuestionBank and QuestionBankItem
49 lines
1.9 KiB
TypeScript
49 lines
1.9 KiB
TypeScript
import React from 'react';
|
|
|
|
interface LogoProps {
|
|
className?: string;
|
|
size?: number;
|
|
withText?: boolean;
|
|
textClassName?: string;
|
|
}
|
|
|
|
export const Logo: React.FC<LogoProps> = ({ className = '', size = 32, withText = false, textClassName = '' }) => {
|
|
return (
|
|
<div className={`flex items-center gap-3 ${className}`}>
|
|
<div className="relative flex items-center justify-center" style={{ width: size, height: size }}>
|
|
{/* Glow effect */}
|
|
<div className="absolute inset-0 bg-blue-500/30 blur-xl rounded-full" />
|
|
|
|
<svg
|
|
width={size}
|
|
height={size}
|
|
viewBox="0 0 40 40"
|
|
fill="none"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
className="relative z-10"
|
|
>
|
|
<rect width="40" height="40" rx="12" fill="url(#logo-gradient)" />
|
|
<path
|
|
d="M20 10C20 10 24 18 28 20C24 22 20 30 20 30C20 30 16 22 12 20C16 18 20 10 20 10Z"
|
|
fill="white"
|
|
className="drop-shadow-sm"
|
|
/>
|
|
<defs>
|
|
<linearGradient id="logo-gradient" x1="0" y1="0" x2="40" y2="40" gradientUnits="userSpaceOnUse">
|
|
<stop offset="0%" stopColor="#2563EB" /> {/* Blue 600 */}
|
|
<stop offset="50%" stopColor="#4F46E5" /> {/* Indigo 600 */}
|
|
<stop offset="100%" stopColor="#7C3AED" /> {/* Violet 600 */}
|
|
</linearGradient>
|
|
</defs>
|
|
</svg>
|
|
</div>
|
|
|
|
{withText && (
|
|
<span className={`font-bold text-xl tracking-tight bg-gradient-to-r from-blue-400 to-indigo-300 bg-clip-text text-transparent ${textClassName}`}>
|
|
AuraK
|
|
</span>
|
|
)}
|
|
</div>
|
|
);
|
|
};
|