Extract ComparisonColumnCard + ComparisonTabCard molecules, refine comparison UI

- New molecule: ComparisonColumnCard — desktop column header card extracted
  from ComparisonTable (~150 lines removed from organism)
- New molecule: ComparisonTabCard — mobile tab rail card extracted from
  ComparisonPage (shared by V1 and V2)
- CellValue "unknown" restyled: icon+text in neutral grey (was Badge),
  InfoOutlinedIcon on right at 14px matching item info icons
- Unverified provider story data: all items set to unknown across all
  story files (no dashes in essentials)
- Mobile tab rail: recommended badge (replaces star), package price,
  shadow/glow, center-on-select scroll, overflow clipping fixed
- ComparisonPackageCard: added shadow, reduced CTA button to medium
- ComparisonTable first column: inline info icon pattern (non-breaking
  space + nowrap span) prevents icon orphaning on line wrap

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-12 21:10:17 +10:00
parent b7a2a4e136
commit e89ac360e8
15 changed files with 2079 additions and 438 deletions

View File

@@ -216,50 +216,33 @@ const pkgInglewood: ComparisonPackage = {
{
heading: 'Essentials',
items: [
{
name: 'Allowance for Coffin',
info: 'Allowance amount.',
value: { type: 'allowance', amount: 1800 },
},
{
name: 'Cremation Certificate/Permit',
info: 'Medical referee fee.',
value: { type: 'price', amount: 350 },
},
{
name: 'Death Registration Certificate',
info: 'NSW Registry.',
value: { type: 'price', amount: 70 },
},
{
name: 'Professional Service Fee',
info: 'Coordination.',
value: { type: 'price', amount: 3980 },
},
{
name: 'Transportation Service Fee',
info: 'Transfer.',
value: { type: 'price', amount: 500 },
},
{ name: 'Allowance for Coffin', value: { type: 'unknown' } },
{ name: 'Cremation Certificate/Permit', value: { type: 'unknown' } },
{ name: 'Crematorium', value: { type: 'unknown' } },
{ name: 'Death Registration Certificate', value: { type: 'unknown' } },
{ name: 'Dressing Fee', value: { type: 'unknown' } },
{ name: 'NSW Government Levy — Cremation', value: { type: 'unknown' } },
{ name: 'Professional Mortuary Care', value: { type: 'unknown' } },
{ name: 'Professional Service Fee', value: { type: 'unknown' } },
{ name: 'Transportation Service Fee', value: { type: 'unknown' } },
],
},
{
heading: 'Optionals',
items: [
{ name: 'Viewing Fee', info: 'Private family viewing.', value: { type: 'included' } },
{ name: 'Flowers', info: 'Floral arrangements.', value: { type: 'poa' } },
{
name: 'Digital Recording',
info: 'Video recording.',
value: { type: 'price', amount: 250 },
},
{ name: 'Digital Recording', value: { type: 'unknown' } },
{ name: 'Flowers', value: { type: 'unknown' } },
{ name: 'Online Notice', value: { type: 'unknown' } },
{ name: 'Viewing Fee', value: { type: 'unknown' } },
],
},
{
heading: 'Extras',
items: [
{ name: 'Catering', info: 'Post-service catering.', value: { type: 'poa' } },
{ name: 'Newspaper Notice', info: 'Published death notice.', value: { type: 'poa' } },
{ name: 'Allowance for Celebrant', value: { type: 'unknown' } },
{ name: 'Catering', value: { type: 'unknown' } },
{ name: 'Newspaper Notice', value: { type: 'unknown' } },
{ name: 'Saturday Service Fee', value: { type: 'unknown' } },
],
},
],