import { headers } from 'next/headers'; import { enderecoBase, listarLinks, paraJson } from '@/lib/links'; import { LOGO_DADO_SVG } from '@/lib/paginas'; import pacote from '../package.json'; import Encurtador from './Encurtador'; // A página lê os links e as variáveis a cada visita (nada de HTML congelado no build). export const dynamic = 'force-dynamic'; // Variável de ambiente de exemplo: na Dado, ela se configura no painel do app. const MENSAGEM = process.env.MENSAGEM_BOAS_VINDAS || 'Defina a variável MENSAGEM_BOAS_VINDAS para trocar este texto.'; // Hora em que o processo do servidor subiu (= a publicação mais recente). const INICIO = new Date(Date.now() - process.uptime() * 1000); const fusoBrasilia = { timeZone: 'America/Sao_Paulo' } as const; const INICIO_FORMATADO = `${INICIO.toLocaleDateString('pt-BR', fusoBrasilia)} às ${INICIO.toLocaleTimeString('pt-BR', { ...fusoBrasilia, hour: '2-digit', minute: '2-digit', })} (horário de Brasília)`; export default async function Pagina() { const base = enderecoBase(await headers()); const linksIniciais = listarLinks().map((link) => paraJson(link, base)); return (

Encurtador de links

Cole um link comprido e receba um endereço curto, pronto para compartilhar.

Os links ficam na memória do app e somem quando ele é publicado de novo. Para guardar os links de vez,{' '} ligue um Postgres .

Sobre este deploy

Runtime
{`Next.js ${pacote.dependencies.next} · Node.js ${process.versions.node}`}
Região
Rodando em São Paulo
No ar desde
Mensagem
{MENSAGEM}

A mensagem vem da variável MENSAGEM_BOAS_VINDAS. Troque o valor nas configurações do app, no painel, e publique de novo.

Publicado na
); }