@@ -375,7 +375,7 @@ const Certificate: React.FC<CertificateProps> = ({
375375
376376 const handleThisIsMe = async ( ) => {
377377 if ( ! userUri || ! subject ) return
378-
378+
379379 try {
380380 // Create SAME_AS claim
381381 const { createClaim } = await import ( '../../api' )
@@ -387,11 +387,11 @@ const Certificate: React.FC<CertificateProps> = ({
387387 howKnown : 'VERIFIED_LOGIN' ,
388388 confidence : 1.0
389389 } )
390-
390+
391391 // Show success message
392392 setSnackbarMessage ( 'Identity link created! You can now share this certificate.' )
393393 setSnackbarOpen ( true )
394-
394+
395395 // Refresh to update UI
396396 setTimeout ( ( ) => window . location . reload ( ) , 2000 )
397397 } catch ( error ) {
@@ -407,13 +407,13 @@ const Certificate: React.FC<CertificateProps> = ({
407407 claim : claim ?. claim ,
408408 statement : statement ,
409409 subjectType : subjectType
410- } ) ;
410+ } )
411411
412412 // Use the name from backend node resolution
413- const recipientName = subject_name || 'Certificate Holder' ;
413+ const recipientName = subject_name || 'Certificate Holder'
414414
415415 // Extract what is being certified (not WHO but WHAT)
416- const certificationTopic = extractCertificationTopic ( statement , claim ?. aspect ) ;
416+ const certificationTopic = extractCertificationTopic ( statement , claim ?. aspect )
417417
418418 const containerMaxWidth = isXl ? 'xl' : 'lg'
419419 const visibleValidationCount = getVisibleValidationCount ( isXs , isSm , isMd )
@@ -875,6 +875,15 @@ const Certificate: React.FC<CertificateProps> = ({
875875 </ Box >
876876 ) }
877877
878+ { /* This is me - shown to logged in users who aren't detected as owner */ }
879+ { currentUser && ! isOwner && (
880+ < Box onClick = { handleThisIsMe } sx = { actionButtonStyles } >
881+ < PersonAddIcon sx = { { color : COLORS . primary } } />
882+ < Typography variant = 'body2' sx = { { color : COLORS . primary , whiteSpace : 'nowrap' } } >
883+ This is Me
884+ </ Typography >
885+ </ Box >
886+ ) }
878887 </ Box >
879888
880889 < SharePopover
@@ -910,41 +919,56 @@ const Certificate: React.FC<CertificateProps> = ({
910919 />
911920
912921 { /* LinkedIn Add to Profile Preview Dialog */ }
913- < Dialog
914- open = { linkedInPreviewOpen }
915- onClose = { ( ) => setLinkedInPreviewOpen ( false ) }
916- maxWidth = "sm"
917- fullWidth
918- >
922+ < Dialog open = { linkedInPreviewOpen } onClose = { ( ) => setLinkedInPreviewOpen ( false ) } maxWidth = 'sm' fullWidth >
919923 < DialogTitle > Add Certificate to LinkedIn</ DialogTitle >
920924 < DialogContent >
921- < Typography variant = " body2" color = " textSecondary" sx = { { mb : 2 } } >
925+ < Typography variant = ' body2' color = ' textSecondary' sx = { { mb : 2 } } >
922926 This will open LinkedIn to add the following certificate to your profile:
923927 </ Typography >
924928 < Box sx = { { bgcolor : 'grey.100' , p : 2 , borderRadius : 1 } } >
925- < Typography variant = "subtitle2" color = "textSecondary" > Name</ Typography >
926- < Typography variant = "body1" sx = { { mb : 1.5 } } > { linkedInPreviewData ?. name } </ Typography >
929+ < Typography variant = 'subtitle2' color = 'textSecondary' >
930+ Name
931+ </ Typography >
932+ < Typography variant = 'body1' sx = { { mb : 1.5 } } >
933+ { linkedInPreviewData ?. name }
934+ </ Typography >
927935
928- < Typography variant = "subtitle2" color = "textSecondary" > Issuing Organization</ Typography >
929- < Typography variant = "body1" sx = { { mb : 1.5 } } > LinkedTrust</ Typography >
936+ < Typography variant = 'subtitle2' color = 'textSecondary' >
937+ Issuing Organization
938+ </ Typography >
939+ < Typography variant = 'body1' sx = { { mb : 1.5 } } >
940+ LinkedTrust
941+ </ Typography >
930942
931943 { linkedInPreviewData ?. issueDate && (
932944 < >
933- < Typography variant = "subtitle2" color = "textSecondary" > Issue Date</ Typography >
934- < Typography variant = "body1" sx = { { mb : 1.5 } } > { linkedInPreviewData . issueDate } </ Typography >
945+ < Typography variant = 'subtitle2' color = 'textSecondary' >
946+ Issue Date
947+ </ Typography >
948+ < Typography variant = 'body1' sx = { { mb : 1.5 } } >
949+ { linkedInPreviewData . issueDate }
950+ </ Typography >
935951 </ >
936952 ) }
937953
938- < Typography variant = "subtitle2" color = "textSecondary" > Credential ID</ Typography >
939- < Typography variant = "body1" sx = { { mb : 1.5 } } > { linkedInPreviewData ?. certId } </ Typography >
954+ < Typography variant = 'subtitle2' color = 'textSecondary' >
955+ Credential ID
956+ </ Typography >
957+ < Typography variant = 'body1' sx = { { mb : 1.5 } } >
958+ { linkedInPreviewData ?. certId }
959+ </ Typography >
940960
941- < Typography variant = "subtitle2" color = "textSecondary" > Credential URL</ Typography >
942- < Typography variant = "body1" sx = { { wordBreak : 'break-all' } } > { linkedInPreviewData ?. certUrl } </ Typography >
961+ < Typography variant = 'subtitle2' color = 'textSecondary' >
962+ Credential URL
963+ </ Typography >
964+ < Typography variant = 'body1' sx = { { wordBreak : 'break-all' } } >
965+ { linkedInPreviewData ?. certUrl }
966+ </ Typography >
943967 </ Box >
944968 </ DialogContent >
945969 < DialogActions >
946970 < Button onClick = { ( ) => setLinkedInPreviewOpen ( false ) } > Cancel</ Button >
947- < Button onClick = { handleLinkedInConfirm } variant = " contained" color = " primary" >
971+ < Button onClick = { handleLinkedInConfirm } variant = ' contained' color = ' primary' >
948972 Add to LinkedIn
949973 </ Button >
950974 </ DialogActions >
0 commit comments