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

     1  import React from "react"
     2  import { MemoryRouter } from "react-router"
     3  import Features, { FeaturesTestProvider } from "./feature"
     4  import OverviewTablePane from "./OverviewTablePane"
     5  import PathBuilder, { PathBuilderProvider } from "./PathBuilder"
     6  import { ResourceGroupsContextProvider } from "./ResourceGroupsContext"
     7  import { ResourceListOptionsProvider } from "./ResourceListOptionsContext"
     8  import { ResourceSelectionProvider } from "./ResourceSelectionContext"
     9  import { TiltSnackbarProvider } from "./Snackbar"
    10  import { SnapshotActionProvider } from "./snapshot"
    11  import { nResourceView } from "./testdata"
    12  import { Snapshot } from "./types"
    13  
    14  const snapshotPb = PathBuilder.forTesting("localhost", "/snapshot/local")
    15  const FAKE_SNAPSHOT: Snapshot = {
    16    view: nResourceView(10),
    17    createdAt: new Date().toISOString(),
    18  }
    19  
    20  export default {
    21    title: "New UI/Shared/SnapshotBar",
    22    decorators: [
    23      (Story: any) => {
    24        const { view, createdAt } = FAKE_SNAPSHOT
    25        const features = new Features(null)
    26        return (
    27          <MemoryRouter initialEntries={["/snapshot/local"]}>
    28            <PathBuilderProvider value={snapshotPb}>
    29              <TiltSnackbarProvider>
    30                <FeaturesTestProvider value={features}>
    31                  <SnapshotActionProvider
    32                    openModal={() => {}}
    33                    currentSnapshotTime={{
    34                      createdAt,
    35                      tiltUpTime: view?.tiltStartTime,
    36                    }}
    37                  >
    38                    <ResourceGroupsContextProvider>
    39                      <ResourceListOptionsProvider>
    40                        <ResourceSelectionProvider>
    41                          <div style={{ margin: "-1rem" }}>
    42                            <Story />
    43                          </div>
    44                        </ResourceSelectionProvider>
    45                      </ResourceListOptionsProvider>
    46                    </ResourceGroupsContextProvider>
    47                  </SnapshotActionProvider>
    48                </FeaturesTestProvider>
    49              </TiltSnackbarProvider>
    50            </PathBuilderProvider>
    51          </MemoryRouter>
    52        )
    53      },
    54    ],
    55  }
    56  
    57  export const OnTableView = () => (
    58    <OverviewTablePane view={FAKE_SNAPSHOT.view!} isSocketConnected={false} />
    59  )