go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/milo/ui/src/build/legacy/build_page/overview_tab/properties_section.tsx (about)

     1  // Copyright 2023 The LUCI Authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  import { observer } from 'mobx-react-lite';
    16  
    17  import { PropertyViewer } from '@/common/components/property_viewer';
    18  import { useStore } from '@/common/store';
    19  
    20  export const PropertiesSection = observer(() => {
    21    const store = useStore();
    22    const build = store.buildPage.build?.data;
    23    if (!build) {
    24      return <></>;
    25    }
    26  
    27    return (
    28      <>
    29        <h3>Input Properties</h3>
    30        <PropertyViewer
    31          properties={build.input?.properties || {}}
    32          config={store.userConfig.build.inputProperties}
    33        />
    34        <h3>Output Properties</h3>
    35        <PropertyViewer
    36          properties={build.output?.properties || {}}
    37          config={store.userConfig.build.outputProperties}
    38        />
    39      </>
    40    );
    41  });