11import { useCallback , useState } from "react"
22import { VSCodeButton } from "@vscode/webview-ui-toolkit/react"
3- import { VSCodeButtonLink } from "../common/VSCodeButtonLink"
43import { useExtensionState } from "../../context/ExtensionStateContext"
54import { validateApiConfiguration } from "../../utils/validate"
65import { vscode } from "../../utils/vscode"
@@ -26,6 +25,12 @@ const WelcomeView = () => {
2625 vscode . postMessage ( { type : "upsertApiConfiguration" , text : currentApiConfigName , apiConfiguration } )
2726 } , [ apiConfiguration , currentApiConfigName ] )
2827
28+ // Using a lazy initializer so it reads once at mount
29+ const [ imagesBaseUri ] = useState ( ( ) => {
30+ const w = window as any
31+ return w . IMAGES_BASE_URI || ""
32+ } )
33+
2934 return (
3035 < Tab >
3136 < TabContent className = "flex flex-col gap-5" >
@@ -37,34 +42,46 @@ const WelcomeView = () => {
3742 < h4 className = "mt-3 mb-2" > { t ( "welcome:startRouter" ) } </ h4 >
3843
3944 < div className = "flex gap-4" >
40- < div className = "flex-1 border border-vscode-panel-border rounded p-4 flex flex-col items-center" >
41- < VSCodeButtonLink
42- href = { getRequestyAuthUrl ( uriScheme ) }
43- className = "bg-blue-500 text-white w-16 h-16 flex items-center justify-center rounded mb-2 text-xl font-bold no-underline" >
44- REQ
45- </ VSCodeButtonLink >
45+ < a
46+ href = { getRequestyAuthUrl ( uriScheme ) }
47+ className = "flex-1 border border-vscode-panel-border rounded p-4 flex flex-col items-center cursor-pointer transition-all hover:bg-vscode-button-hoverBackground hover:border-vscode-button-border no-underline text-inherit"
48+ target = "_blank"
49+ rel = "noopener noreferrer" >
50+ < div className = "w-16 h-16 flex items-center justify-center rounded mb-2 overflow-hidden bg-white relative" >
51+ < img
52+ src = { `${ imagesBaseUri } /requesty.png` }
53+ alt = "Requesty"
54+ className = "w-full h-full object-contain p-2"
55+ />
56+ </ div >
4657 < div className = "text-center" >
4758 < div className = "font-bold" > Requesty</ div >
4859 < div className = "text-sm text-vscode-descriptionForeground" >
4960 { t ( "welcome:requestyDescription" ) }
5061 </ div >
5162
52- < div className = "text-sm text-blue-400 font-bold" > $1 free credit</ div >
63+ < div className = "text-sm font-bold" > $1 free credit</ div >
64+ </ div >
65+ </ a >
66+ < a
67+ href = { getOpenRouterAuthUrl ( uriScheme ) }
68+ className = "flex-1 border border-vscode-panel-border rounded p-4 flex flex-col items-center cursor-pointer transition-all hover:bg-vscode-button-hoverBackground hover:border-vscode-button-border no-underline text-inherit"
69+ target = "_blank"
70+ rel = "noopener noreferrer" >
71+ < div className = "w-16 h-16 flex items-center justify-center rounded mb-2 overflow-hidden bg-white relative" >
72+ < img
73+ src = { `${ imagesBaseUri } /openrouter.png` }
74+ alt = "OpenRouter"
75+ className = "w-full h-full object-contain p-2"
76+ />
5377 </ div >
54- </ div >
55- < div className = "flex-1 border border-vscode-panel-border rounded p-4 flex flex-col items-center" >
56- < VSCodeButtonLink
57- href = { getOpenRouterAuthUrl ( uriScheme ) }
58- className = "bg-blue-500 text-white w-16 h-16 flex items-center justify-center rounded mb-2 text-xl font-bold no-underline" >
59- OR
60- </ VSCodeButtonLink >
6178 < div className = "text-center" >
6279 < div className = "font-bold" > OpenRouter</ div >
6380 < div className = "text-sm text-vscode-descriptionForeground" >
6481 { t ( "welcome:openRouterDescription" ) }
6582 </ div >
6683 </ div >
67- </ div >
84+ </ a >
6885 </ div >
6986
7087 < div className = "text-center my-4" > or</ div >
0 commit comments