monitorHeader.tsx 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import * as React from 'react';
  2. import TimeSince from 'sentry/components/timeSince';
  3. import {t} from 'sentry/locale';
  4. import MonitorHeaderActions from './monitorHeaderActions';
  5. import MonitorIcon from './monitorIcon';
  6. type Props = React.ComponentProps<typeof MonitorHeaderActions>;
  7. const MonitorHeader = ({monitor, orgId, onUpdate}: Props) => (
  8. <div className="release-details">
  9. <div className="row">
  10. <div className="col-sm-6 col-xs-10">
  11. <h3>{monitor.name}</h3>
  12. <div className="release-meta">{monitor.id}</div>
  13. </div>
  14. <div className="col-sm-2 hidden-xs">
  15. <h6 className="nav-header">{t('Last Check-in')}</h6>
  16. {monitor.lastCheckIn && <TimeSince date={monitor.lastCheckIn} />}
  17. </div>
  18. <div className="col-sm-2 hidden-xs">
  19. <h6 className="nav-header">{t('Next Check-in')}</h6>
  20. {monitor.nextCheckIn && <TimeSince date={monitor.nextCheckIn} />}
  21. </div>
  22. <div className="col-sm-2">
  23. <h6 className="nav-header">{t('Status')}</h6>
  24. <MonitorIcon status={monitor.status} size={16} />
  25. </div>
  26. </div>
  27. <MonitorHeaderActions orgId={orgId} monitor={monitor} onUpdate={onUpdate} />
  28. </div>
  29. );
  30. export default MonitorHeader;