refactor: optimize button animations and interval checks for performance

This commit introduces several performance improvements across the UI components:

- Updated the Button component to enhance hover animations by grouping styles for better GPU efficiency.
- Adjusted the interval timing in the BoardView and WorktreePanel components from 1 second to 3 and 5 seconds respectively, reducing CPU/GPU usage.
- Replaced the continuous gradient rotation animation with a subtle pulse effect in global CSS to further optimize rendering performance.

These changes aim to improve the overall responsiveness and efficiency of the UI components.
This commit is contained in:
SuperComboGamer
2025-12-20 23:46:24 -05:00
parent 5aedb4fadf
commit 012d1c452b
4 changed files with 23 additions and 19 deletions

View File

@@ -597,15 +597,13 @@
}
/* Animated border for in-progress cards */
@keyframes border-rotate {
0% {
background-position: 0% 50%;
/* Using a subtle pulse animation instead of continuous gradient rotation for GPU efficiency */
@keyframes border-pulse {
0%, 100% {
opacity: 0.7;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
opacity: 1;
}
}
@@ -614,15 +612,20 @@
border-radius: 0.75rem;
padding: 2px;
background: linear-gradient(
90deg,
135deg,
var(--running-indicator),
color-mix(in oklch, var(--running-indicator), transparent 50%),
var(--running-indicator),
color-mix(in oklch, var(--running-indicator), transparent 50%),
color-mix(in oklch, var(--running-indicator), transparent 30%),
var(--running-indicator)
);
background-size: 200% 100%;
animation: border-rotate 3s ease infinite;
animation: border-pulse 2s ease-in-out infinite;
}
/* Pause animation when user prefers reduced motion */
@media (prefers-reduced-motion: reduce) {
.animated-border-wrapper {
animation: none;
opacity: 1;
}
}
.animated-border-wrapper > * {