import React from 'react'; import { SchemaSubject } from 'generated-sources'; import { ClusterName, SchemaName } from 'redux/interfaces'; import { clusterSchemasPath } from 'lib/paths'; import ClusterContext from 'components/contexts/ClusterContext'; import Breadcrumb from '../../common/Breadcrumb/Breadcrumb'; import SchemaVersion from './SchemaVersion'; import LatestVersionItem from './LatestVersionItem'; import PageLoader from '../../common/PageLoader/PageLoader'; export interface DetailsProps { subject: SchemaName; schema: SchemaSubject; clusterName: ClusterName; versions: SchemaSubject[]; isFetched: boolean; fetchSchemaVersions: ( clusterName: ClusterName, schemaName: SchemaName ) => void; } const Details: React.FC = ({ subject, schema, clusterName, fetchSchemaVersions, versions, isFetched, }) => { const { isReadOnly } = React.useContext(ClusterContext); React.useEffect(() => { fetchSchemaVersions(clusterName, subject); }, [fetchSchemaVersions, clusterName]); return (
{subject}
{isFetched ? ( <>
Latest Version
#{schema.version}
{!isReadOnly && (
)}
{versions.map((version) => ( ))}
Version ID Schema
) : ( )}
); }; export default Details;