2020-10-28 09:16:27 -07:00
|
|
|
import React from "react";
|
|
|
|
|
|
|
|
import { ErrorCard } from "components/common/ErrorCard";
|
2021-01-26 11:51:58 -08:00
|
|
|
import { BlockOverviewCard } from "components/block/BlockOverviewCard";
|
2020-10-28 09:16:27 -07:00
|
|
|
|
2021-02-19 09:20:03 -08:00
|
|
|
// IE11 doesn't support Number.MAX_SAFE_INTEGER
|
|
|
|
const MAX_SAFE_INTEGER = 9007199254740991;
|
|
|
|
|
2021-03-04 05:12:41 -08:00
|
|
|
type Props = { slot: string; tab?: string };
|
2020-10-28 09:16:27 -07:00
|
|
|
|
2021-03-04 05:12:41 -08:00
|
|
|
export function BlockDetailsPage({ slot, tab }: Props) {
|
2021-02-19 09:20:03 -08:00
|
|
|
const slotNumber = Number(slot);
|
2020-10-28 09:16:27 -07:00
|
|
|
let output = <ErrorCard text={`Block ${slot} is not valid`} />;
|
|
|
|
|
2021-02-19 10:37:39 -08:00
|
|
|
if (
|
|
|
|
!isNaN(slotNumber) &&
|
|
|
|
slotNumber < MAX_SAFE_INTEGER &&
|
|
|
|
slotNumber % 1 === 0
|
|
|
|
) {
|
2021-03-04 05:12:41 -08:00
|
|
|
output = <BlockOverviewCard slot={slotNumber} tab={tab} />;
|
2020-10-28 09:16:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
return (
|
|
|
|
<div className="container mt-n3">
|
|
|
|
<div className="header">
|
|
|
|
<div className="header-body">
|
|
|
|
<h6 className="header-pretitle">Details</h6>
|
|
|
|
<h2 className="header-title">Block</h2>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{output}
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
}
|