Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- Add AudioSection component with media player and waveform visualization - Add NoteContent component with inline link support and syntax highlighting - Add NoteSidebar with collapsible sections for navigation - Add SidebarContext for managing sidebar state - Update note page layout to use new component architecture - Add assets utility for GCS audio/video URL generation - Update content library with audio/skill/prompt type support - Add vision.md with editorial guidelines - Update .gitignore with additional security patterns - Add upload-asset.sh script for GCS asset management Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
30 lines
760 B
TypeScript
30 lines
760 B
TypeScript
"use client";
|
|
|
|
import { CopyableBlock } from "@/components/copyable";
|
|
import { SidebarItem } from "./SidebarItem";
|
|
import type { Prompt } from "@/lib/content";
|
|
|
|
interface PromptsSectionProps {
|
|
prompts: Prompt[];
|
|
}
|
|
|
|
export function PromptsSection({ prompts }: PromptsSectionProps) {
|
|
return (
|
|
<section className="mb-8">
|
|
<h2 className="text-sm font-medium text-muted-foreground mb-4">
|
|
Prompts Used
|
|
</h2>
|
|
<div className="space-y-4">
|
|
{prompts.map((prompt) => (
|
|
<SidebarItem key={prompt.id} id={`prompt-${prompt.id}`}>
|
|
<CopyableBlock
|
|
label={prompt.label}
|
|
content={prompt.content.trim()}
|
|
/>
|
|
</SidebarItem>
|
|
))}
|
|
</div>
|
|
</section>
|
|
);
|
|
}
|