1- import { useState } from "react" ;
1+ import React from "react" ;
22import { FiChevronRight } from "react-icons/fi" ;
3- import { FaGithub , FaXTwitter } from "react-icons/fa6" ;
3+ import { Link } from "@tanstack/react-router" ;
4+ import { Navbar } from "./components/Navbar" ;
45import { TechCard } from "./components/TechCard" ;
56import type { TechCardProps } from "./components/TechCard" ;
67
@@ -71,7 +72,7 @@ const technologies = [
7172] as const satisfies TechCardProps [ ] ;
7273
7374export function App ( ) {
74- const [ copied , setCopied ] = useState ( false ) ;
75+ const [ copied , setCopied ] = React . useState ( false ) ;
7576 const command = "bun create thunder-app@latest" ;
7677
7778 const handleCopy = async ( ) => {
@@ -84,26 +85,7 @@ export function App() {
8485
8586 return (
8687 < main className = "relative flex flex-1 flex-col items-center gap-32 justify-start px-4 py-12" >
87- < div className = "fixed top-8 right-8 flex items-center gap-4 text-white/80" >
88- < a
89- aria-label = "Open GitHub repository"
90- className = "hover:text-white transition-colors duration-200"
91- href = "https://github.com/acrichards3/thunder-cli"
92- rel = "noopener noreferrer"
93- target = "_blank"
94- >
95- < FaGithub className = "h-10 w-10 drop-shadow" />
96- </ a >
97- < a
98- aria-label = "Open X profile"
99- className = "hover:text-white transition-colors duration-200"
100- href = "https://x.com/Acricha3"
101- rel = "noopener noreferrer"
102- target = "_blank"
103- >
104- < FaXTwitter className = "h-10 w-10 drop-shadow" />
105- </ a >
106- </ div >
88+ < Navbar hideLogo />
10789 < div className = "flex flex-col items-center gap-6" >
10890 < img
10991 alt = "Thunder App Logo"
@@ -114,23 +96,25 @@ export function App() {
11496 Build < span className = "text-cyan-400" > lightning fast</ span > full-stack
11597 TypeScript apps with Bun
11698 </ h1 >
117- < a
99+ < Link
118100 aria-label = "View documentation"
119101 className = "group inline-flex items-center gap-2 text-cyan-300 hover:text-cyan-200 text-base sm:text-lg font-semibold tracking-wide transition-colors duration-200"
120- href = "https://www.npmjs.com/package/create-thunder-app"
121- rel = "noopener noreferrer"
122- target = "_blank"
102+ to = "/introduction"
123103 >
124104 View documentation
125105 < FiChevronRight
126106 aria-hidden = "true"
127107 className = "h-5 w-5 transition-transform duration-200 group-hover:translate-x-0.5"
128108 />
129- </ a >
109+ </ Link >
130110 < div className = "flex items-center gap-3 bg-white/5 border border-cyan-500/20 rounded-lg px-4 py-3 max-w-2xl w-full group hover:border-cyan-400/40 transition-colors duration-200" >
131111 < code className = "text-white text-lg font-mono flex-1" > { command } </ code >
132112 < button
133- className = "px-4 py-2 bg-cyan-500/20 hover:bg-cyan-500/30 border border-cyan-500/40 rounded text-cyan-300 text-sm font-semibold transition-colors duration-200 cursor-pointer shrink-0"
113+ className = { `px-4 py-2 rounded text-sm font-semibold transition-colors duration-200 cursor-pointer shrink-0 ${
114+ copied
115+ ? "bg-green-500/30 hover:bg-green-500/40 border border-green-400 text-green-200"
116+ : "bg-cyan-500/20 hover:bg-cyan-500/30 border border-cyan-500/40 text-cyan-300"
117+ } `}
134118 onClick = { handleCopy }
135119 type = "button"
136120 >
@@ -144,7 +128,8 @@ export function App() {
144128 Build fast. < span className = "text-cyan-400" > Run faster.</ span >
145129 </ h2 >
146130 < p className = "text-gray-400 text-lg" >
147- A lean TypeScript stack tuned for runtime speed and developer speed
131+ A lean TypeScript stack tuned for runtime speed and developer
132+ experience
148133 </ p >
149134 </ div >
150135 < div className = "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 max-w-6xl w-full" >
0 commit comments