diff --git a/src/components/ActiveNavigationCheck.astro b/src/components/ActiveNavigationCheck.astro deleted file mode 100644 index c9faa3f..0000000 --- a/src/components/ActiveNavigationCheck.astro +++ /dev/null @@ -1,20 +0,0 @@ ---- ---- - - diff --git a/src/components/EmailLink.astro b/src/components/EmailLink.astro index 4a9fdb3..b628698 100644 --- a/src/components/EmailLink.astro +++ b/src/components/EmailLink.astro @@ -25,23 +25,3 @@ const { text = 'Email', icon = true, ...props } = Astro.props; ) } - - diff --git a/src/components/Scripts.astro b/src/components/Scripts.astro index f5be23b..6a097f8 100644 --- a/src/components/Scripts.astro +++ b/src/components/Scripts.astro @@ -48,6 +48,8 @@ import '../styles/sal.css'; }); setActiveLink(); + setUpLink(); + setEmailLink(); } }); @@ -64,7 +66,41 @@ import '../styles/sal.css'; }); } + function setUpLink() { + const button = document.getElementById('up-link'); + button?.addEventListener('click', (event) => { + event.preventDefault(); + window.scrollTo({ + top: 0, + left: 0, + behavior: 'smooth', + }); + }); + } + + function handleEmailClick(event: Event) { + event.preventDefault(); + const currentTarget = event.currentTarget; + if (currentTarget instanceof HTMLElement) { + const { name, domain, tld } = currentTarget.dataset; + if (name && domain && tld) { + const mailto = `mailto:${name}@${domain}.${tld}`; + window.open(mailto, '_blank'); + } + } + } + + function setEmailLink() { + const links = document.querySelectorAll('[data-email-link]'); + + links.forEach((link) => { + link.addEventListener('click', handleEmailClick); + }); + } + setActiveLink(); + setUpLink(); + setEmailLink();