File size: 3,280 Bytes
5a81b95
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import React from 'react';
import { ReactorStatCards } from './reactor/ReactorStatCards';
import { ReactorLogList } from './reactor/ReactorLogList';
import { ReactorSystemGrid } from './reactor/ReactorSystemGrid';
import { ReactorTelemetryCharts } from './reactor/ReactorTelemetryCharts';

const ReactorCoreStatusWidget = () => {
  return (
    <div className="min-h-screen bg-[#0f172a] p-4 md:p-6 overflow-y-auto font-display selection:bg-green-500/30 selection:text-green-200">
      {/* SCADA CSS Injection for this page only */}
      <style>{`
        .scada-panel {
            backdrop-filter: blur(5px);
            position: relative;
        }
        .scada-panel::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0; height: 1px;
            background: linear-gradient(90deg, transparent, rgba(34,197,94,0.5), transparent);
            opacity: 0.5;
        }
        /* Scanline effect */
        .scanlines {
            background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,0) 50%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0.2));
            background-size: 100% 4px;
            position: fixed;
            pointer-events: none;
            top: 0; left: 0; right: 0; bottom: 0;
            z-index: 50;
            opacity: 0.15;
        }
      `}</style>

      <div className="scanlines"></div>

      <div className="max-w-7xl mx-auto space-y-6 relative z-10">
        
        {/* 1. Top Status Widgets */}
        <section>
          <ReactorStatCards />
        </section>

        {/* 2. Briefing Panel */}
        <section className="scada-panel rounded p-4 bg-slate-800/40 border border-slate-700/50">
            <h2 className="text-xs font-bold text-blue-400 uppercase tracking-widest mb-2 border-l-2 border-blue-500 pl-3">
              System Broadcast
            </h2>
            <p className="text-slate-400 leading-relaxed font-mono text-xs md:text-sm">
                :: CHANNEL SECURE :: <br />
                Reaktor-loggen bekræfter succesfuld berigning af isotop <code className="text-green-400">GraphIngestor</code>. 
                Sikkerhedsprotokol <code className="text-green-400">SelfHealingAdapter</code> er online.
                Alle systemer kører i Hybrid Mode (Neo4j AuraDB + Local Node).
                :: END OF LINE ::
            </p>
        </section>

        {/* 3. Main Dashboard Layout */}
        <div className="grid grid-cols-1 lg:grid-cols-3 gap-6 h-[calc(100vh-300px)] min-h-[600px]">

            {/* LEFT: Log (1/3 width) */}
            <div className="lg:col-span-1 h-full min-h-[400px]">
                <ReactorLogList />
            </div>

            {/* RIGHT: System & Charts (2/3 width) */}
            <div className="lg:col-span-2 flex flex-col gap-6 h-full">
                
                {/* Top Right: System Grid */}
                <div className="flex-1 min-h-[200px]">
                    <ReactorSystemGrid />
                </div>

                {/* Bottom Right: Charts */}
                <div className="flex-1 min-h-[250px]">
                    <ReactorTelemetryCharts />
                </div>

            </div>
        </div>
      </div>
    </div>
  );
};

export default ReactorCoreStatusWidget;