Files
SnapOtter/apps/landing/src/components/TrustSignals.astro
T
SnapOtterandGitHub 0cdd560ac4 feat: add Sign PDF tool (draw/type/upload signatures, place on a PDF) (#370)
Draw, type, or upload a signature and place resizable/rotatable copies across PDF pages; output flattened server-side with PyMuPDF. Visual electronic signature, not cryptographic. New interactive-sign display mode (pdf.js + Konva) and a custom docs-pool route.
2026-06-29 11:01:25 +08:00

52 lines
1.3 KiB
Plaintext

---
import { formatCompact, getImagePulls, getStarCount } from "@/lib/stats";
// Fetched at build time; refreshed by the scheduled landing rebuild.
const starCount = await getStarCount();
const { display: pullsDisplay } = await getImagePulls();
const stats = [
{
value: "241",
label: "Processing Tools",
sublabel: "Across 5 file modalities",
},
{
value: formatCompact(starCount),
label: "GitHub Stars",
sublabel: "Open-source & growing",
},
{
value: pullsDisplay,
label: "Image Pulls",
sublabel: "Deployed worldwide",
},
{
value: "20+",
label: "Languages",
sublabel: "Speaks your language",
},
];
---
<div class="relative mx-auto mt-10 max-w-5xl border-t border-border/70 pt-10">
<!-- Stats grid -->
<div class="reveal grid grid-cols-2 gap-10 sm:gap-12 lg:grid-cols-4">
{stats.map((stat) => {
const inner = (
<div class="text-center">
<p class="font-display text-5xl font-extrabold tracking-tight text-primary md:text-6xl">
{stat.value}
</p>
<p class="mt-2 text-sm font-semibold text-foreground">{stat.label}</p>
<p class="mt-0.5 text-xs text-muted">{stat.sublabel}</p>
</div>
);
return <div class="p-3">{inner}</div>;
})}
</div>
</div>