Files
AI_portal/landing/src/app/page.tsx
Ondřej Glaser 48cef99257 Initial portal commit: landing + 9 AI-powered apps
Apps:
- dwg-rooms: extract room numbers from DWG/DXF
- dwg-counting: count symbols in PDF drawings (OpenCV template matching)
- contract-check: review PDF contracts against a checklist (Claude vision + Tesseract OCR fallback)
- email-drafter: bullet notes → polished Czech/English business emails
- invoice-extractor: PDF/image invoice → structured data → Excel
- translator: Czech-first translator across 19 languages with tone control
- vv-check: find inconsistent unit prices across VV sheets in one workbook
- vv-compare: diff original vs new VV files (changes / added / removed)
- feature-request: portal users submit ideas + sample files

Infrastructure:
- LiteLLM gateway with per-app virtual keys + budgets
- Langfuse observability
- Geist font, shared theme, cross-subdomain back link + theme sync via cookie/URL
- Caddy reverse proxy on *.klas.chat
2026-05-13 15:25:04 +02:00

34 lines
1.4 KiB
TypeScript

import { Header } from "@/components/header";
import { TileGrid } from "@/components/tile-grid";
import apps from "@/data/apps.json";
import type { AppTile } from "@/components/tile";
export default function Home() {
return (
<div className="flex min-h-full flex-col bg-[var(--color-bg-secondary)]">
<Header />
<main className="mx-auto flex w-full max-w-7xl flex-1 flex-col gap-7 px-4 py-8 sm:px-8 sm:py-10">
<section className="flex flex-col gap-2">
<span className="system-2xs-medium-uppercase text-[var(--color-primary)]">
Interní AI portál
</span>
<h1 className="text-2xl font-semibold tracking-tight text-[var(--color-text-primary)] sm:text-3xl">
Vaše AI nástroje na jednom místě
</h1>
<p className="max-w-2xl text-sm text-[var(--color-text-tertiary)] sm:text-base">
Vyberte si průvodce úlohou, nebo zahajte volný chat. Vše běží na
firemních klíčích s rozpočty, sledováním nákladů a bez exportu
vašich dat ven.
</p>
</section>
<TileGrid apps={apps as AppTile[]} />
</main>
<footer className="mx-auto w-full max-w-7xl px-4 pb-10 pt-2 text-xs text-[var(--color-text-quaternary)] sm:px-8">
Nevkládejte do AI nástrojů hesla ani neredaktované osobní či citlivé
údaje.
</footer>
</div>
);
}