refactor: sjednoceni skeleton loading a animaci napric vsemi moduly

- AttendanceAdmin: full-page skeleton misto castecneho (header+filtry+karty+tabulka)
- AttendanceHistory: fond karta vzdy v DOM se skeleton behem loading (fix pozdni animace)
- Trips: skeleton odpovida realne strukture (stat cards + tabulka misto circle rows)
- ReceivedInvoices: 3 skeleton radky zvyseny na 5 (konzistence)
- ProjectDetail: notes spinner nahrazen skeleton bloky
- Settings: 2FA text "Nacitani..." nahrazen skeleton line
- Sjednoceny animation delays: 0.05/0.12 opraveny na standardni 0.1/0.15
- OffersTemplates: pridany chybejici stagger delays
- Invoices: opraveny duplicitni delays na spravny stagger
- Attendance sidebar: delay snizen na 0.1 (soucasne s hlavnim obsahem)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-12 20:26:34 +01:00
parent b2c2ab6e7a
commit 36a864c852
12 changed files with 121 additions and 103 deletions

View File

@@ -327,7 +327,7 @@ export default function Invoices() {
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.4, delay: 0.1 }}
transition={{ duration: 0.4, delay: 0.15 }}
>
<Suspense fallback={
<div className="dash-kpi-grid dash-kpi-4" style={{ marginBottom: '1.5rem' }}>
@@ -348,7 +348,7 @@ export default function Invoices() {
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.4, delay: 0.1 }}
transition={{ duration: 0.4, delay: 0.15 }}
>
{!hasLoadedOnce.current && statsLoading ? (
<div className="dash-kpi-grid dash-kpi-4" style={{ marginBottom: '1.5rem' }}>
@@ -425,7 +425,7 @@ export default function Invoices() {
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.4, delay: 0.15 }}
transition={{ duration: 0.4, delay: 0.2 }}
>
<div className="offers-tabs" style={{ marginBottom: '1.5rem' }}>
{STATUS_FILTERS.map(f => (
@@ -445,7 +445,7 @@ export default function Invoices() {
className="admin-card"
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.4, delay: 0.2 }}
transition={{ duration: 0.4, delay: 0.25 }}
>
<div className="admin-card-body">
<div className="admin-search-bar" style={{ marginBottom: '1rem' }}>