feat(timeline): add precision-aware date-label facade
timelineDateLabel delegates to the shared formatDocumentDate so a timeline chip renders identically to the same date on a document, in the active locale (REQ-001/REQ-002). UNKNOWN precision and null/undefined/'' eventDate short-circuit to null with no formatter call (REQ-003/REQ-004); raw is always null since timeline events carry no verbatim spreadsheet cell. The facade owns no precision logic of its own (REQ-005). Register the new `timeline` frontend domain in the eslint boundaries config (allowed to import only `shared`) and add src/lib/timeline/** to the vitest coverage include (REQ-006). The spec partially mocks the paraglide runtime via importOriginal so getLocale is stubbed while the formatter still resolves real season/range message exports. Refs #778 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -158,6 +158,7 @@ export default defineConfig(
|
||||
{ type: 'ocr', pattern: 'src/lib/ocr/**' },
|
||||
{ type: 'activity', pattern: 'src/lib/activity/**' },
|
||||
{ type: 'conversation', pattern: 'src/lib/conversation/**' },
|
||||
{ type: 'timeline', pattern: 'src/lib/timeline/**' },
|
||||
{ type: 'shared', pattern: 'src/lib/shared/**' },
|
||||
{ type: 'routes', pattern: 'src/routes/**' }
|
||||
]
|
||||
@@ -198,6 +199,7 @@ export default defineConfig(
|
||||
{ from: { type: 'user' }, allow: { to: { type: ['shared'] } } },
|
||||
{ from: { type: 'notification' }, allow: { to: { type: ['shared'] } } },
|
||||
{ from: { type: 'conversation' }, allow: { to: { type: ['shared'] } } },
|
||||
{ from: { type: 'timeline' }, allow: { to: { type: ['shared'] } } },
|
||||
{ from: { type: 'shared' }, allow: { to: { type: ['shared'] } } },
|
||||
{
|
||||
from: { type: 'routes' },
|
||||
|
||||
Reference in New Issue
Block a user