@@ -6509,6 +6509,13 @@ function SettingsPanel({
65096509 const [ adminCreateProfileDisplayName , setAdminCreateProfileDisplayName ] = useState < string > ( "" ) ;
65106510 const [ adminCreateProfileAge , setAdminCreateProfileAge ] = useState < string > ( "" ) ;
65116511 const [ adminCreateProfileBio , setAdminCreateProfileBio ] = useState < string > ( "" ) ;
6512+ const [ adminCreateProfileHeightInches , setAdminCreateProfileHeightInches ] = useState < string > ( "" ) ;
6513+ const [ adminCreateProfileWeightLbs , setAdminCreateProfileWeightLbs ] = useState < string > ( "" ) ;
6514+ const [ adminCreateProfileRace , setAdminCreateProfileRace ] = useState < string > ( "" ) ;
6515+ const [ adminCreateProfileCockSizeInches , setAdminCreateProfileCockSizeInches ] = useState < string > ( "" ) ;
6516+ const [ adminCreateProfileCutStatus , setAdminCreateProfileCutStatus ] = useState < "" | ProfileCutStatus > ( "" ) ;
6517+ const [ adminCreateProfilePosition , setAdminCreateProfilePosition ] = useState < "" | ProfilePosition > ( "" ) ;
6518+ const [ adminCreateProfileDiscreetMode , setAdminCreateProfileDiscreetMode ] = useState < boolean > ( false ) ;
65126519 const [ adminCreateMainPhotoFile , setAdminCreateMainPhotoFile ] = useState < File | null > ( null ) ;
65136520 const [ adminCreateGalleryPhotoFiles , setAdminCreateGalleryPhotoFiles ] = useState < ReadonlyArray < File > > ( [ ] ) ;
65146521 const [ adminCreateVideoFile , setAdminCreateVideoFile ] = useState < File | null > ( null ) ;
@@ -6808,8 +6815,26 @@ function SettingsPanel({
68086815 bio : adminCreateProfileBio . trim ( ) || ""
68096816 } ;
68106817
6811- // Add stats if provided (we'll need to add these to the form)
6812- // For now, just basic profile
6818+ // Add physical stats
6819+ if ( adminCreateProfileHeightInches . trim ( ) ) {
6820+ profileData . heightInches = parseInt ( adminCreateProfileHeightInches . trim ( ) ) ;
6821+ }
6822+ if ( adminCreateProfileWeightLbs . trim ( ) ) {
6823+ profileData . weightLbs = parseInt ( adminCreateProfileWeightLbs . trim ( ) ) ;
6824+ }
6825+ if ( adminCreateProfileRace . trim ( ) ) {
6826+ profileData . race = adminCreateProfileRace . trim ( ) ;
6827+ }
6828+ if ( adminCreateProfileCockSizeInches . trim ( ) ) {
6829+ profileData . cockSizeInches = parseFloat ( adminCreateProfileCockSizeInches . trim ( ) ) ;
6830+ }
6831+ if ( adminCreateProfileCutStatus ) {
6832+ profileData . cutStatus = adminCreateProfileCutStatus ;
6833+ }
6834+ if ( adminCreateProfilePosition ) {
6835+ profileData . position = adminCreateProfilePosition ;
6836+ }
6837+ profileData . discreetMode = adminCreateProfileDiscreetMode ;
68136838
68146839 if ( mainPhotoMediaId ) {
68156840 profileData . mainPhotoMediaId = mainPhotoMediaId ;
@@ -6838,6 +6863,13 @@ function SettingsPanel({
68386863 setAdminCreateProfileDisplayName ( "" ) ;
68396864 setAdminCreateProfileAge ( "" ) ;
68406865 setAdminCreateProfileBio ( "" ) ;
6866+ setAdminCreateProfileHeightInches ( "" ) ;
6867+ setAdminCreateProfileWeightLbs ( "" ) ;
6868+ setAdminCreateProfileRace ( "" ) ;
6869+ setAdminCreateProfileCockSizeInches ( "" ) ;
6870+ setAdminCreateProfileCutStatus ( "" ) ;
6871+ setAdminCreateProfilePosition ( "" ) ;
6872+ setAdminCreateProfileDiscreetMode ( false ) ;
68416873 setAdminCreateMainPhotoFile ( null ) ;
68426874 setAdminCreateGalleryPhotoFiles ( [ ] ) ;
68436875 setAdminCreateVideoFile ( null ) ;
@@ -7063,6 +7095,90 @@ function SettingsPanel({
70637095 maxLength = { 280 }
70647096 />
70657097 </ label >
7098+ < div style = { { display : "grid" , gridTemplateColumns : "repeat(auto-fit, minmax(180px, 1fr))" , gap : 8 } } >
7099+ < label style = { { display : "grid" , gap : 4 } } >
7100+ < span style = { { fontSize : 13 , color : "#b9bec9" } } > Height (in)</ span >
7101+ < input
7102+ type = "number"
7103+ value = { adminCreateProfileHeightInches }
7104+ onChange = { ( e ) => setAdminCreateProfileHeightInches ( e . target . value ) }
7105+ style = { { padding : 8 , border : "1px solid #444" , borderRadius : 4 , background : "#2a2d32" , color : "#fff" } }
7106+ placeholder = "70"
7107+ min = "48"
7108+ max = "96"
7109+ />
7110+ </ label >
7111+ < label style = { { display : "grid" , gap : 4 } } >
7112+ < span style = { { fontSize : 13 , color : "#b9bec9" } } > Weight (lbs)</ span >
7113+ < input
7114+ type = "number"
7115+ value = { adminCreateProfileWeightLbs }
7116+ onChange = { ( e ) => setAdminCreateProfileWeightLbs ( e . target . value ) }
7117+ style = { { padding : 8 , border : "1px solid #444" , borderRadius : 4 , background : "#2a2d32" , color : "#fff" } }
7118+ placeholder = "180"
7119+ min = "80"
7120+ max = "400"
7121+ />
7122+ </ label >
7123+ < label style = { { display : "grid" , gap : 4 } } >
7124+ < span style = { { fontSize : 13 , color : "#b9bec9" } } > Race</ span >
7125+ < input
7126+ type = "text"
7127+ value = { adminCreateProfileRace }
7128+ onChange = { ( e ) => setAdminCreateProfileRace ( e . target . value ) }
7129+ style = { { padding : 8 , border : "1px solid #444" , borderRadius : 4 , background : "#2a2d32" , color : "#fff" } }
7130+ placeholder = "White"
7131+ />
7132+ </ label >
7133+ < label style = { { display : "grid" , gap : 4 } } >
7134+ < span style = { { fontSize : 13 , color : "#b9bec9" } } > Cock Size (in)</ span >
7135+ < input
7136+ type = "number"
7137+ step = "0.1"
7138+ value = { adminCreateProfileCockSizeInches }
7139+ onChange = { ( e ) => setAdminCreateProfileCockSizeInches ( e . target . value ) }
7140+ style = { { padding : 8 , border : "1px solid #444" , borderRadius : 4 , background : "#2a2d32" , color : "#fff" } }
7141+ placeholder = "7.5"
7142+ min = "3"
7143+ max = "12"
7144+ />
7145+ </ label >
7146+ < label style = { { display : "grid" , gap : 4 } } >
7147+ < span style = { { fontSize : 13 , color : "#b9bec9" } } > Cut / Uncut</ span >
7148+ < select
7149+ value = { adminCreateProfileCutStatus }
7150+ onChange = { ( e ) => setAdminCreateProfileCutStatus ( e . target . value as "" | ProfileCutStatus ) }
7151+ style = { { padding : 8 , border : "1px solid #444" , borderRadius : 4 , background : "#2a2d32" , color : "#fff" } }
7152+ >
7153+ < option value = "" > Select</ option >
7154+ < option value = "cut" > Cut</ option >
7155+ < option value = "uncut" > Uncut</ option >
7156+ </ select >
7157+ </ label >
7158+ < label style = { { display : "grid" , gap : 4 } } >
7159+ < span style = { { fontSize : 13 , color : "#b9bec9" } } > Position</ span >
7160+ < select
7161+ value = { adminCreateProfilePosition }
7162+ onChange = { ( e ) => setAdminCreateProfilePosition ( e . target . value as "" | ProfilePosition ) }
7163+ style = { { padding : 8 , border : "1px solid #444" , borderRadius : 4 , background : "#2a2d32" , color : "#fff" } }
7164+ >
7165+ < option value = "" > Select</ option >
7166+ < option value = "top" > Top</ option >
7167+ < option value = "bottom" > Bottom</ option >
7168+ < option value = "side" > Side</ option >
7169+ </ select >
7170+ </ label >
7171+ </ div >
7172+ < div style = { { display : "grid" , gridTemplateColumns : "repeat(auto-fit, minmax(240px, 1fr))" , gap : 8 } } >
7173+ < label style = { { display : "flex" , gap : 8 , alignItems : "center" } } >
7174+ < input
7175+ type = "checkbox"
7176+ checked = { adminCreateProfileDiscreetMode }
7177+ onChange = { ( e ) => setAdminCreateProfileDiscreetMode ( e . target . checked ) }
7178+ />
7179+ < span style = { { fontSize : 13 , color : "#b9bec9" , margin : 0 } } > Discreet Mode</ span >
7180+ </ label >
7181+ </ div >
70667182 < label style = { { display : "grid" , gap : 4 } } >
70677183 < span style = { { fontSize : 13 , color : "#b9bec9" } } > Main Photo</ span >
70687184 < input
0 commit comments