feat: redesign UI with pastel theme, dark mode and smooth animations
- Add light/dark/system theme switcher with localStorage persistence and automatic prefers-color-scheme detection - New pastel Instagram-inspired palette: rose accent (#C9445D light, #E8687E dark), clean #FAFAFA / #000000 backgrounds - Replace all hardcoded bg-white / red-* colors with CSS variables so every page and modal respects the active theme - Smooth card hover: translateY elevation + image zoom (no layout shift) - Micro-animations on action buttons with spring cubic-bezier - Editorial navbar: 3px accent top bar, uppercase wordmark - Theme toggle button (sun/moon/monitor) added to navbar Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -126,7 +126,7 @@ export default function ProfilePage() {
|
||||
</Link>
|
||||
)}
|
||||
{isMe && (
|
||||
<button onClick={logout} className="btn-ghost h-8 w-8 text-[var(--fg-tertiary)] hover:text-red-500" title="Выйти">
|
||||
<button onClick={logout} className="btn-ghost h-8 w-8 text-[var(--fg-tertiary)] hover:text-[var(--danger)]" title="Выйти">
|
||||
<LogOut className="h-4 w-4" strokeWidth={1.5} />
|
||||
</button>
|
||||
)}
|
||||
@@ -200,7 +200,7 @@ export default function ProfilePage() {
|
||||
|
||||
{showAvatarPicker && createPortal(
|
||||
<div className="fixed inset-0 z-[70] bg-black/30 flex items-center justify-center animate-fade-in" onClick={() => setShowAvatarPicker(false)}>
|
||||
<div className="bg-white rounded-2xl w-full max-w-sm p-5 shadow-xl animate-scale-in mx-4" onClick={e => e.stopPropagation()}>
|
||||
<div className="bg-[var(--surface)] rounded-2xl w-full max-w-sm p-5 shadow-xl animate-scale-in mx-4" onClick={e => e.stopPropagation()}>
|
||||
<div className="flex items-center justify-between mb-5">
|
||||
<h2 className="text-base font-800">Выбрать аватар</h2>
|
||||
<button onClick={() => setShowAvatarPicker(false)} className="btn-ghost h-8 w-8 text-[var(--fg-tertiary)]">
|
||||
|
||||
Reference in New Issue
Block a user