Skip to content

Receptek / minták

Itt “copy-paste” jellegű minták vannak.

1) Fetch wrapper (toastol)

js
async function apiJson(url, opts = {}) {
  try {
    const r = await fetch(url, opts);
    const j = await r.json().catch(() => ({}));

    if (!r.ok) {
      FToast.error(j?.error || "Hiba", { title: "API" });
      return { ok: false, data: j };
    }

    return { ok: true, data: j };
  } catch (e) {
    FToast.error("Hálózati hiba", { title: "API" });
    return { ok: false, data: null };
  }
}

2) Folyamat toast (start → success/error)

js
const t = FToast.info("Folyamatban...", { duration: 0, showProgress: false });

const { ok } = await apiJson("/do", { method: "POST" });

t?.close();
ok ? FToast.success("Kész ✅") : FToast.error("Nem sikerült");

3) “Inline döntés” toastban (actions)

js
FToast.warning("Újrapróbálod?", {
  duration: 0,
  actions: [
    { text: "Retry", variant: "success", onClick: () => console.log("retry") },
    { text: "Mégse", variant: "outline" }
  ]
});