Replace "FastNext" branding with "PragmaStack" across the project

- Updated all references, metadata, and templates to reflect the new branding, including layout files, components, and documentation.
- Replaced hardcoded color tokens like `green-600` with semantic tokens (`success`, `warning`, etc.) for improved design consistency.
- Enhanced `globals.css` with new color tokens for success, warning, and destructive states using the OKLCH color model.
- Added comprehensive branding guidelines and updated the design system documentation to align with the new identity.
- Updated tests and mocks to reflect the branding changes and ensured all visual/verbal references match "PragmaStack".
- Added new `branding/README.md` and `branding` docs for mission, values, and visual identity definition.
This commit is contained in:
Felipe Cardoso
2025-11-20 12:55:30 +01:00
parent 5a21847382
commit 28b1cc6e48
34 changed files with 191 additions and 62 deletions

View File

@@ -1,6 +1,6 @@
/**
* Tests for Home Page
* Tests for the new FastNext Template landing page
* Tests for the new PragmaStack landing page
*/
import { render, screen, within, fireEvent } from '@testing-library/react';
@@ -59,14 +59,14 @@ describe('HomePage', () => {
it('renders header with logo', () => {
render(<Home />);
const header = screen.getByRole('banner');
expect(within(header).getByText('FastNext')).toBeInTheDocument();
expect(within(header).getByText('PragmaStack')).toBeInTheDocument();
expect(within(header).getByText('Template')).toBeInTheDocument();
});
it('renders footer with copyright', () => {
render(<Home />);
const footer = screen.getByRole('contentinfo');
expect(within(footer).getByText(/FastNext Template. MIT Licensed/i)).toBeInTheDocument();
expect(within(footer).getByText(/PragmaStack. MIT Licensed/i)).toBeInTheDocument();
});
});

View File

@@ -37,7 +37,7 @@ describe('Header', () => {
/>
);
expect(screen.getByText('FastNext')).toBeInTheDocument();
expect(screen.getByText('PragmaStack')).toBeInTheDocument();
expect(screen.getByText('Template')).toBeInTheDocument();
});
@@ -50,7 +50,7 @@ describe('Header', () => {
/>
);
const logoLink = screen.getByRole('link', { name: /fastnext template/i });
const logoLink = screen.getByRole('link', { name: /pragmastack template/i });
expect(logoLink).toHaveAttribute('href', '/');
});

View File

@@ -20,7 +20,7 @@ describe('Footer', () => {
const currentYear = new Date().getFullYear();
expect(
screen.getByText(`© ${currentYear} FastNext Template. All rights reserved.`)
screen.getByText(`© ${currentYear} PragmaStack. All rights reserved.`)
).toBeInTheDocument();
});

View File

@@ -63,7 +63,7 @@ describe('Header', () => {
render(<Header />);
expect(screen.getByText('FastNext')).toBeInTheDocument();
expect(screen.getByText('PragmaStack')).toBeInTheDocument();
});
it('renders theme toggle', () => {

View File

@@ -27,8 +27,8 @@ describe('metadata utilities', () => {
});
it('should have English and Italian names', () => {
expect(siteConfig.name.en).toBe('FastNext Template');
expect(siteConfig.name.it).toBe('FastNext Template');
expect(siteConfig.name.en).toBe('PragmaStack');
expect(siteConfig.name.it).toBe('PragmaStack');
});
it('should have English and Italian descriptions', () => {