Lay the Almanacka design foundation: tokens, type, shell
New token system in global.css (near-white surfaces, one ink-blue accent, no sub-12px type), self-hosted Schibsted Grotesk, rewritten primitives (buttons, fields, modal shell, segmented, disclosure, skeleton), a borderless 56px header with an SV | EN language toggle, an Icon component replacing glyphs, page skeletons that keep the layout during loading, and leave-type colours moved out of TS into CSS variables. Feature blocks keep their structure for later phases. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -71,10 +71,6 @@ vi.mock('@/components/layout/Layout', () => ({
|
||||
Layout: ({ children }: { children: React.ReactNode }) => <div>{children}</div>,
|
||||
}))
|
||||
|
||||
vi.mock('@/components/common/LoadingSpinner', () => ({
|
||||
LoadingSpinner: () => <div>Loading...</div>,
|
||||
}))
|
||||
|
||||
vi.mock('@/components/modals/PlannedDayModal', () => ({
|
||||
// Exposes the props this test suite cares about as data attributes/buttons
|
||||
// so tests can assert on Calendar.tsx's wiring without rendering the real
|
||||
@@ -313,7 +309,7 @@ describe('Calendar', () => {
|
||||
vi.mocked(useWorkspace).mockReturnValue({ ...mockWorkspace, isLoading: true })
|
||||
|
||||
render(<Calendar />)
|
||||
expect(screen.getByText('Loading...')).toBeInTheDocument()
|
||||
expect(screen.getByTestId('page-skeleton')).toBeInTheDocument()
|
||||
})
|
||||
|
||||
it('renders 7 weekday headers in Monday-first Swedish order', () => {
|
||||
|
||||
Reference in New Issue
Block a user