@@ -192,6 +192,7 @@ export function CreateProject() {
192192
193193 const [ formData , setFormData ] = useState < FormData > ( initialData ) ;
194194 const pickerKeyRef = useRef < 'create-project' | 'auto-fill' > ( 'create-project' ) ;
195+ const hasUserModifiedProjectName = useRef ( false ) ;
195196
196197 const canCreateTeam = organization . access . includes ( 'project:admin' ) ;
197198 const isOrgMemberWithNoAccess = accessTeams . length === 0 && ! canCreateTeam ;
@@ -442,9 +443,7 @@ export function CreateProject() {
442443 key : value . id ,
443444 } ) ;
444445
445- const userModifiedName =
446- ! ! formData . projectName && formData . projectName !== formData . platform ?. key ;
447- const newName = userModifiedName ? formData . projectName : value . id ;
446+ const newName = hasUserModifiedProjectName . current ? formData . projectName : value . id ;
448447
449448 updateFormData ( 'projectName' , newName ) ;
450449 } ,
@@ -520,7 +519,13 @@ export function CreateProject() {
520519 placeholder = { t ( 'project-slug' ) }
521520 autoComplete = "off"
522521 value = { formData . projectName }
523- onChange = { e => updateFormData ( 'projectName' , slugify ( e . target . value ) ) }
522+ onChange = { e => {
523+ const slugified = slugify ( e . target . value ) ;
524+ // Track whether the user has intentionally set a custom name.
525+ // Reset if they clear the field so platform selection can fill it in again.
526+ hasUserModifiedProjectName . current = slugified !== '' ;
527+ updateFormData ( 'projectName' , slugified ) ;
528+ } }
524529 />
525530 </ ProjectNameInputWrap >
526531 </ div >
0 commit comments