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}