Auto-generated from the filesystem

Tech Stack

Live map of every route, component, and library in this codebase. The lists below are discovered at build time via import.meta.glob, so they always match the real filesystem.

Legend

What each badge means
page
Page route
SSR-rendered UI puslapis. Turi URL, head() meta, component. Pvz. /, /browse, /library.
layout
Layout route
Root arba nested layout (pvz. __root.tsx). Neturi URL — teikia <Outlet/> child route'ams.
server
Server route (API)
Backend endpoint'as po /api/public/*. Veikia tik serveryje (Cloudflare Worker), grąžina HTTP Response.
component
App komponentas
Projektui specifinis React komponentas iš src/components/audiobook/ (pvz. AudioPlayer, BookCard).
ui
UI primitive
shadcn/ui low-level komponentas iš src/components/ui/. Nieko biznio logikos — tik pakeičiamas stilius.
lib
Lib / utility
Gryna TS logika iš src/lib/: API klientas (librivox-api), storage helper'iai, tipo definicijos.
types
Type definicijos
`.ts` failas be runtime kodo (pvz. librivox-types.ts) — TypeScript interface'ai/tipai, naudojami per visą codebase'ą.
$param
Dinaminis param'as
URL segmentas su `$` (pvz. /book/$id) — TanStack routing konvencija. Reikšmė pasiekiama per Route.useParams().
12
Count badge
Rodo kiek failų/įrašų yra konkrečioje kategorijoje. Atnaujinamas automatiškai per import.meta.glob.

Core technologies

React
19
UI framework
TanStack Start
1.x
Full-stack SSR framework
TanStack Router
1.x
Type-safe file-based routing
Vite
7
Build tool + HMR
Tailwind CSS
4
Utility-first styling
TypeScript
5
Strict type safety
Lucide React
Icon set
Cloudflare Workers
Edge deploy target

Routes12 pages · 4 server

URLTypeFile
layout
src/routes/__root.tsx
/page
src/routes/index.tsx
/api/public/cover/$idserver
src/routes/api/public/cover.$id.ts
/api/public/librivoxserver
src/routes/api/public/librivox.ts
/api/public/og/book/$idserver
src/routes/api/public/og.book.$id.ts
/api/public/warm-coversserver
src/routes/api/public/warm-covers.ts
/book/$id/$slugpage
src/routes/book.$id.$slug.tsx
/book/$id/indexpage
src/routes/book.$id.index.tsx
/browsepage
src/routes/browse.tsx
/librarypage
src/routes/library.tsx
/privacypage
src/routes/privacy.tsx
/robots[/]txtpage
src/routes/robots[.]txt.tsx
/sitemap-static[/]xmlpage
src/routes/sitemap-static[.]xml.tsx
/sitemap[/]xmlpage
src/routes/sitemap[.]xml.tsx
/sitemap/books/$page[/]xmlpage
src/routes/sitemap.books.$page[.]xml.tsx
/tech-stackpage
src/routes/tech-stack.tsx

App components5

  • AudioPlayer
    src/components/audiobook/AudioPlayer.tsx
  • BookCard
    src/components/audiobook/BookCard.tsx
  • CookieBanner
    src/components/audiobook/CookieBanner.tsx
  • SiteFooter
    src/components/audiobook/SiteFooter.tsx
  • SiteHeader
    src/components/audiobook/SiteHeader.tsx

Lib / utilities8

  • audio-cache
    src/lib/audio-cache.ts
  • browse-dedupe
    src/lib/browse-dedupe.ts
  • browse-dedupe.test
    src/lib/browse-dedupe.test.ts
  • cookie-consent
    src/lib/cookie-consent.ts
  • librivox-api
    src/lib/librivox-api.ts
  • librivox-types
    src/lib/librivox-types.ts
  • storage
    src/lib/storage.ts
  • utils
    src/lib/utils.ts

UI primitives (shadcn)46

accordionalertalert-dialogaspect-ratioavatarbadgebreadcrumbbuttoncalendarcardcarouselchartcheckboxcollapsiblecommandcontext-menudialogdrawerdropdown-menuformhover-cardinputinput-otplabelmenubarnavigation-menupaginationpopoverprogressradio-groupresizablescroll-areaselectseparatorsheetsidebarskeletonslidersonnerswitchtabletabstextareatoggletoggle-grouptooltip
How this page stays in sync: it uses Vite's import.meta.glob to enumerate files under src/routes/, src/components/, and src/lib/ at build time. Add a new route or component and it will appear here on the next rebuild — no manual editing required.