File size: 9,448 Bytes
2754b82
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
import React from 'react';
import { Target, Zap, AlertTriangle, ShieldCheck, TrendingUp } from 'lucide-react';
import { motion, Variants } from 'framer-motion';

const containerVariants: Variants = {
  hidden: { opacity: 0 },
  show: {
    opacity: 1,
    transition: {
      staggerChildren: 0.15
    }
  }
};

const itemVariants: Variants = {
  hidden: { opacity: 0, y: 30, scale: 0.96 },
  show: { opacity: 1, y: 0, scale: 1, transition: { type: "spring", stiffness: 280, damping: 20 } }
};

const DashboardHome: React.FC = () => {
  return (
    <motion.div variants={containerVariants} initial="hidden" animate="show" style={{ display: 'flex', flexDirection: 'column', gap: '2.5rem' }}>
        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(auto-fit, minmax(320px, 1fr))', gap: '2rem' }}>
            <motion.div variants={itemVariants} className="glass-card" style={{ borderLeft: '4px solid var(--accent-blue)', position: 'relative' }}>
                <div style={{ display: 'flex', gap: '1rem', alignItems: 'center', marginBottom: '1rem' }}>
                    <div style={{ background: 'rgba(59,130,246,0.1)', padding: '0.8rem', borderRadius: '10px' }}><Target color="var(--accent-blue)" /></div>
                    <div>
                        <div style={{ fontWeight: 'bold' }}>Dopasowanie Matcher</div>
                        <div style={{ fontSize: '0.8rem', color: 'var(--text-muted)' }}>Top 1 Program</div>
                    </div>
                </div>
                <h2 className="display-font" style={{ fontSize: '1.8rem', color: 'var(--text-primary)' }}>艢cie偶ka SMART</h2>
                <div style={{ display: 'flex', alignItems: 'center', gap: '0.5rem', marginTop: '0.8rem' }}>
                   <div style={{ padding: '0.3rem 0.6rem', background: 'rgba(59, 130, 246, 0.15)', borderRadius: '6px', color: 'var(--accent-blue)', fontWeight: 700 }}>92% Match</div>
                   <span style={{ fontSize: '0.85rem', color: 'var(--text-muted)' }}>Automatyzacja M艢P</span>
                </div>
            </motion.div>

            <motion.div variants={itemVariants} className="glass-card" style={{ background: 'linear-gradient(135deg, rgba(16, 185, 129, 0.12), transparent)', border: '1px solid rgba(16, 185, 129, 0.5)', position: 'relative', boxShadow: '0 10px 40px rgba(16, 185, 129, 0.1)' }}>
                <div style={{ display: 'flex', gap: '1rem', alignItems: 'center', marginBottom: '1.2rem' }}>
                    <div style={{ background: 'rgba(16,185,129,0.25)', padding: '0.8rem', borderRadius: '12px' }}><Zap color="var(--accent-green)" size={28} /></div>
                    <div>
                        <div style={{ fontWeight: 800, fontSize: '1.05rem', color: 'var(--text-primary)' }}>Szanse Dofinansowania</div>
                        <div style={{ fontSize: '0.85rem', color: 'var(--accent-green)', fontWeight: 600 }}>Na start inwestycji</div>
                    </div>
                </div>
                <h2 className="display-font" style={{ fontSize: '3.5rem', color: 'var(--text-primary)', display: 'flex', alignItems: 'center', gap: '0.5rem', textShadow: '0 0 50px rgba(16, 185, 129, 0.5)', fontWeight: 900 }}>
                   <span style={{ background: 'linear-gradient(90deg, #10B981, #34D399)', WebkitBackgroundClip: 'text', WebkitTextFillColor: 'transparent' }}>~2.4M</span>
                   <span style={{fontSize: '1.4rem', color: 'var(--text-muted)', fontWeight: 700}}>PLN</span>
                   <TrendingUp size={32} color="var(--accent-green)" style={{marginLeft: 'auto'}}/>
                </h2>
                <div style={{ display: 'flex', gap: '0.8rem', marginTop: '0.8rem', marginBottom: '1.5rem', flexWrap: 'wrap' }}>
                    <div style={{ fontSize: '0.85rem', background: 'rgba(16, 185, 129, 0.2)', color: 'var(--accent-green)', padding: '0.4rem 0.8rem', borderRadius: '6px', fontWeight: 800, display: 'flex', alignItems: 'center', gap: '0.4rem', boxShadow: '0 0 15px rgba(16, 185, 129, 0.25)' }}>
                         <TrendingUp size={14} /> Szansa Sukcesu: 88%
                    </div>
                    <div style={{ fontSize: '0.85rem', background: 'rgba(0, 0, 0, 0.4)', color: '#A7F3D0', padding: '0.4rem 0.8rem', borderRadius: '6px', fontWeight: 700, border: '1px solid rgba(16,185,129,0.3)' }}>
                         Intensywno艣膰 wsparcia (Dotacja): 65%
                    </div>
                </div>

                <div style={{ padding: '0.9rem', marginBottom: '0.5rem', background: 'rgba(16, 185, 129, 0.05)', borderRadius: '8px', border: '1px solid rgba(16,185,129,0.1)', fontSize: '0.85rem', color: 'var(--text-secondary)', lineHeight: 1.5 }}>
                    Warto艣膰 dofinansowania mo偶e nieznacznie ewoluowa膰 po uzupe艂nieniu brak贸w zadeklarowanych w module `Gap Analyzer`.
                </div>

                <motion.button 
                   whileHover={{ scale: 1.03, boxShadow: '0 0 35px rgba(16, 185, 129, 0.5)' }}
                   whileTap={{ scale: 0.97 }}
                   className="btn" 
                   style={{ 
                       width: '100%', 
                       marginTop: '1.5rem', 
                       background: 'linear-gradient(90deg, var(--accent-green), #059669)', 
                       color: '#fff', 
                       fontWeight: 800,
                       textTransform: 'uppercase',
                       letterSpacing: '1px',
                       boxShadow: '0 0 20px rgba(16, 185, 129, 0.3)'
                   }}>
                   Generuj pe艂ny wniosek
                </motion.button>
            </motion.div>
        </div>

        <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '2rem' }}>
             <motion.div variants={itemVariants} className="glass-card" style={{ borderTop: '4px solid var(--accent-red)' }}>
                 <h3 style={{ display: 'flex', alignItems: 'center', gap: '0.5rem', marginBottom: '1.5rem', color: '#EF4444', fontWeight: 800 }}>
                    <AlertTriangle size={22} color="#EF4444"/> Ryzyka i Braki (Gap Analyzer)
                 </h3>
                 <ul style={{ display: 'flex', flexDirection: 'column', gap: '1rem', listStyle: 'none', padding: 0 }}>
                    <li style={{ padding: '1.2rem', background: 'rgba(239, 68, 68, 0.1)', borderRadius: '12px', borderLeft: '4px solid #F97316' }}>
                        <strong style={{ color: '#fff', fontSize: '1.05rem', letterSpacing: '0.5px' }}>Brak opisu redukcji 艣ladu w臋glowego.</strong> 
                        <div style={{ fontSize: '0.95rem', color: '#fff', opacity: 0.9, marginTop: '0.6rem', lineHeight: '1.5', fontWeight: 500 }}>Wym贸g zgodno艣ci z dyrektyw膮 DNSH, wniosek mo偶e by膰 obni偶ony o <span style={{ color: '#F87171', fontWeight: 800 }}>2 punkty</span> na starcie przez brak tego obszaru.</div>
                    </li>
                    <li style={{ padding: '1.2rem', background: 'rgba(239, 68, 68, 0.1)', borderRadius: '12px', borderLeft: '4px solid #EF4444' }}>
                        <strong style={{ color: '#fff', fontSize: '1.05rem', letterSpacing: '0.5px' }}>Niewystarczaj膮cy opis algorytmu AI.</strong> 
                        <div style={{ fontSize: '0.95rem', color: '#fff', opacity: 0.9, marginTop: '0.6rem', lineHeight: '1.5', fontWeight: 500 }}>Critic zaleca <span style={{ color: '#F87171', fontWeight: 800 }}>szczeg贸艂owe rozpisanie architektury sieci</span> w sekcji technicznej przed wygenerowaniem rewizji.</div>
                    </li>
                 </ul>
             </motion.div>

             <motion.div variants={itemVariants} className="glass-card">
                 <h3 className="display-font" style={{ display: 'flex', alignItems: 'center', gap: '0.6rem', marginBottom: '1.5rem', color: 'var(--text-primary)', fontSize: '1.1rem' }}>
                     <ShieldCheck size={20} color="var(--accent-green)"/> Mocne Strony Aplikacji
                 </h3>
                 <ul style={{ display: 'flex', flexDirection: 'column', gap: '1rem', listStyle: 'none', padding: 0 }}>
                    <li style={{ padding: '1.2rem', background: 'rgba(16,185,129,0.08)', borderRadius: '12px', borderLeft: '4px solid var(--accent-green)' }}>
                        <strong style={{fontSize: '1.05rem', color: '#fff', letterSpacing: '0.5px'}}>Zgodno艣膰 z Przemys艂em 4.0.</strong> 
                        <div style={{ fontSize: '0.95rem', color: '#fff', opacity: 0.9, marginTop: '0.6rem', lineHeight: '1.5', fontWeight: 500 }}>System CNC w pe艂ni asymiluje wytyczne dla robotyzacji, co znacz膮co <span style={{ color: '#34D399', fontWeight: 800 }}>podwy偶sza bazowy scorning</span> innowacyjno艣ci.</div>
                    </li>
                    <li style={{ padding: '1.2rem', background: 'rgba(16,185,129,0.08)', borderRadius: '12px', borderLeft: '4px solid var(--accent-green)' }}>
                        <strong style={{fontSize: '1.05rem', color: '#fff', letterSpacing: '0.5px'}}>Przewidywana Mierzalna Skalowalno艣膰.</strong> 
                        <div style={{ fontSize: '0.95rem', color: '#fff', opacity: 0.9, marginTop: '0.6rem', lineHeight: '1.5', fontWeight: 500 }}>Projekt gotowy do komercjalizacji na innych liniach produkcyjnych (zbadany rynek zbytu).</div>
                    </li>
                 </ul>
             </motion.div>
        </div>
    </motion.div>
  );
};

export default DashboardHome;