All files / apps/web/src/pages/_protected/receipts $id.tsx

100% Statements 6/6
50% Branches 1/2
100% Functions 2/2
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29            332x     150x 150x 150x     150x   219x                        
import { createFileRoute } from "@tanstack/react-router";
 
import { ReceiptScreen } from "~app/features/receipt/receipt-screen";
import { getTitle } from "~web/utils/i18n";
import { getLoaderTrpcClient } from "~web/utils/trpc";
 
export const Route = createFileRoute("/_protected/receipts/$id")({
	component: ReceiptScreen,
	loader: async (ctx) => {
		await ctx.context.i18nContext.loadNamespaces("receipts");
		const trpc = getLoaderTrpcClient(ctx.context);
		const receipt = await ctx.context.queryClient.fetchQuery(
			trpc.receipts.get.queryOptions({ id: ctx.params.id }),
		);
		return { receiptName: receipt.name };
	},
	head: ({ match, loaderData: data }) => ({
		meta: [
			{
				title: data
					? getTitle(match.context.i18nContext, "receipt", {
							name: data.receiptName,
						})
					: getTitle(match.context.i18nContext, "receiptUnknown"),
			},
		],
	}),
});