diff --git a/apps/web/app/onboarding/page.tsx b/apps/web/app/onboarding/page.tsx
index b90898ec..f3d8a769 100644
--- a/apps/web/app/onboarding/page.tsx
+++ b/apps/web/app/onboarding/page.tsx
@@ -33,7 +33,7 @@ function UserSupermemory({ name }: { name: string }) {
>
-
+
{name.split(" ")[0]}'s
diff --git a/apps/web/components/mcp-detail-view.tsx b/apps/web/components/mcp-detail-view.tsx
index 4cd98c58..adaddf6f 100644
--- a/apps/web/components/mcp-detail-view.tsx
+++ b/apps/web/components/mcp-detail-view.tsx
@@ -152,6 +152,7 @@ export function MCPDetailView({ onBack }: MCPDetailViewProps) {
disabled={!selectedClient}
>
) : (
<>
-
+
Copy
>
)}
@@ -563,6 +565,7 @@ export function MCPDetailView({ onBack }: MCPDetailViewProps) {
)}
>
(null)
+ const [loading, setLoading] = useState(true)
+ const [error, setError] = useState(null)
+
+ useEffect(() => {
+ if (!url) {
+ setError("No YouTube URL provided")
+ setLoading(false)
+ return
+ }
+
+ const id = extractVideoId(url)
+ if (!id) {
+ setError("Invalid YouTube URL format")
+ setLoading(false)
+ return
+ }
+
+ setVideoId(id)
+ setLoading(false)
+ setError(null)
+ }, [url])
+
+ if (!url) {
+ return (
+
+ No YouTube URL provided
+
+ )
+ }
+
+ if (loading) {
+ return (
+
+ Loading video...
+
+ )
+ }
+
+ if (error || !videoId) {
+ return (
+
+ Error: {error || "Failed to extract video ID"}
+
+ )
+ }
+
+ return (
+
+ )
+}
diff --git a/apps/web/components/new/document-modal/index.tsx b/apps/web/components/new/document-modal/index.tsx
index d7049b0b..fc5e3821 100644
--- a/apps/web/components/new/document-modal/index.tsx
+++ b/apps/web/components/new/document-modal/index.tsx
@@ -11,6 +11,7 @@ import { Summary as DocumentSummary } from "./summary"
import { dmSansClassName } from "@/utils/fonts"
import { GraphListMemories, type MemoryEntry } from "./graph-list-memories"
import { PdfViewer } from "./content/pdf"
+import { YoutubeVideo } from "./content/yt-video"
type DocumentsResponse = z.infer
type DocumentWithMemories = DocumentsResponse["documents"][0]
@@ -77,6 +78,9 @@ export function DocumentModal({
{_document.content}
)}
{_document?.type === "pdf" && }
+ {(_document?.url?.includes("youtube.com")) && (
+
+ )}