Here's an update to the solution that I had proposed without showing the passwords in the source, it's still not secure as the passwords are sent to the client in msg.payload and could be viewed with an angular scope watching plugin. But since it's for your family, I'm guessing this is acceptable.
[
{
"id": "2dbd64d.dab389c",
"type": "ui_template",
"z": "dc84661.55bfb98",
"group": "5625d033.1d56f",
"name": "",
"order": 0,
"width": "6",
"height": "5",
"format": "<div ng-init=\"msg.password = ''\">\n<div>\n <label for=\"pass\">Password</label>\n <input type=\"text\" ng-model=\"msg.password\" id=\"pass\" required>\n</div>\n</div>\n<div ng-if=\"msg.password == msg.payload.pw1\">\n Page1 - Qty of silly hats\n <input type=\"number\" ng-model=\"msg.payload.data1\" name=\"quantity\" min=\"0\" max=\"1000\">\n <md-button ng-click=\"send(msg)\">Send</md-button>\n <md-button ng-click=\"msg.password = ''\">Logout</md-button>\n</div>\n<div ng-if=\"msg.password == msg.payload.pw2\">\n Page2 - Sister stuff \n <input type=\"number\" ng-model=\"msg.payload.data2\" name=\"quantity\" min=\"0\" max=\"1000\">\n <md-button ng-click=\"send(msg)\">Send</md-button>\n <md-button ng-click=\"msg.password = ''\">Logout</md-button>\n</div>\n<div ng-if=\"msg.password == msg.payload.pw3\">\n Page3 - Parents page\n <input type=\"number\" ng-model=\"msg.payload.data3\" name=\"quantity\" min=\"0\" max=\"1000\">\n <md-button ng-click=\"send(msg)\">Send</md-button>\n <md-button ng-click=\"msg.password = ''\">Logout</md-button>\n</div>",
"storeOutMessages": false,
"fwdInMessages": true,
"templateScope": "local",
"x": 700,
"y": 660,
"wires": [
[]
]
},
{
"id": "cada3873.7413c8",
"type": "inject",
"z": "dc84661.55bfb98",
"name": "",
"topic": "",
"payload": "{\"pw1\":\"hello\",\"pw2\":\"123\",\"pw3\":\"456\"}",
"payloadType": "json",
"repeat": "",
"crontab": "",
"once": true,
"onceDelay": 0.1,
"x": 530,
"y": 660,
"wires": [
[
"2dbd64d.dab389c"
]
]
},
{
"id": "5625d033.1d56f",
"type": "ui_group",
"z": "",
"name": "test",
"tab": "9a95bc09.40d37",
"disp": true,
"width": "6",
"collapse": false
},
{
"id": "9a95bc09.40d37",
"type": "ui_tab",
"z": "",
"name": "test25",
"icon": "dashboard"
}
]