Hackathon Builder commited on
Commit
bf73afc
·
1 Parent(s): 971c227

Fix Run Live Demo button event logic and improve dark mode text contrast

Browse files
frontend/dist/assets/index-BbEFA4Od.js ADDED
The diff for this file is too large to render. See raw diff
 
frontend/dist/index.html CHANGED
@@ -7,7 +7,7 @@
7
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
8
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
9
  <title>CodeBlue Context</title>
10
- <script type="module" crossorigin src="/assets/index-Dv4hd6Xq.js"></script>
11
  <link rel="stylesheet" crossorigin href="/assets/index-D1iW8Q3K.css">
12
  </head>
13
  <body>
 
7
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
8
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
9
  <title>CodeBlue Context</title>
10
+ <script type="module" crossorigin src="/assets/index-BbEFA4Od.js"></script>
11
  <link rel="stylesheet" crossorigin href="/assets/index-D1iW8Q3K.css">
12
  </head>
13
  <body>
frontend/src/App.jsx CHANGED
@@ -69,7 +69,9 @@ export default function App() {
69
 
70
  // Run 5-agent orchestration with staggered UI animation
71
  const runOrchestration = async (targetPatient = null) => {
72
- const p = targetPatient || selected;
 
 
73
  if (!p || running) return;
74
  setRunning(true);
75
  setBriefData(null);
 
69
 
70
  // Run 5-agent orchestration with staggered UI animation
71
  const runOrchestration = async (targetPatient = null) => {
72
+ // If targetPatient is an event object from a click handler, ignore it
73
+ const isEvent = targetPatient && targetPatient.nativeEvent;
74
+ const p = (targetPatient && !isEvent) ? targetPatient : selected;
75
  if (!p || running) return;
76
  setRunning(true);
77
  setBriefData(null);
frontend/src/Tutorial.jsx CHANGED
@@ -4,10 +4,10 @@ export default function Tutorial({ onComplete }) {
4
  return (
5
  <div className="welcome-screen">
6
  <div className="fade-up" style={{ maxWidth: 800, width: '100%' }}>
7
- <h1 style={{ fontSize: 32, fontWeight: 800, marginBottom: 10, letterSpacing: '-0.03em' }}>
8
  How CodeBlue Context Works
9
  </h1>
10
- <p style={{ color: 'var(--text-secondary)', fontSize: 16, marginBottom: 40 }}>
11
  3 simple steps to transform messy clinical records into structured emergency intelligence.
12
  </p>
13
 
@@ -16,8 +16,8 @@ export default function Tutorial({ onComplete }) {
16
  <div style={{ padding: 12, background: 'rgba(10,132,255,0.1)', borderRadius: 10, color: 'var(--blue-accent)', display: 'inline-block', marginBottom: 16 }}>
17
  <FileText size={24} />
18
  </div>
19
- <h3 style={{ fontSize: 16, fontWeight: 700, marginBottom: 8 }}>1. Upload Anything</h3>
20
- <p style={{ fontSize: 13, color: 'var(--text-secondary)', lineHeight: 1.5 }}>
21
  Doctors don't have structured JSON. Drop a raw clinical PDF, Word Doc, or photo into the dropzone. Our vision extraction system instantly parses it.
22
  </p>
23
  </div>
@@ -26,8 +26,8 @@ export default function Tutorial({ onComplete }) {
26
  <div style={{ padding: 12, background: 'rgba(255,45,85,0.1)', borderRadius: 10, color: 'var(--red-critical)', display: 'inline-block', marginBottom: 16 }}>
27
  <Cpu size={24} />
28
  </div>
29
- <h3 style={{ fontSize: 16, fontWeight: 700, marginBottom: 8 }}>2. 5-Agent Orchestration</h3>
30
- <p style={{ fontSize: 13, color: 'var(--text-secondary)', lineHeight: 1.5 }}>
31
  The record is passed sequentially through 5 specialized AI agents (Triage, Contraindication, Labs, Differentials, Action Protocol) to extract hidden insights.
32
  </p>
33
  </div>
@@ -36,8 +36,8 @@ export default function Tutorial({ onComplete }) {
36
  <div style={{ padding: 12, background: 'rgba(191,90,242,0.1)', borderRadius: 10, color: 'var(--purple-ai)', display: 'inline-block', marginBottom: 16 }}>
37
  <Key size={24} />
38
  </div>
39
- <h3 style={{ fontSize: 16, fontWeight: 700, marginBottom: 8 }}>3. Provide Your Brain</h3>
40
- <p style={{ fontSize: 13, color: 'var(--text-secondary)', lineHeight: 1.5 }}>
41
  To bypass our hackathon server rate limits, use the "Provide API Key" button in the dashboard navbar to safely inject your own Gemini key directly from your browser.
42
  </p>
43
  </div>
 
4
  return (
5
  <div className="welcome-screen">
6
  <div className="fade-up" style={{ maxWidth: 800, width: '100%' }}>
7
+ <h1 style={{ fontSize: 32, fontWeight: 800, marginBottom: 10, letterSpacing: '-0.03em', color: '#ffffff' }}>
8
  How CodeBlue Context Works
9
  </h1>
10
+ <p style={{ color: '#d1d5db', fontSize: 16, marginBottom: 40 }}>
11
  3 simple steps to transform messy clinical records into structured emergency intelligence.
12
  </p>
13
 
 
16
  <div style={{ padding: 12, background: 'rgba(10,132,255,0.1)', borderRadius: 10, color: 'var(--blue-accent)', display: 'inline-block', marginBottom: 16 }}>
17
  <FileText size={24} />
18
  </div>
19
+ <h3 style={{ fontSize: 16, fontWeight: 700, marginBottom: 8, color: '#ffffff' }}>1. Upload Anything</h3>
20
+ <p style={{ fontSize: 13, color: '#a1a1aa', lineHeight: 1.5 }}>
21
  Doctors don't have structured JSON. Drop a raw clinical PDF, Word Doc, or photo into the dropzone. Our vision extraction system instantly parses it.
22
  </p>
23
  </div>
 
26
  <div style={{ padding: 12, background: 'rgba(255,45,85,0.1)', borderRadius: 10, color: 'var(--red-critical)', display: 'inline-block', marginBottom: 16 }}>
27
  <Cpu size={24} />
28
  </div>
29
+ <h3 style={{ fontSize: 16, fontWeight: 700, marginBottom: 8, color: '#ffffff' }}>2. 5-Agent Orchestration</h3>
30
+ <p style={{ fontSize: 13, color: '#a1a1aa', lineHeight: 1.5 }}>
31
  The record is passed sequentially through 5 specialized AI agents (Triage, Contraindication, Labs, Differentials, Action Protocol) to extract hidden insights.
32
  </p>
33
  </div>
 
36
  <div style={{ padding: 12, background: 'rgba(191,90,242,0.1)', borderRadius: 10, color: 'var(--purple-ai)', display: 'inline-block', marginBottom: 16 }}>
37
  <Key size={24} />
38
  </div>
39
+ <h3 style={{ fontSize: 16, fontWeight: 700, marginBottom: 8, color: '#ffffff' }}>3. Provide Your Brain</h3>
40
+ <p style={{ fontSize: 13, color: '#a1a1aa', lineHeight: 1.5 }}>
41
  To bypass our hackathon server rate limits, use the "Provide API Key" button in the dashboard navbar to safely inject your own Gemini key directly from your browser.
42
  </p>
43
  </div>
frontend/src/Welcome.jsx CHANGED
@@ -30,13 +30,13 @@ export default function Welcome({ onStart }) {
30
  {/* Title */}
31
  <h1 style={{
32
  fontSize: 42, fontWeight: 900, letterSpacing: '-0.03em',
33
- background: 'linear-gradient(135deg, #f5f5f7 30%, #8e8e93)',
34
  WebkitBackgroundClip: 'text', WebkitTextFillColor: 'transparent',
35
  marginBottom: 8,
36
  }}>
37
  CodeBlue Context
38
  </h1>
39
- <p style={{ fontSize: 16, color: 'var(--text-secondary)', marginBottom: 32, maxWidth: 420, lineHeight: 1.6 }}>
40
  Emergency clinical intelligence. Five AI agents. One life-saving brief.
41
  </p>
42
 
 
30
  {/* Title */}
31
  <h1 style={{
32
  fontSize: 42, fontWeight: 900, letterSpacing: '-0.03em',
33
+ background: 'linear-gradient(135deg, #ffffff 30%, #a1a1aa)',
34
  WebkitBackgroundClip: 'text', WebkitTextFillColor: 'transparent',
35
  marginBottom: 8,
36
  }}>
37
  CodeBlue Context
38
  </h1>
39
+ <p style={{ fontSize: 16, color: '#d1d5db', marginBottom: 32, maxWidth: 420, lineHeight: 1.6 }}>
40
  Emergency clinical intelligence. Five AI agents. One life-saving brief.
41
  </p>
42