All files / src/components EmptyState.jsx

0% Statements 0/2
0% Branches 0/8
0% Functions 0/1
0% Lines 0/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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                                                             
import React from 'react';
import { useLabState } from '../useLabState';
import { Atom, Zap, Globe, Map } from 'lucide-react';
import JournalSidebar from './JournalSidebar';
 
export default function EmptyState() {
  const { selectedModelObj, webGroundingEnabled, isAutoLoopEnabled, journalOpen } = useLabState();
 
  return (
    <div className="flex-1 flex flex-row h-full overflow-hidden">
      <div className="flex-1 flex flex-col items-center justify-center p-8 text-center bg-lab-bg/50">
        <div className="relative mb-8">
          <div className="absolute inset-0 bg-lab-accent/5 rounded-full blur-3xl scale-150" />
          <Atom className="w-20 h-20 text-lab-accent/15 animate-pulse relative" />
        </div>
        <h2 className="text-lg font-bold mb-2 text-lab-fg tracking-wide">Ready for Research</h2>
        <p className="text-lab-fg-muted text-xs max-w-xs leading-relaxed mb-6">
          Describe a scientific concept to explore. The agent will build an interactive simulation.
        </p>
        <div className="flex items-center gap-2 text-[10px] text-lab-fg-muted">
          <span className="flex items-center gap-1"><Zap className="w-3 h-3" /> {selectedModelObj?.name || 'Model'}</span>
          <span className="text-lab-fg-muted">|</span>
          <span className="flex items-center gap-1">{webGroundingEnabled ? <><Globe className="w-3 h-3 text-lab-accent" /> Grounded</> : <><Globe className="w-3 h-3" /> No grounding</>}</span>
          {isAutoLoopEnabled && <><span className="text-lab-fg-muted">|</span><span className="flex items-center gap-1 text-lab-warning"><Map className="w-3 h-3" /> Auto-loop</span></>}
        </div>
      </div>
      {journalOpen && <JournalSidebar />}
    </div>
  );
}