feat: premium polish pass — typing effect, animated counters, ambient orbs, input glow, show/hide password, redesigned settings, Reveal animations
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 1m53s

- Add TypewriterText component for hero heading animation
- Add AnimatedCounter with scroll-triggered count-up
- Add AmbientOrbs with floating gradient orbs in hero
- Add input-glow focus effect, btn-shine hover effect CSS
- Add show/hide password toggle on login, register, and home login forms
- Redesign settings page with premium gradient cards and icon headers
- Polish /me dashboard with Reveal animations, btn-shine, input-glow
- Add animate-count CSS keyframe
This commit is contained in:
openhands committed 2026-07-24 13:34:46 +02:00
1 parent 5fa342018d
commit b37b6bc2b9
10 files changed
+569 -150

No files matched your search

+63
View File
@@ -1742,6 +1742,69 @@ details[open] > summary .details-open\:rotate-180 {
border-radius: calc(var(--radius-lg) - 1px);
}
/* Input focus glow */
.input-glow:focus {
outline: none;
border-color: var(--color-primary) !important;
box-shadow:
0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent),
0 0 20px color-mix(in srgb, var(--color-primary) 10%, transparent);
}
.input-glow {
transition:
border-color 0.25s ease,
box-shadow 0.25s ease;
}
/* Typing cursor blink */
@keyframes blink {
0%, 100% { opacity: 1; }
50% { opacity: 0; }
}
.typing-cursor::after {
content: "|";
animation: blink 0.8s step-end infinite;
margin-left: 2px;
font-weight: 300;
color: var(--color-primary);
}
/* Number count-up */
@keyframes count-up {
from { opacity: 0; transform: translateY(12px); }
to { opacity: 1; transform: translateY(0); }
}
.animate-count {
animation: count-up 0.6s ease-out both;
}
/* Premium button shine */
.btn-shine {
position: relative;
overflow: hidden;
}
.btn-shine::after {
content: "";
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: linear-gradient(
transparent 0%,
transparent 35%,
color-mix(in srgb, white 8%, transparent) 50%,
transparent 65%,
transparent 100%
);
transform: rotate(25deg);
transition: all 0.5s ease;
pointer-events: none;
}
.btn-shine:hover::after {
left: 100%;
}
/* Staggered children animation */
.stagger-children > * {
animation: fade-in-up 0.5s ease-out both;