Samad14 commited on
Commit
8b8e15b
路
1 Parent(s): 867aec4

Restore DNA helix as full-window landing hero background, drop fake HUD readout

Browse files
bioai-platform/frontend/src/app/page.tsx CHANGED
@@ -4,7 +4,7 @@ import dynamic from 'next/dynamic';
4
  import Link from 'next/link';
5
  import { useRef } from 'react';
6
  import { motion, useScroll, useTransform } from 'framer-motion';
7
- import { ArrowRight, Database, FlowArrow, Brain, Dna, CaretDown as ChevronDown } from '@phosphor-icons/react';
8
 
9
  const DNAHelix = dynamic(
10
  () => import('@/components/three/DNAHelix'),
@@ -52,6 +52,7 @@ export default function LandingPage() {
52
 
53
  const contentY = useTransform(scrollYProgress, [0, 1], ['0%', '12%']);
54
  const contentOpacity = useTransform(scrollYProgress, [0, 0.6], [1, 0.2]);
 
55
 
56
  return (
57
  <main className="relative bg-void text-text-primary overflow-x-hidden">
@@ -85,7 +86,14 @@ export default function LandingPage() {
85
  ref={heroRef}
86
  className="relative min-h-[100dvh] flex items-center overflow-hidden"
87
  >
88
- <div className="absolute inset-0 z-0 pointer-events-none">
 
 
 
 
 
 
 
89
  <div
90
  className="absolute inset-0"
91
  style={{
@@ -93,13 +101,16 @@ export default function LandingPage() {
93
  'radial-gradient(ellipse 55% 55% at 78% 45%, rgba(45,212,191,0.06) 0%, transparent 70%), radial-gradient(ellipse 45% 45% at 12% 70%, rgba(139,147,214,0.05) 0%, transparent 70%)',
94
  }}
95
  />
96
- </div>
 
 
 
97
 
98
  <motion.div
99
  style={{ y: contentY, opacity: contentOpacity }}
100
- className="relative z-10 w-full max-w-6xl mx-auto px-6 py-24 grid lg:grid-cols-[1.1fr_0.9fr] gap-14 items-center"
101
  >
102
- <div>
103
  <motion.h1
104
  initial={{ opacity: 0, y: 24 }}
105
  animate={{ opacity: 1, y: 0 }}
@@ -147,37 +158,6 @@ export default function LandingPage() {
147
  <span>8 services online 路 results streamed live</span>
148
  </motion.div>
149
  </div>
150
-
151
- <div className="relative">
152
- <div className="relative rounded-2xl border border-glass-border bg-surface-0 overflow-hidden shadow-glass-md aspect-[4/5] max-h-[560px]">
153
- <span className="absolute top-3 left-3 w-4 h-4 border-t border-l border-accent-cyan/40 z-20" />
154
- <span className="absolute top-3 right-3 w-4 h-4 border-t border-r border-accent-cyan/40 z-20" />
155
- <span className="absolute bottom-3 left-3 w-4 h-4 border-b border-l border-accent-cyan/40 z-20" />
156
- <span className="absolute bottom-3 right-3 w-4 h-4 border-b border-r border-accent-cyan/40 z-20" />
157
-
158
- <div className="absolute top-0 inset-x-0 z-10 h-11 border-b border-glass-border flex items-center justify-between px-4 bg-surface-1/80 backdrop-blur">
159
- <span className="text-[10px] font-mono text-text-muted">P01162 路 ALPHA-LACTALBUMIN</span>
160
- <span className="flex items-center gap-1.5 text-[10px] font-mono text-accent-cyan">
161
- <span className="w-1 h-1 rounded-full bg-accent-cyan animate-pulse" />
162
- SIGNAL
163
- </span>
164
- </div>
165
-
166
- <div className="absolute inset-0 z-0 pt-11 pb-10">
167
- <DNAHelix className="w-full h-full" />
168
- </div>
169
-
170
- <div className="absolute inset-0 z-[5] overflow-hidden pointer-events-none">
171
- <div className="h-[30%] w-full bg-gradient-to-b from-transparent via-accent-cyan/10 to-transparent animate-scan" />
172
- </div>
173
-
174
- <div className="absolute bottom-0 inset-x-0 z-10 border-t border-glass-border bg-surface-1/80 backdrop-blur px-4 py-2.5 flex items-center justify-between gap-2">
175
- <span className="text-[10px] font-mono text-text-muted">E-value 1e-82</span>
176
- <span className="text-[10px] font-mono text-accent-amber">42% identity</span>
177
- <span className="text-[10px] font-mono text-accent-purple">AF 路 Q5XXK5</span>
178
- </div>
179
- </div>
180
- </div>
181
  </motion.div>
182
 
183
  <motion.div
 
4
  import Link from 'next/link';
5
  import { useRef } from 'react';
6
  import { motion, useScroll, useTransform } from 'framer-motion';
7
+ import { ArrowRight, Database, FlowArrow, Brain, CaretDown as ChevronDown } from '@phosphor-icons/react';
8
 
9
  const DNAHelix = dynamic(
10
  () => import('@/components/three/DNAHelix'),
 
52
 
53
  const contentY = useTransform(scrollYProgress, [0, 1], ['0%', '12%']);
54
  const contentOpacity = useTransform(scrollYProgress, [0, 0.6], [1, 0.2]);
55
+ const helixY = useTransform(scrollYProgress, [0, 1], ['0%', '22%']);
56
 
57
  return (
58
  <main className="relative bg-void text-text-primary overflow-x-hidden">
 
86
  ref={heroRef}
87
  className="relative min-h-[100dvh] flex items-center overflow-hidden"
88
  >
89
+ <motion.div
90
+ style={{ y: helixY }}
91
+ className="absolute inset-0 z-0 pointer-events-none"
92
+ >
93
+ <div className="absolute inset-0 opacity-50">
94
+ <DNAHelix className="w-full h-full" />
95
+ </div>
96
+
97
  <div
98
  className="absolute inset-0"
99
  style={{
 
101
  'radial-gradient(ellipse 55% 55% at 78% 45%, rgba(45,212,191,0.06) 0%, transparent 70%), radial-gradient(ellipse 45% 45% at 12% 70%, rgba(139,147,214,0.05) 0%, transparent 70%)',
102
  }}
103
  />
104
+
105
+ <div className="absolute inset-0 bg-gradient-to-r from-void via-void/55 to-transparent" />
106
+ <div className="absolute inset-0 bg-gradient-to-b from-void/70 via-transparent to-void/70" />
107
+ </motion.div>
108
 
109
  <motion.div
110
  style={{ y: contentY, opacity: contentOpacity }}
111
+ className="relative z-10 w-full max-w-6xl mx-auto px-6 py-24"
112
  >
113
+ <div className="max-w-3xl">
114
  <motion.h1
115
  initial={{ opacity: 0, y: 24 }}
116
  animate={{ opacity: 1, y: 0 }}
 
158
  <span>8 services online 路 results streamed live</span>
159
  </motion.div>
160
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  </motion.div>
162
 
163
  <motion.div