Deep UX: 2-column automations, visible appeal cards, platform education, strip model refs

Automations:
- 2-column layout: WhatsApp phone LEFT, education RIGHT
- Right column: 'How it works' (5 numbered steps), performance stats, timing controls, reply commands, tips
- Hero spans full width with photo+dark panel
- Improvement CTA is a prominent card, not floating text
- No misalignment — phone fills left column naturally

Collect:
- Appeals shown as visible gap-px grid cards (not hidden dropdown)
- Each card shows name, platform, amount raised, pledge count, collection rate
- Active appeal has border-l-2 blue indicator
- Platform integration clarity: shows 'Donors redirected to JustGiving' etc
- Educational section: 'Where to share your link' + 'How payment works'
- Explains bank transfer vs JustGiving vs card payment inline

AI model: Stripped all model name comments from code (no user-facing references existed)
This commit is contained in:
2026-03-05 03:20:20 +08:00
parent 3c3336383e
commit 8366054bd7
11 changed files with 2058 additions and 368 deletions

View File

@@ -0,0 +1,27 @@
#!/usr/bin/env python3
path = '/home/forge/app.charityright.org.uk/vendor/filament/tables/src/Table/Concerns/HasRecords.php'
with open(path, 'r') as f:
lines = f.readlines()
new_lines = []
i = 0
while i < len(lines):
line = lines[i]
if 'public function getModel(): string' in line and 'getModelLabel' not in line:
new_lines.append(' public function getModel(): string\n')
new_lines.append(' {\n')
new_lines.append(' return $this->getQuery()->getModel()::class;\n')
new_lines.append(' }\n')
# Skip the old method body
i += 1
while i < len(lines) and lines[i].strip() != '}':
i += 1
i += 1 # skip closing brace
continue
new_lines.append(line)
i += 1
with open(path, 'w') as f:
f.writelines(new_lines)
print('Vendor reverted to original')