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:
@@ -255,15 +255,27 @@ export default function AttendanceHistory() {
|
||||
</motion.div>
|
||||
|
||||
{/* Monthly Fund Card */}
|
||||
{!loading && data.monthly_fund && (
|
||||
<motion.div
|
||||
className="admin-card"
|
||||
style={{ marginBottom: '1.5rem' }}
|
||||
initial={{ opacity: 0, y: 20 }}
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
transition={{ duration: 0.4, delay: 0.15 }}
|
||||
>
|
||||
<div className="admin-card-body">
|
||||
<motion.div
|
||||
className="admin-card"
|
||||
style={{ marginBottom: '1.5rem' }}
|
||||
initial={{ opacity: 0, y: 20 }}
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
transition={{ duration: 0.4, delay: 0.15 }}
|
||||
>
|
||||
<div className="admin-card-body">
|
||||
{loading && (
|
||||
<div className="admin-skeleton" style={{ gap: '0.5rem' }}>
|
||||
<div className="admin-skeleton-row" style={{ gap: '1rem' }}>
|
||||
<div className="admin-skeleton-line" style={{ width: '48px', height: '48px', borderRadius: '12px', flexShrink: 0 }} />
|
||||
<div style={{ flex: 1 }}>
|
||||
<div className="admin-skeleton-line w-1/2" style={{ marginBottom: '0.5rem' }} />
|
||||
<div className="admin-skeleton-line w-full" style={{ height: '6px', borderRadius: '3px' }} />
|
||||
<div className="admin-skeleton-line w-1/3" style={{ height: '10px', marginTop: '0.5rem' }} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{!loading && data.monthly_fund && (
|
||||
<div style={{ display: 'flex', alignItems: 'center', gap: '1rem', flexWrap: 'wrap' }}>
|
||||
<div className="admin-stat-icon info">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
|
||||
@@ -310,9 +322,14 @@ export default function AttendanceHistory() {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</motion.div>
|
||||
)}
|
||||
)}
|
||||
{!loading && !data.monthly_fund && (
|
||||
<div className="text-muted" style={{ fontSize: '0.875rem', textAlign: 'center', padding: '0.5rem 0' }}>
|
||||
Fond měsíce není k dispozici
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</motion.div>
|
||||
|
||||
{/* Records Table */}
|
||||
<motion.div
|
||||
|
||||
Reference in New Issue
Block a user