Jacob Schmidt 264559306d feat: Implement organization registration fee and bank PIN change functionality
- Updated HomeView and RegistrationView to reflect the new $50,000 registration fee for organizations.
- Enhanced actor onboarding process to include sending welcome emails and messages, along with initializing bank accounts with $2,000 starting credit.
- Added functionality to change bank PINs, including validation and persistence of new PINs.
- Updated bank and organization modules to handle registration fee charges and refunds appropriately.
- Enhanced documentation to reflect changes in organization registration and bank operations.
2026-05-16 12:13:13 -05:00

67 lines
2.1 KiB
JavaScript

(function () {
const BankApp = (window.BankApp = window.BankApp || {});
const store = BankApp.store;
const bridge = window.ForgeWebUI.createBridge({
closeEvent: "bank::close",
globalName: "ForgeBridge",
readyEvent: "bank::ready",
});
function hydrate(payloadData) {
BankApp.data.applyHydratePayload(payloadData);
store.hydrateFromPayload(payloadData);
}
function syncAccount(payloadData) {
BankApp.data.applyAccountPatch(payloadData);
store.syncAccountPatch();
}
bridge.on("bank::hydrate", hydrate);
bridge.on("bank::sync", syncAccount);
bridge.on("bank::notice", (payloadData) => {
store.finishAction();
if (BankApp.actions) {
BankApp.actions.showNotice(
payloadData.type || "error",
payloadData.message || "Bank notice received.",
);
}
});
BankApp.bridge = {
notifyReady() {
return bridge.ready({ loaded: true });
},
receive: bridge.receive,
requestClose() {
return bridge.close({});
},
requestDeposit(payload) {
return bridge.send("bank::deposit::request", payload);
},
requestDepositEarnings(payload) {
return bridge.send("bank::depositEarnings::request", payload);
},
requestRepayCreditLine(payload) {
return bridge.send("bank::repayCreditLine::request", payload);
},
requestRefresh() {
return bridge.send("bank::refresh", {});
},
requestChangePin(payload) {
return bridge.send("bank::pin::change::request", payload);
},
requestSubmitPin(payload) {
return bridge.send("bank::pin::request", payload);
},
requestTransfer(payload) {
return bridge.send("bank::transfer::request", payload);
},
requestWithdraw(payload) {
return bridge.send("bank::withdraw::request", payload);
},
sendEvent: bridge.send,
};
})();