dashboard metric links

This commit is contained in:
Nate Kelley 2025-07-05 09:35:28 -06:00
parent fa7713f510
commit 34dfbd11b9
No known key found for this signature in database
GPG Key ID: FD90372AB8D98B4F
14 changed files with 58 additions and 11 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -0,0 +1,3 @@
import LoadingMetric from '@metrics/chart/loading';
export default LoadingMetric;

View File

@ -0,0 +1,3 @@
import MetricChartPage from '@metrics/chart/page';
export default MetricChartPage;

View File

@ -0,0 +1,3 @@
import LoadingMetric from '@metrics/file/loading';
export default LoadingMetric;

View File

@ -0,0 +1,3 @@
import MetricFilePage from '@metrics/file/page';
export default MetricFilePage;

View File

@ -0,0 +1,3 @@
import MetricLayout from '@metrics/layout';
export default MetricLayout;

View File

@ -0,0 +1,3 @@
import LoadingMetric from '@metrics/loading';
export default LoadingMetric;

View File

@ -0,0 +1,18 @@
import { redirect } from 'next/navigation';
import { BusterRoutes, createBusterRoute } from '@/routes';
export default async function Page(props: {
params: Promise<{ chatId: string; metricId: string; dashboardId: string }>;
}) {
const params = await props.params;
const { chatId, metricId, dashboardId } = params;
return redirect(
createBusterRoute({
route: BusterRoutes.APP_CHAT_ID_DASHBOARD_ID_METRIC_ID_CHART,
chatId,
metricId,
dashboardId
})
);
}

View File

@ -0,0 +1,3 @@
import LoadingMetric from '@metrics/results/loading';
export default LoadingMetric;

View File

@ -0,0 +1,3 @@
import MetricResultsPage from '@metrics/results/page';
export default MetricResultsPage;

View File

@ -0,0 +1,3 @@
import LoadingMetric from '@metrics/sql/loading';
export default LoadingMetric;

View File

@ -0,0 +1,3 @@
import MetricSQLPage from '@metrics/sql/page';
export default MetricSQLPage;

View File

@ -8,6 +8,7 @@ import { cn } from '@/lib/classMerge';
import { BusterRoutes, createBusterRoute } from '@/routes';
import { MetricTitle } from './MetricTitle';
import { useDashboardMetric } from './useDashboardMetric';
import { assetParamsToRoute } from '@/lib/assets';
const DashboardMetricItemBase: React.FC<{
metricId: string;
@ -55,18 +56,14 @@ const DashboardMetricItemBase: React.FC<{
);
const metricLink = useMemo(() => {
if (chatId) {
return createBusterRoute({
route: BusterRoutes.APP_CHAT_ID_METRIC_ID_CHART,
chatId,
metricId
});
}
return createBusterRoute({
route: BusterRoutes.APP_METRIC_ID_CHART,
metricId: metricId
return assetParamsToRoute({
type: 'metric',
assetId: metricId,
chatId,
dashboardId,
page: 'chart'
});
}, [metricId, chatId]);
}, [metricId, chatId, dashboardId]);
const onInitialAnimationEndPreflight = useMemoizedFn(() => {
setInitialAnimationEnded(metricId);

View File

@ -3,6 +3,7 @@ import type { MetricFileViewSecondary } from '../../layouts/ChatLayout/ChatLayou
export type MetricRouteParams = {
assetId: string;
dashboardId?: string;
chatId?: string;
secondaryView?: MetricFileViewSecondary;
versionNumber?: number;
@ -14,6 +15,7 @@ export const createMetricRoute = ({
assetId: metricId,
chatId,
secondaryView,
dashboardId,
versionNumber: metricVersionNumber,
page = 'chart'
}: Omit<MetricRouteParams, 'type'>) => {