@@ -32,10 +32,8 @@ import {
3232 StarterTooltipProvider ,
3333} from '~/components/application-builder/parts'
3434import {
35- buildStarterPromptDeployUrl ,
3635 toneClasses ,
3736 type ApplicationStarterBuilderIntegration ,
38- type StarterPromptDeployProvider ,
3937 type StarterTone ,
4038} from '~/components/application-builder/shared'
4139import { useApplicationBuilder } from '~/components/application-builder/useApplicationBuilder'
@@ -110,19 +108,6 @@ function getHostingDeployPartnerId(
110108 }
111109}
112110
113- function getPromptDeployProvider (
114- partnerId : HostingDeployPartnerId ,
115- ) : StarterPromptDeployProvider | undefined {
116- switch ( partnerId ) {
117- case 'lovable' :
118- case 'netlify' :
119- return partnerId
120- case 'cloudflare' :
121- case 'railway' :
122- return undefined
123- }
124- }
125-
126111export function ApplicationStarter ( {
127112 builderIntegration,
128113 className,
@@ -257,31 +242,6 @@ export function ApplicationStarter({
257242 isSelectedHostingDeployPending || transientAction === 'deploy'
258243 const isPromptCopied = copiedKind === 'prompt'
259244 const isCommandCopied = copiedKind === 'command'
260- const selectedPromptDeployProvider = selectedHostingDeployPartner
261- ? getPromptDeployProvider ( selectedHostingDeployPartner )
262- : undefined
263- const selectedHostingDeployHref = React . useMemo (
264- ( ) =>
265- selectedPromptDeployProvider && result ?. prompt
266- ? buildStarterPromptDeployUrl (
267- selectedPromptDeployProvider ,
268- result . prompt ,
269- )
270- : undefined ,
271- [ result ?. prompt , selectedPromptDeployProvider ] ,
272- )
273- const trackSelectedHostingDeployLink = React . useCallback ( ( ) => {
274- if ( ! selectedHostingDeployPartner ) {
275- return
276- }
277-
278- trackActivation ( {
279- action :
280- selectedHostingDeployPartner === 'netlify' ? 'netlify_start' : 'deploy' ,
281- surface : 'result_panel' ,
282- provider : selectedHostingDeployPartner ,
283- } )
284- } , [ selectedHostingDeployPartner , trackActivation ] )
285245 const deployToSelectedHostingPartner = async ( ) => {
286246 if ( ! selectedHostingDeployPartner ) {
287247 return
@@ -360,51 +320,15 @@ export function ApplicationStarter({
360320 return null
361321 }
362322
363- if ( selectedHostingDeployHref ) {
364- const disabled = ! canUseFinalActions || transientAction === 'deploy'
365-
366- return (
367- < Button
368- as = "a"
369- color = "emerald"
370- variant = "primary"
371- size = "sm"
372- href = { disabled ? undefined : selectedHostingDeployHref }
373- target = "_blank"
374- rel = "noopener noreferrer"
375- aria-disabled = { disabled }
376- tabIndex = { disabled ? - 1 : undefined }
377- onClick = { ( event ) => {
378- if ( disabled ) {
379- event . preventDefault ( )
380- return
381- }
382-
383- trackSelectedHostingDeployLink ( )
384- showTransientActionFeedback ( 'deploy' )
385- } }
386- className = { disabled ? 'pointer-events-none opacity-50' : undefined }
387- aria-label = { `Deploy to ${ hostingDeployPartnerLabels [ selectedHostingDeployPartner ] } ` }
388- >
389- { isDeployFeedbackActive ? (
390- < Loader2 className = "h-4 w-4 animate-spin" />
391- ) : (
392- < Rocket className = "h-4 w-4" />
393- ) }
394- { isDeployFeedbackActive ? 'Opening...' : 'Deploy' }
395- </ Button >
396- )
397- }
398-
399323 return (
400324 < Button
401325 color = "emerald"
402326 variant = "primary"
403327 size = "sm"
404328 type = "button"
405329 onClick = { ( ) => {
406- showTransientActionFeedback ( 'deploy' )
407330 void deployToSelectedHostingPartner ( )
331+ showTransientActionFeedback ( 'deploy' )
408332 } }
409333 disabled = {
410334 ! canUseFinalActions ||
0 commit comments