@@ -5,11 +5,12 @@ import { T } from "src/locale";
55
66interface Props {
77 forHttp ?: boolean ; // the sslForced, http2Support, hstsEnabled, hstsSubdomains fields
8+ forProxyHost ?: boolean ; // the advanced fields
89 forceDNSForNew ?: boolean ;
910 requireDomainNames ?: boolean ; // used for streams
1011 color ?: string ;
1112}
12- export function SSLOptionsFields ( { forHttp = true , forceDNSForNew, requireDomainNames, color = "bg-cyan" } : Props ) {
13+ export function SSLOptionsFields ( { forHttp = true , forProxyHost = false , forceDNSForNew, requireDomainNames, color = "bg-cyan" } : Props ) {
1314 const { values, setFieldValue } = useFormikContext ( ) ;
1415 const v : any = values || { } ;
1516
@@ -115,6 +116,34 @@ export function SSLOptionsFields({ forHttp = true, forceDNSForNew, requireDomain
115116 </ div >
116117 ) ;
117118
119+ const getHttpAdvancedOptions = ( ) => (
120+ < div >
121+ < details >
122+ < summary className = "mb-1" > < T id = "domains.advanced" /> </ summary >
123+ < div className = "row" >
124+ < div className = "col-12" >
125+ < Field name = "trustForwardedProto" >
126+ { ( { field } : any ) => (
127+ < label className = "form-check form-switch mt-1" >
128+ < input
129+ className = { trustForwardedProto ? toggleEnabled : toggleClasses }
130+ type = "checkbox"
131+ checked = { ! ! trustForwardedProto }
132+ onChange = { ( e ) => handleToggleChange ( e , field . name ) }
133+ disabled = { ! hasCertificate || ! sslForced }
134+ />
135+ < span className = "form-check-label" >
136+ < T id = "domains.trust-forwarded-proto" />
137+ </ span >
138+ </ label >
139+ ) }
140+ </ Field >
141+ </ div >
142+ </ div >
143+ </ details >
144+ </ div >
145+ ) ;
146+
118147 return (
119148 < div >
120149 { forHttp ? getHttpOptions ( ) : null }
@@ -140,31 +169,7 @@ export function SSLOptionsFields({ forHttp = true, forceDNSForNew, requireDomain
140169 { dnsChallenge ? < DNSProviderFields showBoundaryBox /> : null }
141170 </ >
142171 ) : null }
143- { < div >
144- < details >
145- < summary className = "mb-1" > < T id = "domains.advanced" /> </ summary >
146- < div className = "row" >
147- < div className = "col-12" >
148- < Field name = "trustForwardedProto" >
149- { ( { field } : any ) => (
150- < label className = "form-check form-switch mt-1" >
151- < input
152- className = { trustForwardedProto ? toggleEnabled : toggleClasses }
153- type = "checkbox"
154- checked = { ! ! trustForwardedProto }
155- onChange = { ( e ) => handleToggleChange ( e , field . name ) }
156- disabled = { ! hasCertificate || ! sslForced }
157- />
158- < span className = "form-check-label" >
159- < T id = "domains.trust-forwarded-proto" />
160- </ span >
161- </ label >
162- ) }
163- </ Field >
164- </ div >
165- </ div >
166- </ details >
167- </ div > }
172+ { forProxyHost && forHttp ? getHttpAdvancedOptions ( ) : null }
168173 </ div >
169174 ) ;
170175}
0 commit comments