fix
This commit is contained in:
1 parent
4f0020bc10
commit
4606f06a7c
7 files changed
+210
-8
No files matched your search
@@ -0,0 +1 @@
|
||||
/* /index.html 200
|
||||
@@ -7,6 +7,7 @@ import { Home } from './pages/Home';
|
||||
import { SobreNosotros } from './pages/SobreNosotros';
|
||||
import { Productos } from './pages/Productos';
|
||||
import { Blog } from './pages/Blog';
|
||||
import { Privacidad } from './pages/Privacidad';
|
||||
|
||||
const CONTACT_EMAIL = '[email protected]';
|
||||
const openContact = () => {
|
||||
@@ -29,6 +30,7 @@ export default function App() {
|
||||
<Route path="/sobre-nosotros" element={<SobreNosotros />} />
|
||||
<Route path="/productos" element={<Productos />} />
|
||||
<Route path="/blog" element={<Blog />} />
|
||||
<Route path="/privacidad" element={<Privacidad />} />
|
||||
</Routes>
|
||||
|
||||
<Footer isNavyBg={isNavyBg} />
|
||||
|
||||
@@ -53,9 +53,6 @@ export const CtaBanner = ({ onOpenContact, isNavyBg }: CtaBannerProps) => {
|
||||
>
|
||||
Hablemos de tu proyecto <ArrowRight size={16} />
|
||||
</Button>
|
||||
<Button variant="secondary" href="mailto:[email protected]" isNavyBg={isNavyBg}>
|
||||
contacto@rynext.com.mx
|
||||
</Button>
|
||||
</div>
|
||||
</motion.div>
|
||||
</div>
|
||||
|
||||
@@ -3,8 +3,8 @@ import { motion, AnimatePresence } from 'framer-motion';
|
||||
import type { ThemeProps } from '../types';
|
||||
import { type Dispatch, type SetStateAction, useState, useEffect } from 'react';
|
||||
|
||||
const WHATSAPP_NUMBER = '521XXXXXXXXXX'; // ← reemplaza con el número real
|
||||
const WHATSAPP_MSG = encodeURIComponent('¿En qué podemos ayudarte?');
|
||||
const WHATSAPP_NUMBER = '529984814889';
|
||||
const WHATSAPP_MSG = encodeURIComponent('¡Hola!');
|
||||
|
||||
interface FloatingButtonsProps extends ThemeProps {
|
||||
setIsNavyBg: Dispatch<SetStateAction<boolean>>;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { Mail, MapPin, MessageCircle } from 'lucide-react';
|
||||
import { Link } from 'react-router';
|
||||
import type { ThemeProps } from '../types';
|
||||
|
||||
const navLinks = [
|
||||
@@ -56,6 +57,26 @@ export const Footer = ({ isNavyBg }: ThemeProps) => {
|
||||
</p>
|
||||
{/* Social */}
|
||||
<div className="flex items-center gap-3">
|
||||
<a
|
||||
href="https://www.facebook.com/RynextTechnologies/"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
aria-label="Rynext en Facebook"
|
||||
className="flex h-9 w-9 items-center justify-center rounded transition-colors"
|
||||
style={{ background: "rgba(255,255,255,0.07)", color: sub }}
|
||||
onMouseEnter={(e) => {
|
||||
(e.currentTarget as HTMLAnchorElement).style.background = "rgba(255,255,255,0.14)";
|
||||
(e.currentTarget as HTMLAnchorElement).style.color = "#fff";
|
||||
}}
|
||||
onMouseLeave={(e) => {
|
||||
(e.currentTarget as HTMLAnchorElement).style.background = "rgba(255,255,255,0.07)";
|
||||
(e.currentTarget as HTMLAnchorElement).style.color = sub;
|
||||
}}
|
||||
>
|
||||
<svg width="15" height="15" viewBox="0 0 24 24" fill="currentColor">
|
||||
<path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"/>
|
||||
</svg>
|
||||
</a>
|
||||
<a
|
||||
href="https://linkedin.com/company/rynext"
|
||||
target="_blank"
|
||||
@@ -87,7 +108,7 @@ export const Footer = ({ isNavyBg }: ThemeProps) => {
|
||||
</svg>
|
||||
</a>
|
||||
<a
|
||||
href={`https://wa.me/529981234567?text=${encodeURIComponent('¿En qué podemos ayudarte?')}`}
|
||||
href={`https://wa.me/529984814889?text=${encodeURIComponent('¿En qué podemos ayudarte?')}`}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
aria-label="Rynext en WhatsApp"
|
||||
@@ -196,10 +217,20 @@ export const Footer = ({ isNavyBg }: ThemeProps) => {
|
||||
className="mt-16 border-t pt-8 text-center"
|
||||
style={{ borderColor: border }}
|
||||
>
|
||||
<div className="flex flex-col items-center gap-2 sm:flex-row sm:justify-center sm:gap-4">
|
||||
<p className="text-xs" style={{ color: "rgba(255,255,255,0.25)" }}>
|
||||
© {new Date().getFullYear()} Rynext Technologies S.A.S. | Todos los
|
||||
derechos reservados.
|
||||
© {new Date().getFullYear()} Rynext Technologies S.A.S. | Todos los derechos reservados.
|
||||
</p>
|
||||
<Link
|
||||
to="/privacidad"
|
||||
className="text-xs transition-colors"
|
||||
style={{ color: "rgba(255,255,255,0.25)", textDecoration: "none" }}
|
||||
onMouseEnter={(e) => (e.currentTarget.style.color = "rgba(255,255,255,0.6)")}
|
||||
onMouseLeave={(e) => (e.currentTarget.style.color = "rgba(255,255,255,0.25)")}
|
||||
>
|
||||
Aviso de Privacidad
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
@@ -151,6 +151,40 @@
|
||||
animation: fadeIn 200ms ease;
|
||||
}
|
||||
|
||||
/* Aviso de privacidad — contenido editorial */
|
||||
.prose-rynext h2 {
|
||||
font-family: var(--font-display);
|
||||
font-size: 1.15rem;
|
||||
font-weight: 800;
|
||||
letter-spacing: -0.02em;
|
||||
color: #0a0a0a;
|
||||
margin-top: 2.5rem;
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
.prose-rynext p,
|
||||
.prose-rynext ul {
|
||||
font-size: 0.95rem;
|
||||
line-height: 1.75;
|
||||
color: #4a4846;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
.prose-rynext ul {
|
||||
padding-left: 1.25rem;
|
||||
list-style: disc;
|
||||
}
|
||||
.prose-rynext li {
|
||||
margin-bottom: 0.35rem;
|
||||
}
|
||||
.prose-rynext a {
|
||||
color: #e50914;
|
||||
text-decoration: underline;
|
||||
text-underline-offset: 3px;
|
||||
}
|
||||
.prose-rynext strong {
|
||||
color: #0a0a0a;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* Reduced motion */
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*, *::before, *::after {
|
||||
|
||||
@@ -0,0 +1,137 @@
|
||||
import { useEffect } from 'react';
|
||||
|
||||
export const Privacidad = () => {
|
||||
useEffect(() => {
|
||||
document.title = 'Aviso de Privacidad | Rynext Technologies';
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<main id="main-content" style={{ background: '#ffffff', minHeight: '100vh' }}>
|
||||
<section
|
||||
style={{
|
||||
paddingTop: '140px',
|
||||
paddingBottom: '100px',
|
||||
borderBottom: '1px solid #dddbd5',
|
||||
}}
|
||||
className="px-8 md:px-14"
|
||||
>
|
||||
<div className="mx-auto max-w-3xl">
|
||||
<h1 className="text-headline mb-4" style={{ color: '#0a0a0a' }}>
|
||||
Aviso de Privacidad Integral
|
||||
</h1>
|
||||
<p className="text-sm mb-16" style={{ color: '#aaa8a4' }}>
|
||||
Última actualización: agosto de 2026
|
||||
</p>
|
||||
|
||||
<div className="prose-rynext">
|
||||
|
||||
<h2>1. Responsable del tratamiento de datos personales</h2>
|
||||
<p>
|
||||
<strong>Rynext Technologies S.A.S. de C.V.</strong> (en adelante "Rynext"),
|
||||
con domicilio en Cancún, Quintana Roo, México, es responsable del
|
||||
tratamiento de sus datos personales conforme a lo establecido en la
|
||||
Ley Federal de Protección de Datos Personales en Posesión de los
|
||||
Particulares (LFPDPPP) y su Reglamento.
|
||||
</p>
|
||||
<p>
|
||||
Para cualquier asunto relacionado con el presente Aviso de Privacidad
|
||||
puede contactarnos en:{' '}
|
||||
<a href="mailto:[email protected]">contacto@rynext.com.mx</a>
|
||||
</p>
|
||||
|
||||
<h2>2. Datos personales que recabamos</h2>
|
||||
<p>Rynext puede recabar las siguientes categorías de datos personales:</p>
|
||||
<ul>
|
||||
<li><strong>Datos de identificación:</strong> nombre completo, empresa o razón social.</li>
|
||||
<li><strong>Datos de contacto:</strong> correo electrónico, número de teléfono.</li>
|
||||
<li><strong>Datos de navegación:</strong> dirección IP, tipo de navegador, páginas visitadas y duración de la sesión (mediante cookies técnicas).</li>
|
||||
</ul>
|
||||
<p>
|
||||
Rynext <strong>no recaba datos personales sensibles</strong> tales como origen racial,
|
||||
estado de salud, creencias religiosas, datos biométricos ni información financiera
|
||||
a través de este sitio web.
|
||||
</p>
|
||||
|
||||
<h2>3. Finalidades del tratamiento</h2>
|
||||
<p>Sus datos personales son utilizados para las siguientes <strong>finalidades primarias</strong>:</p>
|
||||
<ul>
|
||||
<li>Atender solicitudes de contacto, cotizaciones y propuestas comerciales.</li>
|
||||
<li>Dar seguimiento a proyectos de desarrollo de software y consultoría.</li>
|
||||
<li>Cumplir con obligaciones legales y contractuales.</li>
|
||||
</ul>
|
||||
<p>De manera secundaria, y solo con su consentimiento expreso, podemos utilizar sus datos para:</p>
|
||||
<ul>
|
||||
<li>Envío de comunicaciones sobre nuevos servicios, actualizaciones o contenido de interés.</li>
|
||||
<li>Estadísticas internas y mejora de la experiencia en el sitio.</li>
|
||||
</ul>
|
||||
<p>
|
||||
Si no desea que sus datos sean tratados para las finalidades secundarias, puede
|
||||
manifestarlo en cualquier momento escribiéndonos a{' '}
|
||||
<a href="mailto:[email protected]">contacto@rynext.com.mx</a>.
|
||||
</p>
|
||||
|
||||
<h2>4. Transferencia de datos personales</h2>
|
||||
<p>
|
||||
Rynext no vende, renta ni comercializa sus datos personales a terceros.
|
||||
Únicamente podremos transferirlos en los siguientes casos:
|
||||
</p>
|
||||
<ul>
|
||||
<li>A proveedores de servicios tecnológicos que actúen como encargados bajo instrucción de Rynext y con las mismas obligaciones de confidencialidad.</li>
|
||||
<li>Cuando sea requerido por autoridades competentes en cumplimiento de disposiciones legales.</li>
|
||||
</ul>
|
||||
<p>En ningún caso sus datos serán transferidos a terceros con fines distintos a los aquí establecidos sin su consentimiento previo.</p>
|
||||
|
||||
<h2>5. Derechos ARCO</h2>
|
||||
<p>
|
||||
Usted tiene derecho a <strong>Acceder, Rectificar, Cancelar u Oponerse</strong> (derechos ARCO)
|
||||
al tratamiento de sus datos personales, así como a revocar el consentimiento
|
||||
que haya otorgado para dicho tratamiento.
|
||||
</p>
|
||||
<p>Para ejercer sus derechos ARCO debe enviar una solicitud a:</p>
|
||||
<p>
|
||||
<strong>Correo:</strong>{' '}
|
||||
<a href="mailto:[email protected]">contacto@rynext.com.mx</a><br />
|
||||
<strong>Asunto:</strong> Ejercicio de Derechos ARCO
|
||||
</p>
|
||||
<p>Su solicitud deberá contener:</p>
|
||||
<ul>
|
||||
<li>Nombre completo y correo electrónico con el que se registró o contactó.</li>
|
||||
<li>Descripción clara del derecho que desea ejercer y los datos a los que se refiere.</li>
|
||||
<li>Cualquier documento que facilite la localización de sus datos.</li>
|
||||
</ul>
|
||||
<p>
|
||||
Rynext responderá a su solicitud en un plazo máximo de <strong>20 días hábiles</strong>
|
||||
a partir de su recepción.
|
||||
</p>
|
||||
|
||||
<h2>6. Uso de cookies</h2>
|
||||
<p>
|
||||
Este sitio utiliza cookies técnicas estrictamente necesarias para su funcionamiento.
|
||||
No utilizamos cookies de rastreo ni publicidad comportamental sin su consentimiento.
|
||||
Puede configurar su navegador para bloquear o eliminar las cookies; sin embargo,
|
||||
algunas funcionalidades del sitio podrían verse afectadas.
|
||||
</p>
|
||||
|
||||
<h2>7. Cambios al aviso de privacidad</h2>
|
||||
<p>
|
||||
Rynext se reserva el derecho de modificar este Aviso de Privacidad en cualquier
|
||||
momento para reflejar cambios legislativos, jurisprudenciales o en nuestras
|
||||
prácticas de privacidad. Las modificaciones serán publicadas en esta página
|
||||
con la fecha de actualización correspondiente. Se recomienda revisar periódicamente
|
||||
este aviso.
|
||||
</p>
|
||||
|
||||
<h2>8. Autoridad competente</h2>
|
||||
<p>
|
||||
Si considera que sus derechos han sido vulnerados, tiene derecho a acudir ante
|
||||
el Instituto Nacional de Transparencia, Acceso a la Información y Protección
|
||||
de Datos Personales (INAI) en{' '}
|
||||
<a href="https://www.inai.org.mx" target="_blank" rel="noopener noreferrer">www.inai.org.mx</a>.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
);
|
||||
};
|
||||
Reference in new issue
Block a user