Ir al artículo
Aniq-UI

LearnioMarca

Marca

Dónde están el nombre del producto, el logotipo, los iconos, los colores y las fuentes en cada aplicación de Learnio, y qué cambiar para convertirla en tu propia marca.

Para el paquete Full Stack

Dónde está la marca

La marca se define en archivos, no en el panel de administración. El sitio para estudiantes y el panel de administración tienen cada uno su propia copia, así que cambia cada aplicación que publiques.

QuéSitio para estudiantes (frontend/)Panel de administración (admin-dashboard/)
Nombre, descripción, enlacessrc/config/site.ts y src/config/brand.config.tssrc/config/brand.config.ts
Archivos del logotipopublic/assets/brand/public/assets/brand/ y public/assets/images/
Favicon e iconos de la aplicaciónsrc/app/ y public/icons/src/app/, al que apunta el manifest de brand.config.ts
Coloressrc/styles/theme-variables.css y src/styles/dashboard-theme.csssrc/styles/theme-variables.css
Fuentessrc/app/layout.tsx y src/styles/base.csssrc/app/layout.tsx y src/styles/base.css
Textos que nombran el productomessages/<namespace>/<locale>.jsonsrc/config/brand.config.ts

yarn dev muestra un cambio al instante. Una versión de producción compila la marca dentro, así que vuelve a ejecutar yarn build, o docker compose up --build para el paquete Full Stack.

El nombre en el sitio para estudiantes

Las rutas están dentro de frontend/.

AjusteDónde aparece
SITE.name en src/config/site.tsLa pestaña del navegador (Page | Name), las vistas previas al compartir, el nombre de la aplicación instalada y los datos estructurados que leen los buscadores.
SITE.description y SITE.keywordsLa meta descripción, las vistas previas al compartir y la descripción de la aplicación instalada.
SITE.twitterHandleLas etiquetas twitter:site y twitter:creator de la tarjeta para compartir de cada página. Escribe el usuario sin @; una cadena vacía omite ambas etiquetas.
SITE.socialEl pie de página y el menú móvil. Escribe nombres de usuario, no URL. Un nombre de usuario vacío elimina ese enlace.
BRAND_CONFIG en src/config/brand.config.tsEl panel del estudiante: shortName junto al símbolo en la barra lateral, y name, version y company en su pie de página. Cada uno tiene un valor en y uno ar.

La dirección pública del sitio viene de NEXT_PUBLIC_SITE_URL, no de estos archivos.

El nombre también aparece en los textos: la línea de copyright del pie de página, el nombre accesible del logotipo (brand.logoLabel en messages/layouts), las páginas de inicio y de información, las páginas de inicio de sesión y las páginas legales. Encuentra todas las apariciones en ambos idiomas:

Terminalen frontend
grep -rn "Learnio" messages
grep -rn "ليرنيو" messages
  • Hay un solo texto escrito en el código: el hashtag LearnioLMS en src/components/ui/ShareModal.tsx.
  • Los términos y la política de privacidad en messages/legal incluyen datos de contacto de ejemplo (legal@learnio.com, privacy@learnio.com, una dirección en Dubái). Sustitúyelos por los tuyos antes de pasar a producción.

El nombre en el panel de administración

Todo está en BRAND_CONFIG, en admin-dashboard/src/config/brand.config.ts. Los campos de texto tienen un valor en y uno ar.

CampoDónde aparece
nameLos títulos de las páginas (Page | Name), el nombre del sitio en la vista previa al compartir y el pie de página del panel.
shortNameJunto al símbolo en la parte superior de la barra lateral, en mayúsculas, y junto al símbolo en la tarjeta de inicio de sesión. Que sea corto: un nombre largo se corta con puntos suspensivos.
companyEl pie del panel y la línea de copyright bajo las páginas de inicio de sesión, que getCopyrightText construye con el año y este nombre.
versionEl pie de página del panel.
logo.iconEl símbolo de la parte superior de la barra lateral y de la tarjeta de inicio de sesión.
metaEl título, la descripción, las palabras clave y el autor predeterminados, y las imágenes para compartir.
domain.urlLa base para los enlaces absolutos de los metadatos. Viene como https://yourdomain.com: pon la propia dirección del panel de administración.
logo.altEl nombre accesible del logotipo en las páginas de inicio de sesión.
theme, manifestLos colores del navegador y de la aplicación instalada, y los iconos de la aplicación instalada, más abajo.
links, contactSolo los datos estructurados de la cabecera de la página. Nada visible los lee.

Todos los lugares que nombran el producto leen BRAND_CONFIG, así que cambiar el nombre ahí cambia a la vez la barra lateral, la tarjeta de inicio de sesión, los dos pies de página y los títulos de las páginas. Los archivos de mensajes del panel no contienen el nombre del producto: la frase de la línea de copyright es una traducción (layouts.footer.copyright) en la que el nombre se rellena desde la configuración.

Archivos del logotipo

El cambio más sencillo es sustituir cada archivo por el tuyo, con la misma ruta y el mismo nombre. Usa un PNG con fondo transparente.

AplicaciónArchivoTamañoDónde aparece
Sitio para estudiantespublic/assets/brand/learnio-wordmark.png986 × 293La barra de navegación, el menú móvil, el pie de página y las páginas de inicio de sesión, en ambos temas.
Sitio para estudiantespublic/assets/brand/learnio-mark.png512 × 474La barra lateral del panel del estudiante.
Panel de administraciónpublic/assets/brand/learnio-mark.png512 × 474La barra lateral y la tarjeta de inicio de sesión, mediante logo.icon. También la imagen para compartir por defecto, más abajo.
Panel de administraciónpublic/assets/images/logo-for-lightmode.png y logo-for-darkmode.png986 × 293La barra superior de las páginas de inicio de sesión, un archivo por tema.
  • El sitio para estudiantes muestra un mismo logotipo de texto en páginas claras y oscuras, así que elige un diseño que se lea bien en ambas.
  • En el panel de administración, los dos archivos de tema se eligen con --logo-bg-image en src/styles/theme-variables.css. Vienen con la misma imagen.
  • La copia de learnio-wordmark.png del panel de administración no la usa ninguna página.

Para usar un archivo con otro nombre en el panel, apunta logo.icon de BRAND_CONFIG a él. Si tu diseño tiene otra forma, actualiza el tamaño declarado para que no se deforme: el width y el height de ASSETS en src/components/ui/BrandLogo.tsx del sitio para estudiantes, y width={512} y height={474} en src/layouts/dashboard/sidebar/components/SidebarBrand.tsx (en ambas aplicaciones) y en src/layouts/auth/components/FormPanel.tsx del panel.

Favicon, iconos de la aplicación e imágenes para compartir

Next.js encuentra los archivos de src/app/ por su nombre y escribe las etiquetas de la página para ellos, así que sustituye los archivos y conserva sus nombres.

AplicaciónArchivoTamañoSe usa para
Ambossrc/app/favicon.icoVarios tamaños en un solo archivoLa pestaña del navegador
Ambossrc/app/icon.png512 × 512El icono del navegador
Ambossrc/app/apple-icon.png180 × 180La pantalla de inicio de iOS
Sitio para estudiantespublic/icons/icon-192.png, public/icons/icon-512.pngCuadrados de 192 y 512La aplicación instalada. El de 512 también es el logotipo en los datos estructurados.
Sitio para estudiantespublic/icons/icon-maskable-512.png512 × 512Android, que puede recortarlo en un círculo. Mantén el símbolo bien alejado de los bordes.
Sitio para estudiantessrc/app/opengraph-image.png, src/app/twitter-image.png1200 × 630Vistas previas de enlaces

El panel tiene un único manifest de aplicación web, servido en /manifest.webmanifest desde src/app/manifest.ts, que lee manifest de BRAND_CONFIG:

  • manifest.icons enumera los iconos de la aplicación instalada: /icon.png (512 × 512) y /apple-icon.png (180 × 180), los dos archivos de src/app/. Sustituir esos archivos cambia a la vez el icono del navegador y el de la aplicación instalada. Si apuntas una entrada a otro archivo, indica su tamaño real.
  • meta.ogImage y meta.twitterImage son las vistas previas de los enlaces, /assets/brand/learnio-mark.png por defecto. Los metadatos declaran la imagen como 512 × 474 y usan la tarjeta pequeña summary, así que una sustituta de otro tamaño necesita cambiar también el width y el height de src/app/layout.tsx.
  • El panel pide a los buscadores que no lo indexen, en los metadatos de la página y en public/robots.txt: es una herramienta del personal, no una página pública.

Colores en el sitio para estudiantes

Las páginas públicas leen sus colores de variables CSS en src/styles/theme-variables.css: los valores claros bajo :root y los oscuros bajo .dark. El naranja de la marca es #FF6A3D.

VariableQué colorea
--primaryColor, --primaryColorHover, --primaryColorLightLos botones, los enlaces, los estados activos y el tono pálido detrás de ellos.
--brand-start, --brand-endLas dos tintas de la marca: naranja para las acciones y amarillo para el progreso y los precios. Se vuelven a definir bajo .dark.
--brand-start-ink, --brand-end-ink, --brand-figure-inkVersiones más oscuras de los mismos colores para el texto, para que siga siendo legible sobre una página clara.
--brand-action-hover, --brand-dark-pinkEl hover del botón relleno, y un nombre antiguo del relleno principal.
--background, --surface, --text, --borderLa página, las tarjetas, el texto y las líneas.
  • El panel del estudiante con sesión iniciada usa la paleta del panel de administración, copiada en src/styles/dashboard-theme.css y limitada al panel. Su naranja es #FF8A00. La copia se mantiene a mano: cuando cambie un color en theme-variables.css del panel de administración, cámbialo también en este archivo.
  • Algunas ilustraciones escriben el naranja directamente en lugar de usar una variable: el perfil del instructor y los pasos "How it works" de la página de inicio. Busca FF6A3D en src/features.
  • El color que el navegador pinta alrededor de la página (la barra de direcciones en el móvil) es SITE.browserChrome en src/config/site.ts, un valor por tema, cada uno igual al fondo de página de ese tema. Los colores de la aplicación instalada son SITE.themeColor y SITE.backgroundColor en el mismo archivo.

Colores en el panel de administración

Todos los colores son variables CSS en src/styles/theme-variables.css, los claros bajo :root y los oscuros bajo .dark. El naranja de la marca es --primaryColor, #ff8a00 en ambos temas, con --primaryColorHover para su hover.

  • Los tonos del naranja están escritos como valores propios: la familia --accent-*, la familia --chip-* y --btn-primary-fill, que es #ff6a3d en el tema claro. Para cambiar el color de la marca, busca ff8a00, 255, 138, 0 y ff6a3d en el archivo y ajusta los tonos que tienen al lado.
  • Aparte de los colores del navegador que se indican más abajo, este archivo es el único lugar donde el panel de administración escribe el naranja. Ningún componente lo tiene escrito en el código.
  • Los colores de la interfaz del navegador son theme.light y theme.dark en BRAND_CONFIG. La aplicación instalada usa manifest.themeColor y manifest.backgroundColor.

Fuentes

Ambas aplicaciones cargan Inter para el inglés e IBM Plex Sans Arabic para el árabe mediante next/font/google en src/app/layout.tsx, que las sirve desde tu propio dominio. src/styles/base.css cambia a la fuente árabe cuando el idioma de la página es ar.

AplicaciónVariable de la fuente latinaVariable de la fuente árabe
Sitio para estudiantes--font-inter--font-ibm-plex-arabic
Panel de administración--font-sans-latin--font-sans-arabic

Para cambiar una fuente, importa otra de next/font/google y conserva su nombre de variable, para que las hojas de estilos la usen sin cambios. En el sitio para estudiantes:

frontend/src/app/layout.tsx
import { IBM_Plex_Sans_Arabic, Manrope } from "next/font/google";

const inter = Manrope({
  subsets: ["latin"],
  display: "swap",
  variable: "--font-inter",
});

Una fuente que no es variable necesita una lista weight, como la tiene la árabe. El src/styles/base.css del sitio para estudiantes también indica 'Inter' como alternativa; actualízalo si cambias el nombre de la variable.

Correos electrónicos y la API

  • Remitente: MAIL_FROM en back-end/.env es el nombre y la dirección desde los que llega cada correo, por ejemplo Learnio <noreply@example.com>.
  • Nombre: los emails nombran el producto mediante el marcador {site} de src/i18n/translations/<locale>/mail.json, que se rellena con el ajuste site_name. Cámbialo en la pestaña App Settings de Settings del panel de administración; se aplica al siguiente email que se envíe.
  • Respuestas: el ajuste support_email es la dirección de respuesta de todos los emails, para que una respuesta llegue a una persona y no al remitente que no admite respuestas.
  • Redacción: los asuntos y los cuerpos están en src/i18n/translations/en/mail.json y src/i18n/translations/ar/mail.json.
  • Aspecto: los correos no llevan logotipo. Sus colores están escritos en src/modules/mail/templates/layout.ts (INK, MUTED, PAGE, CARD), porque los clientes de correo descartan las hojas de estilos.
  • Los enlaces de los correos abren el sitio para estudiantes en FRONTEND_URL.

La pestaña App Settings no cambia la marca de las aplicaciones

site_name y support_email solo cambian los emails. El sitio para estudiantes y el panel de administración toman su nombre, logotipo y colores de los archivos anteriores, así que cámbialos también.

¿Te atascaste en un paso?

Busca una solución antes de empezar de nuevo.

Solución de problemas

Preferencias de Cookies

Utilizamos cookies para mejorar tu experiencia de navegación, analizar el tráfico del sitio y personalizar el contenido. Al hacer clic en "Aceptar Todo", consientes nuestro uso de cookies para análisis y publicidad personalizada.