Skip to content

[THIS IS SPAM] Manzana IA #4291

Description

@TheEddy0
<title>Manzanar — Prototipo</title> <style> :root{ --corteza:#1E2B1F; --hoja:#3A7D44; --hoja-claro:#E4EFE1; --manzana:#B8332A; --manzana-claro:#FBE7E4; --ambar:#C97B10; --ambar-claro:#FCEFD6; --helada:#2F6F96; --helada-claro:#E1EDF4; --tierra:#8A8271; --papel:#F5F6F1; --linea:#DCDED4; --blanco:#FFF; } *{box-sizing:border-box;margin:0;padding:0} body{ font-family:'Archivo',system-ui,-apple-system,sans-serif; background:#1E2B1F; background-image:radial-gradient(circle at 20% 0%,#2c3d2d 0%,#1E2B1F 60%); min-height:100vh;display:flex;flex-direction:column;align-items:center; padding:32px 16px 64px;color:var(--corteza); } .intro{max-width:390px;width:100%;margin-bottom:22px} .intro h1{font-size:26px;font-weight:700;letter-spacing:-.02em;color:#fff;font-stretch:112%} .intro p{font-size:13.5px;line-height:1.5;color:#A8B5A2;margin-top:6px}

.telefono{
width:390px;height:800px;background:var(--papel);border-radius:38px;overflow:hidden;
position:relative;display:flex;flex-direction:column;
box-shadow:0 0 0 10px #10170F,0 30px 60px rgba(0,0,0,.55);
}
.barra-sistema{
background:var(--corteza);color:#fff;font-size:12px;font-weight:600;
padding:12px 24px 4px;display:flex;justify-content:space-between;
font-variant-numeric:tabular-nums;flex:none;
}
header.app{background:var(--corteza);color:#fff;padding:6px 20px 16px;flex:none}
header.app b{font-size:21px;font-weight:700;letter-spacing:-.02em;font-stretch:115%}
header.app em{font-style:normal;font-size:11px;color:#8FA98A;font-weight:500;margin-left:9px}
header.app .sitio{font-size:12.5px;color:#A8B5A2;margin-top:3px}

main{flex:1;overflow-y:auto;overscroll-behavior:contain;padding-bottom:20px}
main::-webkit-scrollbar{width:0}
.vista{display:none}
.vista.activa{display:block}
.bloque{padding:18px 20px 0}
h2.titulo{font-size:12.5px;font-weight:700;color:var(--tierra)}
h3{font-size:17px;font-weight:700;letter-spacing:-.015em}
.ayuda{font-size:12.5px;color:var(--tierra);line-height:1.45;margin-top:3px}

.tarjeta{background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:16px;margin-top:12px}
label{display:block;font-size:12.5px;font-weight:700;margin-bottom:6px}
input[type=text],textarea,select{
width:100%;font-family:inherit;font-size:15px;color:var(--corteza);
border:1.5px solid var(--linea);border-radius:9px;padding:11px 12px;background:#FBFCF9;
}
textarea{resize:vertical;min-height:84px;line-height:1.45}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--hoja);background:#fff}
.fila{display:flex;gap:10px}
.campo+.campo{margin-top:14px}

.fichas{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.fichas button{
font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;
border:1.5px solid var(--linea);background:#fff;color:#4A5347;
border-radius:20px;padding:7px 11px;
}
.fichas button[aria-pressed=true]{background:var(--hoja);border-color:var(--hoja);color:#fff}
.fichas button:focus-visible{outline:2px solid var(--ambar);outline-offset:2px}

.boton{
display:block;width:100%;margin-top:14px;padding:14px;border:none;cursor:pointer;
background:var(--hoja);color:#fff;font-family:inherit;font-size:15px;font-weight:700;border-radius:10px;
}
.boton:hover{background:#316B3A}
.boton:focus-visible{outline:3px solid var(--ambar);outline-offset:2px}
.boton.secundario{background:#fff;color:var(--corteza);border:1.5px solid var(--linea);font-weight:600}
.boton.secundario:hover{background:#EDEFE8}
.boton.chico{width:auto;padding:9px 14px;font-size:13px;margin-top:0}

.respuesta{border:1px solid var(--linea);border-left:5px solid var(--hoja);border-radius:2px 12px 12px 2px;
background:#fff;padding:15px;margin-top:12px}
.respuesta.alta{border-left-color:var(--manzana);background:var(--manzana-claro)}
.respuesta.media{border-left-color:var(--ambar);background:var(--ambar-claro)}
.respuesta.baja{border-left-color:var(--hoja)}
.respuesta .causa{font-size:16px;font-weight:700;letter-spacing:-.01em;margin-bottom:3px}
.respuesta .latin{font-style:italic;font-size:12px;color:var(--tierra);font-weight:500}
.respuesta h5{font-size:12.5px;font-weight:700;margin:13px 0 5px;color:#4A5347}
.respuesta ul{list-style:none;font-size:13px;line-height:1.5;color:#3C443B}
.respuesta li{padding-left:15px;position:relative;margin-bottom:5px}
.respuesta li::before{content:'';position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.35}

.sello{font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:20px;white-space:nowrap}
.sello.alta{background:var(--manzana);color:#fff}
.sello.media{background:#fff;color:#8B5507;border:1px solid #E8C48A}
.sello.baja{background:var(--hoja-claro);color:#2A5E31;border:1px solid #BCD9B6}

.arbol{background:#fff;border:1px solid var(--linea);border-radius:12px;margin-top:10px;overflow:hidden}
.arbol>summary{list-style:none;cursor:pointer;padding:13px 15px;display:flex;gap:12px;align-items:center}
.arbol>summary::-webkit-details-marker{display:none}
.arbol .num{
flex:none;width:46px;height:46px;border-radius:11px;background:var(--corteza);color:#fff;
display:grid;place-items:center;font-weight:800;font-size:17px;letter-spacing:-.03em;
font-variant-numeric:tabular-nums;line-height:1;
}
.arbol .num small{display:block;font-size:7.5px;font-weight:600;opacity:.6;letter-spacing:.05em;margin-bottom:1px}
.arbol .med{flex:1;min-width:0}
.arbol .med b{display:block;font-size:14.5px;letter-spacing:-.01em}
.arbol .med span{font-size:11.5px;color:var(--tierra)}
.arbol .detalle{padding:12px 15px 15px;border-top:1px solid var(--linea)}
.arbol .sintomas{font-size:13px;line-height:1.45;color:#4A5347;background:#F5F6F1;border-radius:8px;padding:10px 12px}

.vacio{text-align:center;padding:38px 24px;color:var(--tierra);font-size:13.5px;line-height:1.55}
.vacio b{display:block;color:var(--corteza);font-size:15px;margin-bottom:5px}

.ahora{background:var(--blanco);border-bottom:1px solid var(--linea);padding:20px;text-align:center}
.ahora .grados{font-size:56px;font-weight:800;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.ahora .cielo{font-size:14px;color:#4A5347;font-weight:600;margin-top:2px}
.ahora .mm{font-size:12.5px;color:var(--tierra);margin-top:4px}
.rejilla{display:flex;gap:1px;background:var(--linea);border-radius:10px;overflow:hidden;margin-top:14px}
.rejilla div{flex:1;background:#fff;padding:11px 8px;text-align:center}
.rejilla strong{display:block;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.rejilla span{font-size:10.5px;color:var(--tierra);display:block;margin-top:1px;line-height:1.25}
.semana{display:flex;gap:5px;margin-top:12px}
.dia{flex:1;text-align:center}
.dia .letra{font-size:10.5px;color:var(--tierra);font-weight:700;margin-bottom:5px}
.dia .barra{height:36px;border-radius:3px}
.dia .t{font-size:10px;color:var(--tierra);margin-top:4px;font-variant-numeric:tabular-nums}
.aviso{border:1px solid var(--linea);border-left-width:5px;border-radius:2px 10px 10px 2px;
padding:12px 14px;margin-top:10px;display:flex;gap:11px;background:#fff}
.aviso.alto{border-left-color:var(--manzana);background:var(--manzana-claro)}
.aviso.medio{border-left-color:var(--ambar);background:var(--ambar-claro)}
.aviso.frio{border-left-color:var(--helada);background:var(--helada-claro)}
.aviso .ico{font-size:17px}
.aviso h4{font-size:14px;font-weight:700;letter-spacing:-.01em}
.aviso .cuando{font-size:11px;color:var(--tierra);font-weight:600}
.aviso p{font-size:12.5px;line-height:1.45;color:#4A5347;margin-top:3px}

.guia{background:#fff;border:1px solid var(--linea);border-radius:12px;margin-top:9px;overflow:hidden}
.guia>summary{list-style:none;cursor:pointer;padding:14px 15px;display:flex;gap:11px;align-items:center;font-weight:700;font-size:14.5px;letter-spacing:-.01em}
.guia>summary::-webkit-details-marker{display:none}
.guia>summary .ico{font-size:18px}
.guia>summary .mas{margin-left:auto;color:var(--tierra);font-weight:700;font-size:18px;line-height:1}
.guia[open]>summary .mas{transform:rotate(45deg)}
.guia .cuerpo{padding:0 15px 15px;font-size:13px;line-height:1.55;color:#3C443B}
.guia .cuerpo p{border-top:1px solid var(--linea);padding-top:11px}
.guia .cuerpo ul{list-style:none;margin-top:9px}
.guia .cuerpo li{padding-left:16px;position:relative;margin-bottom:6px}
.guia .cuerpo li::before{content:'';position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--hoja)}
.cuando-hacerlo{font-size:11.5px;color:var(--tierra);font-weight:600;margin-top:11px;border-top:1px dashed var(--linea);padding-top:9px}

nav{display:flex;background:#fff;border-top:1px solid var(--linea);padding:7px 4px 18px;flex:none}
nav button{flex:1;background:none;border:none;cursor:pointer;font-family:inherit;position:relative;
display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 2px;
color:var(--tierra);font-size:10.5px;font-weight:600;border-radius:8px}
nav button svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
nav button[aria-selected=true]{color:var(--hoja)}
nav button:focus-visible{outline:2px solid var(--hoja);outline-offset:-2px}

.cargando{text-align:center;padding:22px;color:var(--tierra);font-size:13px}
.pie{max-width:390px;width:100%;color:#7E8F79;font-size:12px;line-height:1.6;margin-top:22px}
.pie b{color:#C7D3C2;font-weight:600}
</style>

Manzanar

Prototipo navegable · Solve for Tomorrow 2026. Reporta un árbol y el reporte se queda guardado en la lista.

9:4178 %
ManzanarHuerta La Esperanza
Cuauhtémoc, Chihuahua · 14 sep
<!-- ============ ÁRBOLES ============ -->
<section class="vista activa" id="v-arboles">
  <div class="bloque">
    <h3>Reportar un árbol</h3>
    <p class="ayuda">Anota el número del árbol y qué le estás viendo. Te decimos qué puede ser y qué hacer.</p>

    <div class="tarjeta">
      <div class="fila">
        <div class="campo" style="flex:0 0 108px">
          <label for="numero">Núm. de árbol</label>
          <input type="text" id="numero" inputmode="numeric" placeholder="127">
        </div>
        <div class="campo" style="flex:1">
          <label for="cuadro">Cuadro</label>
          <select id="cuadro">
            <option>Cuadro 1 — entrada</option>
            <option>Cuadro 2 — centro</option>
            <option>Cuadro 3 — arroyo</option>
            <option>Cuadro 4 — cerro</option>
          </select>
        </div>
      </div>

      <div class="campo">
        <label>¿Qué le ves? Toca lo que aplique</label>
        <div class="fichas" id="fichas"></div>
      </div>

      <div class="campo">
        <label for="notas">Cuéntanos con tus palabras</label>
        <textarea id="notas" placeholder="Ej.: las manzanas de abajo traen un agujerito con polvillo café y por dentro vienen picadas."></textarea>
      </div>

      <button class="boton" id="enviar">Enviar reporte</button>
    </div>

    <div id="salida"></div>
  </div>

  <div class="bloque">
    <h2 class="titulo">Árboles reportados</h2>
    <div id="lista"></div>
  </div>
</section>

<!-- ============ CLIMA ============ -->
<section class="vista" id="v-clima">
  <div class="ahora">
    <div class="grados">24°</div>
    <div class="cielo">Despejado, viento del suroeste</div>
    <div class="mm">Máxima 27° · mínima 11° · sin lluvia en 9 días</div>
    <div class="rejilla">
      <div><strong>38 %</strong><span>Humedad</span></div>
      <div><strong>412</strong><span>Horas frío</span></div>
      <div><strong>1 142</strong><span>Grados día</span></div>
    </div>
  </div>

  <div class="bloque">
    <h2 class="titulo">Los próximos 7 días</h2>
    <div class="semana">
      <div class="dia"><div class="letra">L</div><div class="barra" style="background:#3A7D44"></div><div class="t">26°</div></div>
      <div class="dia"><div class="letra">M</div><div class="barra" style="background:#C97B10"></div><div class="t">28°</div></div>
      <div class="dia"><div class="letra">M</div><div class="barra" style="background:#B8332A"></div><div class="t">29°</div></div>
      <div class="dia"><div class="letra">J</div><div class="barra" style="background:#C97B10"></div><div class="t">25°</div></div>
      <div class="dia"><div class="letra">V</div><div class="barra" style="background:#3A7D44"></div><div class="t">22°</div></div>
      <div class="dia"><div class="letra">S</div><div class="barra" style="background:#3A7D44"></div><div class="t">21°</div></div>
      <div class="dia"><div class="letra">D</div><div class="barra" style="background:#2F6F96"></div><div class="t">18°</div></div>
    </div>
    <p class="ayuda" style="margin-top:8px">El color marca el riesgo para la huerta, no si hace calor.</p>
  </div>

  <div class="bloque">
    <h2 class="titulo">Lo que te conviene saber</h2>
    <div class="aviso medio">
      <div class="ico">⛈️</div>
      <div>
        <div class="cuando">Miércoles 16 de septiembre</div>
        <h4>Probabilidad de granizo del 40 %</h4>
        <p>Tormenta entre 4 y 7 de la tarde. Si tienes malla antigranizo pendiente, ciérrala el martes.</p>
      </div>
    </div>
    <div class="aviso frio">
      <div class="ico">❄️</div>
      <div>
        <div class="cuando">Temporada 2025–2026</div>
        <h4>Llevas 412 horas frío</h4>
        <p>Vas 9 % abajo del promedio de la región para esta fecha. Si el rezago crece, el brote de primavera sale disparejo.</p>
      </div>
    </div>
    <div class="aviso alto">
      <div class="ico">🐛</div>
      <div>
        <div class="cuando">Esta semana</div>
        <h4>El calor acelera a la palomilla</h4>
        <p>Con 28° el miércoles se cumplen los grados día para que nazca la tercera generación. Revisa tus trampas el martes.</p>
      </div>
    </div>
  </div>
</section>

<!-- ============ CUIDADOS ============ -->
<section class="vista" id="v-cuidados">
  <div class="bloque">
    <h3>Cuidados preventivos</h3>
    <p class="ayuda">Lo básico para que el árbol no llegue a enfermarse. Toca cada tema para abrirlo.</p>

    <details class="guia" open>
      <summary><span class="ico">🔎</span>Recorrer la huerta<span class="mas">+</span></summary>
      <div class="cuerpo">
        <p>Caminar la huerta una vez por semana es lo que más problemas evita. Casi todo se controla barato si lo ves temprano.</p>
        <ul>
          <li>Revisa 10 árboles al azar por cuadro, no siempre los mismos.</li>
          <li>Voltea hojas: casi todo empieza por debajo.</li>
          <li>Mira el tronco a la altura del suelo buscando aserrín.</li>
          <li>Reporta aquí lo que veas aunque parezca poca cosa. Así se arma el historial.</li>
        </ul>
        <div class="cuando-hacerlo">Cada semana, de marzo a octubre</div>
      </div>
    </details>

    <details class="guia">
      <summary><span class="ico">💧</span>Riego<span class="mas">+</span></summary>
      <div class="cuerpo">
        <p>El manzano sufre más por riego desparejo que por poca agua. Los cambios bruscos de humedad parten el fruto.</p>
        <ul>
          <li>Mantén el suelo entre 25 y 35 % de humedad; abajo de 20 % el árbol ya se está estresando.</li>
          <li>Riega temprano o al atardecer para perder menos por evaporación.</li>
          <li>En llenado de fruto, de julio a septiembre, es cuando más agua pide.</li>
          <li>Baja el riego tres semanas antes de cortar para que la manzana aguante más en bodega.</li>
        </ul>
        <div class="cuando-hacerlo">Todo el ciclo, ajustando por etapa</div>
      </div>
    </details>

    <details class="guia">
      <summary><span class="ico">🐛</span>Palomilla de la manzana<span class="mas">+</span></summary>
      <div class="cuerpo">
        <p>Es la plaga que más fruta pierde en la región. Una vez que la larva entró al fruto ya no hay aplicación que la alcance, por eso todo es cuestión de tiempo.</p>
        <ul>
          <li>Cuelga trampas de feromona desde la floración, una por hectárea.</li>
          <li>Cuenta las palomillas cada semana y anótalo. Arriba de 2 por trampa toca actuar.</li>
          <li>Levanta y saca la fruta caída: ahí se completa el ciclo de la plaga.</li>
          <li>Raspa la corteza suelta en invierno, ahí es donde pasan el frío.</li>
        </ul>
        <div class="cuando-hacerlo">Trampas de abril a octubre</div>
      </div>
    </details>

    <details class="guia">
      <summary><span class="ico">✂️</span>Poda y limpieza<span class="mas">+</span></summary>
      <div class="cuerpo">
        <p>Una copa abierta seca más rápido después de la lluvia, y un árbol que seca rápido no agarra hongos.</p>
        <ul>
          <li>Poda en invierno con el árbol dormido, nunca con humedad.</li>
          <li>Quita ramas cruzadas, chupones y todo lo que esté seco o con costra.</li>
          <li>Desinfecta la tijera con cloro al pasar de un árbol enfermo a otro.</li>
          <li>Saca del predio lo que podas. Si lo dejas tirado, la plaga se queda ahí.</li>
        </ul>
        <div class="cuando-hacerlo">Diciembre a febrero</div>
      </div>
    </details>

    <details class="guia">
      <summary><span class="ico">❄️</span>Heladas y granizo<span class="mas">+</span></summary>
      <div class="cuerpo">
        <p>Son los dos golpes que en una tarde te quitan la cosecha del año. No se evitan, pero sí se amortiguan.</p>
        <ul>
          <li>La flor abierta se quema a −2 °C. Ten listos calentadores o riego por aspersión desde marzo.</li>
          <li>La malla antigranizo es la única protección que de verdad funciona contra el granizo.</li>
          <li>Después de un granizazo, atiende las heridas: por ahí entran los hongos.</li>
          <li>Toma fotos y repórtalo el mismo día, te sirve para el seguro.</li>
        </ul>
        <div class="cuando-hacerlo">Heladas en marzo y abril · granizo de junio a septiembre</div>
      </div>
    </details>

    <details class="guia" style="margin-bottom:6px">
      <summary><span class="ico">🍃</span>Nutrición del suelo<span class="mas">+</span></summary>
      <div class="cuerpo">
        <p>Antes de comprar fertilizante, haz análisis de suelo. Sale más barato que echarle de más.</p>
        <ul>
          <li>Análisis de suelo cada dos años, al final del ciclo.</li>
          <li>El nitrógeno va repartido, no todo de un jalón, o se va a hoja y no a fruto.</li>
          <li>Calcio en el llenado del fruto para evitar el corazón amargo.</li>
          <li>La materia orgánica retiene agua: es riego que te ahorras.</li>
        </ul>
        <div class="cuando-hacerlo">Análisis en otoño · aplicaciones en primavera</div>
      </div>
    </details>
  </div>
</section>
Árboles Clima Cuidados

Para tu cuadernillo: toma captura de cada pestaña y pégalas en «Material adicional». Los reportes que envíes se guardan y siguen ahí si cierras y vuelves a abrir la app.

<script> /* ---------------- síntomas rápidos ---------------- */ var SINTOMAS = ['Agujeros en el fruto','Aserrín en el tronco','Hojas amarillas','Polvo blanco en hojas', 'Manchas negras','Ramas secas','Fruto partido','Pulgón o pegajoso','Golpe de granizo','Fruto quemado por el sol']; var elegidos = new Set(); var cajaFichas = document.getElementById('fichas'); SINTOMAS.forEach(function(s){ var b = document.createElement('button'); b.type = 'button'; b.textContent = s; b.setAttribute('aria-pressed','false'); b.onclick = function(){ if(elegidos.has(s)){ elegidos.delete(s); b.setAttribute('aria-pressed','false'); } else { elegidos.add(s); b.setAttribute('aria-pressed','true'); } }; cajaFichas.appendChild(b); }); /* ---------------- base de diagnóstico ---------------- */ var BASE = [ { clave:['agujero','agujerito','perfor','gusano','picad','polvillo','palomilla','agujeros en el fruto'], causa:'Palomilla de la manzana', latin:'Cydia pomonella', urgencia:'alta', ahora:['Corta y saca del predio la fruta picada; no la dejes tirada.','Revisa la trampa de feromona más cercana y cuenta las palomillas.','Si pasan de 2 por trampa, la ventana para aplicar es ahora, antes de que la larva entre al fruto.'], prevenir:['Mantén trampas de feromona de abril a octubre.','Levanta la fruta caída cada semana.','Raspa la corteza suelta en invierno.'] }, { clave:['aserrín','aserrin','serrín','tronco','barren','goma en la rama'], causa:'Barrenador de rama o tronco', latin:'Complejo de barrenadores', urgencia:'alta', ahora:['Marca el árbol y busca el agujero exacto de donde sale el aserrín.','Corta y quema la rama si el daño está solo ahí.','Si el agujero está en el tronco principal, avisa al técnico: el árbol se puede perder.'], prevenir:['Pinta el tronco con cal para que no desoven.','No dejes heridas de poda sin cicatrizar.','Un árbol bien regado es mucho menos atacado.'] }, { clave:['polvo blanco','blanquec','ceniza','cenicilla','harina','hoja enrollada','rizada'], causa:'Cenicilla polvorienta', latin:'Podosphaera leucotricha', urgencia:'media', ahora:['Corta los brotes con polvo blanco y sácalos del predio.','Revisa si los árboles de alrededor ya lo tienen.','No riegues por aspersión mientras dure, empeora.'], prevenir:['Abre la copa con la poda para que circule el aire.','Vigila cuando la humedad pase de 70 %.','Cuida el exceso de nitrógeno: el brote tierno es lo que más se infecta.'] }, { clave:['mancha negra','manchas negras','mancha café','costra','roña','rona','sarna','mancha en la hoja'], causa:'Roña del manzano', latin:'Venturia inaequalis', urgencia:'media', ahora:['Junta y saca las hojas caídas: ahí pasa el invierno el hongo.','Cuenta cuántos árboles tienen manchas para saber qué tanto avanzó.','Evita mojar el follaje en los siguientes riegos.'], prevenir:['Es un hongo de humedad: se dispara después de lluvias largas.','Barre la hojarasca al terminar el ciclo.','Poda para que el follaje seque rápido.'] }, { clave:['amarill','clorosis','hoja pálida','pálida','decolor','descolorid','hojas amarillas'], causa:'Falta de nutrición o problema de riego', latin:'', urgencia:'media', ahora:['Fíjate si amarillean las hojas viejas o las nuevas: las viejas apuntan a nitrógeno, las nuevas a hierro.','Escarba 20 cm y revisa si el suelo está encharcado o seco.','Compara con los árboles vecinos para ver si es solo este.'], prevenir:['Haz análisis de suelo cada dos años.','Reparte el nitrógeno en varias aplicaciones.','Cuida el drenaje: la raíz ahogada también amarillea.'] }, { clave:['pulg','pegajos','melaza','hormiga','algodon','algodón','lanígero','lanudo'], causa:'Pulgón lanígero', latin:'Eriosoma lanigerum', urgencia:'media', ahora:['Busca las motitas blancas de algodón en heridas y axilas de rama.','Sigue el rastro de hormigas: ellas los protegen y los mueven de árbol en árbol.','Corta y saca los chupones de la base, ahí se esconden.'], prevenir:['Controla las hormigas con bandas pegajosas en el tronco.','Conserva la mariquita y la avispa parásita, te lo controlan solas.','Evita el exceso de nitrógeno.'] }, { clave:['rama seca','ramas secas','se secó','marchit','punta negra','muerte de rama','tizón','tizon'], causa:'Posible tizón de fuego', latin:'Erwinia amylovora', urgencia:'alta', ahora:['Revisa si la punta de la rama se dobló como bastón y está negra.','Corta 30 cm abajo de donde termina el daño.','Desinfecta la tijera con cloro entre cada corte o lo riegas tú mismo.','Quema o saca lo cortado, no lo dejes en la huerta.'], prevenir:['No podes en húmedo ni en floración.','Baja el nitrógeno: el brote tierno es la puerta de entrada.','Vigila fuerte después de granizo, las heridas son la entrada.'] }, { clave:['granizo','abolla','marca en el fruto','picotead','golpe de granizo'], causa:'Daño por granizo', latin:'', urgencia:'media', ahora:['Toma fotos hoy mismo, te sirven para el seguro.','Cuenta cuántos frutos por árbol traen golpe para estimar la pérdida.','Atiende las heridas pronto: por ahí entran los hongos.'], prevenir:['La malla antigranizo es la única protección real.','Revisa el aviso de clima en esta app antes de las tormentas de tarde.','Ten la malla lista desde junio.'] }, { clave:['quemad','sol','asolea','mancha clara','bronce','quemado por el sol'], causa:'Golpe de sol en el fruto', latin:'', urgencia:'baja', ahora:['Marca el lado del árbol que está expuesto, casi siempre es el poniente.','No quites hoja de ese lado, es la sombra del fruto.','Riega temprano los días arriba de 30°.'], prevenir:['Malla de sombra en los cuadros más expuestos.','Deja follaje de cobertura al podar.','Riego constante en los picos de calor.'] }, { clave:['partid','raj','agriet','abierto','fruto partido'], causa:'Rajado del fruto por riego desparejo', latin:'', urgencia:'media', ahora:['Revisa el historial de riego de este cuadro: casi siempre es un periodo seco seguido de mucha agua.','Corta la fruta rajada, ya no es comercial y atrae plaga.'], prevenir:['Riegos más seguidos y más chicos, no uno grande de vez en cuando.','Mantén el suelo parejo entre 25 y 35 %.','La materia orgánica en el suelo amortigua los cambios.'] } ]; function diagnosticar(texto){ var t = texto.toLowerCase(); var mejor = null, puntos = 0; BASE.forEach(function(d){ var p = 0; d.clave.forEach(function(k){ if(t.indexOf(k) !== -1) p++; }); if(p > puntos){ puntos = p; mejor = d; } }); if(mejor) return mejor; return { causa:'Necesitamos ver un poco más', latin:'', urgencia:'baja', ahora:['Toma fotos de la hoja, del fruto y del tronco del mismo árbol.','Revisa si los árboles de al lado tienen lo mismo o es solo este.','Vuelve a reportarlo en 3 días para ver si avanzó.'], prevenir:['Recorre la huerta una vez por semana.','Anota todo aquí aunque parezca poca cosa: el historial es lo que te permite comparar.'] }; } var NIVEL = { alta:'Urgente', media:'Atender', baja:'Vigilar' }; /* ---------------- guardado ---------------- */ var CLAVE = 'manzanar:arboles'; var arboles = []; function cargar(){ if(!window.storage){ pintarLista(); return; } window.storage.get(CLAVE).then(function(r){ try { arboles = r && r.value ? JSON.parse(r.value) : []; } catch(e){ arboles = []; } pintarLista(); }).catch(function(){ arboles = []; pintarLista(); }); } function guardar(){ if(!window.storage) return; window.storage.set(CLAVE, JSON.stringify(arboles)).catch(function(e){ console.error('No se pudo guardar', e); }); } function listaHTML(items){ return items.map(function(l){ return '
  • ' + l + '
  • '; }).join(''); } function pintarLista(){ var caja = document.getElementById('lista'); if(!arboles.length){ caja.innerHTML = '
    Todavía no hay árbolesEl primer reporte que envíes se queda guardado aquí con su fecha y su recomendación.
    '; return; } caja.innerHTML = arboles.map(function(a, i){ return '
    ' + '' + '
    ÁRBOL' + a.numero + '
    ' + '
    ' + a.causa + '' + a.cuadro + ' · ' + a.fecha + '
    ' + '' + NIVEL[a.urgencia] + '' + '
    ' + '
    ' + '
    ' + a.reporte + '
    ' + '
    ' + '
    ' + a.causa + '
    ' + (a.latin ? '
    ' + a.latin + '
    ' : '') + '
    Qué hacer ahora
      ' + listaHTML(a.ahora) + '
    ' + '
    Para que no vuelva
      ' + listaHTML(a.prevenir) + '
    ' + '
    ' + 'Quitar de la lista' + '
    ' + '
    '; }).join(''); } function borrar(i){ arboles.splice(i, 1); guardar(); pintarLista(); } /* ---------------- enviar ---------------- */ document.getElementById('enviar').onclick = function(){ var numero = document.getElementById('numero').value.trim(); var cuadro = document.getElementById('cuadro').value; var notas = document.getElementById('notas').value.trim(); var salida = document.getElementById('salida'); if(!numero){ salida.innerHTML = '
    Falta el número del árbol
    ' + '

    Sin el número no podemos guardar el reporte en la lista.

    '; document.getElementById('numero').focus(); return; } if(!elegidos.size && !notas){ salida.innerHTML = '
    Cuéntanos qué le ves
    ' + '

    Toca al menos un síntoma o escríbelo con tus palabras.

    '; return; } var partes = []; elegidos.forEach(function(s){ partes.push(s); }); if(notas) partes.push(notas); var reporte = partes.join('. '); salida.innerHTML = '
    Revisando el reporte del árbol ' + numero + '…
    '; setTimeout(function(){ var d = diagnosticar(reporte); var hoy = new Date().toLocaleDateString('es-MX', { day:'numeric', month:'short', year:'numeric' }); salida.innerHTML = '
    ' + '
    ' + '
    ' + d.causa + '
    ' + (d.latin ? '
    ' + d.latin + '
    ' : '') + '
    ' + '' + NIVEL[d.urgencia] + '' + '
    ' + '
    Qué hacer ahora
      ' + listaHTML(d.ahora) + '
    ' + '
    Para que no vuelva
      ' + listaHTML(d.prevenir) + '
    ' + '

    Guardado en tu lista como árbol ' + numero + '.

    ' + '
    '; arboles.unshift({ numero:numero, cuadro:cuadro, fecha:hoy, reporte:reporte, causa:d.causa, latin:d.latin, urgencia:d.urgencia, ahora:d.ahora, prevenir:d.prevenir }); guardar(); pintarLista(); document.getElementById('numero').value = ''; document.getElementById('notas').value = ''; elegidos.clear(); document.querySelectorAll('#fichas button').forEach(function(b){ b.setAttribute('aria-pressed','false'); }); }, 600); }; /* ---------------- navegación ---------------- */ function ir(v){ document.querySelectorAll('.vista').forEach(function(s){ s.classList.toggle('activa', s.id === 'v-' + v); }); document.querySelectorAll('nav button').forEach(function(b){ b.setAttribute('aria-selected', b.dataset.v === v); }); document.getElementById('main').scrollTop = 0; } cargar(); </script>

    Activity

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      No labels
      No labels

      Type

      No type

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions