← back to danijustiniani31415__plataforma-cursos

Function bodies 54 total

All specs Real LLM only Function bodies
translateError function · javascript · L78-L84 (7 LOC)
toast.js
export function translateError(msg) {
  if (!msg) return 'Ocurrió un error inesperado.';
  for (const [regex, translation] of ERROR_MAP) {
    if (regex.test(msg)) return translation;
  }
  return msg;
}
showConfirm function · javascript · L87-L119 (33 LOC)
toast.js
export function showConfirm(message, { confirmText = 'Confirmar', cancelText = 'Cancelar', danger = true } = {}) {
  return new Promise(resolve => {
    const overlay = document.createElement('div');
    overlay.style.cssText = [
      'position:fixed','inset:0','background:rgba(0,0,0,0.45)',
      'z-index:99998','display:flex','align-items:center','justify-content:center',
      'padding:16px','animation:toastIn 0.2s ease',
    ].join(';');

    const box = document.createElement('div');
    box.style.cssText = [
      'background:white','border-radius:16px','padding:28px 24px','max-width:360px',
      'width:100%','box-shadow:0 20px 60px rgba(0,0,0,0.25)','text-align:center',
    ].join(';');

    box.innerHTML = `
      <div style="font-size:2rem;margin-bottom:12px">${danger ? '⚠️' : 'ℹ️'}</div>
      <p style="font-size:0.95rem;color:#1a2332;line-height:1.6;margin-bottom:20px;font-weight:500">${message.replace(/\n/g,'<br>')}</p>
      <div style="display:flex;gap:10px;justify-cont
fieldValidation function · javascript · L124-L161 (38 LOC)
toast.js
export function fieldValidation(rules) {
  const getEl  = id => document.getElementById(id);
  const getMsg = id => {
    let m = document.getElementById(`_fv_${id}`);
    if (!m) {
      m = document.createElement('div');
      m.id = `_fv_${id}`;
      m.style.cssText = 'font-size:0.78rem;color:#ef4444;margin-top:3px;min-height:16px;transition:opacity 0.2s';
      getEl(id)?.parentNode?.appendChild(m);
    }
    return m;
  };

  rules.forEach(({ id, validate, event = 'input' }) => {
    const el = getEl(id);
    if (!el) return;
    el.addEventListener(event, () => {
      const err = validate(el.value);
      const msg = getMsg(id);
      msg.textContent = err || '';
      el.style.borderColor = err ? '#ef4444' : '';
    });
  });

  return function checkAll() {
    let ok = true;
    rules.forEach(({ id, validate }) => {
      const el  = getEl(id);
      if (!el) return;
      const err = validate(el.value);
      const msg = getMsg(id);
      msg.textContent = err || '';
      e
withLoading function · javascript · L164-L176 (13 LOC)
toast.js
export function withLoading(btn, fn, loadingText = 'Procesando...') {
  return async function (...args) {
    if (!btn) return fn(...args);
    const original = btn.innerHTML;
    btn.disabled = true;
    btn.innerHTML = `<span style="display:inline-flex;align-items:center;gap:7px;">
      <svg style="animation:spin 0.8s linear infinite" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83"/></svg>
      ${loadingText}
    </span>`;
    try { await fn(...args); }
    finally { btn.disabled = false; btn.innerHTML = original; }
  };
}
‹ prevpage 2 / 2