refactor(ui): remove dead components and finish portal/admin stub pages #129

Merged
David merged 2 commits from feat/mapps-142-remove-dead-components into main 2026-06-13 15:59:37 +02:00
Owner

Delete unreachable component-library widgets and their Props: ButtonGroup and IconButton (button.rs), InfoCard (card.rs), FormField and FormSection (form.rs), LoadingOverlay (layout.rs), SlideOver (modal.rs), and CogIcon (icons.rs). Drop the unreachable CardHeader.subtitle prop and its render branch (Card never passes it; all live subtitle call sites are on PageHeader). Collapse ToastPosition to its only used variant, BottomRight. Remove the TopBar SearchInput visual stub that discarded keystrokes (SearchInput stays in use on the list pages).

Finish the remaining stub/demo pages. Admin stat cards now derive Total/Active/Trial counts from the fetched /tenants roster instead of the hardcoded 42/38/4 literals, and MRR shows "-" since the tenants API carries no revenue field (no fabricated dollar figure). PortalTicketDetail and PortalInvoiceDetail now fetch via use_resource against /portal/tickets/{id} and /portal/invoices/{id} with honest loading/error states, mirroring the existing PortalKBPage pattern; the hardcoded demo data is gone. PortalTicketNew, whose POST endpoint does not exist yet, now shows an honest "coming soon" card instead of a form with dead no-op input handlers; the orphaned UpdateItem component is removed with it.

Resolve the dead ContactDetail #[allow(unused_variables)] by dropping the now-unnecessary attribute, remove the dead _priority_v snapshot in the ticket-create handler, and replace the not_found support@example.com mailto placeholder with an in-app link to the knowledge base.

#MAPPS-142

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Delete unreachable component-library widgets and their Props: ButtonGroup and IconButton (button.rs), InfoCard (card.rs), FormField and FormSection (form.rs), LoadingOverlay (layout.rs), SlideOver (modal.rs), and CogIcon (icons.rs). Drop the unreachable CardHeader.subtitle prop and its render branch (Card never passes it; all live subtitle call sites are on PageHeader). Collapse ToastPosition to its only used variant, BottomRight. Remove the TopBar SearchInput visual stub that discarded keystrokes (SearchInput stays in use on the list pages). Finish the remaining stub/demo pages. Admin stat cards now derive Total/Active/Trial counts from the fetched /tenants roster instead of the hardcoded 42/38/4 literals, and MRR shows "-" since the tenants API carries no revenue field (no fabricated dollar figure). PortalTicketDetail and PortalInvoiceDetail now fetch via use_resource against /portal/tickets/{id} and /portal/invoices/{id} with honest loading/error states, mirroring the existing PortalKBPage pattern; the hardcoded demo data is gone. PortalTicketNew, whose POST endpoint does not exist yet, now shows an honest "coming soon" card instead of a form with dead no-op input handlers; the orphaned UpdateItem component is removed with it. Resolve the dead ContactDetail #[allow(unused_variables)] by dropping the now-unnecessary attribute, remove the dead _priority_v snapshot in the ticket-create handler, and replace the not_found support@example.com mailto placeholder with an in-app link to the knowledge base. #MAPPS-142 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
refactor(ui): remove dead components and finish portal/admin stub pages
All checks were successful
Check / clippy + fmt + tests (pull_request) Successful in 2m0s
6db9195923
Delete unreachable component-library widgets and their Props: ButtonGroup and IconButton (button.rs), InfoCard (card.rs), FormField and FormSection (form.rs), LoadingOverlay (layout.rs), SlideOver (modal.rs), and CogIcon (icons.rs). Drop the unreachable CardHeader.subtitle prop and its render branch (Card never passes it; all live subtitle call sites are on PageHeader). Collapse ToastPosition to its only used variant, BottomRight. Remove the TopBar SearchInput visual stub that discarded keystrokes (SearchInput stays in use on the list pages).

Finish the remaining stub/demo pages. Admin stat cards now derive Total/Active/Trial counts from the fetched /tenants roster instead of the hardcoded 42/38/4 literals, and MRR shows "-" since the tenants API carries no revenue field (no fabricated dollar figure). PortalTicketDetail and PortalInvoiceDetail now fetch via use_resource against /portal/tickets/{id} and /portal/invoices/{id} with honest loading/error states, mirroring the existing PortalKBPage pattern; the hardcoded demo data is gone. PortalTicketNew, whose POST endpoint does not exist yet, now shows an honest "coming soon" card instead of a form with dead no-op input handlers; the orphaned UpdateItem component is removed with it.

Resolve the dead ContactDetail #[allow(unused_variables)] by dropping the now-unnecessary attribute, remove the dead _priority_v snapshot in the ticket-create handler, and replace the not_found support@example.com mailto placeholder with an in-app link to the knowledge base.

#MAPPS-142

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Merge remote-tracking branch 'origin/main' into feat/mapps-142-remove-dead-components
All checks were successful
Check / clippy + fmt + tests (pull_request) Successful in 2m3s
Create release / Create release from merged PR (pull_request) Has been skipped
3a700e1a78
# Conflicts:
#	src/pages/not_found.rs
David merged commit e0af4af364 into main 2026-06-13 15:59:37 +02:00
David deleted branch feat/mapps-142-remove-dead-components 2026-06-13 15:59:37 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
psa-systems/mokosh-apps!129
No description provided.