@@ -395,7 +395,7 @@ function PasspointProfileConverter() {
395395 { uploadedFileMeta && (
396396 < Box sx = { { my : 3 } } >
397397 < Typography variant = "subtitle1" gutterBottom >
398- Step 3 : Choose Password Protection Level
398+ Step 4 : Choose Password Protection Level
399399 </ Typography >
400400 < FormControl fullWidth sx = { { mb : 2 } } >
401401 < InputLabel id = "obfuscation-level-label" > Password Protection</ InputLabel >
@@ -421,7 +421,7 @@ function PasspointProfileConverter() {
421421 </ FormControl >
422422
423423 < Typography variant = "subtitle1" gutterBottom >
424- Step 4 : Choose Certificate Display Mode
424+ Step 5 : Choose Certificate Display Mode
425425 </ Typography >
426426 < FormControl fullWidth sx = { { mb : 2 } } >
427427 < InputLabel id = "cert-handling-label" > Certificate Display</ InputLabel >
@@ -463,53 +463,28 @@ function PasspointProfileConverter() {
463463 </ Box >
464464 ) }
465465
466- { /* NEW: Atomic Conversion (available after file selection ) */ }
467- { selectedFile && (
466+ { /* Step 3: Direct Conversion (available after upload ) */ }
467+ { uploadedFileMeta && (
468468 < Box sx = { { my : 3 } } >
469469 < Typography variant = "subtitle1" gutterBottom >
470- 🚀 Step 3: Direct Conversion (NEW - No Race Condition)
470+ Step 3: Convert File to YAML/JSON
471471 </ Typography >
472472
473473 < Box sx = { { mb : 2 } } >
474474 < Button
475475 variant = "contained"
476476 onClick = { handleAtomicConvert }
477477 disabled = { loadingConvert || loadingUpload }
478- color = "success "
478+ color = "primary "
479479 size = "large"
480- sx = { { mr : 1 } }
481480 >
482- { ( loadingConvert || loadingUpload ) ? < CircularProgress size = { 24 } /> : `🚀 CONVERT ${ selectedFile . name } ` }
481+ { ( loadingConvert || loadingUpload ) ? < CircularProgress size = { 24 } /> : `CONVERT ${ selectedFile ? .name || 'FILE' } ` }
483482 </ Button >
484- < Typography variant = "caption" display = "block" sx = { { mt : 1 , color : 'success.main' } } >
485- ✅ Recommended: Direct conversion eliminates upload/convert race condition
486- </ Typography >
487483 </ Box >
488484 </ Box >
489485 ) }
490486
491- { uploadedFileMeta && (
492- < Box sx = { { my : 3 } } >
493- < Typography variant = "subtitle1" gutterBottom >
494- Step 5: Convert File to YAML/JSON (Legacy)
495- </ Typography >
496-
497- { /* Traditional Two-Step Process */ }
498- < Box sx = { { opacity : 0.7 } } >
499- < Button
500- variant = "outlined"
501- onClick = { handleFileConvert }
502- disabled = { loadingConvert || ! uploadedFileMeta }
503- color = "primary"
504- >
505- { loadingConvert ? < CircularProgress size = { 24 } /> : `Convert ${ uploadedFileMeta ?. fileName || 'Uploaded File' } ` }
506- </ Button >
507- < Typography variant = "caption" display = "block" sx = { { mt : 1 , color : 'text.secondary' } } >
508- ⚠️ Legacy: Two-step process (may have race condition) - Use atomic convert above instead
509- </ Typography >
510- </ Box >
511- </ Box >
512- ) }
487+
513488
514489 { ( loadingUpload || loadingConvert ) && (
515490 < Box sx = { { display : 'flex' , justifyContent : 'center' , my : 4 } } >
@@ -529,7 +504,7 @@ function PasspointProfileConverter() {
529504 { ( yamlOutput || jsonOutput || originalDataOutput ) && ! loadingConvert && (
530505 < Paper variant = "outlined" sx = { { mt : 3 , p : 3 } } >
531506 < Typography variant = "h6" gutterBottom >
532- Step 5 : Review and Download File
507+ Step 6 : Review and Download File
533508 </ Typography >
534509
535510 { obfuscationInfo && obfuscationInfo . applied && (
0 commit comments