1- import React , { useEffect } from 'react' ;
1+ import React , { useEffect } from 'react' ;
22import './Welcome.css' ;
33import Footer from '../../components/Footer' ;
44import Header from '../../components/Header' ;
5- import { useAuth } from '../../contexts/AuthContext' ;
5+ import { useAuth } from '../../contexts/AuthContext' ;
66
77const Welcome : React . FC = ( ) => {
8- const { loadUserState } = useAuth ( ) ;
8+ const { loadUserState} = useAuth ( ) ;
99
1010 useEffect ( ( ) => {
1111 // Load user state when Welcome page mounts
@@ -20,13 +20,14 @@ const Welcome: React.FC = () => {
2020 { /* Hero Section */ }
2121 < section className = "hero" >
2222 < div className = "hero-content" >
23- < div className = "hero-badge" > Powered by Anthropic Claude</ div >
23+ < div className = "hero-badge" > Powered by Claude & Codex </ div >
2424 < h1 className = "hero-title" >
25- Your Terminal's AI Agent,< br /> Now In Your Pocket
25+ Your Terminal's AI Agent, Now In Your Pocket
2626 </ h1 >
2727 < p className = "hero-description" >
2828 Start AI coding tasks on your computer, from your phone.
29- Get notified when they're done. All using your own machine and your own tools. Attributed to you.
29+ Get notified when they're done. All using your own machine and your own tools. Attributed to
30+ you.
3031 </ p >
3132
3233 < div className = "hero-actions" >
@@ -93,14 +94,15 @@ const Welcome: React.FC = () => {
9394 < div className = "problem-card" >
9495 < div className = "card-icon" > 😓</ div >
9596 < h3 > The Problem</ h3 >
96- < p > Stuck waiting for AI tasks to complete? Need to step away but want to stay productive?
97- Long-running builds, tests, and code reviews keeping you tethered to your desk?</ p >
97+ < p > Stuck waiting for AI tasks to complete? Need to step away but want to stay
98+ productive?
99+ Long-running builds, tests, and code reviews keeping you tethered to your desk?</ p >
98100 </ div >
99101 < div className = "solution-card" >
100102 < div className = "card-icon" > ✨</ div >
101103 < h3 > The Solution</ h3 >
102104 < p > Salamander lets you run AI tasks from your phone and get notified when
103- they're done. Work from anywhere while your machine handles the heavy lifting.</ p >
105+ they're done. Work from anywhere while your machine handles the heavy lifting.</ p >
104106 </ div >
105107 </ div >
106108 </ div >
@@ -129,7 +131,8 @@ const Welcome: React.FC = () => {
129131 < div className = "use-case-card" >
130132 < div className = "use-case-icon" > 🏢</ div >
131133 < h3 > Long Builds</ h3 >
132- < p > Deploy a build before signing off for the day. Know when it's done or if there are issues without having to stay at your keyboard.</ p >
134+ < p > Deploy a build before signing off for the day. Know when it's done or if there are
135+ issues without having to stay at your keyboard.</ p >
133136 </ div >
134137 < div className = "use-case-card" >
135138 < div className = "use-case-icon" > 💻</ div >
@@ -189,7 +192,7 @@ const Welcome: React.FC = () => {
189192 < h4 > Salamander</ h4 >
190193 < ul >
191194 < li className = "positive" > Full environment control</ li >
192- < li className = "positive" > Pay only for Claude API usage or Claude Pro </ li >
195+ < li className = "positive" > Pay only for AI API usage ( Claude or Codex) </ li >
193196 < li className = "positive" > Your commits, your credit</ li >
194197 < li className = "positive" > Use any tool you want</ li >
195198 </ ul >
@@ -232,38 +235,38 @@ const Welcome: React.FC = () => {
232235 < div className = "comparison-table-wrapper" >
233236 < table className = "comparison-table" >
234237 < thead >
235- < tr >
236- < th > Feature</ th >
237- < th className = "highlight-col" > Salamander</ th >
238- < th > Cloud AI IDEs</ th >
239- < th > GitHub Copilot</ th >
240- </ tr >
238+ < tr >
239+ < th > Feature</ th >
240+ < th className = "highlight-col" > Salamander</ th >
241+ < th > Cloud AI IDEs</ th >
242+ < th > GitHub Copilot</ th >
243+ </ tr >
241244 </ thead >
242245 < tbody >
243- < tr >
244- < td > Use your own machine</ td >
245- < td className = "highlight-col" > < span className = "check" > ✓</ span > </ td >
246- < td > < span className = "cross" > ✗</ span > </ td >
247- < td > < span className = "cross" > ✗</ span > </ td >
248- </ tr >
249- < tr >
250- < td > Mobile control</ td >
251- < td className = "highlight-col" > < span className = "check" > ✓</ span > </ td >
252- < td > < span className = "cross" > ✗</ span > </ td >
253- < td > < span className = "cross" > ✗</ span > </ td >
254- </ tr >
255- < tr >
256- < td > Your tools & environment </ td >
257- < td className = "highlight-col" > < span className = "check" > ✓</ span > </ td >
258- < td > < span className = "partial" > Limited</ span > </ td >
259- < td > < span className = "partial" > Limited</ span > </ td >
260- </ tr >
261- < tr >
262- < td > Direct commit attribution</ td >
263- < td className = "highlight-col" > < span className = "check" > ✓</ span > </ td >
264- < td > < span className = "cross" > Bot commits</ span > </ td >
265- < td > < span className = "cross" > Bot commits</ span > </ td >
266- </ tr >
246+ < tr >
247+ < td > Use your own machine</ td >
248+ < td className = "highlight-col" > < span className = "check" > ✓</ span > </ td >
249+ < td > < span className = "cross" > ✗</ span > </ td >
250+ < td > < span className = "cross" > ✗</ span > </ td >
251+ </ tr >
252+ < tr >
253+ < td > Mobile control</ td >
254+ < td className = "highlight-col" > < span className = "check" > ✓</ span > </ td >
255+ < td > < span className = "cross" > ✗</ span > </ td >
256+ < td > < span className = "cross" > ✗</ span > </ td >
257+ </ tr >
258+ < tr >
259+ < td > Your tools & environment </ td >
260+ < td className = "highlight-col" > < span className = "check" > ✓</ span > </ td >
261+ < td > < span className = "partial" > Limited</ span > </ td >
262+ < td > < span className = "partial" > Limited</ span > </ td >
263+ </ tr >
264+ < tr >
265+ < td > Direct commit attribution</ td >
266+ < td className = "highlight-col" > < span className = "check" > ✓</ span > </ td >
267+ < td > < span className = "cross" > Bot commits</ span > </ td >
268+ < td > < span className = "cross" > Bot commits</ span > </ td >
269+ </ tr >
267270 </ tbody >
268271 </ table >
269272 </ div >
@@ -278,33 +281,36 @@ const Welcome: React.FC = () => {
278281 < div className = "faq-item" >
279282 < h3 > Is my code sent anywhere?</ h3 >
280283 < p > Your code stays on your machine. Only the prompts and responses are transmitted
281- through our secure servers to enable mobile communication. The actual AI processing
282- happens locally via Claude Code CLI.</ p >
284+ through our secure servers to enable mobile communication. The actual AI processing
285+ happens locally via the agent CLI you choose .</ p >
283286 </ div >
284287 < div className = "faq-item" >
285288 < h3 > How secure is the connection?</ h3 >
286289 < p > All communications are encrypted end-to-end. We use industry-standard security
287- protocols and trusted authentication providers to ensure your data is protected.</ p >
290+ protocols and trusted authentication providers to ensure your data is protected.</ p >
288291 </ div >
289292 < div className = "faq-item" >
290293 < h3 > What data do you collect?</ h3 >
291294 < p > We collect minimal data: your account information, runner status, and message
292- metadata for notifications. We never store your code or access your files.</ p >
295+ metadata for notifications. We never store your code or access your files.</ p >
293296 </ div >
294297 < div className = "faq-item" >
295298 < h3 > Do I need to keep my computer on?</ h3 >
296299 < p > Yes, your computer needs to be awake and running for the AI to execute tasks.
297- We recommend using tools like Caffeine (macOS) or Insomnia (Windows) to prevent sleep.</ p >
300+ We recommend using tools like Caffeine (macOS) or Insomnia (Windows) to prevent
301+ sleep.</ p >
298302 </ div >
299303 < div className = "faq-item" >
300304 < h3 > What do I need to get started?</ h3 >
301- < p > You'll need Node.js 18+, Claude Code CLI installed, a Claude API key or Pro subscription,
302- and (we recommend) a git-enabled project directory. Setup takes about 10 minutes.</ p >
305+ < p > You'll need Node.js 18+, either Claude Code CLI or Codex CLI installed, an
306+ API key (Claude or OpenAI),
307+ and (we recommend) a git-enabled project directory. Setup takes about 10
308+ minutes.</ p >
303309 </ div >
304310 < div className = "faq-item" >
305311 < h3 > Can I run multiple projects?</ h3 >
306312 < p > Yes! You can set up multiple runners for different projects and manage them
307- all from the mobile app. Our Pro plan supports 25 concurrent runners.</ p >
313+ all from the mobile app. Our Pro plan supports 25 concurrent runners.</ p >
308314 </ div >
309315 </ div >
310316 </ div >
@@ -314,7 +320,8 @@ const Welcome: React.FC = () => {
314320 < section className = "cta" >
315321 < div className = "cta-content" >
316322 < h2 > Ready to work smarter, from anywhere?</ h2 >
317- < p > Download Salamander and start your AI-powered productivity journey today. Setup takes 10 minutes.</ p >
323+ < p > Download Salamander and start your AI-powered productivity journey today. Setup takes 10
324+ minutes.</ p >
318325 < div className = "cta-stats" >
319326 < div className = "stat-item" >
320327 < div className = "stat-number" > 10 min</ div >
@@ -335,7 +342,8 @@ const Welcome: React.FC = () => {
335342 < img src = "images/play_store.png" alt = "Get it on Google Play"
336343 className = "app-store-badge" />
337344 </ a >
338- < a href = "https://apps.apple.com/app/salamander-ai/id6752116173" className = "app-store-link" target = "_blank"
345+ < a href = "https://apps.apple.com/app/salamander-ai/id6752116173" className = "app-store-link"
346+ target = "_blank"
339347 rel = "noopener noreferrer" >
340348 < img src = "images/app_store.svg" alt = "Download on the App Store"
341349 className = "app-store-badge" />
0 commit comments