11import "../styles/routes/landing.css" ;
2- import { ArrowDown , ArrowUpRight } from "lucide-react" ;
2+ import { ArrowDown , ArrowUpRight , ArrowRight } from "lucide-react" ;
33import { useState } from "react" ;
44
55
66function Landing ( ) {
77
8+ const [ openIndex , setOpenIndex ] = useState ( null ) ;
9+
810 const generateBinary = ( length = 256 ) => {
911 return Array . from ( { length} , ( _ , i ) => i % 2 ? 1 : 0 ) . join ( "" ) ;
1012 }
@@ -61,7 +63,7 @@ function Landing() {
6163 Learn More < ArrowDown size = { 16 } strokeWidth = { 2 } />
6264 </ div >
6365 </ a >
64- < a href = { "#footer" } >
66+ < a href = { "https://rsvp.hackclub.community/cipher" } target = "_blank" rel = "noopener noreferrer" >
6567 < div className = { "button-container-important" } >
6668 RSVP < ArrowUpRight size = { 16 } strokeWidth = { 3 } />
6769 </ div >
@@ -176,7 +178,7 @@ function Landing() {
176178 { /*</div>*/ }
177179 < a href = { "http://hackclub.com/slack" } target = "_blank" rel = "noopener noreferrer" >
178180 < div className = { "button-container-important" } >
179- Join Slack
181+ Join Slack < ArrowRight size = { 16 } strokeWidth = { 3 } />
180182 </ div >
181183 </ a >
182184 </ div >
@@ -222,35 +224,44 @@ function Landing() {
222224 < p > Some of your pressing questions about < i > CIPHER</ i > < br />
223225 has been answered below: </ p >
224226
225- < div className = { "container" } >
226- < div className = { "faq" } >
227- < div className = { "question" } > Q. When will this start?</ div >
228- < div className = { "answer" } > < i > CIPHER</ i > is a YSWS concept. If this gets selected for 2026 Summer
229- Internship or if I get sponsors this will become a reality! Keep an eye on #cipher!
230- </ div >
231- </ div >
232- < div className = { "faq" } >
233- < div className = { "question" } > Q. Can I submit multiple projects?</ div >
234- < div className = { "answer" } > YES! in fact you are encouraged to make multiple projects.</ div >
235- </ div >
236- < div className = { "faq" } >
237- < div className = { "question" } > Q. What is < i > "BYTES"</ i > ?</ div >
238- < div className = { "answer" } >
239- < i > BYTES</ i > are the fake currency of Cipher. After submitting a project, it will go through
240- voting. The result of the voting determines how many < i > BYTES</ i > you'll receive for each
241- hour coded.< br /> < br />
242- Use the < i > BYTES</ i > to buy something nice!
243- </ div >
244- </ div >
245- < div className = { "faq" } >
246- < div className = { "question" } > Q. How do I track time?</ div >
247- < div className = { "answer" } >
248- Use Hackatime, an editor extension that tracks the time you spend coding. You can install it
249- < a href = { "https://hackatime.hackclub.com/" } target = "_blank"
250- rel = "noopener noreferrer" > here</ a >
251- !
227+ < div className = "container" >
228+ { [
229+ {
230+ q : "When will this start?" ,
231+ a : < > < i > CIPHER</ i > is a YSWS concept. If this gets selected for 2026 Summer Internship or if I get sponsors this will become a reality! Keep an eye on #cipher! </ >
232+ } ,
233+ {
234+ q : "Can I submit multiple projects?" ,
235+ a : < > YES! in fact you are encouraged to make multiple projects.</ >
236+ } ,
237+ {
238+ q : 'What is "BYTES"?' ,
239+ a : < > < i > BYTES</ i > are the fake currency of Cipher. After submitting a project, it will go through
240+ voting. The result of the voting determines how many < i > BYTES</ i > you'll receive for each
241+ hour coded.< br /> < br />
242+ Use the < i > BYTES</ i > to buy something nice! </ >
243+ } ,
244+ {
245+ q : "How do I track time?" ,
246+ a : < > Use Hackatime, an editor extension that tracks the time you spend coding. You can install it
247+ < a href = { "https://hackatime.hackclub.com/" } target = "_blank"
248+ rel = "noopener noreferrer" > here</ a >
249+ !</ >
250+ }
251+ ] . map ( ( item , i ) => (
252+ < div className = "faq" key = { i } >
253+ < div
254+ className = "question"
255+ onClick = { ( ) => setOpenIndex ( openIndex === i ? null : i ) }
256+ >
257+ Q. { item . q }
258+ </ div >
259+
260+ < div className = { `answer ${ openIndex === i ? "open" : "" } ` } >
261+ { item . a }
262+ </ div >
252263 </ div >
253- </ div >
264+ ) ) }
254265 </ div >
255266 </ section >
256267 < section id = { "footer" } className = { "footer" } >
@@ -267,12 +278,16 @@ function Landing() {
267278 < p > CIPHER is nowhere near completion. So, if you want CIPHER to become a reality, RSVP now! and
268279 keep an eye on #cipher!</ p >
269280 < div className = { "buttons" } >
270- < div className = { "button-container" } >
271- Join Slack
272- </ div >
273- < div className = { "button-container" } >
274- RSVP
275- </ div >
281+ < a href = { "https://hackclub.com/slack" } target = { "_blank" } rel = "noopener noreferrer" >
282+ < div className = { "button-container" } >
283+ Join Slack < ArrowUpRight size = { 16 } strokeWidth = { 3 } />
284+ </ div >
285+ </ a >
286+ < a href = { "https://rsvp.hackclub.community/cipher" } target = { "_blank" } rel = "noopener noreferrer" >
287+ < div className = { "button-container" } >
288+ RSVP < ArrowUpRight size = { 16 } strokeWidth = { 3 } />
289+ </ div >
290+ </ a >
276291 </ div >
277292 </ div >
278293 < div className = { "footer" } >
0 commit comments