.ts
TypeScript
(application/typescript)
// 1st-party
import type { ReactView } from "@ethicdevs/react-monolith";
// 3rd-party
import React from "react";
// generated via script[prisma:generate]
import type { Pipeline } from "@prisma/client";
// app
import type { CommonProps } from "../../types";
import { Layout } from "../../components/Layout";
import { PageWrapper } from "../../components/PageWrapper";

export interface PipelineDetailsViewProps extends CommonProps {
  pipeline: Pipeline;
  orgSlug: string;
  repoSlug: string;
}

const PipelineDetailsView: ReactView<PipelineDetailsViewProps> = ({
  commonProps,
  pipeline,
  orgSlug,
  repoSlug,
}) => {
  return (
    <Layout {...commonProps} orgSlug={orgSlug} repoSlug={repoSlug}>
      <PageWrapper>
        <h2>Pipeline: {pipeline.name ?? pipeline.id}</h2>
        <p>Status: {pipeline.status ?? "unknown"}</p>
      </PageWrapper>
    </Layout>
  );
};

PipelineDetailsView.displayName = "PipelineDetailsView";
export default PipelineDetailsView;