mirror of
https://github.com/lux-tel/websites.git
synced 2026-10-30 20:31:36 +00:00
43 lines
1.4 KiB
TypeScript
43 lines
1.4 KiB
TypeScript
import { useTranslations } from 'next-intl';
|
|
import ActionModule from '@/components/ActionModule';
|
|
import { BlockExplorerLink, BlockExplorerLinkText } from '@/components/BlockExplorerLink';
|
|
import NodeStaking, { NodeStakingFormSkeleton } from './NodeStaking';
|
|
import { Suspense } from 'react';
|
|
import { dehydrate, HydrationBoundary } from '@tanstack/react-query';
|
|
import { stakingBackendPrefetchQuery } from '@/lib/sent-staking-backend-server';
|
|
import { getOpenNodes } from '@/lib/queries/getOpenNodes';
|
|
|
|
interface NodePageParams {
|
|
params: {
|
|
nodeId: string;
|
|
};
|
|
}
|
|
|
|
export default function NodePage({ params }: NodePageParams) {
|
|
const { nodeId } = params;
|
|
const dictionary = useTranslations('actionModules.node');
|
|
|
|
const { queryClient } = stakingBackendPrefetchQuery(getOpenNodes);
|
|
|
|
return (
|
|
<ActionModule
|
|
background={3}
|
|
title={dictionary('title')}
|
|
headerAction={
|
|
<HydrationBoundary state={dehydrate(queryClient)}>
|
|
<Suspense fallback={<BlockExplorerLinkText />}>
|
|
<BlockExplorerLink nodeId={nodeId} />
|
|
</Suspense>
|
|
</HydrationBoundary>
|
|
}
|
|
className="h-screen-without-header md:h-full"
|
|
>
|
|
<HydrationBoundary state={dehydrate(queryClient)}>
|
|
<Suspense fallback={<NodeStakingFormSkeleton />}>
|
|
<NodeStaking nodeId={nodeId} />
|
|
</Suspense>
|
|
</HydrationBoundary>
|
|
</ActionModule>
|
|
);
|
|
}
|