github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/web/src/OverviewResourceBar.tsx (about)

     1  import React from "react"
     2  import styled from "styled-components"
     3  import { GlobalNav, GlobalNavRoot } from "./GlobalNav"
     4  import { usePathBuilder } from "./PathBuilder"
     5  import { AllResourceStatusSummary } from "./ResourceStatusSummary"
     6  import { useSnapshotAction } from "./snapshot"
     7  import { SizeUnit } from "./style-helpers"
     8  import { showUpdate } from "./UpdateDialog"
     9  
    10  type OverviewResourceBarProps = {
    11    view: Proto.webviewView
    12  }
    13  
    14  const OverviewResourceBarRoot = styled.div`
    15    display: flex;
    16    align-items: stretch;
    17    padding-left: ${SizeUnit(1)};
    18  
    19    ${GlobalNavRoot} {
    20      justify-content: flex-end;
    21      flex-grow: 1;
    22      display: flex;
    23    }
    24  `
    25  
    26  export default function OverviewResourceBar(props: OverviewResourceBarProps) {
    27    let isSnapshot = usePathBuilder().isSnapshot()
    28    let snapshot = useSnapshotAction()
    29    let view = props.view
    30    let session = view?.uiSession?.status
    31    let runningBuild = session?.runningTiltBuild
    32    let suggestedVersion = session?.suggestedTiltVersion
    33    let resources = view?.uiResources || []
    34  
    35    let globalNavProps = {
    36      isSnapshot,
    37      snapshot,
    38      showUpdate: showUpdate(view),
    39      suggestedVersion,
    40      runningBuild,
    41    }
    42  
    43    return (
    44      <OverviewResourceBarRoot>
    45        <AllResourceStatusSummary
    46          displayText="Resources"
    47          labelText="Status summary for all resources"
    48          resources={resources}
    49        />
    50        <GlobalNav {...globalNavProps} />
    51      </OverviewResourceBarRoot>
    52    )
    53  }