feat: rediseño UI completo + infra email + stats
This commit is contained in:
parent
93d75ddafe
commit
24401c0ee5
37 changed files with 2162 additions and 412 deletions
|
|
@ -3,96 +3,10 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>RESETEA.NET · Reduce tu huella digital</title>
|
||||
<title>RESETEA.NET · La información es poder, quitémosles poder</title>
|
||||
<meta name="description"
|
||||
content="Envía cartas GDPR y elimina tus datos de redes sociales, buscadores y data brokers. Sin guardar información. Enlace oficiales y textos RGPD.">
|
||||
<link rel="stylesheet" href="index.css">
|
||||
<style>
|
||||
/* ── Panel tabs ── */
|
||||
.ptabs-nav {
|
||||
display: flex;
|
||||
gap: 0.3rem;
|
||||
border-bottom: 2px solid var(--border);
|
||||
padding-bottom: 0;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.ptab {
|
||||
padding: 0.5rem 1.05rem;
|
||||
border: 1px solid transparent;
|
||||
border-bottom: none;
|
||||
border-radius: 8px 8px 0 0;
|
||||
background: none;
|
||||
color: var(--muted);
|
||||
font-size: 0.8rem;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
transition: all 120ms ease;
|
||||
font-family: system-ui, sans-serif;
|
||||
white-space: nowrap;
|
||||
position: relative;
|
||||
bottom: -2px;
|
||||
letter-spacing: 0.01em;
|
||||
}
|
||||
.ptab:hover { background: var(--surface2); color: var(--text); }
|
||||
.ptab.active {
|
||||
background: var(--bg);
|
||||
border-color: var(--border);
|
||||
border-bottom-color: var(--bg);
|
||||
color: var(--caoba);
|
||||
}
|
||||
.ptab-pane { display: none; padding-top: 1.4rem; }
|
||||
.ptab-pane.active { display: block; }
|
||||
|
||||
/* ── Items como grid horizontal de tarjetas ── */
|
||||
.pitem-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(235px, 1fr));
|
||||
gap: 0.85rem;
|
||||
}
|
||||
.pitem-card {
|
||||
background: var(--surface);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 12px;
|
||||
padding: 0.9rem 1rem;
|
||||
box-shadow: var(--shadow-sm);
|
||||
transition: box-shadow 180ms ease, transform 180ms ease;
|
||||
}
|
||||
.pitem-card:hover {
|
||||
box-shadow: var(--shadow-md);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
.pitem-card label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.45rem;
|
||||
cursor: pointer;
|
||||
font-size: 0.88rem;
|
||||
font-weight: 600;
|
||||
color: var(--text);
|
||||
margin-bottom: 0.55rem;
|
||||
}
|
||||
.pitem-card label input[type="checkbox"] {
|
||||
accent-color: var(--caoba);
|
||||
width: 15px; height: 15px;
|
||||
flex-shrink: 0; cursor: pointer;
|
||||
}
|
||||
.pitem-card label:has(input:checked) {
|
||||
text-decoration: line-through;
|
||||
color: var(--subtle);
|
||||
}
|
||||
.pitem-card .actions {
|
||||
margin-left: 1.4rem;
|
||||
margin-top: 0;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
.pitem-grid { grid-template-columns: 1fr 1fr; }
|
||||
}
|
||||
@media (max-width: 420px) {
|
||||
.pitem-grid { grid-template-columns: 1fr; }
|
||||
.ptab { font-size: 0.72rem; padding: 0.4rem 0.7rem; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
|
@ -106,12 +20,39 @@
|
|||
<section class="hero-landing">
|
||||
<div class="container hero-landing-inner">
|
||||
<h1 class="main-title">RESETEA</h1>
|
||||
<p class="main-tagline">Reduce tu huella digital.</p>
|
||||
<p class="main-tagline">La información es poder.<br>Quitémosles poder.</p>
|
||||
|
||||
<div class="quotes-strip">
|
||||
<div class="quote-carousel" id="quote-carousel">
|
||||
<blockquote class="hero-quote active">
|
||||
<span class="q-mark">"</span>Matamos gente basándonos en metadatos.<span class="q-mark">"</span>
|
||||
<cite>— Gen. Michael Hayden, ex-director de la NSA</cite>
|
||||
</blockquote>
|
||||
<blockquote class="hero-quote">
|
||||
<span class="q-mark">"</span>Decir que la privacidad no te importa porque no tienes nada que ocultar es como decir que la libertad de expresión no importa porque no tienes nada que decir.<span class="q-mark">"</span>
|
||||
<cite>— Edward Snowden</cite>
|
||||
</blockquote>
|
||||
<blockquote class="hero-quote">
|
||||
<span class="q-mark">"</span>El que controla los datos del presente controla el pasado. El que controla el pasado controla el futuro.<span class="q-mark">"</span>
|
||||
<cite>— Inspirado en George Orwell, <em>1984</em></cite>
|
||||
</blockquote>
|
||||
<blockquote class="hero-quote">
|
||||
<span class="q-mark">"</span>No somos los clientes de estas empresas. Somos el producto.<span class="q-mark">"</span>
|
||||
<cite>— Richard Serra & Carlota Fay Schoolman, 1973</cite>
|
||||
</blockquote>
|
||||
<blockquote class="hero-quote">
|
||||
<span class="q-mark">"</span>La vigilancia es el modelo de negocio de internet.<span class="q-mark">"</span>
|
||||
<cite>— Bruce Schneier, criptógrafo y especialista en seguridad</cite>
|
||||
</blockquote>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="landing-nav">
|
||||
<a class="landing-nav-btn" href="tipos.html">Tipos de información</a>
|
||||
<a class="landing-nav-btn" href="concienciacion.html">Concienciación</a>
|
||||
<a class="landing-nav-btn" href="egosurfing.html">Egosurfing</a>
|
||||
<a class="landing-nav-btn landing-nav-btn--highlight" href="plantillas.html">Plantillas GDPR</a>
|
||||
<a class="landing-nav-btn" href="stats.html">Estadísticas</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
|
@ -123,65 +64,80 @@
|
|||
<div class="container">
|
||||
<div class="erase-form-wrap">
|
||||
|
||||
<div class="form-header">
|
||||
<h2>Introduce tu correo electrónico</h2>
|
||||
<p>Selecciona las redes y enviamos la carta GDPR por ti. Sin guardar nada.</p>
|
||||
</div>
|
||||
<div class="form-two-col">
|
||||
|
||||
<div class="email-row">
|
||||
<input type="email" id="gdpr-email" class="email-input"
|
||||
placeholder="tu@correo.com" autocomplete="email">
|
||||
</div>
|
||||
|
||||
<p class="networks-label">Selecciona las redes que quieres eliminar:</p>
|
||||
|
||||
<div class="networks-section">
|
||||
<p class="networks-sublabel">Envío automático de carta GDPR</p>
|
||||
<div class="networks-grid" id="networks-grid">
|
||||
<button class="net-chip" data-provider="instagram" data-type="api">Instagram</button>
|
||||
<button class="net-chip" data-provider="facebook" data-type="api">Facebook</button>
|
||||
<button class="net-chip" data-provider="twitter_x" data-type="api">X / Twitter</button>
|
||||
<button class="net-chip" data-provider="linkedin" data-type="api">LinkedIn</button>
|
||||
<button class="net-chip" data-provider="tiktok" data-type="api">TikTok</button>
|
||||
<button class="net-chip" data-provider="snapchat" data-type="api">Snapchat</button>
|
||||
<button class="net-chip" data-provider="discord" data-type="api">Discord</button>
|
||||
<button class="net-chip" data-provider="reddit" data-type="api">Reddit</button>
|
||||
<button class="net-chip" data-provider="microsoft" data-type="api">Microsoft</button>
|
||||
<button class="net-chip" data-provider="apple" data-type="api">Apple</button>
|
||||
<button class="net-chip" data-provider="google"
|
||||
data-type="form"
|
||||
data-form-url="https://support.google.com/policies/contact/sar_data_protection">Google</button>
|
||||
<button class="net-chip" data-provider="amazon"
|
||||
data-type="form"
|
||||
data-form-url="https://www.amazon.es/hz/contact-us/privacy-disclosure/">Amazon</button>
|
||||
<!-- ── Columna izquierda: email ── -->
|
||||
<div class="form-col-email">
|
||||
<div class="form-step-badge">1</div>
|
||||
<h2 class="form-col-title">Tu correo electrónico</h2>
|
||||
<p class="form-col-sub">Solo lo usamos para enviarte la carta GDPR. No lo guardamos ni lo compartimos.</p>
|
||||
<input type="email" id="gdpr-email" class="email-input"
|
||||
placeholder="tu@correo.com" autocomplete="email">
|
||||
<ul class="form-privacy-list">
|
||||
<li>🔒 Sin cookies ni tracking</li>
|
||||
<li>🗑️ No almacenamos tu correo</li>
|
||||
<li>✉️ Carta enviada al DPO directamente</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p class="networks-sublabel networks-sublabel--manual">Acceso rápido — acción manual</p>
|
||||
<div class="networks-grid">
|
||||
<button class="net-chip net-chip--manual" data-provider="whatsapp"
|
||||
data-type="link" data-link="https://faq.whatsapp.com/1306557496340600">WhatsApp</button>
|
||||
<button class="net-chip net-chip--manual" data-provider="telegram"
|
||||
data-type="link" data-link="https://my.telegram.org/auth">Telegram</button>
|
||||
<button class="net-chip net-chip--manual" data-provider="spotify"
|
||||
data-type="link" data-link="https://support.spotify.com/es/article/close-account/">Spotify</button>
|
||||
<button class="net-chip net-chip--manual" data-provider="youtube"
|
||||
data-type="link" data-link="https://support.google.com/youtube/answer/55759">YouTube</button>
|
||||
<button class="net-chip net-chip--manual" data-provider="netflix"
|
||||
data-type="link" data-link="https://help.netflix.com/es/node/100624">Netflix</button>
|
||||
<button class="net-chip net-chip--manual" data-provider="twitch"
|
||||
data-type="link" data-link="https://www.twitch.tv/user/delete-account">Twitch</button>
|
||||
<button class="net-chip net-chip--manual" data-provider="pinterest"
|
||||
data-type="link" data-link="https://help.pinterest.com/es/article/deactivate-or-close-your-account">Pinterest</button>
|
||||
<!-- ── Columna derecha: redes ── -->
|
||||
<div class="form-col-networks">
|
||||
<div class="form-col-networks-header">
|
||||
<div class="form-step-badge">2</div>
|
||||
<h2 class="form-col-title">Elige las redes</h2>
|
||||
<button class="btn-select-all" id="btn-select-all" type="button">Seleccionar todas</button>
|
||||
</div>
|
||||
|
||||
<p class="networks-group-label">Envío automático de carta GDPR</p>
|
||||
<div class="networks-grid" id="networks-grid">
|
||||
<button class="net-chip" data-provider="instagram" data-type="api"><img class="chip-icon" src="https://cdn.simpleicons.org/instagram/1a1714" alt=""><span class="chip-label">Instagram</span></button>
|
||||
<button class="net-chip" data-provider="facebook" data-type="api"><img class="chip-icon" src="https://cdn.simpleicons.org/facebook/1a1714" alt=""><span class="chip-label">Facebook</span></button>
|
||||
<button class="net-chip" data-provider="twitter_x" data-type="api"><img class="chip-icon" src="https://cdn.simpleicons.org/x/1a1714" alt=""><span class="chip-label">X / Twitter</span></button>
|
||||
<button class="net-chip" data-provider="linkedin" data-type="api"><img class="chip-icon" src="https://cdn.simpleicons.org/linkedin/1a1714" alt=""><span class="chip-label">LinkedIn</span></button>
|
||||
<button class="net-chip" data-provider="tiktok" data-type="api"><img class="chip-icon" src="https://cdn.simpleicons.org/tiktok/1a1714" alt=""><span class="chip-label">TikTok</span></button>
|
||||
<button class="net-chip" data-provider="snapchat" data-type="api"><img class="chip-icon" src="https://cdn.simpleicons.org/snapchat/1a1714" alt=""><span class="chip-label">Snapchat</span></button>
|
||||
<button class="net-chip" data-provider="discord" data-type="api"><img class="chip-icon" src="https://cdn.simpleicons.org/discord/1a1714" alt=""><span class="chip-label">Discord</span></button>
|
||||
<button class="net-chip" data-provider="reddit" data-type="api"><img class="chip-icon" src="https://cdn.simpleicons.org/reddit/1a1714" alt=""><span class="chip-label">Reddit</span></button>
|
||||
<button class="net-chip" data-provider="microsoft" data-type="api"><img class="chip-icon" src="https://cdn.simpleicons.org/microsoft/1a1714" alt=""><span class="chip-label">Microsoft</span></button>
|
||||
<button class="net-chip" data-provider="apple" data-type="api"><img class="chip-icon" src="https://cdn.simpleicons.org/apple/1a1714" alt=""><span class="chip-label">Apple</span></button>
|
||||
<button class="net-chip" data-provider="google" data-type="form"
|
||||
data-form-url="https://support.google.com/policies/contact/sar_data_protection"><img class="chip-icon" src="https://cdn.simpleicons.org/google/1a1714" alt=""><span class="chip-label">Google</span></button>
|
||||
<button class="net-chip" data-provider="amazon" data-type="form"
|
||||
data-form-url="https://www.amazon.es/hz/contact-us/privacy-disclosure/"><img class="chip-icon" src="https://cdn.simpleicons.org/amazon/1a1714" alt=""><span class="chip-label">Amazon</span></button>
|
||||
</div>
|
||||
|
||||
<p class="networks-group-label networks-group-label--manual">Acceso directo — clic abre el enlace oficial</p>
|
||||
<p class="networks-manual-note">Estas plataformas no permiten solicitud automática. Clic en el botón abre su página oficial directamente.</p>
|
||||
<div class="networks-grid networks-grid--manual">
|
||||
<button class="net-chip net-chip--manual" data-provider="whatsapp"
|
||||
data-link="https://faq.whatsapp.com/1306557496340600"><img class="chip-icon" src="https://cdn.simpleicons.org/whatsapp/1a1714" alt=""><span class="chip-label">WhatsApp</span> <span class="chip-arrow">↗</span></button>
|
||||
<button class="net-chip net-chip--manual" data-provider="telegram"
|
||||
data-link="https://my.telegram.org/auth"><img class="chip-icon" src="https://cdn.simpleicons.org/telegram/1a1714" alt=""><span class="chip-label">Telegram</span> <span class="chip-arrow">↗</span></button>
|
||||
<button class="net-chip net-chip--manual" data-provider="spotify"
|
||||
data-link="https://support.spotify.com/es/article/close-account/"><img class="chip-icon" src="https://cdn.simpleicons.org/spotify/1a1714" alt=""><span class="chip-label">Spotify</span> <span class="chip-arrow">↗</span></button>
|
||||
<button class="net-chip net-chip--manual" data-provider="youtube"
|
||||
data-link="https://support.google.com/youtube/answer/55759"><img class="chip-icon" src="https://cdn.simpleicons.org/youtube/1a1714" alt=""><span class="chip-label">YouTube</span> <span class="chip-arrow">↗</span></button>
|
||||
<button class="net-chip net-chip--manual" data-provider="netflix"
|
||||
data-link="https://help.netflix.com/es/node/100624"><img class="chip-icon" src="https://cdn.simpleicons.org/netflix/1a1714" alt=""><span class="chip-label">Netflix</span> <span class="chip-arrow">↗</span></button>
|
||||
<button class="net-chip net-chip--manual" data-provider="twitch"
|
||||
data-link="https://www.twitch.tv/user/delete-account"><img class="chip-icon" src="https://cdn.simpleicons.org/twitch/1a1714" alt=""><span class="chip-label">Twitch</span> <span class="chip-arrow">↗</span></button>
|
||||
<button class="net-chip net-chip--manual" data-provider="pinterest"
|
||||
data-link="https://help.pinterest.com/es/article/deactivate-or-close-your-account"><img class="chip-icon" src="https://cdn.simpleicons.org/pinterest/1a1714" alt=""><span class="chip-label">Pinterest</span> <span class="chip-arrow">↗</span></button>
|
||||
</div>
|
||||
|
||||
<div class="form-counter" id="form-counter">0 redes seleccionadas</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-footer-row">
|
||||
<button class="btn primary btn--lg" id="gdpr-send" disabled>
|
||||
<!-- ── Fila de envío ── -->
|
||||
<div class="form-send-row">
|
||||
<button class="btn primary btn--send-main" id="gdpr-send" disabled>
|
||||
Enviar solicitudes GDPR
|
||||
</button>
|
||||
<p class="form-note">
|
||||
No guardamos tu correo. Las cartas se envían directamente a los DPOs de cada plataforma.<br>
|
||||
Las redes en verde requieren acción manual: abrimos el enlace oficial por ti.
|
||||
Las redes de "acceso directo" abren su página oficial al instante, sin necesidad de enviar nada.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
|
@ -196,31 +152,30 @@
|
|||
════════════════════════════════════════════ -->
|
||||
<section class="panel">
|
||||
<div class="container">
|
||||
<h2>Panel de acciones completo</h2>
|
||||
<p class="section-desc">
|
||||
Marca cada acción completada para seguir tu progreso. Todos los enlaces apuntan a páginas oficiales.
|
||||
Recuerda: <strong>descarga primero tus datos</strong> antes de eliminar nada.
|
||||
</p>
|
||||
|
||||
<div class="progress-bar"><div class="progress-fill" id="progress-fill" style="width:0%"></div></div>
|
||||
<div class="progress-label" style="margin-bottom:2rem"><span id="progress-text">0 acciones completadas</span></div>
|
||||
|
||||
<!-- ── Navegación por tabs ── -->
|
||||
<div class="ptabs-nav">
|
||||
<button class="ptab active" data-tab="cuentas">Cuentas base</button>
|
||||
<button class="ptab" data-tab="redes">Redes sociales</button>
|
||||
<button class="ptab" data-tab="mensajeria">Mensajería</button>
|
||||
<button class="ptab" data-tab="streaming">Streaming</button>
|
||||
<button class="ptab" data-tab="buscadores">Buscadores</button>
|
||||
<button class="ptab" data-tab="brokers">Data brokers</button>
|
||||
<div class="panel-global-header">
|
||||
<h2 class="panel-title">Panel de acciones completo</h2>
|
||||
<p class="section-desc">
|
||||
Marca cada acción completada para seguir tu progreso. Todos los enlaces apuntan a páginas oficiales.
|
||||
Recuerda: <strong>descarga primero tus datos</strong> antes de eliminar nada.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- ── Contenido de cada tab ── -->
|
||||
<div id="ptab-cuentas" class="ptab-pane active">
|
||||
<div class="pitem-grid">
|
||||
<div class="progress-track">
|
||||
<div class="progress-bar"><div class="progress-fill" id="progress-fill" style="width:0%"></div></div>
|
||||
<span class="progress-label" id="progress-text">0 acciones completadas</span>
|
||||
</div>
|
||||
|
||||
<!-- ── Cuentas base ── -->
|
||||
<div class="panel-section">
|
||||
<div class="panel-section-header">
|
||||
<span class="panel-section-badge">Cuentas base</span>
|
||||
<button class="btn-mark-section" type="button" data-section="cuentas-base">Marcar todas</button>
|
||||
</div>
|
||||
<div class="pitem-grid" id="psec-cuentas-base">
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Google</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/google/1a1714" alt=""> Google</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://myaccount.google.com/data-and-privacy" target="_blank" rel="noopener">Descarga datos</a>
|
||||
<a href="https://myaccount.google.com/delete-services-or-account" target="_blank" rel="noopener">Eliminar cuenta</a>
|
||||
|
|
@ -229,7 +184,7 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Microsoft / Outlook</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/microsoft/1a1714" alt=""> Microsoft / Outlook</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://account.microsoft.com/account/privacy" target="_blank" rel="noopener">Privacidad</a>
|
||||
<a href="https://account.live.com/closeaccount.aspx" target="_blank" rel="noopener">Cerrar cuenta</a>
|
||||
|
|
@ -238,7 +193,7 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Apple ID</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/apple/1a1714" alt=""> Apple ID</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://privacy.apple.com/" target="_blank" rel="noopener">Portal privacidad</a>
|
||||
<a href="https://support.apple.com/es-es/111001" target="_blank" rel="noopener">Eliminar cuenta</a>
|
||||
|
|
@ -247,7 +202,7 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Amazon</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/amazon/1a1714" alt=""> Amazon</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://www.amazon.es/gp/help/customer/display.html?nodeId=GX7NJQ4ZB8MHFRNJ" target="_blank" rel="noopener">Política privacidad</a>
|
||||
<a href="https://www.amazon.es/gp/help/customer/display.html?nodeId=GXPU3YPMBDQWWHGZ" target="_blank" rel="noopener">Cerrar cuenta</a>
|
||||
|
|
@ -256,13 +211,21 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
<div class="panel-section-footer">
|
||||
<button class="btn ghost btn--section-send" type="button" data-section="cuentas-base">✓ Marcar sección completada</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="ptab-redes" class="ptab-pane">
|
||||
<div class="pitem-grid">
|
||||
<!-- ── Redes sociales ── -->
|
||||
<div class="panel-section">
|
||||
<div class="panel-section-header">
|
||||
<span class="panel-section-badge">Redes sociales</span>
|
||||
<button class="btn-mark-section" type="button" data-section="redes-sociales">Marcar todas</button>
|
||||
</div>
|
||||
<div class="pitem-grid" id="psec-redes-sociales">
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Instagram</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/instagram/1a1714" alt=""> Instagram</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://www.instagram.com/download/request/" target="_blank" rel="noopener">Descarga datos</a>
|
||||
<a href="https://www.instagram.com/accounts/remove/request/permanent/" target="_blank" rel="noopener">Eliminar cuenta</a>
|
||||
|
|
@ -271,7 +234,7 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Facebook</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/facebook/1a1714" alt=""> Facebook</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://www.facebook.com/dyi/" target="_blank" rel="noopener">Descarga datos</a>
|
||||
<a href="https://www.facebook.com/help/delete_account" target="_blank" rel="noopener">Eliminar cuenta</a>
|
||||
|
|
@ -280,7 +243,7 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> X / Twitter</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/x/1a1714" alt=""> X / Twitter</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://x.com/settings/download_your_data" target="_blank" rel="noopener">Descarga datos</a>
|
||||
<a href="https://x.com/settings/deactivate" target="_blank" rel="noopener">Desactivar cuenta</a>
|
||||
|
|
@ -289,7 +252,7 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> LinkedIn</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/linkedin/1a1714" alt=""> LinkedIn</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://www.linkedin.com/mypreferences/d/data-export" target="_blank" rel="noopener">Descarga datos</a>
|
||||
<a href="https://www.linkedin.com/mypreferences/d/close-your-account" target="_blank" rel="noopener">Cerrar cuenta</a>
|
||||
|
|
@ -298,7 +261,7 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> TikTok</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/tiktok/1a1714" alt=""> TikTok</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://www.tiktok.com/setting/privacy?settingPage=privacy" target="_blank" rel="noopener">Privacidad</a>
|
||||
<a href="https://support.tiktok.com/es/safety-hic/account-and-user-safety/account-deletion" target="_blank" rel="noopener">Eliminar cuenta</a>
|
||||
|
|
@ -307,7 +270,7 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Snapchat</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/snapchat/1a1714" alt=""> Snapchat</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://accounts.snapchat.com/accounts/downloadmydata" target="_blank" rel="noopener">Descarga datos</a>
|
||||
<a href="https://accounts.snapchat.com/accounts/delete_account" target="_blank" rel="noopener">Eliminar cuenta</a>
|
||||
|
|
@ -316,7 +279,7 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Pinterest</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/pinterest/1a1714" alt=""> Pinterest</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://www.pinterest.es/settings/privacy/" target="_blank" rel="noopener">Privacidad</a>
|
||||
<a href="https://help.pinterest.com/es/article/deactivate-or-close-your-account" target="_blank" rel="noopener">Eliminar cuenta</a>
|
||||
|
|
@ -324,7 +287,7 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Reddit</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/reddit/1a1714" alt=""> Reddit</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://www.reddit.com/settings/data-request" target="_blank" rel="noopener">Descarga datos</a>
|
||||
<a href="https://www.reddit.com/settings/account" target="_blank" rel="noopener">Eliminar cuenta</a>
|
||||
|
|
@ -333,7 +296,7 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Discord</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/discord/1a1714" alt=""> Discord</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://discord.com/privacy" target="_blank" rel="noopener">Privacidad</a>
|
||||
<a href="https://support.discord.com/hc/es/articles/212500837" target="_blank" rel="noopener">Eliminar cuenta</a>
|
||||
|
|
@ -342,13 +305,21 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
<div class="panel-section-footer">
|
||||
<button class="btn ghost btn--section-send" type="button" data-section="redes-sociales">✓ Marcar sección completada</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="ptab-mensajeria" class="ptab-pane">
|
||||
<div class="pitem-grid">
|
||||
<!-- ── Mensajería ── -->
|
||||
<div class="panel-section">
|
||||
<div class="panel-section-header">
|
||||
<span class="panel-section-badge">Mensajería</span>
|
||||
<button class="btn-mark-section" type="button" data-section="mensajeria">Marcar todas</button>
|
||||
</div>
|
||||
<div class="pitem-grid" id="psec-mensajeria">
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> WhatsApp</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/whatsapp/1a1714" alt=""> WhatsApp</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://faq.whatsapp.com/1180414079177245" target="_blank" rel="noopener">Solicitar datos</a>
|
||||
<a href="https://faq.whatsapp.com/1306557496340600" target="_blank" rel="noopener">Eliminar cuenta</a>
|
||||
|
|
@ -356,7 +327,7 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Telegram</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/telegram/1a1714" alt=""> Telegram</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://my.telegram.org/auth" target="_blank" rel="noopener">Eliminar cuenta</a>
|
||||
<a href="https://telegram.org/privacy" target="_blank" rel="noopener">Política privacidad</a>
|
||||
|
|
@ -364,20 +335,28 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Gmail (correo)</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/gmail/1a1714" alt=""> Gmail (correo)</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://myaccount.google.com/deleteaccount" target="_blank" rel="noopener">Gestionar</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="panel-section-footer">
|
||||
<button class="btn ghost btn--section-send" type="button" data-section="mensajeria">✓ Marcar sección completada</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="ptab-streaming" class="ptab-pane">
|
||||
<div class="pitem-grid">
|
||||
<!-- ── Streaming ── -->
|
||||
<div class="panel-section">
|
||||
<div class="panel-section-header">
|
||||
<span class="panel-section-badge">Streaming</span>
|
||||
<button class="btn-mark-section" type="button" data-section="streaming">Marcar todas</button>
|
||||
</div>
|
||||
<div class="pitem-grid" id="psec-streaming">
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Spotify</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/spotify/1a1714" alt=""> Spotify</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://www.spotify.com/es/account/privacy/" target="_blank" rel="noopener">Privacidad</a>
|
||||
<a href="https://support.spotify.com/es/article/close-account/" target="_blank" rel="noopener">Cerrar cuenta</a>
|
||||
|
|
@ -385,7 +364,7 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Netflix</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/netflix/1a1714" alt=""> Netflix</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://help.netflix.com/es/node/407" target="_blank" rel="noopener">Cancelar suscripción</a>
|
||||
<a href="https://help.netflix.com/es/node/100624" target="_blank" rel="noopener">Eliminar perfil</a>
|
||||
|
|
@ -393,7 +372,7 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Twitch</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/twitch/1a1714" alt=""> Twitch</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://www.twitch.tv/user/delete-account" target="_blank" rel="noopener">Eliminar cuenta</a>
|
||||
<a href="https://www.twitch.tv/p/es-es/legal/privacy-notice/" target="_blank" rel="noopener">Política privacidad</a>
|
||||
|
|
@ -401,7 +380,7 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> YouTube</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/youtube/1a1714" alt=""> YouTube</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://myaccount.google.com/data-and-privacy" target="_blank" rel="noopener">Gestionar datos</a>
|
||||
<a href="https://support.google.com/youtube/answer/55759" target="_blank" rel="noopener">Cerrar canal</a>
|
||||
|
|
@ -409,13 +388,21 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
<div class="panel-section-footer">
|
||||
<button class="btn ghost btn--section-send" type="button" data-section="streaming">✓ Marcar sección completada</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="ptab-buscadores" class="ptab-pane">
|
||||
<div class="pitem-grid">
|
||||
<!-- ── Buscadores ── -->
|
||||
<div class="panel-section">
|
||||
<div class="panel-section-header">
|
||||
<span class="panel-section-badge">Buscadores</span>
|
||||
<button class="btn-mark-section" type="button" data-section="buscadores">Marcar todas</button>
|
||||
</div>
|
||||
<div class="pitem-grid" id="psec-buscadores">
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Google — Derecho al olvido (UE)</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/google/1a1714" alt=""> Google — Derecho al olvido (UE)</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://reportcontent.google.com/forms/rtbf" target="_blank" rel="noopener">Formulario RTBF</a>
|
||||
<a href="plantillas.html" target="_blank">Carta GDPR</a>
|
||||
|
|
@ -423,76 +410,88 @@
|
|||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Google — Contenido obsoleto</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/google/1a1714" alt=""> Google — Contenido obsoleto</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://search.google.com/search-console/remove-outdated-content" target="_blank" rel="noopener">Herramienta eliminación</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Google — Info personal</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/google/1a1714" alt=""> Google — Info personal</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://support.google.com/websearch/troubleshooter/9685456" target="_blank" rel="noopener">Solicitar eliminación</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Bing — Eliminación de contenido</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/microsoftbing/1a1714" alt=""> Bing — Eliminación de contenido</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://www.bing.com/webmasters/tools/content-removal" target="_blank" rel="noopener">Formulario Bing</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Bing — Derecho al olvido</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/microsoftbing/1a1714" alt=""> Bing — Derecho al olvido</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://www.microsoft.com/es-es/concern/bing" target="_blank" rel="noopener">Solicitud Bing</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="panel-section-footer">
|
||||
<button class="btn ghost btn--section-send" type="button" data-section="buscadores">✓ Marcar sección completada</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="ptab-brokers" class="ptab-pane">
|
||||
<div class="pitem-grid">
|
||||
<!-- ── Data brokers ── -->
|
||||
<div class="panel-section">
|
||||
<div class="panel-section-header">
|
||||
<span class="panel-section-badge">Data brokers</span>
|
||||
<button class="btn-mark-section" type="button" data-section="data-brokers">Marcar todas</button>
|
||||
</div>
|
||||
<div class="pitem-grid" id="psec-data-brokers">
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Acxiom — Opt-out</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name">Acxiom — Opt-out</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://isapps.acxiom.com/optout/optout.aspx" target="_blank" rel="noopener">Opt-out oficial</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Epsilon — Opt-out</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name">Epsilon — Opt-out</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://www.epsilon.com/us/privacy-policy" target="_blank" rel="noopener">Política y opt-out</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> Have I Been Pwned</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name"><img class="pitem-icon" src="https://cdn.simpleicons.org/haveibeenpwned/1a1714" alt=""> Have I Been Pwned</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://haveibeenpwned.com/" target="_blank" rel="noopener">Verificar email</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> DeleteMe (referencia)</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name">DeleteMe (referencia)</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://joindeleteme.com/sites-we-remove-from/" target="_blank" rel="noopener">Lista de brokers</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pitem-card">
|
||||
<label><input type="checkbox" class="progress-cb"> AEPD — Reclamación</label>
|
||||
<label class="pitem-label"><input type="checkbox" class="progress-cb"><span class="pitem-name">AEPD — Reclamación</span></label>
|
||||
<div class="actions">
|
||||
<a href="https://sedeagpd.gob.es/sede-electronica-web/" target="_blank" rel="noopener">Sede AEPD</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="panel-section-footer">
|
||||
<button class="btn ghost btn--section-send" type="button" data-section="data-brokers">✓ Marcar sección completada</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
@ -579,25 +578,56 @@
|
|||
'use strict';
|
||||
|
||||
/* ── Chips de redes ─────────────────────────── */
|
||||
const chips = document.querySelectorAll('.net-chip');
|
||||
const sendBtn = document.getElementById('gdpr-send');
|
||||
const emailIn = document.getElementById('gdpr-email');
|
||||
const results = document.getElementById('gdpr-results');
|
||||
/* Solo chips seleccionables (auto + form) — los manuales tienen acción directa */
|
||||
const chips = document.querySelectorAll('.net-chip:not(.net-chip--manual)');
|
||||
const manualChips = document.querySelectorAll('.net-chip--manual');
|
||||
const sendBtn = document.getElementById('gdpr-send');
|
||||
const emailIn = document.getElementById('gdpr-email');
|
||||
const results = document.getElementById('gdpr-results');
|
||||
const counter = document.getElementById('form-counter');
|
||||
const selectAllBtn = document.getElementById('btn-select-all');
|
||||
|
||||
/* Chips seleccionables: toggle + actualiza botón */
|
||||
chips.forEach(chip => {
|
||||
chip.addEventListener('click', () => {
|
||||
chip.classList.toggle('selected');
|
||||
syncBtn();
|
||||
});
|
||||
});
|
||||
|
||||
/* Chips manuales: acción directa, abren el enlace oficial sin selección */
|
||||
manualChips.forEach(chip => {
|
||||
chip.addEventListener('click', () => {
|
||||
window.open(chip.dataset.link, '_blank', 'noopener noreferrer');
|
||||
chip.classList.add('chip--opened');
|
||||
setTimeout(() => chip.classList.remove('chip--opened'), 1200);
|
||||
});
|
||||
});
|
||||
|
||||
emailIn.addEventListener('input', syncBtn);
|
||||
|
||||
selectAllBtn.addEventListener('click', () => {
|
||||
const allSelected = [...chips].every(c => c.classList.contains('selected'));
|
||||
chips.forEach(c => c.classList.toggle('selected', !allSelected));
|
||||
selectAllBtn.textContent = allSelected ? 'Seleccionar todas' : 'Deseleccionar todas';
|
||||
syncBtn();
|
||||
});
|
||||
|
||||
function validEmail(v) { return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(v); }
|
||||
|
||||
function syncBtn() {
|
||||
const ok = validEmail(emailIn.value) &&
|
||||
[...chips].some(c => c.classList.contains('selected'));
|
||||
const selected = [...chips].filter(c => c.classList.contains('selected'));
|
||||
const count = selected.length;
|
||||
counter.textContent = count === 0 ? '0 redes seleccionadas'
|
||||
: count === 1 ? '1 red seleccionada'
|
||||
: count + ' redes seleccionadas';
|
||||
const allSel = count === chips.length;
|
||||
selectAllBtn.textContent = allSel ? 'Deseleccionar todas' : 'Seleccionar todas';
|
||||
const ok = validEmail(emailIn.value) && count > 0;
|
||||
sendBtn.disabled = !ok;
|
||||
sendBtn.textContent = ok
|
||||
? `Enviar cartas GDPR (${count})`
|
||||
: 'Enviar cartas GDPR';
|
||||
}
|
||||
|
||||
/* ── Envío ──────────────────────────────────── */
|
||||
|
|
@ -613,13 +643,7 @@ sendBtn.addEventListener('click', async () => {
|
|||
for (const chip of selected) {
|
||||
const provider = chip.dataset.provider;
|
||||
const type = chip.dataset.type;
|
||||
const name = chip.textContent.trim();
|
||||
|
||||
if (type === 'link') {
|
||||
window.open(chip.dataset.link, '_blank', 'noopener noreferrer');
|
||||
addResult(name, 'manual', 'Enlace oficial abierto — completa la eliminación manualmente.');
|
||||
continue;
|
||||
}
|
||||
const name = chip.querySelector('.chip-label')?.textContent.trim() || chip.textContent.trim();
|
||||
|
||||
if (type === 'form') {
|
||||
window.open(chip.dataset.formUrl, '_blank', 'noopener noreferrer');
|
||||
|
|
@ -650,10 +674,7 @@ sendBtn.addEventListener('click', async () => {
|
|||
}
|
||||
|
||||
sendBtn.textContent = 'Solicitudes enviadas ✓';
|
||||
setTimeout(() => {
|
||||
sendBtn.textContent = 'Enviar solicitudes GDPR';
|
||||
syncBtn();
|
||||
}, 4000);
|
||||
setTimeout(() => { syncBtn(); }, 4000);
|
||||
});
|
||||
|
||||
function addResult(name, type, msg) {
|
||||
|
|
@ -663,18 +684,7 @@ function addResult(name, type, msg) {
|
|||
results.appendChild(div);
|
||||
}
|
||||
|
||||
/* ── Panel tabs ────────────────────────────── */
|
||||
document.querySelectorAll('.ptab').forEach(tab => {
|
||||
tab.addEventListener('click', () => {
|
||||
document.querySelectorAll('.ptab').forEach(t => t.classList.remove('active'));
|
||||
document.querySelectorAll('.ptab-pane').forEach(p => p.classList.remove('active'));
|
||||
tab.classList.add('active');
|
||||
const pane = document.getElementById('ptab-' + tab.dataset.tab);
|
||||
if (pane) pane.classList.add('active');
|
||||
});
|
||||
});
|
||||
|
||||
/* ── Progreso checklist ─────────────────────── */
|
||||
/* ── Panel checklist ────────────────────────── */
|
||||
const cbs = document.querySelectorAll('.progress-cb');
|
||||
const fill = document.getElementById('progress-fill');
|
||||
const label = document.getElementById('progress-text');
|
||||
|
|
@ -687,6 +697,35 @@ function updateProgress() {
|
|||
}
|
||||
cbs.forEach(cb => cb.addEventListener('change', updateProgress));
|
||||
updateProgress();
|
||||
|
||||
/* ── Marcar sección completa ─────────────────── */
|
||||
document.querySelectorAll('.btn-mark-section, .btn--section-send').forEach(btn => {
|
||||
btn.addEventListener('click', () => {
|
||||
const grid = document.getElementById('psec-' + btn.dataset.section);
|
||||
if (!grid) return;
|
||||
const boxes = grid.querySelectorAll('.progress-cb');
|
||||
const allDone = [...boxes].every(cb => cb.checked);
|
||||
boxes.forEach(cb => { cb.checked = !allDone; });
|
||||
updateProgress();
|
||||
/* Actualizar texto del botón "Marcar todas" de esta sección */
|
||||
const secHeader = grid.closest('.panel-section').querySelector('.btn-mark-section');
|
||||
if (secHeader) secHeader.textContent = allDone ? 'Marcar todas' : 'Desmarcar todas';
|
||||
const secFooter = grid.closest('.panel-section').querySelector('.btn--section-send');
|
||||
if (secFooter) secFooter.textContent = allDone ? '✓ Marcar sección completada' : '↩ Desmarcar sección';
|
||||
});
|
||||
});
|
||||
|
||||
/* ── Carrusel de citas — rota cada 6 s ── */
|
||||
(function () {
|
||||
const quotes = document.querySelectorAll('.hero-quote');
|
||||
if (!quotes.length) return;
|
||||
let current = 0;
|
||||
setInterval(() => {
|
||||
quotes[current].classList.remove('active');
|
||||
current = (current + 1) % quotes.length;
|
||||
quotes[current].classList.add('active');
|
||||
}, 6000);
|
||||
})();
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue