Files
4ventures-client-portal/src/app/dashboard/calendario/PublishRrssButton.tsx
4Ventures b4ee23874e feat: RRSS hub estilo Miia + Ad Tracker por cliente
Replica agua-miia/rrss (hub, archivo, octubre 2026 con 27 piezas) y añade Ad Tracker por tenant al estilo Brava (periodos, Meta+Google, CPL/clics, campañas).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-23 02:55:14 +02:00

43 lines
1.2 KiB
TypeScript

'use client';
import React, { useState } from 'react';
import { Upload } from 'lucide-react';
export default function PublishRrssButton() {
const [busy, setBusy] = useState(false);
const [msg, setMsg] = useState<string | null>(null);
async function publish() {
setBusy(true);
setMsg(null);
try {
const r = await fetch('/api/calendar/publish', { method: 'POST' });
const j = await r.json();
if (!r.ok) {
setMsg(j.error || 'Error al publicar');
return;
}
setMsg(`Publicado · ${j.pieces} piezas · ${j.month}`);
} catch (e) {
setMsg(e instanceof Error ? e.message : 'Error');
} finally {
setBusy(false);
}
}
return (
<div className="flex flex-col gap-1">
<button
type="button"
disabled={busy}
onClick={publish}
className="inline-flex items-center justify-center min-h-[52px] px-6 rounded-xl border border-emerald-500/40 bg-emerald-500/15 text-emerald-300 text-sm font-bold hover:bg-emerald-500/25 disabled:opacity-50"
>
<Upload className="w-4 h-4 mr-2" />
{busy ? 'Publicando…' : 'Publicar mes en portal'}
</button>
{msg ? <p className="text-[11px] text-gray-400">{msg}</p> : null}
</div>
);
}