1- import React , { useState , useEffect } from "react" ;
1+ import React , { useState } from "react" ;
22import {
33 EuiPanel ,
44 EuiTitle ,
@@ -16,23 +16,22 @@ import {
1616import { CodeBlock , github } from "react-code-blocks" ;
1717import { RegularFeatureViewCustomTabProps } from "../../custom-tabs/types" ;
1818
19+ const defaultServerUrl =
20+ process . env . REACT_APP_FEAST_FEATURE_SERVER_URL || "http://localhost:6566" ;
21+
1922const CurlGeneratorTab = ( {
2023 feastObjectQuery,
2124} : RegularFeatureViewCustomTabProps ) => {
2225 const data = feastObjectQuery . data as any ;
2326 const [ serverUrl , setServerUrl ] = useState ( ( ) => {
2427 const savedUrl = localStorage . getItem ( "feast-feature-server-url" ) ;
25- return savedUrl || "http://localhost:6566" ;
28+ return savedUrl || defaultServerUrl ;
2629 } ) ;
2730 const [ entityValues , setEntityValues ] = useState < Record < string , string > > ( { } ) ;
2831 const [ selectedFeatures , setSelectedFeatures ] = useState <
2932 Record < string , boolean >
3033 > ( { } ) ;
3134
32- useEffect ( ( ) => {
33- localStorage . setItem ( "feast-feature-server-url" , serverUrl ) ;
34- } , [ serverUrl ] ) ;
35-
3635 if ( feastObjectQuery . isLoading ) {
3736 return < EuiText > Loading...</ EuiText > ;
3837 }
@@ -106,8 +105,12 @@ const CurlGeneratorTab = ({
106105 < EuiFormRow label = "Feature Server URL" >
107106 < EuiFieldText
108107 value = { serverUrl }
109- onChange = { ( e ) => setServerUrl ( e . target . value ) }
110- placeholder = "http://localhost:6566"
108+ onChange = { ( e ) => {
109+ const nextValue = e . target . value ;
110+ setServerUrl ( nextValue ) ;
111+ localStorage . setItem ( "feast-feature-server-url" , nextValue ) ;
112+ } }
113+ placeholder = { defaultServerUrl }
111114 />
112115 </ EuiFormRow >
113116
0 commit comments