extra fingerprint
+
+ {JSON.stringify(event.extra, null, 2)}
+
+ diff --git a/PROJECTS/beginner/canary-token-generator/frontend/src/config.ts b/PROJECTS/beginner/canary-token-generator/frontend/src/config.ts index c323d473..fa6d5f54 100644 --- a/PROJECTS/beginner/canary-token-generator/frontend/src/config.ts +++ b/PROJECTS/beginner/canary-token-generator/frontend/src/config.ts @@ -5,10 +5,15 @@ export const ROUTES = { HOME: '/', + MANAGE: '/m/:manageId', } as const export type Route = typeof ROUTES +export function manageRoute(manageId: string): string { + return `/m/${encodeURIComponent(manageId)}` +} + export const QUERY_CONFIG = { STALE_TIME: { USER: 1000 * 60 * 5, diff --git a/PROJECTS/beginner/canary-token-generator/frontend/src/core/app/routers.tsx b/PROJECTS/beginner/canary-token-generator/frontend/src/core/app/routers.tsx index 84ae0096..9cc93618 100644 --- a/PROJECTS/beginner/canary-token-generator/frontend/src/core/app/routers.tsx +++ b/PROJECTS/beginner/canary-token-generator/frontend/src/core/app/routers.tsx @@ -15,9 +15,13 @@ const routes: RouteObject[] = [ path: ROUTES.HOME, lazy: () => import('@/pages/landing'), }, + { + path: ROUTES.MANAGE, + lazy: () => import('@/pages/manage'), + }, { path: '*', - lazy: () => import('@/pages/landing'), + lazy: () => import('@/pages/notfound'), }, ], }, diff --git a/PROJECTS/beginner/canary-token-generator/frontend/src/pages/landing/result.tsx b/PROJECTS/beginner/canary-token-generator/frontend/src/pages/landing/result.tsx index 5d239947..5bb8b0f1 100644 --- a/PROJECTS/beginner/canary-token-generator/frontend/src/pages/landing/result.tsx +++ b/PROJECTS/beginner/canary-token-generator/frontend/src/pages/landing/result.tsx @@ -14,6 +14,7 @@ import { SpecimenCard, SpecimenCardSection, } from '@/components' +import { manageRoute } from '@/config' import { ArtifactDisplay } from './artifact' import { ARTIFACT_LABEL, PAGE_COPY } from './copy' import styles from './landing.module.scss' @@ -30,7 +31,7 @@ export function ResultView({ filenameFallback, }: ResultViewProps): React.ReactElement { const { token, artifact } = data - const managePath = `/m/${token.manage_id}` + const managePath = manageRoute(token.manage_id) return (
+ {JSON.stringify(event.extra, null, 2)}
+
+ DOSSIER · {token.type.toUpperCase()}
+{purpose}
+{token.memo || 'no memo recorded'}
+{MANAGE_COPY.EVENT_LOG_EMPTY}
+ ) : ( +{MANAGE_COPY.DELETE_BODY}
+ {armed ? ( +404 · DOSSIER
+{MANAGE_COPY.NOT_FOUND_BODY}
+5xx · ARCHIVE
+{MANAGE_COPY.ERROR_BODY}
+404 · OFF-ROUTE
++ This path is not part of the catalog. Maybe a typo, maybe a deleted + dossier. The intake is still open. +
+ + ← back to intake + +