From 24781f32ec0b7889ddb4a88d994d91b6d8593dec Mon Sep 17 00:00:00 2001 From: c0mrade Date: Sat, 31 Jan 2026 22:41:16 +0300 Subject: [PATCH] feat: add animated MovingGradient background --- src/components/layout/AppShell/AppShell.tsx | 6 +- .../layout/AppShell/MovingGradient.tsx | 57 +++++++++++++++++++ src/components/layout/AppShell/index.ts | 1 + 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 src/components/layout/AppShell/MovingGradient.tsx diff --git a/src/components/layout/AppShell/AppShell.tsx b/src/components/layout/AppShell/AppShell.tsx index 490a441..4a6d7ea 100644 --- a/src/components/layout/AppShell/AppShell.tsx +++ b/src/components/layout/AppShell/AppShell.tsx @@ -28,6 +28,7 @@ import TicketNotificationBell from '@/components/TicketNotificationBell'; import { MobileBottomNav } from './MobileBottomNav'; import { AppHeader } from './AppHeader'; +import { MovingGradient } from './MovingGradient'; import { slideUp, slideUpTransition } from '@/components/motion/transitions'; @@ -360,7 +361,10 @@ export function AppShell({ children }: AppShellProps) { : 64; return ( -
+
+ {/* Animated background */} + + {/* Global components */} diff --git a/src/components/layout/AppShell/MovingGradient.tsx b/src/components/layout/AppShell/MovingGradient.tsx new file mode 100644 index 0000000..d53ec30 --- /dev/null +++ b/src/components/layout/AppShell/MovingGradient.tsx @@ -0,0 +1,57 @@ +import { motion } from 'framer-motion'; + +/** + * Animated moving gradient background. + * Uses CSS variables for colors to support theme switching. + * Lightweight - pure CSS gradients with Framer Motion animation. + */ +export function MovingGradient() { + return ( +
+ {/* Base background */} +
+ + {/* Animated gradient layer */} + + + {/* Second animated layer - moves in opposite direction */} + + + {/* Subtle noise texture overlay */} +
+
+ ); +} diff --git a/src/components/layout/AppShell/index.ts b/src/components/layout/AppShell/index.ts index 233b39d..b21d562 100644 --- a/src/components/layout/AppShell/index.ts +++ b/src/components/layout/AppShell/index.ts @@ -2,3 +2,4 @@ export { AppShell } from './AppShell'; export { DesktopSidebar } from './DesktopSidebar'; export { MobileBottomNav } from './MobileBottomNav'; export { AppHeader } from './AppHeader'; +export { MovingGradient } from './MovingGradient';