@@ -20,7 +20,11 @@ import {
2020 SheetTitle ,
2121} from '@/components/ui/sheet' ;
2222import type { Domain , Project } from './types' ;
23- import { generateWebsiteName , inferTargetFromDomain } from './utils' ;
23+ import {
24+ generateWebsiteName ,
25+ generateWebsitePlaceholder ,
26+ inferTargetFromDomain ,
27+ } from './utils' ;
2428
2529interface WebsiteConfig {
2630 domain : Domain ;
@@ -52,7 +56,7 @@ export function CreateWebsiteDialog({
5256 if ( selectedDomains . length > 0 ) {
5357 const configs = selectedDomains . map ( ( domain ) => ( {
5458 domain,
55- name : generateWebsiteName ( domain . name ) ,
59+ name : '' , // Start with empty name, will use placeholder
5660 target : isMultipleMode
5761 ? inferTargetFromDomain ( domain )
5862 : ( [ 'production' , 'preview' , 'development' ] as string [ ] ) ,
@@ -65,7 +69,14 @@ export function CreateWebsiteDialog({
6569 if ( websiteConfigs . length === 0 ) {
6670 return ;
6771 }
68- await onSave ( websiteConfigs ) ;
72+
73+ // Use domain name as default if name is empty
74+ const configsWithDefaults = websiteConfigs . map ( ( config ) => ( {
75+ ...config ,
76+ name : config . name . trim ( ) || generateWebsiteName ( config . domain . name ) ,
77+ } ) ) ;
78+
79+ await onSave ( configsWithDefaults ) ;
6980 } ;
7081
7182 const updateWebsiteConfig = useCallback (
@@ -87,7 +98,6 @@ export function CreateWebsiteDialog({
8798 const isFormValid = useMemo ( ( ) => {
8899 return (
89100 websiteConfigs . length > 0 &&
90- websiteConfigs . every ( ( config ) => config . name . trim ( ) !== '' ) &&
91101 websiteConfigs . every ( ( config ) => config . target . length > 0 )
92102 ) ;
93103 } , [ websiteConfigs ] ) ;
@@ -110,13 +120,13 @@ export function CreateWebsiteDialog({
110120 < div >
111121 < SheetTitle className = "font-semibold text-foreground text-xl" >
112122 { isMultipleMode
113- ? `Create ${ websiteConfigs . length } Websites`
114- : 'Create Website' }
123+ ? `Integrate ${ websiteConfigs . length } Websites`
124+ : 'Integrate Website' }
115125 </ SheetTitle >
116126 < SheetDescription className = "mt-1 text-muted-foreground" >
117127 { isMultipleMode
118- ? `Create websites for ${ selectedProject ?. name } and configure environment variables`
119- : `Create website for ${ websiteConfigs [ 0 ] ?. domain . name } and configure environment variables` }
128+ ? `Integrate websites for ${ selectedProject ?. name } and configure environment variables`
129+ : `Integrate website for ${ websiteConfigs [ 0 ] ?. domain . name } and configure environment variables` }
120130 </ SheetDescription >
121131 </ div >
122132 </ div >
@@ -178,7 +188,7 @@ export function CreateWebsiteDialog({
178188 onChange = { ( e ) =>
179189 updateWebsiteConfig ( index , { name : e . target . value } )
180190 }
181- placeholder = "Enter website name"
191+ placeholder = { generateWebsitePlaceholder ( config . domain . name ) }
182192 value = { config . name }
183193 />
184194 </ div >
@@ -268,7 +278,7 @@ export function CreateWebsiteDialog({
268278 < li className = "flex items-center gap-2" >
269279 < div className = "h-1.5 w-1.5 rounded-full bg-primary/60" />
270280 < span >
271- Create { websiteConfigs . length } website
281+ Integrate { websiteConfigs . length } website
272282 { websiteConfigs . length !== 1 ? 's' : '' } in Databuddy
273283 </ span >
274284 </ li >
@@ -306,11 +316,11 @@ export function CreateWebsiteDialog({
306316 ) }
307317 < span className = { isSaving ? 'ml-6' : '' } >
308318 { isSaving ? (
309- 'Creating ...'
319+ 'Integrating ...'
310320 ) : (
311321 < >
312322 < PlusIcon className = "mr-2 h-4 w-4" />
313- Create { websiteConfigs . length } Website
323+ Integrate { websiteConfigs . length } Website
314324 { websiteConfigs . length !== 1 ? 's' : '' }
315325 </ >
316326 ) }
0 commit comments