Ir al artículo
Aniq-UI

NorthstackMarca

Marca

Haz tuyos el sitio web y el panel: el nombre, los logotipos e iconos, los colores y la tipografía, las tarjetas para compartir, los temas, y los lugares donde la API escribe el nombre del producto.

Para el paquete Full Stack

Dónde está la marca

QuéSitio web (website/)Panel (dashboard/)
Nombre y metadatosmessages/layout/<locale>.json (Metadata, Common.brand), src/config/site.tssrc/config/brand.config.ts, messages/metadata/<locale>.json
Logotipo y marcapublic/brand/, con el tamaño definido en src/components/Logo.tsxpublic/brand/, con el tamaño definido en src/config/brand.config.ts
Iconossrc/app/icon.svgsrc/app/ y los dos archivos web-app-manifest en public/
Tarjeta para compartirpublic/meta_image.pngmeta.ogImage en src/config/brand.config.ts
Coloressrc/styles/theme-variables.csssrc/styles/theme-variables.css
Formaspublic/shapes/public/shapes/
Fuentessrc/fonts/ y public/fonts/src/fonts/
Textosmessages/ y src/content/messages/

Cada color es un token definido una vez para el tema claro y otra para el tema oscuro. Los componentes leen solo tokens, así que un token cambiado llega a todas las pantallas. Cambia un color de marca en ambos bloques, o un tema conservará el anterior.

El nombre y los textos del sitio web

  • El nombre en los títulos de pestaña y en las tarjetas para compartir es Metadata.siteName en messages/layout/en.json y ar.json, junto con el título por defecto, la descripción y el texto alternativo de la imagen para compartir. El nombre accesible del logotipo es Common.brand, y la línea de derechos de autor es Footer.copyright.
  • El título y la descripción de cada página están bajo meta en su espacio de nombres de messages/, como PricingPage.meta en messages/pricing/.
  • El nombre del producto también aparece en frases, escrito Northstack en letras latinas en ambos idiomas: busca en messages/ y src/content/ y reescribe esas líneas. La documentación, el diario y el registro de cambios de src/content/ describen el propio Northstack y puedes reescribirlos.
ArchivoSe usa para
public/brand/logo-light.svg, public/brand/logo-dark.svgEl logotipo (marca y nombre dibujados juntos) en el encabezado, el pie y la vista previa del espacio de trabajo, en páginas claras y oscuras. El mismo logotipo sirve para ambos idiomas.
src/app/icon.svgEl icono de la pestaña del navegador
public/meta_image.pngLa tarjeta para compartir, de 1200 por 630, nombrada en ogImage en src/config/site.ts, para todas las páginas.
public/shapes/Los cuadrados, círculos, cuartos de círculo y triángulos dibujados alrededor de las secciones, por src/components/Shape.tsx

Sustituye los dos archivos del logotipo por los tuyos con los mismos nombres. Sus proporciones están escritas en LOCKUP_RATIO en src/components/Logo.tsx (379.24 por 68 tal como se entrega): define el ancho de tu logotipo dividido por su alto, para que el encabezado conserve su tamaño.

Los colores y la tipografía del sitio web

TokenClaroOscuroRol
--background, --surface#f1ece3#171717, #202020Página y paneles
--text, --text-muted#111111, #5d5e63#f1ece3, #b9b8b2Texto
--border, --border-strong#b8b5ad, #111111#696761, #b8b5adLíneas y contornos
--primary#111111#f1ece3Botones principales
--brand-action#c7492c#c7492cLos botones rojos de llamada a la acción
--link, --focus#1151d8#82a8ffEnlaces y anillo de foco
--red, --cobalt, --sunflower#c7492c, #1151d8, #efbf43Lo mismoLas formas y las marcas de estado
--errorColor#a83a20#e0714fErrores

Los colores de la barra del navegador (#f1ece3 y #171717) son themeColor en src/app/[locale]/layout.tsx. Comprueba que el texto sobre tus colores se sigue leyendo con una proporción de 4.5 a 1 en ambos temas.

Las fuentes se entregan con la aplicación, así que una construcción nunca las descarga: Inter para el texto latino (src/fonts/InterVariable-latin.woff2, cargada en src/fonts/fonts.ts), Noto Sans Arabic para el texto árabe y Almarai para los titulares árabes (public/fonts/, declaradas en src/styles/fonts.css y precargadas en las páginas árabes). Cada una lleva al lado su licencia SIL Open Font License. Para cambiar una, pon su archivo .woff2 en la misma carpeta, apunta la declaración a él y conserva su licencia a su lado.

Resultados de búsqueda, compartir y el dominio

  • NEXT_PUBLIC_SITE_URL es la base de cada dirección canónica, de las alternativas de idioma, de las tarjetas para compartir, de robots.txt y del mapa del sitio. Defínela con tu dirección real antes de construir.
  • Los precios se escriben igual en ambos idiomas, con el signo del dólar primero y dígitos latinos, mediante src/lib/format/formatUsd.ts.
  • Los metadatos de la página nombran a Aniq-UI como autor (authors en src/app/[locale]/layout.tsx): pon ahí tu propio nombre.

Claro y oscuro

  • El sitio web ofrece System, Light y Dark en su menú Theme. System sigue el sistema operativo. La elección se guarda en el localStorage del navegador como northstack-theme, y un script en la cabecera de la página la aplica antes del primer pintado, así que al recargar nunca parpadea el otro tema.
  • El panel tiene un botón de tema en su barra superior, un disco medio lleno etiquetado Toggle theme para los lectores de pantalla, que alterna entre claro y oscuro. Hasta que se pulsa, el panel sigue el sistema operativo. La elección se guarda en localStorage como theme y se aplica antes del primer pintado de la misma forma.
  • Nada del tema se envía a la API.

El nombre, el logotipo y los colores del panel

  • Nombre: name en BRAND_CONFIG (src/config/brand.config.ts) es la parte de marca de cada título de pestaña (Team | Northstack), el texto alternativo del logotipo y el nombre de la aplicación instalada. Es el mismo en ambos idiomas. El título de cada página está bajo pages en messages/metadata/en.json y ar.json, y el título y la descripción por defecto bajo site. El nombre del producto también aparece en frases en messages/, en letras latinas en ambos idiomas.
  • Metadatos: meta.keywords, meta.author (Aniq-UI tal como se entrega: pon el tuyo) y meta.ogImage, la imagen que muestra un enlace compartido, con su tamaño. Tal como se entrega es el icono de la aplicación de 512 por 512, que se comparte como una tarjeta pequeña; una imagen de 1200 por 630 se comparte como una grande. theme.light y theme.dark son los colores de la barra del navegador, y manifest los colores e iconos de la aplicación instalada.
  • Logotipo y marca: sustituye logo-light.svg, logo-dark.svg, mark-light.svg y mark-dark.svg en public/brand/, conservando los nombres, y define logo.width y logo.height con las proporciones del nuevo logotipo. La marca sola se muestra en la barra lateral contraída y en el encabezado del móvil, dibujada con proporciones de 100 por 48 en src/components/ui/BrandLogo.tsx.
  • Iconos: src/app/favicon.ico (la pestaña), src/app/icon0.svg e src/app/icon1.png, src/app/apple-icon.png (pantallas de inicio de iPhone e iPad), y public/web-app-manifest-192x192.png y public/web-app-manifest-512x512.png para la aplicación instalada.
  • Colores: la paleta (--paper, --ink, --red, --cobalt, --sunflower), las superficies y el texto, las líneas (--border, --border-strong), las acciones, las marcas de estado (--status-progress, --status-review, --status-blocked, --status-done) y el color de los gráficos, en src/styles/theme-variables.css, una vez por tema. Las formas las dibuja src/components/ui/Shape.tsx a partir de public/shapes/, y las personas sin imagen aparecen como cuadrados con sus iniciales.
  • Fuentes: Inter para el texto latino e IBM Plex Sans Arabic para el árabe, desde src/fonts/ (con sus licencias), cargadas en src/styles/fonts.ts.
  • Direcciones: NEXT_PUBLIC_BASE_URL es la dirección propia del panel (robots.txt, el mapa del sitio, los metadatos y la dirección del espacio de trabajo en el alta inicial y en los ajustes) y NEXT_PUBLIC_WEBSITE_URL la del sitio web (los enlaces Documentation, Privacy y Terms).

El panel mantiene todas las páginas fuera de los buscadores (noindex en la cabecera de la página y una cabecera X-Robots-Tag), como corresponde a un panel de administración.

Dónde escribe la API el nombre del producto

DóndeArchivo
El remitente de cada correo, SMTP_FROM (Northstack <no-reply@localhost> cuando está vacío)back-end/.env, back-end/src/modules/mail/mail.service.ts
El asunto del correo de restablecimiento de contraseñaback-end/src/modules/auth/account.service.ts
El asunto del correo de invitaciónback-end/src/modules/workspaces/services/invitations.service.ts
El encabezado y las líneas de la factura en PDFback-end/src/modules/billing/services/billing.service.ts
El nombre del plan en la página de pago de Stripeback-end/src/modules/billing/providers/stripe.provider.ts
Los nombres de las licencias en la página de pago y en el reciboback-end/src/modules/licenses/constants/license-offers.ts

Los ajustes de la plataforma cargan un Product name, una Tagline y una Support address (back-end/src/database/seeders/app-settings.seeder.ts), que se editan en la página Settings de la plataforma del panel. De ellos, solo el asistente de IA lee el Product name y la Support address, para nombrar el producto en sus respuestas; las pantallas toman el nombre de los archivos de arriba.

Textos y páginas legales

Cada frase visible está en messages/ (y los textos largos del sitio web en src/content/), con un en.json y un ar.json. Reescribe el texto en ambos archivos. La política de privacidad, las condiciones de uso, la política de cookies y la página de derechos sobre los datos de messages/legal son textos de ejemplo, con una fecha de ejemplo "Last updated": reescríbelos para tu negocio y tu país antes de aceptar clientes reales.

¿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.