# 🎨 Guía de Personalización - AmayoWeb ## 📝 Pasos Esenciales de Configuración ### 1. Configurar Variables de Entorno Crea un archivo `.env` en la raíz de `AmayoWeb/`: ```env # Discord OAuth2 VITE_DISCORD_CLIENT_ID=TU_CLIENT_ID_AQUI # API URL (opcional si tienes backend) VITE_API_URL=https://docs.amayo.dev/api ``` ### 2. Cambiar Avatar del Bot Edita `src/components/IslandNavbar.vue` (línea 36): ```javascript // Antes const botLogo = ref('https://cdn.discordapp.com/avatars/1234567890/avatar.png') // Después - Usa tu avatar real const botLogo = ref('https://cdn.discordapp.com/avatars/TU_BOT_ID/TU_AVATAR_HASH.png') ``` ### 3. Actualizar Nombre del Bot En el mismo archivo `IslandNavbar.vue` (línea 37): ```javascript // Cambia 'Amayo' por el nombre de tu bot si es diferente const botName = ref('TuBotName') ``` ### 4. Personalizar Textos del Hero Edita `src/i18n/locales.js`: ```javascript // Español hero: { subtitle: 'Tu descripción personalizada aquí', // ... más textos } // Inglés hero: { subtitle: 'Your custom description here', // ... more texts } ``` ### 5. Ajustar Estadísticas Edita `src/components/HeroSection.vue` (línea 42): ```javascript const stats = ref({ servers: '1.2K', // Cambia por tus números reales users: '50K', // Cambia por tus números reales commands: '150' // Cambia por tus números reales }) ``` ### 6. Configurar URL de Invitación Edita `src/components/HeroSection.vue` (línea 115): ```javascript const inviteBot = () => { // Reemplaza YOUR_CLIENT_ID con tu Discord Client ID real window.open('https://discord.com/api/oauth2/authorize?client_id=TU_CLIENT_ID&permissions=8&scope=bot%20applications.commands', '_blank') } ``` ## 🎨 Personalización de Colores ### Cambiar el Tema por Defecto Edita `src/composables/useTheme.js` (línea 36): ```javascript // Cambia 'red' por: 'blue', 'green', 'purple', 'orange' const currentTheme = ref('red') ``` ### Agregar un Nuevo Tema En `src/composables/useTheme.js`, añade al objeto `themes`: ```javascript const themes = { // ... temas existentes cyan: { primary: '#00bcd4', secondary: '#0097a7', accent: '#00e5ff', gradient: 'linear-gradient(135deg, #00bcd4, #0097a7)', }, } ``` Luego en `src/components/IslandNavbar.vue`, añade el tema al array: ```javascript const themes = [ // ... temas existentes { name: 'cyan', gradient: 'linear-gradient(135deg, #00bcd4, #0097a7)' }, ] ``` ### Personalizar Colores del Fondo Edita `src/components/AnimatedBackground.vue`: ```css .layer-1 { /* Cambia los colores del gradiente */ background: radial-gradient(circle at 30% 50%, #TU_COLOR 0%, transparent 50%); } ``` ## 🌐 Añadir Más Idiomas ### 1. Actualizar configuración de i18n Edita `src/i18n/locales.js`: ```javascript export default { es: { /* ... */ }, en: { /* ... */ }, // Nuevo idioma pt: { navbar: { getStarted: 'Começar', dashboard: 'Painel', }, // ... más traducciones } } ``` ### 2. Actualizar selector de idioma Edita `src/components/IslandNavbar.vue`: ```javascript const toggleLanguage = () => { const langs = ['es', 'en', 'pt'] const currentIndex = langs.indexOf(locale.value) const nextIndex = (currentIndex + 1) % langs.length locale.value = langs[nextIndex] localStorage.setItem('language', locale.value) } ``` ## 📱 Ajustes Responsive ### Cambiar Breakpoints Edita el CSS en los componentes: ```css /* Cambiar de 768px a tu preferencia */ @media (max-width: 768px) { /* Estilos móviles */ } /* Agregar nuevos breakpoints */ @media (max-width: 1024px) and (min-width: 769px) { /* Estilos tablet */ } ``` ## 🔗 Configurar Links del Navbar Edita `src/components/IslandNavbar.vue`: ```html ``` ## 🎯 Personalizar Animaciones ### Velocidad del Typewriter Edita `src/components/HeroSection.vue` (línea 62): ```javascript const typewriterEffect = () => { // Ajusta las velocidades (en milisegundos) const speed = isDeleting.value ? 50 : 100 // Cambia estos valores } ``` ### Velocidad de Animación del Fondo Edita `src/components/AnimatedBackground.vue`: ```css .layer-1 { animation: slide1 15s infinite; /* Cambia 15s a tu preferencia */ } ``` ## 🖼️ Añadir Más Características al Hero Edita `src/components/HeroSection.vue`: ```html
Nueva Característica
``` ```css .card-4 { top: 150px; right: 50px; animation: float 6s ease-in-out infinite 6s; } ``` ## 📊 Backend Discord OAuth2 ### Configurar el Backend 1. Copia `server-example.js` a tu carpeta de backend 2. Instala dependencias: ```bash npm install express axios cors dotenv jsonwebtoken ``` 3. Crea `.env` en tu backend: ```env DISCORD_CLIENT_ID=tu_client_id DISCORD_CLIENT_SECRET=tu_client_secret JWT_SECRET=tu_secret_super_seguro NODE_ENV=production PORT=3000 ``` 4. Ejecuta con PM2: ```bash pm2 start server-example.js --name "amayo-auth" pm2 save ``` ## 🔒 Configurar Discord Developer Portal 1. Ve a https://discord.com/developers/applications 2. Crea una nueva aplicación o selecciona la existente 3. Ve a OAuth2 > General 4. Añade Redirect URIs: - Desarrollo: `http://localhost:5173/auth/callback` - Producción: `https://docs.amayo.dev/auth/callback` 5. Copia el Client ID y Client Secret 6. Ve a Bot y copia el Token del bot (si lo necesitas) ## 🚀 Optimizaciones de Producción ### Lazy Loading de Componentes En `src/router/index.js`: ```javascript { path: '/dashboard', component: () => import('../views/Dashboard.vue') // Carga perezosa } ``` ### Preload de Fuentes En `index.html`: ```html ``` ## 📈 Analytics (Opcional) ### Añadir Google Analytics En `index.html`: ```html ``` ## 🎨 Fuentes Personalizadas ### Importar Google Fonts En `src/App.vue` o `index.html`: ```html ``` Luego en el CSS: ```css body { font-family: 'TuFuente', sans-serif; } ``` ## 🔔 Notificaciones (Próximamente) Placeholder para cuando quieras añadir notificaciones: ```javascript // Instalar: npm install vue-toastification import Toast from "vue-toastification"; import "vue-toastification/dist/index.css"; app.use(Toast, { position: "top-right", timeout: 3000 }); ``` --- ¡Con estas personalizaciones tendrás tu landing page única! 🎉