@@ -3,6 +3,7 @@ import { getProvidersList, getStructures } from "../../api";
33import OptimadeHeader from "./OptimadeHeader" ;
44import { DatabaseSelector } from "./DatabaseSelector" ;
55import OptimadeFilters from "./OptimadeFilters" ;
6+ import OptimadeFAQs from "./OptimadeFAQs" ;
67import { ResultViewer } from "./ResultViewer" ;
78import ResultsDropdown from "./ResultsDropdown" ;
89import OptimadeProviderInfo from "./OptimadeProviderInfo" ;
@@ -12,7 +13,8 @@ import { AnimatePresence, motion } from "framer-motion";
1213import OptimadeNoResults from "./OptimadeNoResults" ;
1314
1415import MaterialsCloudHeader from "mc-react-header" ;
15- import OptimadeMetadata from "./OptimadeMetadata" ;
16+ import OptimadeChildInfo from "./OptimadeChildInfo" ;
17+ import OptimadeParentInfo from "./OptimadeParentInfo" ;
1618
1719import { textHyperlink , textNormal , textSmall } from "../../styles/textStyles" ;
1820import { containerStyle } from "../../styles/containerStyles" ;
@@ -21,6 +23,8 @@ export function OptimadeClient({ hideProviderList = ["exmpl", "matcloud"] }) {
2123 const [ providers , setProviders ] = useState ( [ ] ) ;
2224 const [ queryUrl , setQueryUrl ] = useState ( "" ) ;
2325 const [ selectedChild , setSelectedChild ] = useState ( null ) ;
26+ const [ selectedProvider , setSelectedProvider ] = useState ( null ) ;
27+
2428 const [ currentFilter , setCurrentFilter ] = useState ( "" ) ;
2529 const [ currentPage , setCurrentPage ] = useState ( 1 ) ;
2630 const [ currentResult , setCurrentResult ] = useState ( null ) ;
@@ -96,11 +100,16 @@ export function OptimadeClient({ hideProviderList = ["exmpl", "matcloud"] }) {
96100 < div className = "min-h-screen max-w-5xl mx-auto bg-white mb-4 shadow-md rounded-xs" >
97101 < div className = "flex flex-col items-center w-full px-2 py-2" >
98102 < OptimadeHeader />
103+
104+ < div className = "p-2 w-full" >
105+ < OptimadeFAQs />
106+ </ div >
99107 { /* Database selector */ }
100108 < div className = "pt-4 p-2" >
101109 < DatabaseSelector
102110 providers = { providers }
103111 onChildChange = { setSelectedChild }
112+ onProviderChange = { setSelectedProvider }
104113 onQueryUrlChange = { ( url ) => {
105114 // Only reset filter if provider actually changes
106115 if ( url !== queryUrl ) {
@@ -126,8 +135,17 @@ export function OptimadeClient({ hideProviderList = ["exmpl", "matcloud"] }) {
126135 </ div >
127136 ) }
128137
129- < div className = "p-2 max-w-4xl" >
130- < OptimadeMetadata child = { selectedChild } />
138+ < div className = "flex flex-col md:flex-row w-full max-w-5xl px-4 py-2 gap-4" >
139+ < div className = "md:w-1/2 w-full" >
140+ < OptimadeParentInfo
141+ provider = { selectedProvider }
142+ providers = { providers }
143+ />
144+ </ div >
145+
146+ < div className = "md:w-1/2 w-full" >
147+ < OptimadeChildInfo child = { selectedChild } />
148+ </ div >
131149 </ div >
132150
133151 { /* Filters */ }
0 commit comments