feat(auth): add BrandPanel component for signup screen
Renders brand identity with logo, app name, tagline, and feature icons on green-dark background. Responsive: banner on mobile, 440px column on desktop. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
34
frontend/src/lib/auth/BrandPanel.test.ts
Normal file
34
frontend/src/lib/auth/BrandPanel.test.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { render, screen } from '@testing-library/svelte';
|
||||
import BrandPanel from './BrandPanel.svelte';
|
||||
|
||||
describe('BrandPanel', () => {
|
||||
it('renders the app name', () => {
|
||||
render(BrandPanel);
|
||||
expect(screen.getByText('Mealprep')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('renders the tagline', () => {
|
||||
render(BrandPanel);
|
||||
expect(screen.getByText('Plan meals, eat well, waste less')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('renders the logo emoji', () => {
|
||||
render(BrandPanel);
|
||||
expect(screen.getByText('🥗')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('renders three feature icons with labels', () => {
|
||||
render(BrandPanel);
|
||||
expect(screen.getByText('Plan')).toBeInTheDocument();
|
||||
expect(screen.getByText('Cook')).toBeInTheDocument();
|
||||
expect(screen.getByText('Shop')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('renders feature emojis', () => {
|
||||
render(BrandPanel);
|
||||
expect(screen.getByText('📅')).toBeInTheDocument();
|
||||
expect(screen.getByText('🍳')).toBeInTheDocument();
|
||||
expect(screen.getByText('🛒')).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user