feat: complete Syndarix rebranding from PragmaStack

- Update PROJECT_NAME to Syndarix in backend config
- Update all frontend components with Syndarix branding
- Replace all GitHub URLs with Gitea Syndarix repo URLs
- Update metadata, headers, footers with new branding
- Update tests to match new URLs
- Update E2E tests for new repo references
- Preserve "Built on PragmaStack" attribution in docs

Closes #13

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-29 13:30:45 +01:00
parent 6e3cdebbfb
commit ebd307cab4
38 changed files with 159 additions and 146 deletions

View File

@@ -1,6 +1,6 @@
/**
* Tests for Home Page
* Tests for the new PragmaStack landing page
* Tests for the new Syndarix landing page
*/
import { render, screen, within, fireEvent } from '@testing-library/react';
@@ -87,13 +87,13 @@ describe('HomePage', () => {
it('renders header with logo', () => {
render(<Home />);
const header = screen.getByRole('banner');
expect(within(header).getByText('PragmaStack')).toBeInTheDocument();
expect(within(header).getByText('Syndarix')).toBeInTheDocument();
});
it('renders footer with copyright', () => {
render(<Home />);
const footer = screen.getByRole('contentinfo');
expect(within(footer).getByText(/PragmaStack. MIT Licensed/i)).toBeInTheDocument();
expect(within(footer).getByText(/Syndarix. MIT Licensed/i)).toBeInTheDocument();
});
});
@@ -210,7 +210,7 @@ describe('HomePage', () => {
describe('Philosophy Section', () => {
it('renders why this template exists', () => {
render(<Home />);
expect(screen.getByText(/Why PragmaStack\?/i)).toBeInTheDocument();
expect(screen.getByText(/Why Syndarix\?/i)).toBeInTheDocument();
});
it('renders what you wont find section', () => {