Issue #1990 - Remove Three-Widget Limit ┌─┐ ,.-^^-._ ║"│ |-.____.-| └┬┘ | | ┌┼┐ | | │ ┌───────────────┐ ┌───────────────┐ ┌─────────────────────┐ | | ┌─────────────────────┐ ┌┴┐ │Widget Selector│ │useWidgets Hook│ │Widgets Backend Route│ '-.____.-' │Homescreen Pagination│ User └───────┬───────┘ └───────┬───────┘ └──────────┬──────────┘ Widget Store └──────────┬──────────┘ │ Select 4th widget │ │ │ │ │ │───────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ │toggleSelected(widgetId, true) │ │ │ │ │ │──────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ │ enable(widgetId) │ │ │ │ │ │────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ │────┐ │ │ │ │ │ │ │ Validate widget exists │ │ │ │ │ │<───┘ and is not duplicate │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Save widgetId │ │ │ │ │ │────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ Updated widgets │ │ │ │ │ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ │ │ │ │ │ │ Success │ │ │ │ │ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ │ │ │ │ │ │ Refresh selected widgets │ │ │ │ │ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ │ │ │ │ │ │Widget remains selected │ │ │ │ │ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Send selected widgets │ │ │ │ │───────────────────────────────────────────────────────────────────────────────────────>│ │ │ │ │ │ │ │ │ │ Render widgets across pages │ │ │ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ User ┌───────┴───────┐ ┌───────┴───────┐ ┌──────────┴──────────┐ Widget Store ┌──────────┴──────────┐ ┌─┐ │Widget Selector│ │useWidgets Hook│ │Widgets Backend Route│ ,.-^^-._ │Homescreen Pagination│ ║"│ └───────────────┘ └───────────────┘ └─────────────────────┘ |-.____.-| └─────────────────────┘ └┬┘ | | ┌┼┐ | | │ | | ┌┴┐ '-.____.-'