Skip to content

Commit e0fa1e9

Browse files
committed
fix
1 parent e79c165 commit e0fa1e9

File tree

3 files changed

+56
-27
lines changed

3 files changed

+56
-27
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import { NextResponse } from 'next/server';
2+
import { z } from 'zod';
3+
4+
import { highlightFiles } from '@/lib/highlight-code';
5+
import { getRegistryItem } from '@/lib/registry';
6+
7+
const ParamsSchema = z.object({
8+
name: z.string().min(1, 'Name parameter is required'),
9+
});
10+
11+
export async function GET(_: Request, { params }: any) {
12+
try {
13+
const { name } = ParamsSchema.parse({ name: params.name });
14+
15+
const item = await getRegistryItem(name);
16+
17+
if (!item?.files) {
18+
return NextResponse.json({ files: null });
19+
}
20+
21+
const highlightedFiles = await highlightFiles(item.files);
22+
23+
return NextResponse.json({
24+
files: highlightedFiles,
25+
});
26+
} catch (error) {
27+
if (error instanceof z.ZodError) {
28+
console.error('Failed to get registry files:', error.issues[0].message);
29+
30+
return NextResponse.json(
31+
{ error: error.issues[0].message },
32+
{ status: 400 }
33+
);
34+
}
35+
36+
console.error('Failed to get registry files:', error);
37+
38+
return NextResponse.json(
39+
{ error: 'Failed to get registry files' },
40+
{ status: 500 }
41+
);
42+
}
43+
}

apps/www/src/components/block-actions.ts

-22
This file was deleted.

apps/www/src/components/block-viewer.tsx

+13-5
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import {
2929
} from 'lucide-react';
3030
import Link from 'next/link';
3131

32-
import { getHighlightedFiles } from '@/components/block-actions';
3332
import { CopyNpmCommandButton } from '@/components/copy-button';
3433
import {
3534
Collapsible,
@@ -132,11 +131,20 @@ function BlockViewerProvider({
132131
setIsLoading(true);
133132

134133
try {
135-
const files = await getHighlightedFiles(item.name);
136-
setHighlightedFiles(files);
134+
const response = await fetch(
135+
`/api/registry/${encodeURIComponent(item.name)}`
136+
);
137+
const data = await response.json();
137138

138-
if (!activeFile && files?.length) {
139-
setActiveFile(files[0].target!);
139+
if (!response.ok) {
140+
throw new Error(data.error || 'Failed to fetch files');
141+
}
142+
if (data.files) {
143+
setHighlightedFiles(data.files);
144+
145+
if (!activeFile && data.files?.length) {
146+
setActiveFile(data.files[0].target!);
147+
}
140148
}
141149
} catch (error) {
142150
console.error('Failed to load files:', error);

0 commit comments

Comments
 (0)