Skip to content

Commit 5a82b27

Browse files
committed
Enable route and link to instance details page
1 parent a62c061 commit 5a82b27

3 files changed

Lines changed: 24 additions & 1 deletion

File tree

src/app/pages/RoflAppDetailsPage/InstancesCard.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ const InstancesView: FC<RoflAppDetailsContext> = ({ scope, id }) => {
4141
isTotalCountClipped: data?.data.is_total_count_clipped,
4242
rowsPerPage: limit,
4343
}}
44+
appId={id}
45+
scope={scope}
4446
/>
4547
)
4648
}

src/app/pages/RoflAppDetailsPage/InstancesList.tsx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,19 @@ import { COLORS } from '../../../styles/theme/colors'
66
import { Table, TableCellAlign, TableColProps } from '../../components/Table'
77
import { TablePaginationProps } from '../../components/Table/TablePagination'
88
import { RoflAppInstanceStatusBadge } from 'app/components/Rofl/RoflAppInstanceStatusBadge'
9+
import { RouteUtils } from 'app/utils/route-utils'
10+
import { Link as RouterLink } from 'react-router-dom'
11+
import Link from '@mui/material/Link'
12+
import { SearchScope } from '../../../types/searchScope'
913

1014
type InstancesListProps = {
1115
currentEpoch: number | undefined
1216
instances: RoflInstance[] | undefined
1317
isLoading: boolean
1418
limit: number
1519
pagination: false | TablePaginationProps
20+
appId: string
21+
scope: SearchScope
1622
}
1723

1824
export const InstancesList: FC<InstancesListProps> = ({
@@ -21,6 +27,8 @@ export const InstancesList: FC<InstancesListProps> = ({
2127
pagination,
2228
instances,
2329
currentEpoch,
30+
appId,
31+
scope,
2432
}) => {
2533
const { t } = useTranslation()
2634
const tableColumns: TableColProps[] = [
@@ -34,14 +42,21 @@ export const InstancesList: FC<InstancesListProps> = ({
3442
currentEpoch !== undefined && instances
3543
? instances?.map(instance => {
3644
const isActive = instance.expiration_epoch > currentEpoch
45+
const to = RouteUtils.getRoflAppInstanceRoute(scope.network, appId, instance.rak)
3746

3847
return {
3948
key: instance.rak,
4049
backgroundColor: isActive ? 'transparent' : COLORS.grayLight,
4150
data: [
4251
{
4352
key: 'rak',
44-
content: <Typography variant="mono">{instance.rak}</Typography>,
53+
content: (
54+
<Typography variant="mono">
55+
<Link component={RouterLink} to={to}>
56+
{instance.rak}
57+
</Link>
58+
</Typography>
59+
),
4560
},
4661
{
4762
key: 'node',

src/routes.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ import { InstancesCard } from './app/pages/RoflAppDetailsPage/InstancesCard'
7474
import { useRoflAppDetailsProps } from './app/pages/RoflAppDetailsPage/hooks'
7575
import { RoflAppUpdatesCard } from './app/pages/RoflAppDetailsPage/RoflAppUpdatesCard'
7676
import { RoflAppInstanceTransactionsCard } from 'app/pages/RoflAppDetailsPage/RoflAppInstanceTransactionsCard'
77+
import { RoflAppInstanceDetailsPage } from 'app/pages/RoflAppInstanceDetailsPage'
7778

7879
const ScopeSpecificPart = () => {
7980
const { network, layer } = useRequiredScopeParam()
@@ -325,6 +326,11 @@ export const routes: RouteObject[] = [
325326
},
326327
],
327328
},
329+
{
330+
path: `rofl/app/:id/instance/:rak`,
331+
element: <RoflAppInstanceDetailsPage />,
332+
loader: roflAppParamLoader(),
333+
},
328334
],
329335
},
330336
],

0 commit comments

Comments
 (0)