feat: replace icons and obfuscate email
Some checks failed
Deploy / lint-build-deploy (push) Failing after 1m18s

This commit is contained in:
2026-01-22 18:36:52 +01:00
parent a8d3bf1b3b
commit e46cb018fd
9 changed files with 44 additions and 22 deletions

View File

@@ -2,8 +2,21 @@
import { CustomCard } from '@components/CustomCard'; import { CustomCard } from '@components/CustomCard';
import { SchemaOrg } from '@components/SchemaOrg'; import { SchemaOrg } from '@components/SchemaOrg';
import { useState, useEffect } from 'react';
const useObfuscatedEmail = () => {
const [email, setEmail] = useState<string | null>(null);
useEffect(() => {
setEmail(process.env.NEXT_PUBLIC_BRAND_EMAIL || null);
}, []);
return email;
};
const Privacy = () => { const Privacy = () => {
const email = useObfuscatedEmail();
const schema = { const schema = {
'@context': 'https://schema.org', '@context': 'https://schema.org',
'@type': 'WebSite', '@type': 'WebSite',
@@ -431,12 +444,16 @@ const Privacy = () => {
<p className='leading-relaxed'> <p className='leading-relaxed'>
If you have any questions about this Privacy Policy, You can contact us If you have any questions about this Privacy Policy, You can contact us
by writing to{' '} by writing to{' '}
<a {email ? (
href={`mailto:${process.env.NEXT_PUBLIC_BRAND_EMAIL}`} <a
className='text-purple-600 hover:text-purple-700' href={`mailto:${email}`}
> className='text-purple-600 hover:text-purple-700'
{process.env.NEXT_PUBLIC_BRAND_EMAIL} >
</a> {email}
</a>
) : (
<span className='text-gray-400'>loading...</span>
)}
. .
</p> </p>
</div> </div>

View File

@@ -1,12 +1,17 @@
import { const iconStyle = {
User, display: 'inline-block',
Building2, verticalAlign: 'middle'
Mail, };
LogOut,
LayoutGrid, const Icon = ({ name, size = 16 }: { name: string; size?: number }) => (
Shield, <img
Home src={`${process.env.HOME_URL}/email-icons/${name}.png`}
} from 'lucide-react'; width={size}
height={size}
alt=""
style={iconStyle}
/>
);
export const Footer = () => { export const Footer = () => {
return ( return (
@@ -44,7 +49,7 @@ export const Footer = () => {
letterSpacing: '0.05em' letterSpacing: '0.05em'
}} }}
> >
<User size={16} color='#386FA4' /> <Icon name="user" size={16} />
Contact Us Contact Us
</h4> </h4>
<p <p
@@ -57,7 +62,7 @@ export const Footer = () => {
color: '#4A5568' color: '#4A5568'
}} }}
> >
<Building2 size={14} color='#386FA4' /> <Icon name="building-2" size={14} />
{process.env.NEXT_PUBLIC_BRAND_NAME} {process.env.NEXT_PUBLIC_BRAND_NAME}
</p> </p>
<p <p
@@ -70,7 +75,7 @@ export const Footer = () => {
color: '#4A5568' color: '#4A5568'
}} }}
> >
<Mail size={14} color='#386FA4' /> <Icon name="mail" size={14} />
<a <a
href={`mailto:${process.env.NEXT_PUBLIC_BRAND_EMAIL}`} href={`mailto:${process.env.NEXT_PUBLIC_BRAND_EMAIL}`}
style={{ color: '#386FA4', textDecoration: 'none' }} style={{ color: '#386FA4', textDecoration: 'none' }}
@@ -88,7 +93,7 @@ export const Footer = () => {
color: '#4A5568' color: '#4A5568'
}} }}
> >
<LogOut size={14} color='#386FA4' /> <Icon name="log-out" size={14} />
<span> <span>
Click{' '} Click{' '}
<a <a
@@ -124,7 +129,7 @@ export const Footer = () => {
letterSpacing: '0.05em' letterSpacing: '0.05em'
}} }}
> >
<LayoutGrid size={16} color='#386FA4' /> <Icon name="layout-grid" size={16} />
Quick Links Quick Links
</h4> </h4>
<p <p
@@ -137,7 +142,7 @@ export const Footer = () => {
color: '#4A5568' color: '#4A5568'
}} }}
> >
<Shield size={14} color='#386FA4' /> <Icon name="shield" size={14} />
<a <a
href={`${process.env.HOME_URL}/privacy`} href={`${process.env.HOME_URL}/privacy`}
style={{ color: '#386FA4', textDecoration: 'none' }} style={{ color: '#386FA4', textDecoration: 'none' }}
@@ -155,7 +160,7 @@ export const Footer = () => {
color: '#4A5568' color: '#4A5568'
}} }}
> >
<Home size={14} color='#386FA4' /> <Icon name="house" size={14} />
<a <a
href={process.env.HOME_URL} href={process.env.HOME_URL}
style={{ color: '#386FA4', textDecoration: 'none' }} style={{ color: '#386FA4', textDecoration: 'none' }}

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

BIN
public/email-icons/mail.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 414 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 B

BIN
public/email-icons/user.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 B