diff --git a/supabase/functions/share-view/index.ts b/supabase/functions/share-view/index.ts
index 4fae969..eb8e916 100644
--- a/supabase/functions/share-view/index.ts
+++ b/supabase/functions/share-view/index.ts
@@ -117,7 +117,7 @@ function page(title: string, ogDesc: string, inner: string): string {
.rgrid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:10px 20px 0; }
.rtile { position:relative; aspect-ratio:1/1; border-radius:14px; overflow:hidden;
border:.5px solid var(--border); background:var(--surface); }
- .rtile > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
+ .rtile > img, .rtile > video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rtile .tscrim { position:absolute; left:0; right:0; bottom:0; height:56px;
background:linear-gradient(transparent, rgba(0,0,0,.4)); }
/* 사진 없는 후기 — 앱 블롭 배경의 정적 재현(프라이머리 톤 원형 그라데이션) */
@@ -351,12 +351,23 @@ Deno.serve(async (req) => {
content: string | null;
has_incentive?: boolean;
photo_urls?: string[];
+ videos?: Array<{ url?: string; thumb_url?: string }>;
}> = data.reviews ?? [];
const starBar = (n: number) =>
`★${Math.max(0, Math.min(5, Math.round(n)))}`;
const tiles = reviews.map((r) => {
const photo = (r.photo_urls ?? [])[0];
+ const video = (r.videos ?? [])[0];
const badge = r.has_incentive ? `
업체 혜택
` : "";
+ // 영상 후기 — 포스터 + 탭 재생(