From 8bc27bb8a14b1f13cc713d516c46ec0d5a02c439 Mon Sep 17 00:00:00 2001 From: gosangam Date: Sat, 11 Jul 2026 00:45:51 +0530 Subject: [PATCH] feat: add daily vani --- app/(app)/page.tsx | 5 ++-- components/vani/vani-of-the-day-cta.tsx | 33 +++++++++++++++++++------ 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/app/(app)/page.tsx b/app/(app)/page.tsx index 1857efc5..13f0f3f5 100644 --- a/app/(app)/page.tsx +++ b/app/(app)/page.tsx @@ -87,9 +87,10 @@ export default function HomePage() { — it's free.

- {/* Daily sādhana streak — a simple entry point for visitors. */} -
+ {/* Daily sādhana streak + Vāṇī of the day — entry points for visitors. */} +
+
diff --git a/components/vani/vani-of-the-day-cta.tsx b/components/vani/vani-of-the-day-cta.tsx index 5378a6a6..75b91951 100644 --- a/components/vani/vani-of-the-day-cta.tsx +++ b/components/vani/vani-of-the-day-cta.tsx @@ -10,9 +10,24 @@ import { useEffect, useState } from "react"; import Link from "next/link"; -import { ChevronRight, Quote } from "lucide-react"; +import { ChevronRight } from "lucide-react"; import { getVaniOfTheDay, type Vani } from "@/lib/vani"; +/** Quote-marks glyph (svgrepo). Inherits color via `currentColor`. */ +function QuotesIcon({ className }: { className?: string }) { + return ( + + + + + ); +} + export function VaniOfTheDayCTA() { const [vani, setVani] = useState(null); @@ -32,27 +47,29 @@ export function VaniOfTheDayCTA() { if (!vani) return null; + // Third line: the book name for a verse/chapter, or the label ("Lecture" / + // "Conversation") for a transcript. + const source = + vani.kind === "transcript" ? vani.label : vani.book_title || vani.label; + return ( - +
-

+

Vāṇī of the day - - {vani.label} -

{vani.title}

- {vani.subtitle ? ( + {source ? (

- {vani.subtitle} + {source}

) : null}