mega-plant/docs/verification/settings-users-mobile.json
Dave 2594dead84 feat: add user access and improve plant dashboard
Add PocketBase login, first-sign-in password changes, account settings,
and user activation, reactivation and deletion with self-removal guards.
Protect application pages and APIs and keep private pages out of PWA
caches.

Resolve plant locations from site assignments and improve map controls,
profit chart views, navigation and mobile table layouts.

Validation: production build and TypeScript passed; 28 unit tests passed.
Backend access integration tests and mobile verification are documented.
2026-10-06 04:02:08 +02:00

475 lines
No EOL
8.8 KiB
JSON

[
{
"height": 812,
"overflow": false,
"route": "/",
"smallTaps": [],
"smallText": [],
"tapCount": 5,
"wideTables": [],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/settings",
"smallTaps": [],
"smallText": [],
"tapCount": 9,
"wideTables": [
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
}
],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/plant/map",
"smallTaps": [],
"smallText": [],
"tapCount": 137,
"wideTables": [],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/income",
"smallTaps": [],
"smallText": [],
"tapCount": 47,
"wideTables": [],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/income/invoices",
"smallTaps": [],
"smallText": [],
"tapCount": 15,
"wideTables": [
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
}
],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/expenses",
"smallTaps": [],
"smallText": [],
"tapCount": 12,
"wideTables": [],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/expenses/finance",
"smallTaps": [],
"smallText": [],
"tapCount": 5,
"wideTables": [
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
}
],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/expenses/personnel",
"smallTaps": [],
"smallText": [],
"tapCount": 5,
"wideTables": [
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
}
],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/expenses/petty-cash",
"smallTaps": [],
"smallText": [],
"tapCount": 5,
"wideTables": [
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
}
],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/expenses/rent",
"smallTaps": [],
"smallText": [],
"tapCount": 5,
"wideTables": [
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
}
],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/expenses/subscriptions",
"smallTaps": [],
"smallText": [],
"tapCount": 5,
"wideTables": [
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
}
],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/expenses/vehicles",
"smallTaps": [],
"smallText": [],
"tapCount": 5,
"wideTables": [
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
}
],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/overheads",
"smallTaps": [],
"smallText": [],
"tapCount": 4,
"wideTables": [
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
},
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
},
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
},
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
},
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
},
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
},
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
}
],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/charts",
"smallTaps": [],
"smallText": [],
"tapCount": 10,
"wideTables": [],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/sites",
"smallTaps": [],
"smallText": [],
"tapCount": 17,
"wideTables": [],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/sites/5we0qrj6jdb15sz",
"smallTaps": [],
"smallText": [],
"tapCount": 8,
"wideTables": [],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/plant",
"smallTaps": [],
"smallText": [],
"tapCount": 11,
"wideTables": [
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
}
],
"width": 375
},
{
"height": 812,
"overflow": false,
"route": "/running",
"smallTaps": [],
"smallText": [],
"tapCount": 49,
"wideTables": [],
"width": 375
},
{
"height": 1024,
"overflow": false,
"route": "/",
"smallTaps": [],
"smallText": [],
"tapCount": 6,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/settings",
"smallTaps": [],
"smallText": [],
"tapCount": 14,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/plant",
"smallTaps": [],
"smallText": [],
"tapCount": 12,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/plant/map",
"smallTaps": [],
"smallText": [],
"tapCount": 138,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/income",
"smallTaps": [],
"smallText": [],
"tapCount": 49,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/income/invoices",
"smallTaps": [],
"smallText": [],
"tapCount": 16,
"wideTables": [
{
"contained": true,
"scrollAffordance": true,
"stickyFirstColumn": true,
"touchScroll": true
}
],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/running",
"smallTaps": [],
"smallText": [],
"tapCount": 51,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/expenses",
"smallTaps": [],
"smallText": [],
"tapCount": 13,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/expenses/finance",
"smallTaps": [],
"smallText": [],
"tapCount": 6,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/expenses/personnel",
"smallTaps": [],
"smallText": [],
"tapCount": 6,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/expenses/petty-cash",
"smallTaps": [],
"smallText": [],
"tapCount": 6,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/expenses/rent",
"smallTaps": [],
"smallText": [],
"tapCount": 6,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/expenses/subscriptions",
"smallTaps": [],
"smallText": [],
"tapCount": 6,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/expenses/vehicles",
"smallTaps": [],
"smallText": [],
"tapCount": 6,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/overheads",
"smallTaps": [],
"smallText": [],
"tapCount": 5,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/charts",
"smallTaps": [],
"smallText": [],
"tapCount": 11,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/sites",
"smallTaps": [],
"smallText": [],
"tapCount": 19,
"wideTables": [],
"width": 768
},
{
"height": 1024,
"overflow": false,
"route": "/sites/5we0qrj6jdb15sz",
"smallTaps": [],
"smallText": [],
"tapCount": 9,
"wideTables": [],
"width": 768
}
]