update
This commit is contained in:
@@ -49,55 +49,116 @@ export const CookieConsentBanner: React.FC = () => {
|
||||
|
||||
return (
|
||||
<AnimatePresence>
|
||||
{/* Fullscreen overlay to center the banner */}
|
||||
<motion.div
|
||||
initial={{ y: 100, opacity: 0 }}
|
||||
animate={{ y: 0, opacity: 1 }}
|
||||
exit={{ y: 100, opacity: 0 }}
|
||||
transition={{ duration: 0.3, ease: 'easeOut' }}
|
||||
className="cookie-consent-banner"
|
||||
initial={{ opacity: 0 }}
|
||||
animate={{ opacity: 1 }}
|
||||
exit={{ opacity: 0 }}
|
||||
transition={{ duration: 0.2 }}
|
||||
style={{
|
||||
position: 'fixed',
|
||||
inset: 0,
|
||||
zIndex: 10000,
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
background: 'rgba(17, 24, 39, 0.45)',
|
||||
backdropFilter: 'blur(4px)',
|
||||
}}
|
||||
>
|
||||
<div className="cookie-consent-banner__container">
|
||||
<div className="cookie-consent-banner__content">
|
||||
<div className="cookie-consent-banner__icon">
|
||||
<i className="fas fa-cookie-bite"></i>
|
||||
{/* Centered enterprise-style card */}
|
||||
<motion.div
|
||||
initial={{ opacity: 0, scale: 0.96, y: 8 }}
|
||||
animate={{ opacity: 1, scale: 1, y: 0 }}
|
||||
exit={{ opacity: 0, scale: 0.98, y: 8 }}
|
||||
transition={{ duration: 0.25, ease: 'easeOut' }}
|
||||
className="cookie-consent-banner"
|
||||
style={{
|
||||
width: 'min(680px, 92vw)',
|
||||
background: '#0b1220',
|
||||
color: '#e5e7eb',
|
||||
border: '1px solid rgba(255,255,255,0.08)',
|
||||
borderRadius: 16,
|
||||
boxShadow: '0 25px 70px rgba(0,0,0,0.45)',
|
||||
padding: 24,
|
||||
}}
|
||||
>
|
||||
<div className="cookie-consent-banner__container" style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>
|
||||
<div className="cookie-consent-banner__content" style={{ display: 'flex', gap: 16 }}>
|
||||
<div
|
||||
className="cookie-consent-banner__icon"
|
||||
style={{
|
||||
width: 48,
|
||||
height: 48,
|
||||
borderRadius: 12,
|
||||
display: 'grid',
|
||||
placeItems: 'center',
|
||||
background: 'linear-gradient(135deg, rgba(199, 213, 236, 0.39), rgba(147,197,253,0.08))',
|
||||
color: '#93c5fd',
|
||||
flex: '0 0 auto',
|
||||
}}
|
||||
>
|
||||
<i className="fas fa-cookie-bite"></i>
|
||||
</div>
|
||||
<div className="cookie-consent-banner__text" style={{ display: 'grid', gap: 6 }}>
|
||||
<h3 style={{ margin: 0, fontSize: 20, fontWeight: 700 }}>Cookie Preferences</h3>
|
||||
<p style={{ margin: 0, lineHeight: 1.6, color: '#ffffff' }}>
|
||||
We use only essential functional cookies to ensure our website works properly. We do not collect
|
||||
personal data or use tracking cookies. Your privacy is important to us.
|
||||
</p>
|
||||
{config.showPrivacyNotice && (
|
||||
<div className="cookie-consent-banner__links" style={{ marginTop: 6 }}>
|
||||
<a
|
||||
href={config.privacyPolicyUrl}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
style={{ color: '#93c5fd', textDecoration: 'underline' }}
|
||||
>
|
||||
Privacy Policy
|
||||
</a>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
<div className="cookie-consent-banner__text">
|
||||
<h3>Cookie Preferences</h3>
|
||||
<p>
|
||||
We use only essential functional cookies to ensure our website works properly.
|
||||
We do not collect personal data or use tracking cookies. Your privacy is important to us.
|
||||
</p>
|
||||
{config.showPrivacyNotice && (
|
||||
<div className="cookie-consent-banner__links">
|
||||
<a href={config.privacyPolicyUrl} target="_blank" rel="noopener noreferrer">
|
||||
Privacy Policy
|
||||
</a>
|
||||
<a href={config.cookiePolicyUrl} target="_blank" rel="noopener noreferrer">
|
||||
Cookie Policy
|
||||
</a>
|
||||
</div>
|
||||
)}
|
||||
<div
|
||||
className="cookie-consent-banner__actions"
|
||||
style={{ display: 'flex', justifyContent: 'flex-end', gap: 12, marginTop: 8 }}
|
||||
>
|
||||
<button
|
||||
type="button"
|
||||
className="cookie-consent-banner__btn cookie-consent-banner__btn--secondary"
|
||||
onClick={showSettings}
|
||||
style={{
|
||||
padding: '10px 14px',
|
||||
borderRadius: 10,
|
||||
border: '1px solid rgba(255,255,255,0.12)',
|
||||
background: 'transparent',
|
||||
color: '#e5e7eb',
|
||||
fontWeight: 600,
|
||||
}}
|
||||
>
|
||||
<i className="fas fa-cog" style={{ marginRight: 8 }}></i>
|
||||
Settings
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
className="cookie-consent-banner__btn cookie-consent-banner__btn--primary"
|
||||
onClick={acceptNecessary}
|
||||
style={{
|
||||
padding: '10px 14px',
|
||||
borderRadius: 10,
|
||||
border: '1px solid rgba(59,130,246,0.35)',
|
||||
background: 'linear-gradient(135deg, rgba(59,130,246,0.25), rgba(37,99,235,0.35))',
|
||||
color: '#ffffff',
|
||||
fontWeight: 700,
|
||||
}}
|
||||
>
|
||||
<i className="fas fa-check" style={{ marginRight: 8 }}></i>
|
||||
Accept Functional Only
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div className="cookie-consent-banner__actions">
|
||||
<button
|
||||
type="button"
|
||||
className="cookie-consent-banner__btn cookie-consent-banner__btn--secondary"
|
||||
onClick={showSettings}
|
||||
>
|
||||
<i className="fas fa-cog"></i>
|
||||
Settings
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
className="cookie-consent-banner__btn cookie-consent-banner__btn--primary"
|
||||
onClick={acceptNecessary}
|
||||
>
|
||||
<i className="fas fa-check"></i>
|
||||
Accept Functional Only
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</motion.div>
|
||||
</motion.div>
|
||||
</AnimatePresence>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user