chore: code refactor

This commit is contained in:
gosangam
2026-06-13 02:24:42 +05:30
parent cc5633c37a
commit 439664a97d
151 changed files with 1387 additions and 1138 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { buildOgMeta } from "@/lib/og"; import { buildOgMeta } from "@/lib/og";
import { import {
BookOpen, BookOpen,
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getBbdMeta, getBbdIntroSegments } from "@/lib/bbd"; import { getBbdMeta, getBbdIntroSegments } from "@/lib/bbd";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
@@ -1,10 +1,10 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getBookMeta, getSingleVerse, getChapterVerseIndex } from "@/lib/api"; import { getBookMeta, getSingleVerse, getChapterVerseIndex } from "@/lib/api";
import { ChapterViewer } from "@/app/(app)/books/chapter-viewer"; import { ChapterViewer } from "@/app/(app)/books/chapter-viewer";
import type { MobileNavGroup } from "@/components/mobile-nav"; import type { MobileNavGroup } from "@/components/layout/mobile-nav";
import { ogForVerse, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForVerse, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
export const dynamic = "force-dynamic"; export const dynamic = "force-dynamic";
+1 -1
View File
@@ -3,7 +3,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getBookMeta } from "@/lib/api"; import { getBookMeta } from "@/lib/api";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { ExtractedVerseCount } from "../extracted-verse-count"; import { ExtractedVerseCount } from "../extracted-verse-count";
+2 -2
View File
@@ -10,12 +10,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
export const dynamic = "force-dynamic"; export const dynamic = "force-dynamic";
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getBkMeta } from "@/lib/bk"; import { getBkMeta } from "@/lib/bk";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
@@ -2,7 +2,7 @@ import type { Metadata } from "next";
import fs from "fs"; import fs from "fs";
import path from "path"; import path from "path";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { import {
getBookMeta, getBookMeta,
@@ -12,7 +12,7 @@ import {
type VerseRecord, type VerseRecord,
} from "@/lib/api"; } from "@/lib/api";
import { ChapterViewer } from "@/app/(app)/books/chapter-viewer"; import { ChapterViewer } from "@/app/(app)/books/chapter-viewer";
import type { MobileNavGroup } from "@/components/mobile-nav"; import type { MobileNavGroup } from "@/components/layout/mobile-nav";
import { ogForVerse, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForVerse, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
export const dynamic = "force-dynamic"; export const dynamic = "force-dynamic";
+1 -1
View File
@@ -7,7 +7,7 @@ import { getChapterVerseIndex } from "@/lib/api";
import { buildOgMeta } from "@/lib/og"; import { buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import Link from "next/link"; import Link from "next/link";
import fs from "fs"; import fs from "fs";
import path from "path"; import path from "path";
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getBookMeta } from "@/lib/api"; import { getBookMeta } from "@/lib/api";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { ExtractedVerseCount } from "../extracted-verse-count"; import { ExtractedVerseCount } from "../extracted-verse-count";
import fs from "fs"; import fs from "fs";
+2 -2
View File
@@ -10,12 +10,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
export const dynamic = "force-dynamic"; export const dynamic = "force-dynamic";
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getCbhcMeta } from "@/lib/cbhc"; import { getCbhcMeta } from "@/lib/cbhc";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
@@ -2,11 +2,11 @@ export const dynamic = "force-dynamic";
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getBookMeta, getSingleVerse, getChapterVerseIndex } from "@/lib/api"; import { getBookMeta, getSingleVerse, getChapterVerseIndex } from "@/lib/api";
import { ChapterViewer } from "@/app/(app)/books/chapter-viewer"; import { ChapterViewer } from "@/app/(app)/books/chapter-viewer";
import type { MobileNavGroup } from "@/components/mobile-nav"; import type { MobileNavGroup } from "@/components/layout/mobile-nav";
import { ogForVerse, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForVerse, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
type ChapterInfo = { type ChapterInfo = {
+1 -1
View File
@@ -1,6 +1,6 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { ExtractedVerseCount } from "../../extracted-verse-count"; import { ExtractedVerseCount } from "../../extracted-verse-count";
+1 -1
View File
@@ -2,7 +2,7 @@ import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { getBookMeta } from "@/lib/api"; import { getBookMeta } from "@/lib/api";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { ExtractedVerseCount } from "../extracted-verse-count"; import { ExtractedVerseCount } from "../extracted-verse-count";
+1 -1
View File
@@ -6,7 +6,7 @@ import { Card, CardHeader, CardContent } from "@/components/ui/card";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { ChevronLeft, ChevronRight, Loader2 } from "lucide-react"; import { ChevronLeft, ChevronRight, Loader2 } from "lucide-react";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Types // Types
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getDsMeta, getDsIntroSegments } from "@/lib/ds"; import { getDsMeta, getDsIntroSegments } from "@/lib/ds";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getEjMeta, getEjIntroSegments } from "@/lib/ej"; import { getEjMeta, getEjIntroSegments } from "@/lib/ej";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getEkMeta, getEkIntroSegments } from "@/lib/ek"; import { getEkMeta, getEkIntroSegments } from "@/lib/ek";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -10,12 +10,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
export const dynamic = "force-dynamic"; export const dynamic = "force-dynamic";
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getGgMeta, getGgIntroSegments } from "@/lib/gg"; import { getGgMeta, getGgIntroSegments } from "@/lib/gg";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getHkhMeta, getHkhIntroSegments } from "@/lib/hkh"; import { getHkhMeta, getHkhIntroSegments } from "@/lib/hkh";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -11,12 +11,12 @@ import {
type IsoSidebarItem, type IsoSidebarItem,
} from "@/lib/iso"; } from "@/lib/iso";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Type guards // Type guards
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getIsoMeta, getIsoIntroSegments } from "@/lib/iso"; import { getIsoMeta, getIsoIntroSegments } from "@/lib/iso";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -6,12 +6,12 @@ import { notFound } from "next/navigation";
import { getProseChapter, getProseChapters } from "@/lib/api"; import { getProseChapter, getProseChapters } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
export async function generateMetadata({ export async function generateMetadata({
params, params,
+1 -1
View File
@@ -4,7 +4,7 @@ import { notFound } from "next/navigation";
import { getBookMeta, getProseChapters } from "@/lib/api"; import { getBookMeta, getProseChapters } from "@/lib/api";
import { buildOgMeta } from "@/lib/og"; import { buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export async function generateMetadata({ export async function generateMetadata({
+1 -1
View File
@@ -3,7 +3,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getBookMeta } from "@/lib/api"; import { getBookMeta } from "@/lib/api";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getLclMeta, getLclIntroSegments } from "@/lib/lcl"; import { getLclMeta, getLclIntroSegments } from "@/lib/lcl";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
export async function generateMetadata({ export async function generateMetadata({
params, params,
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getLobMeta, getLobIntroSegments } from "@/lib/lob"; import { getLobMeta, getLobIntroSegments } from "@/lib/lob";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
export async function generateMetadata({ export async function generateMetadata({
params, params,
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getMgMeta, getMgIntroSegments } from "@/lib/mg"; import { getMgMeta, getMgIntroSegments } from "@/lib/mg";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
@@ -1,7 +1,7 @@
import fs from "fs"; import fs from "fs";
import path from "path"; import path from "path";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { import {
getBookMeta, getBookMeta,
@@ -11,7 +11,7 @@ import {
type VerseRecord, type VerseRecord,
} from "@/lib/api"; } from "@/lib/api";
import { ChapterViewer } from "@/app/(app)/books/chapter-viewer"; import { ChapterViewer } from "@/app/(app)/books/chapter-viewer";
import type { MobileNavGroup } from "@/components/mobile-nav"; import type { MobileNavGroup } from "@/components/layout/mobile-nav";
import type { Metadata } from "next"; import type { Metadata } from "next";
import { ogForVerse, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForVerse, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
+1 -1
View File
@@ -7,7 +7,7 @@ import { getChapterVerseIndex } from "@/lib/api";
import { buildOgMeta } from "@/lib/og"; import { buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import Link from "next/link"; import Link from "next/link";
import fs from "fs"; import fs from "fs";
import path from "path"; import path from "path";
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getBookMeta } from "@/lib/api"; import { getBookMeta } from "@/lib/api";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { ExtractedVerseCount } from "../extracted-verse-count"; import { ExtractedVerseCount } from "../extracted-verse-count";
import fs from "fs"; import fs from "fs";
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getMogMeta, getMogIntroSegments } from "@/lib/mog"; import { getMogMeta, getMogIntroSegments } from "@/lib/mog";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
@@ -4,7 +4,7 @@ import type { Metadata } from "next";
import fs from "fs"; import fs from "fs";
import path from "path"; import path from "path";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { import {
getBookMeta, getBookMeta,
@@ -15,7 +15,7 @@ import {
} from "@/lib/api"; } from "@/lib/api";
import { ogForVerse, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForVerse, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { ChapterViewer } from "@/app/(app)/books/chapter-viewer"; import { ChapterViewer } from "@/app/(app)/books/chapter-viewer";
import type { MobileNavGroup } from "@/components/mobile-nav"; import type { MobileNavGroup } from "@/components/layout/mobile-nav";
type NbsMeta = { type NbsMeta = {
book: string; book: string;
+1 -1
View File
@@ -7,7 +7,7 @@ import { getChapterVerseIndex } from "@/lib/api";
import { buildOgMeta } from "@/lib/og"; import { buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import Link from "next/link"; import Link from "next/link";
import fs from "fs"; import fs from "fs";
import path from "path"; import path from "path";
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getBookMeta } from "@/lib/api"; import { getBookMeta } from "@/lib/api";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { ExtractedVerseCount } from "../extracted-verse-count"; import { ExtractedVerseCount } from "../extracted-verse-count";
import fs from "fs"; import fs from "fs";
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getNodMeta, getNodIntroSegments } from "@/lib/nod"; import { getNodMeta, getNodIntroSegments } from "@/lib/nod";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -11,12 +11,12 @@ import {
type NoiSidebarItem, type NoiSidebarItem,
} from "@/lib/noi"; } from "@/lib/noi";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Type guards // Type guards
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getNoiMeta, getNoiIntroSegments } from "@/lib/noi"; import { getNoiMeta, getNoiIntroSegments } from "@/lib/noi";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getOchkmMeta, getOchkmIntroSegments } from "@/lib/ochkm"; import { getOchkmMeta, getOchkmIntroSegments } from "@/lib/ochkm";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getOwkMeta, getOwkIntroSegments } from "@/lib/owk"; import { getOwkMeta, getOwkIntroSegments } from "@/lib/owk";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+1 -1
View File
@@ -1,6 +1,6 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { getAllBooks, type BookMeta } from "@/lib/api"; import { getAllBooks, type BookMeta } from "@/lib/api";
import { buildOgMeta } from "@/lib/og"; import { buildOgMeta } from "@/lib/og";
import { BooksGrid, type BookInfo } from "./books-grid"; import { BooksGrid, type BookInfo } from "./books-grid";
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getPkMeta } from "@/lib/pk"; import { getPkMeta } from "@/lib/pk";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getPoyMeta, getPoyIntroSegments } from "@/lib/poy"; import { getPoyMeta, getPoyIntroSegments } from "@/lib/poy";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getPqpaMeta, getPqpaIntroSegments } from "@/lib/pqpa"; import { getPqpaMeta, getPqpaIntroSegments } from "@/lib/pqpa";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getRvMeta, getRvIntroSegments } from "@/lib/rv"; import { getRvMeta, getRvIntroSegments } from "@/lib/rv";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
@@ -2,11 +2,11 @@ export const dynamic = "force-dynamic";
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getBookMeta, getSingleVerse, getChapterVerseIndex } from "@/lib/api"; import { getBookMeta, getSingleVerse, getChapterVerseIndex } from "@/lib/api";
import { ChapterViewer } from "@/app/(app)/books/chapter-viewer"; import { ChapterViewer } from "@/app/(app)/books/chapter-viewer";
import type { MobileNavGroup } from "@/components/mobile-nav"; import type { MobileNavGroup } from "@/components/layout/mobile-nav";
import { ogForVerse, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForVerse, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
type ChapterInfo = { type ChapterInfo = {
+1 -1
View File
@@ -1,6 +1,6 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { ExtractedVerseCount } from "../../extracted-verse-count"; import { ExtractedVerseCount } from "../../extracted-verse-count";
+1 -1
View File
@@ -1,6 +1,6 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { ExtractedVerseCount } from "../extracted-verse-count"; import { ExtractedVerseCount } from "../extracted-verse-count";
@@ -1,10 +1,10 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getBookMeta, getSingleVerse, getChapterVerseIndex } from "@/lib/api"; import { getBookMeta, getSingleVerse, getChapterVerseIndex } from "@/lib/api";
import { ChapterViewer } from "@/app/(app)/books/chapter-viewer"; import { ChapterViewer } from "@/app/(app)/books/chapter-viewer";
import type { MobileNavGroup } from "@/components/mobile-nav"; import type { MobileNavGroup } from "@/components/layout/mobile-nav";
import { ogForVerse, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForVerse, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
export const dynamic = "force-dynamic"; export const dynamic = "force-dynamic";
+1 -1
View File
@@ -3,7 +3,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getBookMeta } from "@/lib/api"; import { getBookMeta } from "@/lib/api";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { ExtractedVerseCount } from "../extracted-verse-count"; import { ExtractedVerseCount } from "../extracted-verse-count";
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getSsrMeta, getSsrIntroSegments } from "@/lib/ssr"; import { getSsrMeta, getSsrIntroSegments } from "@/lib/ssr";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -13,12 +13,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getSvaMeta, getSvaIntroSegments } from "@/lib/sva"; import { getSvaMeta, getSvaIntroSegments } from "@/lib/sva";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getTlcMeta, getTlcIntroSegments } from "@/lib/tlc"; import { getTlcMeta, getTlcIntroSegments } from "@/lib/tlc";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getTlkMeta, getTlkIntroSegments } from "@/lib/tlk"; import { getTlkMeta, getTlkIntroSegments } from "@/lib/tlk";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getTqkMeta, getTqkIntroSegments } from "@/lib/tqk"; import { getTqkMeta, getTqkIntroSegments } from "@/lib/tqk";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -12,12 +12,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getTtpMeta } from "@/lib/ttp"; import { getTtpMeta } from "@/lib/ttp";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+2 -2
View File
@@ -11,12 +11,12 @@ import {
import { getProseChapter } from "@/lib/api"; import { getProseChapter } from "@/lib/api";
import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForChapter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { BOOK_NAMES } from "@/lib/constants"; import { BOOK_NAMES } from "@/lib/constants";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getVaMeta } from "@/lib/va"; import { getVaMeta } from "@/lib/va";
import { ogForBook } from "@/lib/og"; import { ogForBook } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export function generateMetadata(): Metadata { export function generateMetadata(): Metadata {
+1 -1
View File
@@ -15,7 +15,7 @@ import {
type Collection, type Collection,
type Post, type Post,
} from "@/lib/social"; } from "@/lib/social";
import { PostViews } from "@/components/social/post-views"; import { PostViews } from "@/components/social/post/post-views";
export default function PublicCollectionPage(props: { export default function PublicCollectionPage(props: {
params: Promise<{ id: string }>; params: Promise<{ id: string }>;
+1 -1
View File
@@ -2,7 +2,7 @@ export const dynamic = "force-dynamic";
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { ogForDisciples } from "@/lib/og"; import { ogForDisciples } from "@/lib/og";
import { import {
getTotalDiscipleCount, getTotalDiscipleCount,
+2 -2
View File
@@ -4,12 +4,12 @@ import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { ogForEssay, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForEssay, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
import { bff, bffList } from "@/lib/bff"; import { bff, bffList } from "@/lib/bff";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
+1 -1
View File
@@ -2,7 +2,7 @@ export const dynamic = "force-dynamic";
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { buildOgMeta } from "@/lib/og"; import { buildOgMeta } from "@/lib/og";
import { bffList } from "@/lib/bff"; import { bffList } from "@/lib/bff";
import { EssaysGrid } from "./essays-grid"; import { EssaysGrid } from "./essays-grid";
+2 -2
View File
@@ -11,12 +11,12 @@ import {
type JournalSidebarItem, type JournalSidebarItem,
} from "@/lib/journals"; } from "@/lib/journals";
import { ogForJournal, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForJournal, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
export async function generateMetadata({ export async function generateMetadata({
params, params,
+1 -1
View File
@@ -9,7 +9,7 @@ import {
type JournalChapterEntry, type JournalChapterEntry,
} from "@/lib/journals"; } from "@/lib/journals";
import { ogForJournal } from "@/lib/og"; import { ogForJournal } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export async function generateMetadata({ export async function generateMetadata({
+1 -1
View File
@@ -2,7 +2,7 @@ export const dynamic = "force-dynamic";
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { buildOgMeta } from "@/lib/og"; import { buildOgMeta } from "@/lib/og";
import { import {
Card, Card,
+4 -4
View File
@@ -1,8 +1,8 @@
import { Suspense } from "react"; import { Suspense } from "react";
import { SiteHeader } from "@/components/site-header"; import { SiteHeader } from "@/components/layout/site-header";
import { SiteSidebar } from "@/components/site-sidebar"; import { SiteSidebar } from "@/components/layout/site-sidebar";
import { SiteBottomNav } from "@/components/site-bottom-nav"; import { SiteBottomNav } from "@/components/layout/site-bottom-nav";
import { SiteFooter } from "@/components/site-footer"; import { SiteFooter } from "@/components/layout/site-footer";
import { VerifyEmailBanner } from "@/components/auth/verify-email-banner"; import { VerifyEmailBanner } from "@/components/auth/verify-email-banner";
import { TextSelectionToolbar } from "@/components/text-selection-toolbar"; import { TextSelectionToolbar } from "@/components/text-selection-toolbar";
import { TextHighlighter } from "@/components/text-highlighter"; import { TextHighlighter } from "@/components/text-highlighter";
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getLetter, getAdjacentLetters } from "@/lib/letters"; import { getLetter, getAdjacentLetters } from "@/lib/letters";
import { ogForLetter, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForLetter, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
+1 -1
View File
@@ -2,7 +2,7 @@ export const dynamic = "force-dynamic";
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { buildOgMeta } from "@/lib/og"; import { buildOgMeta } from "@/lib/og";
import { import {
getLetterYears, getLetterYears,
+2 -2
View File
@@ -11,12 +11,12 @@ import {
type MagazineSidebarItem, type MagazineSidebarItem,
} from "@/lib/magazines"; } from "@/lib/magazines";
import { ogForMagazine, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForMagazine, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
export async function generateMetadata({ export async function generateMetadata({
params, params,
+1 -1
View File
@@ -9,7 +9,7 @@ import {
type MagazineChapterEntry, type MagazineChapterEntry,
} from "@/lib/magazines"; } from "@/lib/magazines";
import { ogForMagazine } from "@/lib/og"; import { ogForMagazine } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export async function generateMetadata({ export async function generateMetadata({
+1 -1
View File
@@ -2,7 +2,7 @@ export const dynamic = "force-dynamic";
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { import {
Card, Card,
CardHeader, CardHeader,
+3 -45
View File
@@ -14,13 +14,14 @@
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import Image from "next/image";
import Link from "next/link"; import Link from "next/link";
import { Bell } from "lucide-react"; import { Bell } from "lucide-react";
import { useAuth } from "@/components/auth/auth-provider"; import { useAuth } from "@/components/auth/auth-provider";
import { useAuthGate } from "@/components/auth/auth-gate"; import { useAuthGate } from "@/components/auth/auth-gate";
import { useNotifications } from "@/components/notifications/notifications-provider"; import { useNotifications } from "@/components/notifications/notifications-provider";
import { notifications, type AppNotification } from "@/lib/social"; import { notifications, type AppNotification } from "@/lib/social";
import { UserAvatar } from "@/components/ui/user-avatar";
import { timeAgo } from "@/lib/time";
export default function NotificationsPage() { export default function NotificationsPage() {
const { user, loading } = useAuth(); const { user, loading } = useAuth();
@@ -122,7 +123,7 @@ function NotificationRow({
<div <div
className={cnRow(unread)} className={cnRow(unread)}
> >
<Avatar src={n.actor_avatar_url ?? null} name={display} /> <UserAvatar src={n.actor_avatar_url} name={display} />
<div className="min-w-0 flex-1"> <div className="min-w-0 flex-1">
<p className="text-sm text-foreground leading-snug"> <p className="text-sm text-foreground leading-snug">
<span className="font-semibold">{display}</span> {message} <span className="font-semibold">{display}</span> {message}
@@ -194,34 +195,6 @@ function messageFor(n: AppNotification): string {
} }
} }
function Avatar({ src, name }: { src: string | null; name: string }) {
if (src) {
return (
<Image
src={src}
alt={name}
width={40}
height={40}
className="size-10 rounded-full object-cover ring-1 ring-foreground/10 shrink-0"
unoptimized
/>
);
}
const initials =
name
.replace(/^@/, "")
.split(/\s+/)
.map((p) => p[0])
.slice(0, 2)
.join("")
.toUpperCase() || "?";
return (
<div className="size-10 shrink-0 rounded-full bg-primary/15 text-primary flex items-center justify-center text-sm font-semibold ring-1 ring-foreground/10">
{initials}
</div>
);
}
function Empty() { function Empty() {
return ( return (
<div className="flex flex-col items-center text-center gap-3 py-16 text-muted-foreground"> <div className="flex flex-col items-center text-center gap-3 py-16 text-muted-foreground">
@@ -231,18 +204,3 @@ function Empty() {
); );
} }
/** Compact relative time ("just now", "5m", "3h", "2d"), falling back to
* a date for anything older than a week. */
function timeAgo(iso: string): string {
const then = new Date(iso).getTime();
if (Number.isNaN(then)) return "";
const secs = Math.max(0, Math.floor((Date.now() - then) / 1000));
if (secs < 45) return "just now";
const mins = Math.floor(secs / 60);
if (mins < 60) return `${mins}m ago`;
const hours = Math.floor(mins / 60);
if (hours < 24) return `${hours}h ago`;
const days = Math.floor(hours / 24);
if (days < 7) return `${days}d ago`;
return new Date(iso).toLocaleDateString();
}
@@ -11,12 +11,12 @@ import {
type OtherDocumentSidebarItem, type OtherDocumentSidebarItem,
} from "@/lib/other-documents"; } from "@/lib/other-documents";
import { ogForOtherDocument, extractQuoteFromHl, buildOgMeta } from "@/lib/og"; import { ogForOtherDocument, extractQuoteFromHl, buildOgMeta } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { ChevronLeft, ChevronRight } from "lucide-react"; import { ChevronLeft, ChevronRight } from "lucide-react";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { MobileNav, type MobileNavGroup } from "@/components/mobile-nav"; import { MobileNav, type MobileNavGroup } from "@/components/layout/mobile-nav";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Metadata // Metadata
+1 -1
View File
@@ -5,7 +5,7 @@ import Link from "next/link";
import { notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { getOtherDocumentMeta, slugToBookCode } from "@/lib/other-documents"; import { getOtherDocumentMeta, slugToBookCode } from "@/lib/other-documents";
import { ogForOtherDocument } from "@/lib/og"; import { ogForOtherDocument } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
export async function generateMetadata({ export async function generateMetadata({
+1 -1
View File
@@ -2,7 +2,7 @@ export const dynamic = "force-dynamic";
import type { Metadata } from "next"; import type { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { getAllOtherDocuments, bookCodeToSlug } from "@/lib/other-documents"; import { getAllOtherDocuments, bookCodeToSlug } from "@/lib/other-documents";
import { OtherDocumentsGrid } from "./other-documents-grid"; import { OtherDocumentsGrid } from "./other-documents-grid";
import { buildOgMeta } from "@/lib/og"; import { buildOgMeta } from "@/lib/og";
+7 -16
View File
@@ -2,8 +2,8 @@
import { useState, useEffect, useCallback, useRef, Suspense } from "react"; import { useState, useEffect, useCallback, useRef, Suspense } from "react";
import { useSearchParams, useRouter } from "next/navigation"; import { useSearchParams, useRouter } from "next/navigation";
import Image from "next/image";
import Link from "next/link"; import Link from "next/link";
import { UserAvatar } from "@/components/ui/user-avatar";
import { Input } from "@/components/ui/input"; import { Input } from "@/components/ui/input";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
@@ -858,7 +858,6 @@ function ResultMeta({ result }: { result: SearchResult }) {
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
function UserResultCard({ user }: { user: UserResult }) { function UserResultCard({ user }: { user: UserResult }) {
const initial = user.name?.charAt(0)?.toUpperCase() || "?";
return ( return (
<Link <Link
href={`/u/${user.handle}`} href={`/u/${user.handle}`}
@@ -867,20 +866,12 @@ function UserResultCard({ user }: { user: UserResult }) {
"hover:ring-foreground/25 hover:shadow-sm transition-all", "hover:ring-foreground/25 hover:shadow-sm transition-all",
)} )}
> >
{user.avatar_url ? ( <UserAvatar
<Image src={user.avatar_url}
src={user.avatar_url} name={user.name}
alt={user.name} className="size-14"
width={56} textClassName="text-xl"
height={56} />
className="size-14 rounded-full object-cover ring-1 ring-foreground/10 shrink-0"
unoptimized
/>
) : (
<div className="size-14 rounded-full bg-primary/15 text-primary flex items-center justify-center text-xl font-semibold ring-1 ring-foreground/10 shrink-0">
{initial}
</div>
)}
<div className="min-w-0 flex-1"> <div className="min-w-0 flex-1">
<p className="text-sm font-semibold text-foreground truncate"> <p className="text-sm font-semibold text-foreground truncate">
{user.name} {user.name}
+2 -2
View File
@@ -8,14 +8,14 @@ import {
getAdjacentTranscriptions, getAdjacentTranscriptions,
} from "@/lib/transcriptions"; } from "@/lib/transcriptions";
import { buildOgMeta, ogForTranscription, extractQuoteFromHl } from "@/lib/og"; import { buildOgMeta, ogForTranscription, extractQuoteFromHl } from "@/lib/og";
import { PageHeader } from "@/components/page-header"; import { PageHeader } from "@/components/layout/page-header";
import { Card, CardContent } from "@/components/ui/card"; import { Card, CardContent } from "@/components/ui/card";
import { Badge } from "@/components/ui/badge"; import { Badge } from "@/components/ui/badge";
import { buttonVariants } from "@/components/ui/button"; import { buttonVariants } from "@/components/ui/button";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { ChevronLeft, ChevronRight, Clock, MapPin, Users } from "lucide-react"; import { ChevronLeft, ChevronRight, Clock, MapPin, Users } from "lucide-react";
import { PlayAudioButton } from "./play-audio-button"; import { PlayAudioButton } from "./play-audio-button";
import { FindInPage } from "@/components/find-in-page"; import { FindInPage } from "@/components/layout/find-in-page";
export async function generateMetadata({ export async function generateMetadata({
params, params,

Some files were not shown because too many files have changed in this diff Show More