From 15e93841c0063375d55fb9d1f832761699425ba0 Mon Sep 17 00:00:00 2001 From: the3ash <24548223+the3ash@users.noreply.github.com> Date: Thu, 15 Jan 2026 10:28:07 +0800 Subject: [PATCH] perf: optimize event listeners and async operations --- src/components/ui/BackButton.astro | 8 ++--- src/components/ui/CopyCode.astro | 2 +- src/components/ui/FaviconThemeSwitcher.astro | 13 +++----- src/components/ui/GradientMask.astro | 28 +++++++++++++--- src/components/ui/ImageOptimizer.astro | 11 +++--- src/components/ui/ImageViewer.astro | 25 +++++++------- src/components/ui/NeoDBCard.astro | 35 ++++++++++---------- src/components/ui/ThemeToggle.astro | 25 ++++++-------- src/components/ui/XPOST.astro | 21 ++++++++---- src/components/widgets/FootnoteScroll.astro | 13 ++++---- 10 files changed, 100 insertions(+), 81 deletions(-) diff --git a/src/components/ui/BackButton.astro b/src/components/ui/BackButton.astro index 0d9f41d..17ec908 100644 --- a/src/components/ui/BackButton.astro +++ b/src/components/ui/BackButton.astro @@ -62,12 +62,8 @@ import { themeConfig } from '@/config' adjustBackButtonPosition() - document.addEventListener('astro:page-load', () => { - adjustBackButtonPosition() - }) - document.addEventListener('DOMContentLoaded', () => { - adjustBackButtonPosition() - }) + // Use only astro:page-load as it fires on initial load and navigation + document.addEventListener('astro:page-load', adjustBackButtonPosition) window.addEventListener('resize', adjustBackButtonPosition) })() diff --git a/src/components/ui/CopyCode.astro b/src/components/ui/CopyCode.astro index 08ab9a7..16b1571 100644 --- a/src/components/ui/CopyCode.astro +++ b/src/components/ui/CopyCode.astro @@ -134,8 +134,8 @@ import { themeConfig } from '@/config' }) } + // Use only astro:page-load as it fires on initial load and navigation document.addEventListener('astro:page-load', initCopyCode) - document.addEventListener('DOMContentLoaded', initCopyCode)